@lucca-front/ng 18.2.0 → 18.2.2

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 (49) hide show
  1. package/esm2022/date/input/date-input.directive.mjs +3 -3
  2. package/esm2022/date/select/date-select-input.component.mjs +3 -3
  3. package/esm2022/dialog/dialog/dialog.component.mjs +2 -2
  4. package/esm2022/dialog/dialog-footer/dialog-footer.component.mjs +2 -2
  5. package/esm2022/dialog/dialog-header/dialog-header.component.mjs +3 -3
  6. package/esm2022/form-field/form-field.component.mjs +3 -3
  7. package/esm2022/forms/multilanguage-input/multilanguage-input.component.mjs +2 -2
  8. package/esm2022/forms/phone-number-input/phone-number-input.component.mjs +95 -36
  9. package/esm2022/forms/phone-number-input/validators.mjs +8 -16
  10. package/esm2022/multi-select/input/select-input.component.mjs +3 -3
  11. package/esm2022/popover2/content/popover-content/popover-content.component.mjs +3 -3
  12. package/esm2022/popover2/popover.directive.mjs +9 -2
  13. package/esm2022/popup-employee/card/panel/user-popover-panel.component.mjs +3 -3
  14. package/esm2022/simple-select/input/select-input.component.mjs +3 -3
  15. package/esm2022/skeleton/skeleton-field/skeleton-field.component.mjs +2 -2
  16. package/esm2022/tag/tag.component.mjs +3 -3
  17. package/esm2022/toast/toasts.component.mjs +3 -3
  18. package/esm2022/tooltip/trigger/tooltip-trigger.directive.mjs +29 -19
  19. package/fesm2022/lucca-front-ng-date.mjs +4 -4
  20. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-dialog.mjs +6 -6
  22. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-form-field.mjs +2 -2
  24. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +100 -49
  26. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-forms.mjs +1 -1
  28. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-multi-select.mjs +2 -2
  30. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-popover2.mjs +10 -3
  32. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-popup-employee.mjs +2 -2
  34. package/fesm2022/lucca-front-ng-popup-employee.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-simple-select.mjs +2 -2
  36. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-skeleton.mjs +2 -2
  38. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-tag.mjs +2 -2
  40. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-toast.mjs +2 -2
  42. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-tooltip.mjs +28 -18
  44. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  45. package/forms/phone-number-input/phone-number-input.component.d.ts +23 -7
  46. package/forms/phone-number-input/validators.d.ts +3 -3
  47. package/package.json +15 -15
  48. package/popover2/popover.directive.d.ts +2 -1
  49. package/tooltip/trigger/tooltip-trigger.directive.d.ts +2 -2
@@ -49,14 +49,14 @@ export class LuToastsComponent {
49
49
  return this.toastsService.isOnlyDismissibleManually(toast);
50
50
  }
51
51
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuToastsComponent, deps: [{ token: i1.LuToastsService }], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: LuToastsComponent, isStandalone: true, selector: "lu-toasts", inputs: { bottom: "bottom", sources: "sources" }, ngImport: i0, template: "<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\n\t<div *ngFor=\"let toast of toasts$ | async; trackBy: trackToast\" class=\"toasts-item\" [ngClass]=\"paletteClassByToastType[toast.type]\">\n\t\t<span *ngIf=\"toast.type\" class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [ngClass]=\"iconClassByToastType[toast.type]\"></span>\n\t\t<div class=\"toast-item-content\">\n\t\t\t<div *ngIf=\"toast.title\"><strong>{{ toast.title }}</strong></div>\n\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t<div [innerHtml]=\"toast.message\"></div>\n\t\t\t} @else {\n\t\t\t<ng-container *luPortal=\"toast.message\"></ng-container>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"toasts-item-kill\"\n\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t(animationend)=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? removeToast(toast) : null\"\n\t\t\t[style.animation-duration]=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? toast.duration + 'ms' : null\"\n\t\t>\n\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: LuToastsComponent, isStandalone: true, selector: "lu-toasts", inputs: { bottom: "bottom", sources: "sources" }, ngImport: i0, template: "<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\n\t<div *ngFor=\"let toast of toasts$ | async; trackBy: trackToast\" class=\"toasts-item\" [ngClass]=\"paletteClassByToastType[toast.type]\">\n\t\t<span *ngIf=\"toast.type\" class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [ngClass]=\"iconClassByToastType[toast.type]\"></span>\n\t\t<div class=\"toast-item-content\">\n\t\t\t<div *ngIf=\"toast.title\"><strong>{{ toast.title }}</strong></div>\n\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t<div [innerHtml]=\"toast.message\"></div>\n\t\t\t} @else {\n\t\t\t<ng-container *luPortal=\"toast.message\"></ng-container>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t(animationend)=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? removeToast(toast) : null\"\n\t\t\t[style.animation-duration]=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? toast.duration + 'ms' : null\"\n\t\t>\n\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
53
53
  }
54
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuToastsComponent, decorators: [{
55
55
  type: Component,
56
- args: [{ selector: 'lu-toasts', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, PortalDirective], template: "<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\n\t<div *ngFor=\"let toast of toasts$ | async; trackBy: trackToast\" class=\"toasts-item\" [ngClass]=\"paletteClassByToastType[toast.type]\">\n\t\t<span *ngIf=\"toast.type\" class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [ngClass]=\"iconClassByToastType[toast.type]\"></span>\n\t\t<div class=\"toast-item-content\">\n\t\t\t<div *ngIf=\"toast.title\"><strong>{{ toast.title }}</strong></div>\n\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t<div [innerHtml]=\"toast.message\"></div>\n\t\t\t} @else {\n\t\t\t<ng-container *luPortal=\"toast.message\"></ng-container>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"toasts-item-kill\"\n\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t(animationend)=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? removeToast(toast) : null\"\n\t\t\t[style.animation-duration]=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? toast.duration + 'ms' : null\"\n\t\t>\n\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n</div>\n" }]
56
+ args: [{ selector: 'lu-toasts', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, PortalDirective], template: "<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\n\t<div *ngFor=\"let toast of toasts$ | async; trackBy: trackToast\" class=\"toasts-item\" [ngClass]=\"paletteClassByToastType[toast.type]\">\n\t\t<span *ngIf=\"toast.type\" class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [ngClass]=\"iconClassByToastType[toast.type]\"></span>\n\t\t<div class=\"toast-item-content\">\n\t\t\t<div *ngIf=\"toast.title\"><strong>{{ toast.title }}</strong></div>\n\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t<div [innerHtml]=\"toast.message\"></div>\n\t\t\t} @else {\n\t\t\t<ng-container *luPortal=\"toast.message\"></ng-container>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t(animationend)=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? removeToast(toast) : null\"\n\t\t\t[style.animation-duration]=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? toast.duration + 'ms' : null\"\n\t\t>\n\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n</div>\n" }]
57
57
  }], ctorParameters: () => [{ type: i1.LuToastsService }], propDecorators: { bottom: [{
58
58
  type: Input
59
59
  }], sources: [{
60
60
  type: Input
61
61
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3RzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL3RvYXN0L3RvYXN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90b2FzdC90b2FzdHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQVMzRCxNQUFNLE9BQU8saUJBQWlCO0lBRTdCLElBQW9CLE9BQU8sQ0FBQyxPQUF3QztRQUNuRSxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUM7YUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQVFELFlBQW9CLGFBQThCO1FBQTlCLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQWJsQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBT3hCLFlBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUVwQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVoQyxTQUFJLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFTdEMseUJBQW9CLEdBQWdDO1lBQzFELElBQUksRUFBRSxlQUFlO1lBQ3JCLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsS0FBSyxFQUFFLGdCQUFnQjtZQUN2QixPQUFPLEVBQUUsa0JBQWtCO1NBQzNCLENBQUM7UUFFSyw0QkFBdUIsR0FBZ0M7WUFDN0QsSUFBSSxFQUFFLEVBQUU7WUFDUixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLEtBQUssRUFBRSxlQUFlO1lBQ3RCLE9BQU8sRUFBRSxpQkFBaUI7U0FDMUIsQ0FBQztJQW5CbUQsQ0FBQztJQUUvQyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBZ0JNLHFCQUFxQixDQUFDLE9BQXNCO1FBQ2xELE9BQU8sT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBYztRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sVUFBVSxDQUFDLE1BQWMsRUFBRSxLQUFjO1FBQy9DLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU0seUJBQXlCLENBQUMsS0FBYztRQUM5QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs4R0FqRFcsaUJBQWlCO2tHQUFqQixpQkFBaUIsdUhDaEI5QixrckNBdUJBLDJDRFRXLFlBQVksbVpBQUUsZUFBZTs7MkZBRTNCLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDQyxXQUFXLG1CQUVKLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQztvRkFHeEIsTUFBTTtzQkFBckIsS0FBSztnQkFDYyxPQUFPO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldEludGwsIFBvcnRhbENvbnRlbnQsIFBvcnRhbERpcmVjdGl2ZSB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlJztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMdVRvYXN0LCBMdVRvYXN0SW5wdXQsIEx1VG9hc3RUeXBlIH0gZnJvbSAnLi90b2FzdHMubW9kZWwnO1xuaW1wb3J0IHsgTHVUb2FzdHNTZXJ2aWNlIH0gZnJvbSAnLi90b2FzdHMuc2VydmljZSc7XG5pbXBvcnQgeyBMVV9UT0FTVF9UUkFOU0xBVElPTlMgfSBmcm9tICcuL3RvYXN0cy50cmFuc2xhdGUnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdsdS10b2FzdHMnLFxuXHR0ZW1wbGF0ZVVybDogJy4vdG9hc3RzLmNvbXBvbmVudC5odG1sJyxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFBvcnRhbERpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIEx1VG9hc3RzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblx0QElucHV0KCkgcHVibGljIGJvdHRvbSA9IGZhbHNlO1xuXHRASW5wdXQoKSBwdWJsaWMgc2V0IHNvdXJjZXMoc291cmNlczogQXJyYXk8T2JzZXJ2YWJsZTxMdVRvYXN0SW5wdXQ+Pikge1xuXHRcdG1lcmdlKC4uLnNvdXJjZXMpXG5cdFx0XHQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG5cdFx0XHQuc3Vic2NyaWJlKCh0b2FzdCkgPT4gdGhpcy50b2FzdHNTZXJ2aWNlLmFkZFRvYXN0KHRvYXN0KSk7XG5cdH1cblxuXHRwdWJsaWMgdG9hc3RzJCA9IHRoaXMudG9hc3RzU2VydmljZS50b2FzdHMkO1xuXG5cdHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG5cdHB1YmxpYyBpbnRsID0gZ2V0SW50bChMVV9UT0FTVF9UUkFOU0xBVElPTlMpO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgdG9hc3RzU2VydmljZTogTHVUb2FzdHNTZXJ2aWNlKSB7fVxuXG5cdHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLmRlc3Ryb3kkLm5leHQoKTtcblx0XHR0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG5cdH1cblxuXHRwdWJsaWMgaWNvbkNsYXNzQnlUb2FzdFR5cGU6IFJlY29yZDxMdVRvYXN0VHlwZSwgc3RyaW5nPiA9IHtcblx0XHRJbmZvOiAnaWNvbi1zaWduSW5mbycsXG5cdFx0U3VjY2VzczogJ2ljb24tc2lnblN1Y2Nlc3MnLFxuXHRcdEVycm9yOiAnaWNvbi1zaWduRXJyb3InLFxuXHRcdFdhcm5pbmc6ICdpY29uLXNpZ25XYXJuaW5nJyxcblx0fTtcblxuXHRwdWJsaWMgcGFsZXR0ZUNsYXNzQnlUb2FzdFR5cGU6IFJlY29yZDxMdVRvYXN0VHlwZSwgc3RyaW5nPiA9IHtcblx0XHRJbmZvOiAnJyxcblx0XHRTdWNjZXNzOiAncGFsZXR0ZS1zdWNjZXNzJyxcblx0XHRFcnJvcjogJ3BhbGV0dGUtZXJyb3InLFxuXHRcdFdhcm5pbmc6ICdwYWxldHRlLXdhcm5pbmcnLFxuXHR9O1xuXG5cdHB1YmxpYyBpc1N0cmluZ1BvcnRhbENvbnRlbnQobWVzc2FnZTogUG9ydGFsQ29udGVudCk6IG1lc3NhZ2UgaXMgc3RyaW5nIHtcblx0XHRyZXR1cm4gdHlwZW9mIG1lc3NhZ2UgPT09ICdzdHJpbmcnO1xuXHR9XG5cblx0cHVibGljIHJlbW92ZVRvYXN0KHRvYXN0OiBMdVRvYXN0KTogdm9pZCB7XG5cdFx0dGhpcy50b2FzdHNTZXJ2aWNlLnJlbW92ZVRvYXN0KHRvYXN0KTtcblx0fVxuXG5cdHB1YmxpYyB0cmFja1RvYXN0KF9pbmRleDogbnVtYmVyLCB0b2FzdDogTHVUb2FzdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRvYXN0LmlkO1xuXHR9XG5cblx0cHVibGljIGlzT25seURpc21pc3NpYmxlTWFudWFsbHkodG9hc3Q6IEx1VG9hc3QpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy50b2FzdHNTZXJ2aWNlLmlzT25seURpc21pc3NpYmxlTWFudWFsbHkodG9hc3QpO1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwidG9hc3RzXCIgYXJpYS1saXZlPVwicG9saXRlXCIgW2NsYXNzLm1vZC1ib3R0b21dPVwiYm90dG9tXCI+XG5cdDxkaXYgKm5nRm9yPVwibGV0IHRvYXN0IG9mIHRvYXN0cyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tUb2FzdFwiIGNsYXNzPVwidG9hc3RzLWl0ZW1cIiBbbmdDbGFzc109XCJwYWxldHRlQ2xhc3NCeVRvYXN0VHlwZVt0b2FzdC50eXBlXVwiPlxuXHRcdDxzcGFuICpuZ0lmPVwidG9hc3QudHlwZVwiIGNsYXNzPVwidG9hc3QtaXRlbS1pY29uIGx1Y2NhLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmdDbGFzc109XCJpY29uQ2xhc3NCeVRvYXN0VHlwZVt0b2FzdC50eXBlXVwiPjwvc3Bhbj5cblx0XHQ8ZGl2IGNsYXNzPVwidG9hc3QtaXRlbS1jb250ZW50XCI+XG5cdFx0XHQ8ZGl2ICpuZ0lmPVwidG9hc3QudGl0bGVcIj48c3Ryb25nPnt7IHRvYXN0LnRpdGxlIH19PC9zdHJvbmc+PC9kaXY+XG5cdFx0XHRAaWYgKGlzU3RyaW5nUG9ydGFsQ29udGVudCh0b2FzdC5tZXNzYWdlKSkge1xuXHRcdFx0PGRpdiBbaW5uZXJIdG1sXT1cInRvYXN0Lm1lc3NhZ2VcIj48L2Rpdj5cblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0PG5nLWNvbnRhaW5lciAqbHVQb3J0YWw9XCJ0b2FzdC5tZXNzYWdlXCI+PC9uZy1jb250YWluZXI+XG5cdFx0XHR9XG5cdFx0PC9kaXY+XG5cdFx0PGJ1dHRvblxuXHRcdFx0dHlwZT1cImJ1dHRvblwiXG5cdFx0XHRjbGFzcz1cInRvYXN0cy1pdGVtLWtpbGxcIlxuXHRcdFx0KGNsaWNrKT1cInJlbW92ZVRvYXN0KHRvYXN0KVwiXG5cdFx0XHQoYW5pbWF0aW9uZW5kKT1cIighaXNPbmx5RGlzbWlzc2libGVNYW51YWxseSh0b2FzdCkgJiYgdG9hc3QuZHVyYXRpb24gPiAwKSA/IHJlbW92ZVRvYXN0KHRvYXN0KSA6IG51bGxcIlxuXHRcdFx0W3N0eWxlLmFuaW1hdGlvbi1kdXJhdGlvbl09XCIoIWlzT25seURpc21pc3NpYmxlTWFudWFsbHkodG9hc3QpICYmIHRvYXN0LmR1cmF0aW9uID4gMCkgPyB0b2FzdC5kdXJhdGlvbiArICdtcycgOiBudWxsXCJcblx0XHQ+XG5cdFx0XHQ8c3BhbiBjbGFzcz1cImx1Y2NhLWljb24gaWNvbi1zaWduQ2xvc2VcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG5cdFx0XHQ8c3BhbiBjbGFzcz1cInUtbWFza1wiPnt7IGludGwuY2xvc2UgfX08L3NwYW4+XG5cdFx0PC9idXR0b24+XG5cdDwvZGl2PlxuPC9kaXY+XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3RzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL3RvYXN0L3RvYXN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90b2FzdC90b2FzdHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQVMzRCxNQUFNLE9BQU8saUJBQWlCO0lBRTdCLElBQW9CLE9BQU8sQ0FBQyxPQUF3QztRQUNuRSxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUM7YUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQVFELFlBQW9CLGFBQThCO1FBQTlCLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQWJsQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBT3hCLFlBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUVwQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVoQyxTQUFJLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFTdEMseUJBQW9CLEdBQWdDO1lBQzFELElBQUksRUFBRSxlQUFlO1lBQ3JCLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsS0FBSyxFQUFFLGdCQUFnQjtZQUN2QixPQUFPLEVBQUUsa0JBQWtCO1NBQzNCLENBQUM7UUFFSyw0QkFBdUIsR0FBZ0M7WUFDN0QsSUFBSSxFQUFFLEVBQUU7WUFDUixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLEtBQUssRUFBRSxlQUFlO1lBQ3RCLE9BQU8sRUFBRSxpQkFBaUI7U0FDMUIsQ0FBQztJQW5CbUQsQ0FBQztJQUUvQyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBZ0JNLHFCQUFxQixDQUFDLE9BQXNCO1FBQ2xELE9BQU8sT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBYztRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sVUFBVSxDQUFDLE1BQWMsRUFBRSxLQUFjO1FBQy9DLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU0seUJBQXlCLENBQUMsS0FBYztRQUM5QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs4R0FqRFcsaUJBQWlCO2tHQUFqQixpQkFBaUIsdUhDaEI5Qix5ckNBdUJBLDJDRFRXLFlBQVksbVpBQUUsZUFBZTs7MkZBRTNCLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDQyxXQUFXLG1CQUVKLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQztvRkFHeEIsTUFBTTtzQkFBckIsS0FBSztnQkFDYyxPQUFPO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldEludGwsIFBvcnRhbENvbnRlbnQsIFBvcnRhbERpcmVjdGl2ZSB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlJztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMdVRvYXN0LCBMdVRvYXN0SW5wdXQsIEx1VG9hc3RUeXBlIH0gZnJvbSAnLi90b2FzdHMubW9kZWwnO1xuaW1wb3J0IHsgTHVUb2FzdHNTZXJ2aWNlIH0gZnJvbSAnLi90b2FzdHMuc2VydmljZSc7XG5pbXBvcnQgeyBMVV9UT0FTVF9UUkFOU0xBVElPTlMgfSBmcm9tICcuL3RvYXN0cy50cmFuc2xhdGUnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdsdS10b2FzdHMnLFxuXHR0ZW1wbGF0ZVVybDogJy4vdG9hc3RzLmNvbXBvbmVudC5odG1sJyxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFBvcnRhbERpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIEx1VG9hc3RzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblx0QElucHV0KCkgcHVibGljIGJvdHRvbSA9IGZhbHNlO1xuXHRASW5wdXQoKSBwdWJsaWMgc2V0IHNvdXJjZXMoc291cmNlczogQXJyYXk8T2JzZXJ2YWJsZTxMdVRvYXN0SW5wdXQ+Pikge1xuXHRcdG1lcmdlKC4uLnNvdXJjZXMpXG5cdFx0XHQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG5cdFx0XHQuc3Vic2NyaWJlKCh0b2FzdCkgPT4gdGhpcy50b2FzdHNTZXJ2aWNlLmFkZFRvYXN0KHRvYXN0KSk7XG5cdH1cblxuXHRwdWJsaWMgdG9hc3RzJCA9IHRoaXMudG9hc3RzU2VydmljZS50b2FzdHMkO1xuXG5cdHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG5cdHB1YmxpYyBpbnRsID0gZ2V0SW50bChMVV9UT0FTVF9UUkFOU0xBVElPTlMpO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgdG9hc3RzU2VydmljZTogTHVUb2FzdHNTZXJ2aWNlKSB7fVxuXG5cdHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLmRlc3Ryb3kkLm5leHQoKTtcblx0XHR0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG5cdH1cblxuXHRwdWJsaWMgaWNvbkNsYXNzQnlUb2FzdFR5cGU6IFJlY29yZDxMdVRvYXN0VHlwZSwgc3RyaW5nPiA9IHtcblx0XHRJbmZvOiAnaWNvbi1zaWduSW5mbycsXG5cdFx0U3VjY2VzczogJ2ljb24tc2lnblN1Y2Nlc3MnLFxuXHRcdEVycm9yOiAnaWNvbi1zaWduRXJyb3InLFxuXHRcdFdhcm5pbmc6ICdpY29uLXNpZ25XYXJuaW5nJyxcblx0fTtcblxuXHRwdWJsaWMgcGFsZXR0ZUNsYXNzQnlUb2FzdFR5cGU6IFJlY29yZDxMdVRvYXN0VHlwZSwgc3RyaW5nPiA9IHtcblx0XHRJbmZvOiAnJyxcblx0XHRTdWNjZXNzOiAncGFsZXR0ZS1zdWNjZXNzJyxcblx0XHRFcnJvcjogJ3BhbGV0dGUtZXJyb3InLFxuXHRcdFdhcm5pbmc6ICdwYWxldHRlLXdhcm5pbmcnLFxuXHR9O1xuXG5cdHB1YmxpYyBpc1N0cmluZ1BvcnRhbENvbnRlbnQobWVzc2FnZTogUG9ydGFsQ29udGVudCk6IG1lc3NhZ2UgaXMgc3RyaW5nIHtcblx0XHRyZXR1cm4gdHlwZW9mIG1lc3NhZ2UgPT09ICdzdHJpbmcnO1xuXHR9XG5cblx0cHVibGljIHJlbW92ZVRvYXN0KHRvYXN0OiBMdVRvYXN0KTogdm9pZCB7XG5cdFx0dGhpcy50b2FzdHNTZXJ2aWNlLnJlbW92ZVRvYXN0KHRvYXN0KTtcblx0fVxuXG5cdHB1YmxpYyB0cmFja1RvYXN0KF9pbmRleDogbnVtYmVyLCB0b2FzdDogTHVUb2FzdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRvYXN0LmlkO1xuXHR9XG5cblx0cHVibGljIGlzT25seURpc21pc3NpYmxlTWFudWFsbHkodG9hc3Q6IEx1VG9hc3QpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy50b2FzdHNTZXJ2aWNlLmlzT25seURpc21pc3NpYmxlTWFudWFsbHkodG9hc3QpO1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwidG9hc3RzXCIgYXJpYS1saXZlPVwicG9saXRlXCIgW2NsYXNzLm1vZC1ib3R0b21dPVwiYm90dG9tXCI+XG5cdDxkaXYgKm5nRm9yPVwibGV0IHRvYXN0IG9mIHRvYXN0cyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tUb2FzdFwiIGNsYXNzPVwidG9hc3RzLWl0ZW1cIiBbbmdDbGFzc109XCJwYWxldHRlQ2xhc3NCeVRvYXN0VHlwZVt0b2FzdC50eXBlXVwiPlxuXHRcdDxzcGFuICpuZ0lmPVwidG9hc3QudHlwZVwiIGNsYXNzPVwidG9hc3QtaXRlbS1pY29uIGx1Y2NhLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmdDbGFzc109XCJpY29uQ2xhc3NCeVRvYXN0VHlwZVt0b2FzdC50eXBlXVwiPjwvc3Bhbj5cblx0XHQ8ZGl2IGNsYXNzPVwidG9hc3QtaXRlbS1jb250ZW50XCI+XG5cdFx0XHQ8ZGl2ICpuZ0lmPVwidG9hc3QudGl0bGVcIj48c3Ryb25nPnt7IHRvYXN0LnRpdGxlIH19PC9zdHJvbmc+PC9kaXY+XG5cdFx0XHRAaWYgKGlzU3RyaW5nUG9ydGFsQ29udGVudCh0b2FzdC5tZXNzYWdlKSkge1xuXHRcdFx0PGRpdiBbaW5uZXJIdG1sXT1cInRvYXN0Lm1lc3NhZ2VcIj48L2Rpdj5cblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0PG5nLWNvbnRhaW5lciAqbHVQb3J0YWw9XCJ0b2FzdC5tZXNzYWdlXCI+PC9uZy1jb250YWluZXI+XG5cdFx0XHR9XG5cdFx0PC9kaXY+XG5cdFx0PGJ1dHRvblxuXHRcdFx0dHlwZT1cImJ1dHRvblwiXG5cdFx0XHRjbGFzcz1cInRvYXN0cy1pdGVtLWtpbGwgYnV0dG9uXCJcblx0XHRcdChjbGljayk9XCJyZW1vdmVUb2FzdCh0b2FzdClcIlxuXHRcdFx0KGFuaW1hdGlvbmVuZCk9XCIoIWlzT25seURpc21pc3NpYmxlTWFudWFsbHkodG9hc3QpICYmIHRvYXN0LmR1cmF0aW9uID4gMCkgPyByZW1vdmVUb2FzdCh0b2FzdCkgOiBudWxsXCJcblx0XHRcdFtzdHlsZS5hbmltYXRpb24tZHVyYXRpb25dPVwiKCFpc09ubHlEaXNtaXNzaWJsZU1hbnVhbGx5KHRvYXN0KSAmJiB0b2FzdC5kdXJhdGlvbiA+IDApID8gdG9hc3QuZHVyYXRpb24gKyAnbXMnIDogbnVsbFwiXG5cdFx0PlxuXHRcdFx0PHNwYW4gY2xhc3M9XCJsdWNjYS1pY29uIGljb24tc2lnbkNsb3NlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuXHRcdFx0PHNwYW4gY2xhc3M9XCJ1LW1hc2tcIj57eyBpbnRsLmNsb3NlIH19PC9zcGFuPlxuXHRcdDwvYnV0dG9uPlxuXHQ8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -35,7 +35,9 @@ export class LuTooltipTriggerDirective {
35
35
  this.close$.next();
36
36
  }
37
37
  onFocus() {
38
- this.open$.next();
38
+ if (this.#host.nativeElement.getAttribute('aria-expanded') !== 'true') {
39
+ this.open$.next();
40
+ }
39
41
  }
40
42
  onBlur() {
41
43
  this.close$.next();
@@ -162,8 +164,8 @@ export class LuTooltipTriggerDirective {
162
164
  * We used to do this using scrollWidth but the thing is, it's a rounded value. Sometimes,
163
165
  * you'd get true while it should be false and vice-versa, because of rounding.
164
166
  *
165
- * We could also use getBoundingClientRect() but it only considers text content, meaning that if ellipsis is caused by
166
- * any margin or padding, it won't be detected
167
+ * So we duplicate the properties we're interested in on the element to be tested to calculate its ideal size,
168
+ * which we then compare with its current size.
167
169
  *
168
170
  * @private
169
171
  */
@@ -171,27 +173,35 @@ export class LuTooltipTriggerDirective {
171
173
  if (window.getComputedStyle(this.#host.nativeElement).textOverflow !== 'ellipsis') {
172
174
  return false;
173
175
  }
174
- const mask = this.#renderer.createElement('div');
175
- const clone = this.#host.nativeElement.cloneNode(true);
176
- this.#renderer.setStyle(clone, 'position', 'fixed');
177
- this.#renderer.setStyle(clone, 'overflow', 'visible');
178
- this.#renderer.setStyle(clone, 'white-space', 'nowrap');
179
- this.#renderer.setStyle(clone, 'visibility', 'hidden');
180
- this.#renderer.setStyle(clone, 'width', 'fit-content');
181
- this.#renderer.addClass(mask, 'u-mask');
182
- this.#renderer.setAttribute(mask, 'aria-hidden', 'true');
183
- this.#renderer.appendChild(mask, clone);
184
- this.#renderer.appendChild(this.#host.nativeElement.parentElement, mask);
176
+ const element = this.#host.nativeElement;
177
+ const elementCloned = this.#renderer.createElement('div');
178
+ const parentMasked = this.#renderer.createElement('div');
179
+ const elementStyle = window.getComputedStyle(element);
180
+ this.#renderer.addClass(parentMasked, 'u-mask');
181
+ this.#renderer.setAttribute(parentMasked, 'aria-hidden', 'true');
182
+ this.#renderer.setStyle(elementCloned, 'width', 'fit-content');
183
+ this.#renderer.setStyle(elementCloned, 'padding', elementStyle.padding);
184
+ this.#renderer.setStyle(elementCloned, 'borderWidth', elementStyle.borderWidth);
185
+ this.#renderer.setStyle(elementCloned, 'borderStyle', elementStyle.borderStyle);
186
+ this.#renderer.setStyle(elementCloned, 'boxSizing', elementStyle.boxSizing);
187
+ this.#renderer.setStyle(elementCloned, 'fontFamily', elementStyle.fontFamily);
188
+ this.#renderer.setStyle(elementCloned, 'fontWeight', elementStyle.fontWeight);
189
+ this.#renderer.setStyle(elementCloned, 'fontStyle', elementStyle.fontStyle);
190
+ this.#renderer.setStyle(elementCloned, 'whiteSpace', 'nowrap');
191
+ this.#renderer.setStyle(elementCloned, 'fontSize', (Number(elementStyle.fontSize.replace('px', '')) / Number(window.getComputedStyle(document.body).fontSize.replace('px', ''))).toString() + 'rem');
192
+ elementCloned.innerHTML = element.innerHTML;
193
+ this.#renderer.appendChild(parentMasked, elementCloned);
194
+ this.#renderer.appendChild(document.body, parentMasked);
185
195
  try {
186
- const fullWidth = clone.getBoundingClientRect().width;
187
- const displayWidth = this.#host.nativeElement.getBoundingClientRect().width;
188
- return fullWidth > displayWidth;
196
+ const elementClonedWidth = elementCloned.getBoundingClientRect().width;
197
+ const elementWidth = element.getBoundingClientRect().width;
198
+ return elementClonedWidth > elementWidth;
189
199
  }
190
200
  catch (e) {
191
201
  return false;
192
202
  }
193
203
  finally {
194
- mask.remove();
204
+ parentMasked.remove();
195
205
  }
196
206
  }
197
207
  ngAfterContentInit() {
@@ -336,4 +346,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
336
346
  type: HostBinding,
337
347
  args: ['attr.aria-describedby']
338
348
  }] } });
339
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL3Rvb2x0aXAvdHJpZ2dlci90b29sdGlwLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0YsT0FBTyxFQUFnRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25NLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBRU4saUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLGVBQWUsR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUdoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRyxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUVuRCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFNZixNQUFNLE9BQU8seUJBQXlCO0lBQ3JDLFFBQVEsQ0FBbUI7SUFFM0IsS0FBSyxDQUErQztJQUVwRCxTQUFTLENBQXFCO0lBRTlCLFdBQVcsQ0FBc0I7SUFFakMsSUFBSSxDQUE2QjtJQUtqQyxXQUFXLENBQW9DO0lBRS9DLElBQ0ksbUJBQW1CLENBQUMsS0FBYTtRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBWSxDQUFvQztJQUVoRCxJQUNJLG1CQUFtQixDQUFDLEtBQWE7UUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFNBQVMsQ0FBUztJQUVsQixJQUNJLGlCQUFpQixDQUFDLFFBQWlCO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksUUFBUSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNGLENBQUM7SUEwQkQsWUFBWTtRQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUdELFlBQVk7UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFHRCxPQUFPO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBR0QsTUFBTTtRQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFlBQVksQ0FBMkU7SUFLdkYsSUFDSSxlQUFlO1FBQ2xCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDbEYsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO1FBQ0QsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBSUQ7UUEvRkEsYUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUzQixVQUFLLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUVwRCxjQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpDLFNBQUksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUtqQyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFTLEdBQUcsQ0FBQyxDQUFDO1FBTy9DLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVMsR0FBRyxDQUFDLENBQUM7UUFPaEQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVdsQiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFHaEMsc0JBQWlCLEdBQXNCLE9BQU8sQ0FBQztRQUcvQywwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFFOUIsWUFBTyxHQUFHLElBQUksVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDckMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsR0FBRyxFQUFFO2dCQUM5QyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7WUFDSCxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDakQsT0FBTyxHQUFHLEVBQUU7Z0JBQ1gsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzdCLENBQUMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsVUFBSyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFNUIsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFzQjdCLGlCQUFZLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFlBQVksTUFBTSxFQUFFLEVBQUUsQ0FBQztRQWdCdEYsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbEQsSUFBSSxDQUNKLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUU7WUFDckMseUVBQXlFO1lBQ3pFLGlFQUFpRTtZQUNqRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDbEMsTUFBTSxDQUFDLEdBQUcsRUFBRTtnQkFDWCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDcEIsT0FBTyxLQUFLLENBQUM7Z0JBQ2QsQ0FBQztnQkFDRCxzREFBc0Q7Z0JBQ3RELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7b0JBQ2hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUMzQixDQUFDO2dCQUNELGdGQUFnRjtnQkFDaEYsT0FBTyxJQUFJLENBQUM7WUFDYixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQ2pCLENBQUM7WUFDRixPQUFPLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ25FLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNsQixPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxDQUNGLENBQUM7UUFDSCxDQUFDLENBQUMsRUFDRixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQ3BDO2FBQ0EsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDcEIsSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQixDQUFDO2lCQUFNLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JCLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztRQUVKLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3pGLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVPLFdBQVc7UUFDbEIsa0RBQWtEO1FBQ2xELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDUixDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUN0QyxnQkFBZ0IsRUFBRSxRQUFRO1lBQzFCLGNBQWMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRTtZQUN0RCxtQkFBbUIsRUFBRSxJQUFJO1NBQ3pCLENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDNUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsUUFBUSxDQUFDLGVBQWU7YUFDdEIsSUFBSSxDQUNKLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDcEMsR0FBRyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQzNDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2hDO2FBQ0EsU0FBUyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtZQUNyQyxHQUFHLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDdkMsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDdkMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQzNELENBQUM7UUFDRCxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ3ZDLG9DQUFvQztRQUNwQyxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0cscURBQXFEO1FBQ3JELEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBRU8sWUFBWTtRQUNuQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN4QixDQUFDO0lBQ0YsQ0FBQztJQUVPLDBCQUEwQixDQUFDLFFBQXVCO1FBQ3pELElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDM0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDckUsT0FBTztRQUNSLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0QsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3RSxNQUFNLHNCQUFzQixHQUFHLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVuRSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxDQUFDO1FBRWhGLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN4RixDQUFDO0lBQ0YsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0ssV0FBVztRQUNsQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFlBQVksS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNuRixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQW1CLENBQUM7UUFDbkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBZ0IsQ0FBQztRQUV0RSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUM7WUFDSixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDdEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFFNUUsT0FBTyxTQUFTLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1osT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO2dCQUFTLENBQUM7WUFDVixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZixDQUFDO0lBQ0YsQ0FBQztJQUVELGtCQUFrQjtRQUNqQixJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7NkJBSXlCO0lBRWpCLHFCQUFxQjtRQUM1QixNQUFNLGtCQUFrQixHQUE2QjtZQUNwRCxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsS0FBSztTQUNkLENBQUM7UUFFRixXQUFXO1FBQ1gsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ3hDLElBQUksUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzFCLGtCQUFrQixDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDcEMsQ0FBQzthQUFNLElBQUksUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ2pDLGtCQUFrQixDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7UUFDdkMsQ0FBQzthQUFNLElBQUksUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLGtCQUFrQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdEMsQ0FBQzthQUFNLElBQUksUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ2pDLGtCQUFrQixDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDcEMsQ0FBQztRQUVELFlBQVk7UUFDWixJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ2xELGtCQUFrQixDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7UUFDdkMsQ0FBQzthQUFNLENBQUM7WUFDUCxrQkFBa0IsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBQ3ZDLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBOEI7WUFDbEQsUUFBUSxFQUFFLE9BQU87WUFDakIsUUFBUSxFQUFFLEtBQUs7U0FDZixDQUFDO1FBRUYsSUFBSSxRQUFRLEtBQUssT0FBTyxJQUFJLFFBQVEsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUNsRCxlQUFlLENBQUMsUUFBUSxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztZQUN0RCxlQUFlLENBQUMsUUFBUSxHQUFHLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3BFLENBQUM7YUFBTSxDQUFDO1lBQ1AsZUFBZSxDQUFDLFFBQVEsR0FBRyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNuRSxlQUFlLENBQUMsUUFBUSxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztRQUN2RCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsUUFBUTthQUNsQixRQUFRLEVBQUU7YUFDVixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQy9CLGFBQWEsQ0FBQztZQUNkO2dCQUNDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO2dCQUNuQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsT0FBTztnQkFDbkMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxRQUFRO2dCQUNsQyxRQUFRLEVBQUUsZUFBZSxDQUFDLFFBQVE7YUFDbEM7WUFDRDtnQkFDQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsT0FBTztnQkFDbkMsT0FBTyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7Z0JBQzNELFFBQVEsRUFBRSxlQUFlLENBQUMsUUFBUTtnQkFDbEMsUUFBUSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO2FBQzFEO1lBQ0Q7Z0JBQ0MsT0FBTyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7Z0JBQzdELE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO2dCQUNuQyxRQUFRLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUM7Z0JBQzVELFFBQVEsRUFBRSxlQUFlLENBQUMsUUFBUTthQUNsQztZQUNEO2dCQUNDLE9BQU8sRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO2dCQUM3RCxPQUFPLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztnQkFDM0QsUUFBUSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO2dCQUM1RCxRQUFRLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUM7YUFDMUQ7U0FDRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8saUJBQWlCLENBQUMsQ0FBd0I7UUFDakQsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDakIsT0FBTyxRQUFRLENBQUM7UUFDakIsQ0FBQzthQUFNLElBQUksQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNCLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVPLG1CQUFtQixDQUFDLENBQTBCO1FBQ3JELElBQUksQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ2pCLE9BQU8sT0FBTyxDQUFDO1FBQ2hCLENBQUM7YUFBTSxJQUFJLENBQUMsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMxQixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNWLENBQUM7OEdBblZXLHlCQUF5QjtrR0FBekIseUJBQXlCLHFKQWdCakIsZUFBZSx1RUFPZixlQUFlLGlFQU9mLGdCQUFnQixtRkFRaEIsZ0JBQWdCLHFIQU1oQixnQkFBZ0I7OzJGQTVDeEIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxhQUFhO29CQUN2QixVQUFVLEVBQUUsSUFBSTtpQkFDaEI7d0RBYUEsU0FBUztzQkFEUixLQUFLO2dCQU1GLG1CQUFtQjtzQkFEdEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBUWpDLG1CQUFtQjtzQkFEdEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBUWpDLGlCQUFpQjtzQkFEcEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFTdEMsdUJBQXVCO3NCQUR0QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUl0QyxpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4scUJBQXFCO3NCQURwQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQWtCdEMsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVk7Z0JBTTFCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxZQUFZO2dCQU0xQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFNckIsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU07Z0JBUXBCLEdBQUc7c0JBREYsV0FBVzt1QkFBQyxTQUFTO2dCQUlsQixlQUFlO3NCQURsQixXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSwgSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsIE9yaWdpbkNvbm5lY3Rpb25Qb3NpdGlvbiwgT3ZlcmxheSwgT3ZlcmxheUNvbm5lY3Rpb25Qb3NpdGlvbiwgT3ZlcmxheVJlZiwgVmVydGljYWxDb25uZWN0aW9uUG9zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuXHRBZnRlckNvbnRlbnRJbml0LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0RGVzdHJveVJlZixcblx0RGlyZWN0aXZlLFxuXHRFbGVtZW50UmVmLFxuXHRIb3N0QmluZGluZyxcblx0SG9zdExpc3RlbmVyLFxuXHRJbnB1dCxcblx0T25EZXN0cm95LFxuXHRSZW5kZXJlcjIsXG5cdGJvb2xlYW5BdHRyaWJ1dGUsXG5cdGluamVjdCxcblx0bnVtYmVyQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBMdVBvcG92ZXJQb3NpdGlvbiB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9wb3BvdmVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWVyZ2UsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2UsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMdVRvb2x0aXBQYW5lbENvbXBvbmVudCB9IGZyb20gJy4uL3BhbmVsJztcblxubGV0IG5leHRJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1tsdVRvb2x0aXBdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTHVUb29sdGlwVHJpZ2dlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG5cdCNvdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuXG5cdCNob3N0ID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuXHQjcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuXHQjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuXHQjY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuXHRASW5wdXQoKVxuXHRsdVRvb2x0aXA6IHN0cmluZyB8IFNhZmVIdG1sO1xuXG5cdCNvcGVuRGVsYXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDMwMCk7XG5cblx0QElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcblx0c2V0IGx1VG9vbHRpcEVudGVyRGVsYXkoZGVsYXk6IG51bWJlcikge1xuXHRcdHRoaXMuI29wZW5EZWxheSQubmV4dChkZWxheSk7XG5cdH1cblxuXHQjY2xvc2VEZWxheSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMTAwKTtcblxuXHRASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuXHRzZXQgbHVUb29sdGlwTGVhdmVEZWxheShkZWxheTogbnVtYmVyKSB7XG5cdFx0dGhpcy4jY2xvc2VEZWxheSQubmV4dChkZWxheSk7XG5cdH1cblxuXHQjZGlzYWJsZWQgPSBmYWxzZTtcblxuXHRASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcblx0c2V0IGx1VG9vbHRpcERpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKSB7XG5cdFx0dGhpcy4jZGlzYWJsZWQgPSBkaXNhYmxlZDtcblx0XHRpZiAoZGlzYWJsZWQpIHtcblx0XHRcdHRoaXMuc2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXMobnVsbCk7XG5cdFx0fVxuXHR9XG5cblx0QElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG5cdGx1VG9vbHRpcE9ubHlGb3JEaXNwbGF5ID0gZmFsc2U7XG5cblx0QElucHV0KClcblx0bHVUb29sdGlwUG9zaXRpb246IEx1UG9wb3ZlclBvc2l0aW9uID0gJ2Fib3ZlJztcblxuXHRASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcblx0bHVUb29sdGlwV2hlbkVsbGlwc2lzID0gZmFsc2U7XG5cblx0cmVzaXplJCA9IG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuXHRcdGNvbnN0IHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcblx0XHRcdG9ic2VydmVyLm5leHQoKTtcblx0XHR9KTtcblx0XHRyZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuI2hvc3QubmF0aXZlRWxlbWVudCk7XG5cdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdHJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcblx0XHR9O1xuXHR9KTtcblxuXHRvcGVuJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cblx0Y2xvc2UkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuXHRASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcblx0b25Nb3VzZUVudGVyKCkge1xuXHRcdHRoaXMub3BlbiQubmV4dCgpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG5cdG9uTW91c2VMZWF2ZSgpIHtcblx0XHR0aGlzLmNsb3NlJC5uZXh0KCk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdmb2N1cycpXG5cdG9uRm9jdXMoKSB7XG5cdFx0dGhpcy5vcGVuJC5uZXh0KCk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdibHVyJylcblx0b25CbHVyKCkge1xuXHRcdHRoaXMuY2xvc2UkLm5leHQoKTtcblx0fVxuXG5cdCNnZW5lcmF0ZWRJZCA9IGAke3RoaXMuI2hvc3QubmF0aXZlRWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCl9LXRvb2x0aXAtJHtuZXh0SWQrK31gO1xuXG5cdEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG5cdF9pZDogc3RyaW5nO1xuXG5cdEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5Jylcblx0Z2V0IGFyaWFEZXNjcmliZWRCeSgpIHtcblx0XHRpZiAodGhpcy4jZGlzYWJsZWQgfHwgdGhpcy5sdVRvb2x0aXBXaGVuRWxsaXBzaXMgfHwgdGhpcy5sdVRvb2x0aXBPbmx5Rm9yRGlzcGxheSkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHRcdHJldHVybiBgJHt0aGlzLiNnZW5lcmF0ZWRJZH0tcGFuZWxgO1xuXHR9XG5cblx0b3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29tYmluZUxhdGVzdChbdGhpcy4jb3BlbkRlbGF5JCwgdGhpcy4jY2xvc2VEZWxheSRdKVxuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdHN3aXRjaE1hcCgoW29wZW5EZWxheSwgY2xvc2VEZWxheV0pID0+IHtcblx0XHRcdFx0XHQvLyBXZSBvbmx5IGZpbHRlciBvcGVuIGV2ZW50cyBiZWNhdXNlIGV2ZW4gaWYgaXQncyBkaXNhYmxlZCB3aGlsZSBvcGVuZWQsXG5cdFx0XHRcdFx0Ly8gXHR3ZSB3YW50IHRoZSB0b29sdGlwIHRvIGJlIGFibGUgdG8gY2xvc2UgaXRzZWxmIG5vIG1hdHRlciB3aGF0XG5cdFx0XHRcdFx0Y29uc3Qgb3BlbkV2ZW50cyQgPSB0aGlzLm9wZW4kLnBpcGUoXG5cdFx0XHRcdFx0XHRmaWx0ZXIoKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy4jZGlzYWJsZWQpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0Ly8gSWYgbm90IGRpc2FibGVkLCBsZXQncyBjaGVjayBmb3IgZWxsaXBzaXMgaWYgbmVlZGVkXG5cdFx0XHRcdFx0XHRcdGlmICh0aGlzLmx1VG9vbHRpcFdoZW5FbGxpcHNpcykge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiB0aGlzLmhhc0VsbGlwc2lzKCk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0Ly8gSWYgaXQncyBub3QgZGlzYWJsZWQgYW5kIGlzIG5vdCB0cmlnZ2VyZWQgYmFzZWQgb24gZWxsaXBzaXMsIGp1c3QgcmV0dXJuIHRydWVcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdG1hcCgoKSA9PiAnb3BlbicpLFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0cmV0dXJuIG1lcmdlKG9wZW5FdmVudHMkLCB0aGlzLmNsb3NlJC5waXBlKG1hcCgoKSA9PiAnY2xvc2UnKSkpLnBpcGUoXG5cdFx0XHRcdFx0XHRkZWJvdW5jZSgoZXZlbnQpID0+IHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHRpbWVyKGV2ZW50ID09PSAnb3BlbicgPyBvcGVuRGVsYXkgOiBjbG9zZURlbGF5KTtcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH0pLFxuXHRcdFx0XHR0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZiksXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuXHRcdFx0XHRpZiAoZXZlbnQgPT09ICdvcGVuJykge1xuXHRcdFx0XHRcdHRoaXMub3BlblRvb2x0aXAoKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLmNsb3NlVG9vbHRpcCgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblxuXHRcdHRoaXMucmVzaXplJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKSwgZGVib3VuY2VUaW1lKDE1MCkpLnN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHR0aGlzLnNldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzKDApO1xuXHRcdFx0dGhpcy4jY2RyLm1hcmtGb3JDaGVjaygpO1xuXHRcdH0pO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5jbG9zZVRvb2x0aXAoKTtcblx0fVxuXG5cdHByaXZhdGUgb3BlblRvb2x0aXAoKTogdm9pZCB7XG5cdFx0Ly8gSWYgdG9vbHRpcCBpcyBhbHJlYWR5IG9wZW5lZCwgZG9uJ3QgZG8gYW55dGhpbmdcblx0XHRpZiAodGhpcy5vdmVybGF5UmVmKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGNvbnN0IHBvc2l0aW9uID0gdGhpcy5sZWdhY3lQb3NpdGlvbkJ1aWxkZXIoKTtcblx0XHR0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLiNvdmVybGF5LmNyZWF0ZSh7XG5cdFx0XHRwb3NpdGlvblN0cmF0ZWd5OiBwb3NpdGlvbixcblx0XHRcdHNjcm9sbFN0cmF0ZWd5OiB0aGlzLiNvdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKSxcblx0XHRcdGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXG5cdFx0fSk7XG5cdFx0Y29uc3QgcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChMdVRvb2x0aXBQYW5lbENvbXBvbmVudCk7XG5cdFx0Y29uc3QgcmVmID0gdGhpcy5vdmVybGF5UmVmLmF0dGFjaChwb3J0YWwpO1xuXHRcdHBvc2l0aW9uLnBvc2l0aW9uQ2hhbmdlc1xuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKSxcblx0XHRcdFx0bWFwKCh7IGNvbm5lY3Rpb25QYWlyIH0pID0+IGNvbm5lY3Rpb25QYWlyKSxcblx0XHRcdFx0c3RhcnRXaXRoKHBvc2l0aW9uLnBvc2l0aW9uc1swXSksXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKCh7IG92ZXJsYXlYLCBvdmVybGF5WSB9KSA9PiB7XG5cdFx0XHRcdHJlZi5pbnN0YW5jZS5zZXRQYW5lbFBvc2l0aW9uKG92ZXJsYXlYLCBvdmVybGF5WSk7XG5cdFx0XHR9KTtcblx0XHRpZiAodGhpcy5sdVRvb2x0aXApIHtcblx0XHRcdHJlZi5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy5sdVRvb2x0aXA7XG5cdFx0fSBlbHNlIGlmICh0aGlzLmx1VG9vbHRpcFdoZW5FbGxpcHNpcykge1xuXHRcdFx0cmVmLmluc3RhbmNlLmNvbnRlbnQgPSB0aGlzLiNob3N0Lm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0O1xuXHRcdH1cblx0XHRyZWYuaW5zdGFuY2UuaWQgPSB0aGlzLmFyaWFEZXNjcmliZWRCeTtcblx0XHQvLyBPbiB0b29sdGlwIGxlYXZlID0+IHRyaWdnZXIgY2xvc2Vcblx0XHRyZWYuaW5zdGFuY2UubW91c2VMZWF2ZSQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQocmVmLmluc3RhbmNlLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSQubmV4dCgpKTtcblx0XHQvLyBPbiB0b29sdGlwIGVudGVyID0+IHRyaWdnZXIgb3BlbiB0byBrZWVwIGl0IG9wZW5lZFxuXHRcdHJlZi5pbnN0YW5jZS5tb3VzZUVudGVyJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZChyZWYuaW5zdGFuY2UuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9wZW4kLm5leHQoKSk7XG5cdH1cblxuXHRwcml2YXRlIGNsb3NlVG9vbHRpcCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5vdmVybGF5UmVmKSB7XG5cdFx0XHR0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG5cdFx0XHRkZWxldGUgdGhpcy5vdmVybGF5UmVmO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgc2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXModGFiaW5kZXg6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcblx0XHRpZiAodGhpcy4jZGlzYWJsZWQgfHwgKHRoaXMubHVUb29sdGlwV2hlbkVsbGlwc2lzICYmICF0aGlzLmhhc0VsbGlwc2lzKCkpKSB7XG5cdFx0XHR0aGlzLiNyZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCB0YWcgPSB0aGlzLiNob3N0Lm5hdGl2ZUVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpO1xuXHRcdGNvbnN0IG5hdGl2ZWx5Rm9jdXNhYmxlVGFncyA9IFsnYScsICdidXR0b24nLCAnaW5wdXQnLCAnc2VsZWN0JywgJ3RleHRhcmVhJ107XG5cdFx0Y29uc3QgaXNOYXRldmVseUZvY3VzYWJsZVRhZyA9IG5hdGl2ZWx5Rm9jdXNhYmxlVGFncy5pbmNsdWRlcyh0YWcpO1xuXG5cdFx0Y29uc3QgaGFzQVRhYkluZGV4ID0gdGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgndGFiaW5kZXgnKSAhPT0gbnVsbDtcblxuXHRcdGlmICghaXNOYXRldmVseUZvY3VzYWJsZVRhZyAmJiAhaGFzQVRhYkluZGV4KSB7XG5cdFx0XHR0aGlzLiNyZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnLCB0YWJpbmRleC50b1N0cmluZygpKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogSGFja3kgYWYgYnV0IGxldCdzIGV4cGxhaW4gZXZlcnl0aGluZ1xuXHQgKiBUaGlzIG1ldGhvZCBjaGVja3MgZm9yIGVsbGlwc2lzIGJ5IGNsb25pbmcgdGhlIG5vZGUgYW5kIGNoZWNraW5nIGl0cyB3aWR0aCBhZ2FpbnN0IG9yaWdpbmFsIGVsZW1lbnQuXG5cdCAqXG5cdCAqIFdlIHVzZWQgdG8gZG8gdGhpcyB1c2luZyBzY3JvbGxXaWR0aCBidXQgdGhlIHRoaW5nIGlzLCBpdCdzIGEgcm91bmRlZCB2YWx1ZS4gU29tZXRpbWVzLFxuXHQgKiB5b3UnZCBnZXQgdHJ1ZSB3aGlsZSBpdCBzaG91bGQgYmUgZmFsc2UgYW5kIHZpY2UtdmVyc2EsIGJlY2F1c2Ugb2Ygcm91bmRpbmcuXG5cdCAqXG5cdCAqIFdlIGNvdWxkIGFsc28gdXNlIGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIGJ1dCBpdCBvbmx5IGNvbnNpZGVycyB0ZXh0IGNvbnRlbnQsIG1lYW5pbmcgdGhhdCBpZiBlbGxpcHNpcyBpcyBjYXVzZWQgYnlcblx0ICogYW55IG1hcmdpbiBvciBwYWRkaW5nLCBpdCB3b24ndCBiZSBkZXRlY3RlZFxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cHJpdmF0ZSBoYXNFbGxpcHNpcygpOiBib29sZWFuIHtcblx0XHRpZiAod2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50KS50ZXh0T3ZlcmZsb3cgIT09ICdlbGxpcHNpcycpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHRjb25zdCBtYXNrID0gdGhpcy4jcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2JykgYXMgSFRNTERpdkVsZW1lbnQ7XG5cdFx0Y29uc3QgY2xvbmUgPSB0aGlzLiNob3N0Lm5hdGl2ZUVsZW1lbnQuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xuXG5cdFx0dGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUoY2xvbmUsICdwb3NpdGlvbicsICdmaXhlZCcpO1xuXHRcdHRoaXMuI3JlbmRlcmVyLnNldFN0eWxlKGNsb25lLCAnb3ZlcmZsb3cnLCAndmlzaWJsZScpO1xuXHRcdHRoaXMuI3JlbmRlcmVyLnNldFN0eWxlKGNsb25lLCAnd2hpdGUtc3BhY2UnLCAnbm93cmFwJyk7XG5cdFx0dGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUoY2xvbmUsICd2aXNpYmlsaXR5JywgJ2hpZGRlbicpO1xuXHRcdHRoaXMuI3JlbmRlcmVyLnNldFN0eWxlKGNsb25lLCAnd2lkdGgnLCAnZml0LWNvbnRlbnQnKTtcblxuXHRcdHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKG1hc2ssICd1LW1hc2snKTtcblx0XHR0aGlzLiNyZW5kZXJlci5zZXRBdHRyaWJ1dGUobWFzaywgJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcblx0XHR0aGlzLiNyZW5kZXJlci5hcHBlbmRDaGlsZChtYXNrLCBjbG9uZSk7XG5cblx0XHR0aGlzLiNyZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLiNob3N0Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCwgbWFzayk7XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IGZ1bGxXaWR0aCA9IGNsb25lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuXHRcdFx0Y29uc3QgZGlzcGxheVdpZHRoID0gdGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuXG5cdFx0XHRyZXR1cm4gZnVsbFdpZHRoID4gZGlzcGxheVdpZHRoO1xuXHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9IGZpbmFsbHkge1xuXHRcdFx0bWFzay5yZW1vdmUoKTtcblx0XHR9XG5cdH1cblxuXHRuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG5cdFx0dGhpcy5zZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllcygwKTtcblx0XHR0aGlzLl9pZCA9IHRoaXMuI2hvc3QubmF0aXZlRWxlbWVudC5pZCB8fCB0aGlzLiNnZW5lcmF0ZWRJZDtcblx0fVxuXG5cdC8qKioqKioqKioqKioqKioqKioqKioqXG5cdCAqXG5cdCAqIExFR0FDWSBTVFVGRiBUTyBIQU5ETEUgRVhJU1RJTkcgUE9TSVRJT05TXG5cdCAqXG5cdCAqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXHRwcml2YXRlIGxlZ2FjeVBvc2l0aW9uQnVpbGRlcigpOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kge1xuXHRcdGNvbnN0IGNvbm5lY3Rpb25Qb3NpdGlvbjogT3JpZ2luQ29ubmVjdGlvblBvc2l0aW9uID0ge1xuXHRcdFx0b3JpZ2luWDogJ3N0YXJ0Jyxcblx0XHRcdG9yaWdpblk6ICd0b3AnLFxuXHRcdH07XG5cblx0XHQvLyBQb3NpdGlvblxuXHRcdGNvbnN0IHBvc2l0aW9uID0gdGhpcy5sdVRvb2x0aXBQb3NpdGlvbjtcblx0XHRpZiAocG9zaXRpb24gPT09ICdhYm92ZScpIHtcblx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZID0gJ3RvcCc7XG5cdFx0fSBlbHNlIGlmIChwb3NpdGlvbiA9PT0gJ2JlbG93Jykge1xuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkgPSAnYm90dG9tJztcblx0XHR9IGVsc2UgaWYgKHBvc2l0aW9uID09PSAnYmVmb3JlJykge1xuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSAnc3RhcnQnO1xuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdhZnRlcicpIHtcblx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gJ2VuZCc7XG5cdFx0fVxuXG5cdFx0Ly8gQWxpZ25tZW50XG5cdFx0aWYgKHBvc2l0aW9uID09PSAnYWJvdmUnIHx8IHBvc2l0aW9uID09PSAnYmVsb3cnKSB7XG5cdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCA9ICdjZW50ZXInO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICdjZW50ZXInO1xuXHRcdH1cblxuXHRcdGNvbnN0IG92ZXJsYXlQb3NpdGlvbjogT3ZlcmxheUNvbm5lY3Rpb25Qb3NpdGlvbiA9IHtcblx0XHRcdG92ZXJsYXlYOiAnc3RhcnQnLFxuXHRcdFx0b3ZlcmxheVk6ICd0b3AnLFxuXHRcdH07XG5cblx0XHRpZiAocG9zaXRpb24gPT09ICdhYm92ZScgfHwgcG9zaXRpb24gPT09ICdiZWxvdycpIHtcblx0XHRcdG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCA9IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YO1xuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZID0gcG9zaXRpb24gPT09ICdhYm92ZScgPyAnYm90dG9tJyA6ICd0b3AnO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVggPSBwb3NpdGlvbiA9PT0gJ2JlZm9yZScgPyAnZW5kJyA6ICdzdGFydCc7XG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkgPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy4jb3ZlcmxheVxuXHRcdFx0LnBvc2l0aW9uKClcblx0XHRcdC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuI2hvc3QpXG5cdFx0XHQud2l0aFBvc2l0aW9ucyhbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRvcmlnaW5YOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCxcblx0XHRcdFx0XHRvcmlnaW5ZOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSxcblx0XHRcdFx0XHRvdmVybGF5WDogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiBvdmVybGF5UG9zaXRpb24ub3ZlcmxheVksXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRvcmlnaW5YOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCxcblx0XHRcdFx0XHRvcmlnaW5ZOiB0aGlzLmludmVydFZlcnRpY2FsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZKSxcblx0XHRcdFx0XHRvdmVybGF5WDogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiB0aGlzLmludmVydFZlcnRpY2FsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WSksXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRvcmlnaW5YOiB0aGlzLmludmVydEhvcml6b250YWxQb3MoY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgpLFxuXHRcdFx0XHRcdG9yaWdpblk6IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZLFxuXHRcdFx0XHRcdG92ZXJsYXlYOiB0aGlzLmludmVydEhvcml6b250YWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYKSxcblx0XHRcdFx0XHRvdmVybGF5WTogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZLFxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0b3JpZ2luWDogdGhpcy5pbnZlcnRIb3Jpem9udGFsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YKSxcblx0XHRcdFx0XHRvcmlnaW5ZOiB0aGlzLmludmVydFZlcnRpY2FsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZKSxcblx0XHRcdFx0XHRvdmVybGF5WDogdGhpcy5pbnZlcnRIb3Jpem9udGFsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCksXG5cdFx0XHRcdFx0b3ZlcmxheVk6IHRoaXMuaW52ZXJ0VmVydGljYWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZKSxcblx0XHRcdFx0fSxcblx0XHRcdF0pO1xuXHR9XG5cblx0cHJpdmF0ZSBpbnZlcnRWZXJ0aWNhbFBvcyh5OiBWZXJ0aWNhbENvbm5lY3Rpb25Qb3MpOiBWZXJ0aWNhbENvbm5lY3Rpb25Qb3Mge1xuXHRcdGlmICh5ID09PSAndG9wJykge1xuXHRcdFx0cmV0dXJuICdib3R0b20nO1xuXHRcdH0gZWxzZSBpZiAoeSA9PT0gJ2JvdHRvbScpIHtcblx0XHRcdHJldHVybiAndG9wJztcblx0XHR9XG5cdFx0cmV0dXJuIHk7XG5cdH1cblxuXHRwcml2YXRlIGludmVydEhvcml6b250YWxQb3MoeDogSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MpOiBIb3Jpem9udGFsQ29ubmVjdGlvblBvcyB7XG5cdFx0aWYgKHggPT09ICdlbmQnKSB7XG5cdFx0XHRyZXR1cm4gJ3N0YXJ0Jztcblx0XHR9IGVsc2UgaWYgKHggPT09ICdzdGFydCcpIHtcblx0XHRcdHJldHVybiAnZW5kJztcblx0XHR9XG5cdFx0cmV0dXJuIHg7XG5cdH1cbn1cbiJdfQ==
349
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL3Rvb2x0aXAvdHJpZ2dlci90b29sdGlwLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0YsT0FBTyxFQUFnRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25NLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBRU4saUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLGVBQWUsR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUdoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRyxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUVuRCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFNZixNQUFNLE9BQU8seUJBQXlCO0lBQ3JDLFFBQVEsQ0FBbUI7SUFFM0IsS0FBSyxDQUErQztJQUVwRCxTQUFTLENBQXFCO0lBRTlCLFdBQVcsQ0FBc0I7SUFFakMsSUFBSSxDQUE2QjtJQUtqQyxXQUFXLENBQW9DO0lBRS9DLElBQ0ksbUJBQW1CLENBQUMsS0FBYTtRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FB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YTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ2hCO3dEQWFBLFNBQVM7c0JBRFIsS0FBSztnQkFNRixtQkFBbUI7c0JBRHRCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQVFqQyxtQkFBbUI7c0JBRHRCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQVFqQyxpQkFBaUI7c0JBRHBCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBU3RDLHVCQUF1QjtzQkFEdEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEMsaUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLHFCQUFxQjtzQkFEcEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFrQnRDLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxZQUFZO2dCQU0xQixZQUFZO3NCQURYLFlBQVk7dUJBQUMsWUFBWTtnQkFNMUIsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU87Z0JBUXJCLE1BQU07c0JBREwsWUFBWTt1QkFBQyxNQUFNO2dCQVFwQixHQUFHO3NCQURGLFdBQVc7dUJBQUMsU0FBUztnQkFJbEIsZUFBZTtzQkFEbEIsV0FBVzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksIEhvcml6b250YWxDb25uZWN0aW9uUG9zLCBPcmlnaW5Db25uZWN0aW9uUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlDb25uZWN0aW9uUG9zaXRpb24sIE92ZXJsYXlSZWYsIFZlcnRpY2FsQ29ubmVjdGlvblBvcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcblx0QWZ0ZXJDb250ZW50SW5pdCxcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdERlc3Ryb3lSZWYsXG5cdERpcmVjdGl2ZSxcblx0RWxlbWVudFJlZixcblx0SG9zdEJpbmRpbmcsXG5cdEhvc3RMaXN0ZW5lcixcblx0SW5wdXQsXG5cdE9uRGVzdHJveSxcblx0UmVuZGVyZXIyLFxuXHRib29sZWFuQXR0cmlidXRlLFxuXHRpbmplY3QsXG5cdG51bWJlckF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgTHVQb3BvdmVyUG9zaXRpb24gfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvcG9wb3Zlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1lcmdlLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTHVUb29sdGlwUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi9wYW5lbCc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbbHVUb29sdGlwXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEx1VG9vbHRpcFRyaWdnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuXHQjb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcblxuXHQjaG9zdCA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cblx0I3JlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cblx0I2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cblx0I2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cblx0QElucHV0KClcblx0bHVUb29sdGlwOiBzdHJpbmcgfCBTYWZlSHRtbDtcblxuXHQjb3BlbkRlbGF5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigzMDApO1xuXG5cdEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG5cdHNldCBsdVRvb2x0aXBFbnRlckRlbGF5KGRlbGF5OiBudW1iZXIpIHtcblx0XHR0aGlzLiNvcGVuRGVsYXkkLm5leHQoZGVsYXkpO1xuXHR9XG5cblx0I2Nsb3NlRGVsYXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDEwMCk7XG5cblx0QElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcblx0c2V0IGx1VG9vbHRpcExlYXZlRGVsYXkoZGVsYXk6IG51bWJlcikge1xuXHRcdHRoaXMuI2Nsb3NlRGVsYXkkLm5leHQoZGVsYXkpO1xuXHR9XG5cblx0I2Rpc2FibGVkID0gZmFsc2U7XG5cblx0QElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG5cdHNldCBsdVRvb2x0aXBEaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuXHRcdHRoaXMuI2Rpc2FibGVkID0gZGlzYWJsZWQ7XG5cdFx0aWYgKGRpc2FibGVkKSB7XG5cdFx0XHR0aGlzLnNldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzKG51bGwpO1xuXHRcdH1cblx0fVxuXG5cdEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuXHRsdVRvb2x0aXBPbmx5Rm9yRGlzcGxheSA9IGZhbHNlO1xuXG5cdEBJbnB1dCgpXG5cdGx1VG9vbHRpcFBvc2l0aW9uOiBMdVBvcG92ZXJQb3NpdGlvbiA9ICdhYm92ZSc7XG5cblx0QElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG5cdGx1VG9vbHRpcFdoZW5FbGxpcHNpcyA9IGZhbHNlO1xuXG5cdHJlc2l6ZSQgPSBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcblx0XHRjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG5cdFx0XHRvYnNlcnZlci5uZXh0KCk7XG5cdFx0fSk7XG5cdFx0cmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLiNob3N0Lm5hdGl2ZUVsZW1lbnQpO1xuXHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRyZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG5cdFx0fTtcblx0fSk7XG5cblx0b3BlbiQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG5cdGNsb3NlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cblx0QEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG5cdG9uTW91c2VFbnRlcigpIHtcblx0XHR0aGlzLm9wZW4kLm5leHQoKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuXHRvbk1vdXNlTGVhdmUoKSB7XG5cdFx0dGhpcy5jbG9zZSQubmV4dCgpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuXHRvbkZvY3VzKCkge1xuXHRcdGlmICh0aGlzLiNob3N0Lm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJykgIT09ICd0cnVlJykge1xuXHRcdFx0dGhpcy5vcGVuJC5uZXh0KCk7XG5cdFx0fVxuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcignYmx1cicpXG5cdG9uQmx1cigpIHtcblx0XHR0aGlzLmNsb3NlJC5uZXh0KCk7XG5cdH1cblxuXHQjZ2VuZXJhdGVkSWQgPSBgJHt0aGlzLiNob3N0Lm5hdGl2ZUVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpfS10b29sdGlwLSR7bmV4dElkKyt9YDtcblxuXHRASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuXHRfaWQ6IHN0cmluZztcblxuXHRASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kZXNjcmliZWRieScpXG5cdGdldCBhcmlhRGVzY3JpYmVkQnkoKSB7XG5cdFx0aWYgKHRoaXMuI2Rpc2FibGVkIHx8IHRoaXMubHVUb29sdGlwV2hlbkVsbGlwc2lzIHx8IHRoaXMubHVUb29sdGlwT25seUZvckRpc3BsYXkpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblx0XHRyZXR1cm4gYCR7dGhpcy4jZ2VuZXJhdGVkSWR9LXBhbmVsYDtcblx0fVxuXG5cdG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbWJpbmVMYXRlc3QoW3RoaXMuI29wZW5EZWxheSQsIHRoaXMuI2Nsb3NlRGVsYXkkXSlcblx0XHRcdC5waXBlKFxuXHRcdFx0XHRzd2l0Y2hNYXAoKFtvcGVuRGVsYXksIGNsb3NlRGVsYXldKSA9PiB7XG5cdFx0XHRcdFx0Ly8gV2Ugb25seSBmaWx0ZXIgb3BlbiBldmVudHMgYmVjYXVzZSBldmVuIGlmIGl0J3MgZGlzYWJsZWQgd2hpbGUgb3BlbmVkLFxuXHRcdFx0XHRcdC8vIFx0d2Ugd2FudCB0aGUgdG9vbHRpcCB0byBiZSBhYmxlIHRvIGNsb3NlIGl0c2VsZiBubyBtYXR0ZXIgd2hhdFxuXHRcdFx0XHRcdGNvbnN0IG9wZW5FdmVudHMkID0gdGhpcy5vcGVuJC5waXBlKFxuXHRcdFx0XHRcdFx0ZmlsdGVyKCgpID0+IHtcblx0XHRcdFx0XHRcdFx0aWYgKHRoaXMuI2Rpc2FibGVkKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdC8vIElmIG5vdCBkaXNhYmxlZCwgbGV0J3MgY2hlY2sgZm9yIGVsbGlwc2lzIGlmIG5lZWRlZFxuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5sdVRvb2x0aXBXaGVuRWxsaXBzaXMpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5oYXNFbGxpcHNpcygpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdC8vIElmIGl0J3Mgbm90IGRpc2FibGVkIGFuZCBpcyBub3QgdHJpZ2dlcmVkIGJhc2VkIG9uIGVsbGlwc2lzLCBqdXN0IHJldHVybiB0cnVlXG5cdFx0XHRcdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRtYXAoKCkgPT4gJ29wZW4nKSxcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdHJldHVybiBtZXJnZShvcGVuRXZlbnRzJCwgdGhpcy5jbG9zZSQucGlwZShtYXAoKCkgPT4gJ2Nsb3NlJykpKS5waXBlKFxuXHRcdFx0XHRcdFx0ZGVib3VuY2UoKGV2ZW50KSA9PiB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiB0aW1lcihldmVudCA9PT0gJ29wZW4nID8gb3BlbkRlbGF5IDogY2xvc2VEZWxheSk7XG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9KSxcblx0XHRcdFx0dGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpLFxuXHRcdFx0KVxuXHRcdFx0LnN1YnNjcmliZSgoZXZlbnQpID0+IHtcblx0XHRcdFx0aWYgKGV2ZW50ID09PSAnb3BlbicpIHtcblx0XHRcdFx0XHR0aGlzLm9wZW5Ub29sdGlwKCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy5jbG9zZVRvb2x0aXAoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cblx0XHR0aGlzLnJlc2l6ZSQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZiksIGRlYm91bmNlVGltZSgxNTApKS5zdWJzY3JpYmUoKCkgPT4ge1xuXHRcdFx0dGhpcy5zZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllcygwKTtcblx0XHRcdHRoaXMuI2Nkci5tYXJrRm9yQ2hlY2soKTtcblx0XHR9KTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuY2xvc2VUb29sdGlwKCk7XG5cdH1cblxuXHRwcml2YXRlIG9wZW5Ub29sdGlwKCk6IHZvaWQge1xuXHRcdC8vIElmIHRvb2x0aXAgaXMgYWxyZWFkeSBvcGVuZWQsIGRvbid0IGRvIGFueXRoaW5nXG5cdFx0aWYgKHRoaXMub3ZlcmxheVJlZikge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBwb3NpdGlvbiA9IHRoaXMubGVnYWN5UG9zaXRpb25CdWlsZGVyKCk7XG5cdFx0dGhpcy5vdmVybGF5UmVmID0gdGhpcy4jb3ZlcmxheS5jcmVhdGUoe1xuXHRcdFx0cG9zaXRpb25TdHJhdGVneTogcG9zaXRpb24sXG5cdFx0XHRzY3JvbGxTdHJhdGVneTogdGhpcy4jb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKCksXG5cdFx0XHRkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxuXHRcdH0pO1xuXHRcdGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoTHVUb29sdGlwUGFuZWxDb21wb25lbnQpO1xuXHRcdGNvbnN0IHJlZiA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsKTtcblx0XHRwb3NpdGlvbi5wb3NpdGlvbkNoYW5nZXNcblx0XHRcdC5waXBlKFxuXHRcdFx0XHR0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZiksXG5cdFx0XHRcdG1hcCgoeyBjb25uZWN0aW9uUGFpciB9KSA9PiBjb25uZWN0aW9uUGFpciksXG5cdFx0XHRcdHN0YXJ0V2l0aChwb3NpdGlvbi5wb3NpdGlvbnNbMF0pLFxuXHRcdFx0KVxuXHRcdFx0LnN1YnNjcmliZSgoeyBvdmVybGF5WCwgb3ZlcmxheVkgfSkgPT4ge1xuXHRcdFx0XHRyZWYuaW5zdGFuY2Uuc2V0UGFuZWxQb3NpdGlvbihvdmVybGF5WCwgb3ZlcmxheVkpO1xuXHRcdFx0fSk7XG5cdFx0aWYgKHRoaXMubHVUb29sdGlwKSB7XG5cdFx0XHRyZWYuaW5zdGFuY2UuY29udGVudCA9IHRoaXMubHVUb29sdGlwO1xuXHRcdH0gZWxzZSBpZiAodGhpcy5sdVRvb2x0aXBXaGVuRWxsaXBzaXMpIHtcblx0XHRcdHJlZi5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dDtcblx0XHR9XG5cdFx0cmVmLmluc3RhbmNlLmlkID0gdGhpcy5hcmlhRGVzY3JpYmVkQnk7XG5cdFx0Ly8gT24gdG9vbHRpcCBsZWF2ZSA9PiB0cmlnZ2VyIGNsb3NlXG5cdFx0cmVmLmluc3RhbmNlLm1vdXNlTGVhdmUkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHJlZi5pbnN0YW5jZS5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UkLm5leHQoKSk7XG5cdFx0Ly8gT24gdG9vbHRpcCBlbnRlciA9PiB0cmlnZ2VyIG9wZW4gdG8ga2VlcCBpdCBvcGVuZWRcblx0XHRyZWYuaW5zdGFuY2UubW91c2VFbnRlciQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQocmVmLmluc3RhbmNlLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vcGVuJC5uZXh0KCkpO1xuXHR9XG5cblx0cHJpdmF0ZSBjbG9zZVRvb2x0aXAoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMub3ZlcmxheVJlZikge1xuXHRcdFx0dGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuXHRcdFx0ZGVsZXRlIHRoaXMub3ZlcmxheVJlZjtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHNldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzKHRhYmluZGV4OiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuI2Rpc2FibGVkIHx8ICh0aGlzLmx1VG9vbHRpcFdoZW5FbGxpcHNpcyAmJiAhdGhpcy5oYXNFbGxpcHNpcygpKSkge1xuXHRcdFx0dGhpcy4jcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuI2hvc3QubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4Jyk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3QgdGFnID0gdGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKTtcblx0XHRjb25zdCBuYXRpdmVseUZvY3VzYWJsZVRhZ3MgPSBbJ2EnLCAnYnV0dG9uJywgJ2lucHV0JywgJ3NlbGVjdCcsICd0ZXh0YXJlYSddO1xuXHRcdGNvbnN0IGlzTmF0ZXZlbHlGb2N1c2FibGVUYWcgPSBuYXRpdmVseUZvY3VzYWJsZVRhZ3MuaW5jbHVkZXModGFnKTtcblxuXHRcdGNvbnN0IGhhc0FUYWJJbmRleCA9IHRoaXMuI2hvc3QubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JykgIT09IG51bGw7XG5cblx0XHRpZiAoIWlzTmF0ZXZlbHlGb2N1c2FibGVUYWcgJiYgIWhhc0FUYWJJbmRleCkge1xuXHRcdFx0dGhpcy4jcmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuI2hvc3QubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JywgdGFiaW5kZXgudG9TdHJpbmcoKSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEhhY2t5IGFmIGJ1dCBsZXQncyBleHBsYWluIGV2ZXJ5dGhpbmdcblx0ICogVGhpcyBtZXRob2QgY2hlY2tzIGZvciBlbGxpcHNpcyBieSBjbG9uaW5nIHRoZSBub2RlIGFuZCBjaGVja2luZyBpdHMgd2lkdGggYWdhaW5zdCBvcmlnaW5hbCBlbGVtZW50LlxuXHQgKlxuXHQgKiBXZSB1c2VkIHRvIGRvIHRoaXMgdXNpbmcgc2Nyb2xsV2lkdGggYnV0IHRoZSB0aGluZyBpcywgaXQncyBhIHJvdW5kZWQgdmFsdWUuIFNvbWV0aW1lcyxcblx0ICogeW91J2QgZ2V0IHRydWUgd2hpbGUgaXQgc2hvdWxkIGJlIGZhbHNlIGFuZCB2aWNlLXZlcnNhLCBiZWNhdXNlIG9mIHJvdW5kaW5nLlxuXHQgKlxuXHQgKiBTbyB3ZSBkdXBsaWNhdGUgdGhlIHByb3BlcnRpZXMgd2UncmUgaW50ZXJlc3RlZCBpbiBvbiB0aGUgZWxlbWVudCB0byBiZSB0ZXN0ZWQgdG8gY2FsY3VsYXRlIGl0cyBpZGVhbCBzaXplLFxuXHQgKiB3aGljaCB3ZSB0aGVuIGNvbXBhcmUgd2l0aCBpdHMgY3VycmVudCBzaXplLlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cHJpdmF0ZSBoYXNFbGxpcHNpcygpOiBib29sZWFuIHtcblx0XHRpZiAod2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50KS50ZXh0T3ZlcmZsb3cgIT09ICdlbGxpcHNpcycpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHRjb25zdCBlbGVtZW50ID0gdGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50O1xuXHRcdGNvbnN0IGVsZW1lbnRDbG9uZWQgPSB0aGlzLiNyZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKSBhcyBIVE1MRGl2RWxlbWVudDtcblx0XHRjb25zdCBwYXJlbnRNYXNrZWQgPSB0aGlzLiNyZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKSBhcyBIVE1MRGl2RWxlbWVudDtcblx0XHRjb25zdCBlbGVtZW50U3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcblxuXHRcdHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKHBhcmVudE1hc2tlZCwgJ3UtbWFzaycpO1xuXHRcdHRoaXMuI3JlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXJlbnRNYXNrZWQsICdhcmlhLWhpZGRlbicsICd0cnVlJyk7XG5cblx0XHR0aGlzLiNyZW5kZXJlci5zZXRTdHlsZShlbGVtZW50Q2xvbmVkLCAnd2lkdGgnLCAnZml0LWNvbnRlbnQnKTtcblxuXHRcdHRoaXMuI3JlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnRDbG9uZWQsICdwYWRkaW5nJywgZWxlbWVudFN0eWxlLnBhZGRpbmcpO1xuXHRcdHRoaXMuI3JlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnRDbG9uZWQsICdib3JkZXJXaWR0aCcsIGVsZW1lbnRTdHlsZS5ib3JkZXJXaWR0aCk7XG5cdFx0dGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudENsb25lZCwgJ2JvcmRlclN0eWxlJywgZWxlbWVudFN0eWxlLmJvcmRlclN0eWxlKTtcblx0XHR0aGlzLiNyZW5kZXJlci5zZXRTdHlsZShlbGVtZW50Q2xvbmVkLCAnYm94U2l6aW5nJywgZWxlbWVudFN0eWxlLmJveFNpemluZyk7XG5cdFx0dGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudENsb25lZCwgJ2ZvbnRGYW1pbHknLCBlbGVtZW50U3R5bGUuZm9udEZhbWlseSk7XG5cdFx0dGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudENsb25lZCwgJ2ZvbnRXZWlnaHQnLCBlbGVtZW50U3R5bGUuZm9udFdlaWdodCk7XG5cdFx0dGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudENsb25lZCwgJ2ZvbnRTdHlsZScsIGVsZW1lbnRTdHlsZS5mb250U3R5bGUpO1xuXHRcdHRoaXMuI3JlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnRDbG9uZWQsICd3aGl0ZVNwYWNlJywgJ25vd3JhcCcpO1xuXHRcdHRoaXMuI3JlbmRlcmVyLnNldFN0eWxlKFxuXHRcdFx0ZWxlbWVudENsb25lZCxcblx0XHRcdCdmb250U2l6ZScsXG5cdFx0XHQoTnVtYmVyKGVsZW1lbnRTdHlsZS5mb250U2l6ZS5yZXBsYWNlKCdweCcsICcnKSkgLyBOdW1iZXIod2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZm9udFNpemUucmVwbGFjZSgncHgnLCAnJykpKS50b1N0cmluZygpICsgJ3JlbScsXG5cdFx0KTtcblxuXHRcdGVsZW1lbnRDbG9uZWQuaW5uZXJIVE1MID0gZWxlbWVudC5pbm5lckhUTUw7XG5cblx0XHR0aGlzLiNyZW5kZXJlci5hcHBlbmRDaGlsZChwYXJlbnRNYXNrZWQsIGVsZW1lbnRDbG9uZWQpO1xuXHRcdHRoaXMuI3JlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmJvZHksIHBhcmVudE1hc2tlZCk7XG5cblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgZWxlbWVudENsb25lZFdpZHRoID0gZWxlbWVudENsb25lZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcblx0XHRcdGNvbnN0IGVsZW1lbnRXaWR0aCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG5cblx0XHRcdHJldHVybiBlbGVtZW50Q2xvbmVkV2lkdGggPiBlbGVtZW50V2lkdGg7XG5cdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH0gZmluYWxseSB7XG5cdFx0XHRwYXJlbnRNYXNrZWQucmVtb3ZlKCk7XG5cdFx0fVxuXHR9XG5cblx0bmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuc2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXMoMCk7XG5cdFx0dGhpcy5faWQgPSB0aGlzLiNob3N0Lm5hdGl2ZUVsZW1lbnQuaWQgfHwgdGhpcy4jZ2VuZXJhdGVkSWQ7XG5cdH1cblxuXHQvKioqKioqKioqKioqKioqKioqKioqKlxuXHQgKlxuXHQgKiBMRUdBQ1kgU1RVRkYgVE8gSEFORExFIEVYSVNUSU5HIFBPU0lUSU9OU1xuXHQgKlxuXHQgKioqKioqKioqKioqKioqKioqKioqKiovXG5cblx0cHJpdmF0ZSBsZWdhY3lQb3NpdGlvbkJ1aWxkZXIoKTogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5IHtcblx0XHRjb25zdCBjb25uZWN0aW9uUG9zaXRpb246IE9yaWdpbkNvbm5lY3Rpb25Qb3NpdGlvbiA9IHtcblx0XHRcdG9yaWdpblg6ICdzdGFydCcsXG5cdFx0XHRvcmlnaW5ZOiAndG9wJyxcblx0XHR9O1xuXG5cdFx0Ly8gUG9zaXRpb25cblx0XHRjb25zdCBwb3NpdGlvbiA9IHRoaXMubHVUb29sdGlwUG9zaXRpb247XG5cdFx0aWYgKHBvc2l0aW9uID09PSAnYWJvdmUnKSB7XG5cdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICd0b3AnO1xuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdiZWxvdycpIHtcblx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZID0gJ2JvdHRvbSc7XG5cdFx0fSBlbHNlIGlmIChwb3NpdGlvbiA9PT0gJ2JlZm9yZScpIHtcblx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gJ3N0YXJ0Jztcblx0XHR9IGVsc2UgaWYgKHBvc2l0aW9uID09PSAnYWZ0ZXInKSB7XG5cdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCA9ICdlbmQnO1xuXHRcdH1cblxuXHRcdC8vIEFsaWdubWVudFxuXHRcdGlmIChwb3NpdGlvbiA9PT0gJ2Fib3ZlJyB8fCBwb3NpdGlvbiA9PT0gJ2JlbG93Jykge1xuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSAnY2VudGVyJztcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkgPSAnY2VudGVyJztcblx0XHR9XG5cblx0XHRjb25zdCBvdmVybGF5UG9zaXRpb246IE92ZXJsYXlDb25uZWN0aW9uUG9zaXRpb24gPSB7XG5cdFx0XHRvdmVybGF5WDogJ3N0YXJ0Jyxcblx0XHRcdG92ZXJsYXlZOiAndG9wJyxcblx0XHR9O1xuXG5cdFx0aWYgKHBvc2l0aW9uID09PSAnYWJvdmUnIHx8IHBvc2l0aW9uID09PSAnYmVsb3cnKSB7XG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVggPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWDtcblx0XHRcdG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WSA9IHBvc2l0aW9uID09PSAnYWJvdmUnID8gJ2JvdHRvbScgOiAndG9wJztcblx0XHR9IGVsc2Uge1xuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYID0gcG9zaXRpb24gPT09ICdiZWZvcmUnID8gJ2VuZCcgOiAnc3RhcnQnO1xuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZID0gY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMuI292ZXJsYXlcblx0XHRcdC5wb3NpdGlvbigpXG5cdFx0XHQuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLiNob3N0KVxuXHRcdFx0LndpdGhQb3NpdGlvbnMoW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0b3JpZ2luWDogY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgsXG5cdFx0XHRcdFx0b3JpZ2luWTogY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblksXG5cdFx0XHRcdFx0b3ZlcmxheVg6IG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCxcblx0XHRcdFx0XHRvdmVybGF5WTogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZLFxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0b3JpZ2luWDogY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgsXG5cdFx0XHRcdFx0b3JpZ2luWTogdGhpcy5pbnZlcnRWZXJ0aWNhbFBvcyhjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSksXG5cdFx0XHRcdFx0b3ZlcmxheVg6IG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCxcblx0XHRcdFx0XHRvdmVybGF5WTogdGhpcy5pbnZlcnRWZXJ0aWNhbFBvcyhvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkpLFxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0b3JpZ2luWDogdGhpcy5pbnZlcnRIb3Jpem9udGFsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YKSxcblx0XHRcdFx0XHRvcmlnaW5ZOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSxcblx0XHRcdFx0XHRvdmVybGF5WDogdGhpcy5pbnZlcnRIb3Jpem9udGFsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCksXG5cdFx0XHRcdFx0b3ZlcmxheVk6IG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WSxcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdG9yaWdpblg6IHRoaXMuaW52ZXJ0SG9yaXpvbnRhbFBvcyhjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCksXG5cdFx0XHRcdFx0b3JpZ2luWTogdGhpcy5pbnZlcnRWZXJ0aWNhbFBvcyhjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSksXG5cdFx0XHRcdFx0b3ZlcmxheVg6IHRoaXMuaW52ZXJ0SG9yaXpvbnRhbFBvcyhvdmVybGF5UG9zaXRpb24ub3ZlcmxheVgpLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiB0aGlzLmludmVydFZlcnRpY2FsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WSksXG5cdFx0XHRcdH0sXG5cdFx0XHRdKTtcblx0fVxuXG5cdHByaXZhdGUgaW52ZXJ0VmVydGljYWxQb3MoeTogVmVydGljYWxDb25uZWN0aW9uUG9zKTogVmVydGljYWxDb25uZWN0aW9uUG9zIHtcblx0XHRpZiAoeSA9PT0gJ3RvcCcpIHtcblx0XHRcdHJldHVybiAnYm90dG9tJztcblx0XHR9IGVsc2UgaWYgKHkgPT09ICdib3R0b20nKSB7XG5cdFx0XHRyZXR1cm4gJ3RvcCc7XG5cdFx0fVxuXHRcdHJldHVybiB5O1xuXHR9XG5cblx0cHJpdmF0ZSBpbnZlcnRIb3Jpem9udGFsUG9zKHg6IEhvcml6b250YWxDb25uZWN0aW9uUG9zKTogSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3Mge1xuXHRcdGlmICh4ID09PSAnZW5kJykge1xuXHRcdFx0cmV0dXJuICdzdGFydCc7XG5cdFx0fSBlbHNlIGlmICh4ID09PSAnc3RhcnQnKSB7XG5cdFx0XHRyZXR1cm4gJ2VuZCc7XG5cdFx0fVxuXHRcdHJldHVybiB4O1xuXHR9XG59XG4iXX0=
@@ -542,10 +542,10 @@ class LuDateInputDirective extends ALuInput {
542
542
  let format;
543
543
  switch (this.granularity) {
544
544
  case ELuDateGranularity.year:
545
- format = 'Y';
545
+ format = 'y';
546
546
  break;
547
547
  case ELuDateGranularity.month:
548
- format = 'MM/Y';
548
+ format = 'MM/y';
549
549
  break;
550
550
  case ELuDateGranularity.day:
551
551
  default:
@@ -822,9 +822,9 @@ class LuDateSelectInputComponent extends ALuSelectInputComponent {
822
822
  get format() {
823
823
  switch (this.granularity) {
824
824
  case ELuDateGranularity.year:
825
- return 'Y';
825
+ return 'y';
826
826
  case ELuDateGranularity.month:
827
- return 'MM/Y';
827
+ return 'MM/y';
828
828
  case ELuDateGranularity.day:
829
829
  default:
830
830
  return 'shortDate';