@alauda/ui 6.4.2-beta.6 → 6.4.2-beta.7

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 (41) hide show
  1. package/autocomplete/autocomplete.module.d.ts +5 -4
  2. package/button/button.component.d.ts +1 -0
  3. package/checkbox/checkbox.component.d.ts +2 -2
  4. package/dropdown/dropdown.directive.d.ts +1 -0
  5. package/esm2020/autocomplete/autocomplete.module.mjs +5 -2
  6. package/esm2020/autocomplete/suggestion/suggestion.component.mjs +4 -3
  7. package/esm2020/button/button.component.mjs +11 -4
  8. package/esm2020/checkbox/checkbox.component.mjs +10 -7
  9. package/esm2020/dialog/dialog.component.mjs +3 -3
  10. package/esm2020/dropdown/dropdown-button/dropdown-button.component.mjs +3 -3
  11. package/esm2020/dropdown/dropdown.directive.mjs +12 -4
  12. package/esm2020/form/common-form.mjs +15 -6
  13. package/esm2020/icon/icon.component.mjs +6 -3
  14. package/esm2020/input/input.component.mjs +13 -4
  15. package/esm2020/input/tags-input/tags-input.component.mjs +5 -5
  16. package/esm2020/radio/base-radio.mjs +9 -3
  17. package/esm2020/select/multi-select/multi-select.component.mjs +7 -7
  18. package/esm2020/select/option/option.component.mjs +9 -3
  19. package/esm2020/select/select.component.mjs +3 -3
  20. package/esm2020/table/table-placeholder.directive.mjs +4 -21
  21. package/esm2020/table/table.component.mjs +6 -3
  22. package/esm2020/time-picker/panel/panel.component.mjs +5 -5
  23. package/esm2020/utils/e2e-attribute-binding.directive.mjs +34 -0
  24. package/esm2020/utils/fn.mjs +10 -1
  25. package/esm2020/utils/index.mjs +2 -1
  26. package/fesm2015/alauda-ui.mjs +164 -85
  27. package/fesm2015/alauda-ui.mjs.map +1 -1
  28. package/fesm2020/alauda-ui.mjs +164 -85
  29. package/fesm2020/alauda-ui.mjs.map +1 -1
  30. package/form/common-form.d.ts +4 -2
  31. package/input/input.component.d.ts +1 -0
  32. package/input/tags-input/tags-input.component.d.ts +1 -1
  33. package/package.json +1 -1
  34. package/radio/base-radio.d.ts +1 -0
  35. package/select/multi-select/multi-select.component.d.ts +1 -1
  36. package/select/option/option.component.d.ts +1 -0
  37. package/table/table-placeholder.directive.d.ts +1 -7
  38. package/time-picker/panel/panel.component.d.ts +1 -1
  39. package/utils/e2e-attribute-binding.directive.d.ts +10 -0
  40. package/utils/fn.d.ts +1 -0
  41. package/utils/index.d.ts +1 -0
@@ -28,10 +28,10 @@ export class DropdownButtonComponent {
28
28
  }
29
29
  }
30
30
  DropdownButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DropdownButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- DropdownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DropdownButtonComponent, selector: "aui-dropdown-button", inputs: { type: "type", plain: "plain", size: "size", loading: "loading", disabled: "disabled" }, outputs: { buttonClick: "buttonClick" }, queries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true, static: true }], ngImport: i0, template: "<div [class]=\"bem.block(size)\">\n <button\n type=\"button\"\n class=\"aui-dropdown-button__content\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [loading]=\"loading\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick.emit($event)\"\n >\n <ng-content></ng-content>\n </button>\n <button\n type=\"button\"\n class=\"aui-dropdown-button__trigger\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [auiDropdown]=\"menu\"\n [disabled]=\"disableTrigger\"\n >\n <aui-icon icon=\"angle_down\"></aui-icon>\n </button>\n</div>\n", styles: [".aui-dropdown-button{display:inline-block}.aui-dropdown-button--large .aui-dropdown-button__trigger .aui-button__content{padding:0 7px}.aui-dropdown-button--medium .aui-dropdown-button__trigger .aui-button__content{padding:0 5px}.aui-dropdown-button--small .aui-dropdown-button__trigger .aui-button__content,.aui-dropdown-button--mini .aui-dropdown-button__trigger .aui-button__content{padding:0 3px}.aui-dropdown-button__content.aui-button{border-bottom-right-radius:0;border-top-right-radius:0}.aui-dropdown-button__content.aui-button:not([disabled]):hover,.aui-dropdown-button__content.aui-button:not([disabled]):active,.aui-dropdown-button__content.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__trigger.aui-button{border-bottom-left-radius:0;border-top-left-radius:0}.aui-dropdown-button__trigger.aui-button[disabled]{z-index:-1}.aui-dropdown-button__trigger.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button{margin-left:1px}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button.isPlain{margin-left:-1px}aui-dropdown-button+aui-dropdown-button>.aui-dropdown-button,aui-dropdown-button+.aui-button,.aui-button+aui-dropdown-button>.aui-dropdown-button{margin-left:var(--aui-spacing-m)}\n"], components: [{ type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { type: i2.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }], directives: [{ type: i3.DropdownDirective, selector: "[auiDropdown]", inputs: ["auiDropdownClass", "auiDropdownDisabled", "auiDropdownPosition", "auiDropdownTrigger", "auiDropdown", "auiDropdownContext", "auiDropdownHideOnClick"], outputs: ["auiDropdownShow", "auiDropdownHide"], exportAs: ["auiDropdown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
31
+ DropdownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DropdownButtonComponent, selector: "aui-dropdown-button", inputs: { type: "type", plain: "plain", size: "size", loading: "loading", disabled: "disabled" }, outputs: { buttonClick: "buttonClick" }, queries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true, static: true }], ngImport: i0, template: "<div [class]=\"bem.block(size)\">\n <button\n type=\"button\"\n class=\"aui-dropdown-button__content\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [loading]=\"loading\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick.emit($event)\"\n data-test=\"DROPDOWN-BUTTON/\"\n >\n <ng-content></ng-content>\n </button>\n <button\n type=\"button\"\n class=\"aui-dropdown-button__trigger\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [auiDropdown]=\"menu\"\n [disabled]=\"disableTrigger\"\n >\n <aui-icon icon=\"angle_down\"></aui-icon>\n </button>\n</div>\n", styles: [".aui-dropdown-button{display:inline-block}.aui-dropdown-button--large .aui-dropdown-button__trigger .aui-button__content{padding:0 7px}.aui-dropdown-button--medium .aui-dropdown-button__trigger .aui-button__content{padding:0 5px}.aui-dropdown-button--small .aui-dropdown-button__trigger .aui-button__content,.aui-dropdown-button--mini .aui-dropdown-button__trigger .aui-button__content{padding:0 3px}.aui-dropdown-button__content.aui-button{border-bottom-right-radius:0;border-top-right-radius:0}.aui-dropdown-button__content.aui-button:not([disabled]):hover,.aui-dropdown-button__content.aui-button:not([disabled]):active,.aui-dropdown-button__content.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__trigger.aui-button{border-bottom-left-radius:0;border-top-left-radius:0}.aui-dropdown-button__trigger.aui-button[disabled]{z-index:-1}.aui-dropdown-button__trigger.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button{margin-left:1px}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button.isPlain{margin-left:-1px}aui-dropdown-button+aui-dropdown-button>.aui-dropdown-button,aui-dropdown-button+.aui-button,.aui-button+aui-dropdown-button>.aui-dropdown-button{margin-left:var(--aui-spacing-m)}\n"], components: [{ type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { type: i2.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }], directives: [{ type: i3.DropdownDirective, selector: "[auiDropdown]", inputs: ["auiDropdownClass", "auiDropdownDisabled", "auiDropdownPosition", "auiDropdownTrigger", "auiDropdown", "auiDropdownContext", "auiDropdownHideOnClick"], outputs: ["auiDropdownShow", "auiDropdownHide"], exportAs: ["auiDropdown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DropdownButtonComponent, decorators: [{
33
33
  type: Component,
34
- args: [{ selector: 'aui-dropdown-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<div [class]=\"bem.block(size)\">\n <button\n type=\"button\"\n class=\"aui-dropdown-button__content\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [loading]=\"loading\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick.emit($event)\"\n >\n <ng-content></ng-content>\n </button>\n <button\n type=\"button\"\n class=\"aui-dropdown-button__trigger\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [auiDropdown]=\"menu\"\n [disabled]=\"disableTrigger\"\n >\n <aui-icon icon=\"angle_down\"></aui-icon>\n </button>\n</div>\n", styles: [".aui-dropdown-button{display:inline-block}.aui-dropdown-button--large .aui-dropdown-button__trigger .aui-button__content{padding:0 7px}.aui-dropdown-button--medium .aui-dropdown-button__trigger .aui-button__content{padding:0 5px}.aui-dropdown-button--small .aui-dropdown-button__trigger .aui-button__content,.aui-dropdown-button--mini .aui-dropdown-button__trigger .aui-button__content{padding:0 3px}.aui-dropdown-button__content.aui-button{border-bottom-right-radius:0;border-top-right-radius:0}.aui-dropdown-button__content.aui-button:not([disabled]):hover,.aui-dropdown-button__content.aui-button:not([disabled]):active,.aui-dropdown-button__content.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__trigger.aui-button{border-bottom-left-radius:0;border-top-left-radius:0}.aui-dropdown-button__trigger.aui-button[disabled]{z-index:-1}.aui-dropdown-button__trigger.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button{margin-left:1px}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button.isPlain{margin-left:-1px}aui-dropdown-button+aui-dropdown-button>.aui-dropdown-button,aui-dropdown-button+.aui-button,.aui-button+aui-dropdown-button>.aui-dropdown-button{margin-left:var(--aui-spacing-m)}\n"] }]
34
+ args: [{ selector: 'aui-dropdown-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<div [class]=\"bem.block(size)\">\n <button\n type=\"button\"\n class=\"aui-dropdown-button__content\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [loading]=\"loading\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick.emit($event)\"\n data-test=\"DROPDOWN-BUTTON/\"\n >\n <ng-content></ng-content>\n </button>\n <button\n type=\"button\"\n class=\"aui-dropdown-button__trigger\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [auiDropdown]=\"menu\"\n [disabled]=\"disableTrigger\"\n >\n <aui-icon icon=\"angle_down\"></aui-icon>\n </button>\n</div>\n", styles: [".aui-dropdown-button{display:inline-block}.aui-dropdown-button--large .aui-dropdown-button__trigger .aui-button__content{padding:0 7px}.aui-dropdown-button--medium .aui-dropdown-button__trigger .aui-button__content{padding:0 5px}.aui-dropdown-button--small .aui-dropdown-button__trigger .aui-button__content,.aui-dropdown-button--mini .aui-dropdown-button__trigger .aui-button__content{padding:0 3px}.aui-dropdown-button__content.aui-button{border-bottom-right-radius:0;border-top-right-radius:0}.aui-dropdown-button__content.aui-button:not([disabled]):hover,.aui-dropdown-button__content.aui-button:not([disabled]):active,.aui-dropdown-button__content.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__trigger.aui-button{border-bottom-left-radius:0;border-top-left-radius:0}.aui-dropdown-button__trigger.aui-button[disabled]{z-index:-1}.aui-dropdown-button__trigger.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button{margin-left:1px}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button.isPlain{margin-left:-1px}aui-dropdown-button+aui-dropdown-button>.aui-dropdown-button,aui-dropdown-button+.aui-button,.aui-button+aui-dropdown-button>.aui-dropdown-button{margin-left:var(--aui-spacing-m)}\n"] }]
35
35
  }], propDecorators: { type: [{
36
36
  type: Input
37
37
  }], plain: [{
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
48
48
  type: ContentChild,
49
49
  args: [MenuComponent, { static: true }]
50
50
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kcm9wZG93bi9kcm9wZG93bi1idXR0b24vZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9kcm9wZG93bi9kcm9wZG93bi1idXR0b24vZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBTyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQVV2RCxNQUFNLE9BQU8sdUJBQXVCO0lBUnBDO1FBU0UsUUFBRyxHQUFRLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRzNDLFNBQUksR0FBZSxVQUFVLENBQUMsT0FBTyxDQUFDO1FBR3RDLFVBQUssR0FBRyxJQUFJLENBQUM7UUFHYixTQUFJLEdBQWtCLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFHM0MsWUFBTyxHQUFHLEtBQUssQ0FBQztRQVloQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFTaEMsY0FBUyxHQUFHLEtBQUssQ0FBQztLQUMzQjtJQXBCQyxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQWlCO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQVFELElBQUksY0FBYztRQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUM7SUFDcEMsQ0FBQzs7b0hBaENVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHdPQTJCcEIsYUFBYSw4RENsRDdCLHNtQkF5QkE7MkZERmEsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLHVCQUNoQixLQUFLOzhCQU0xQixJQUFJO3NCQURILEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSUYsUUFBUTtzQkFEWCxLQUFLO2dCQVVOLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxJQUFJO3NCQURILFlBQVk7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJ1dHRvblR5cGUgfSBmcm9tICcuLi8uLi9idXR0b24nO1xuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEJlbSwgYnVpbGRCZW0sIGNvZXJjZUF0dHJCb29sZWFuIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUvbWVudS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktZHJvcGRvd24tYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQnV0dG9uQ29tcG9uZW50IHtcbiAgYmVtOiBCZW0gPSBidWlsZEJlbSgnYXVpLWRyb3Bkb3duLWJ1dHRvbicpO1xuXG4gIEBJbnB1dCgpXG4gIHR5cGU6IEJ1dHRvblR5cGUgPSBCdXR0b25UeXBlLkRlZmF1bHQ7XG5cbiAgQElucHV0KClcbiAgcGxhaW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IENvbXBvbmVudFNpemUgPSBDb21wb25lbnRTaXplLk1lZGl1bTtcblxuICBASW5wdXQoKVxuICBsb2FkaW5nID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQXR0ckJvb2xlYW4odmFsKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBidXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChNZW51Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBtZW51OiBNZW51Q29tcG9uZW50O1xuXG4gIGdldCBkaXNhYmxlVHJpZ2dlcigpIHtcbiAgICByZXR1cm4gIXRoaXMubWVudT8uaGFzRW5hYmxlZEl0ZW07XG4gIH1cblxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xufVxuIiwiPGRpdiBbY2xhc3NdPVwiYmVtLmJsb2NrKHNpemUpXCI+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cImF1aS1kcm9wZG93bi1idXR0b25fX2NvbnRlbnRcIlxuICAgIFthdWktYnV0dG9uXT1cInR5cGVcIlxuICAgIFtwbGFpbl09XCJwbGFpblwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAoY2xpY2spPVwiYnV0dG9uQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cImF1aS1kcm9wZG93bi1idXR0b25fX3RyaWdnZXJcIlxuICAgIFthdWktYnV0dG9uXT1cInR5cGVcIlxuICAgIFtwbGFpbl09XCJwbGFpblwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgW2F1aURyb3Bkb3duXT1cIm1lbnVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlVHJpZ2dlclwiXG4gID5cbiAgICA8YXVpLWljb24gaWNvbj1cImFuZ2xlX2Rvd25cIj48L2F1aS1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kcm9wZG93bi9kcm9wZG93bi1idXR0b24vZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9kcm9wZG93bi9kcm9wZG93bi1idXR0b24vZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBTyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQVV2RCxNQUFNLE9BQU8sdUJBQXVCO0lBUnBDO1FBU0UsUUFBRyxHQUFRLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRzNDLFNBQUksR0FBZSxVQUFVLENBQUMsT0FBTyxDQUFDO1FBR3RDLFVBQUssR0FBRyxJQUFJLENBQUM7UUFHYixTQUFJLEdBQWtCLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFHM0MsWUFBTyxHQUFHLEtBQUssQ0FBQztRQVloQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFTaEMsY0FBUyxHQUFHLEtBQUssQ0FBQztLQUMzQjtJQXBCQyxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQWlCO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQVFELElBQUksY0FBYztRQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUM7SUFDcEMsQ0FBQzs7b0hBaENVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHdPQTJCcEIsYUFBYSw4RENsRDdCLDBvQkEwQkE7MkZESGEsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLHVCQUNoQixLQUFLOzhCQU0xQixJQUFJO3NCQURILEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSUYsUUFBUTtzQkFEWCxLQUFLO2dCQVVOLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxJQUFJO3NCQURILFlBQVk7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJ1dHRvblR5cGUgfSBmcm9tICcuLi8uLi9idXR0b24nO1xuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEJlbSwgYnVpbGRCZW0sIGNvZXJjZUF0dHJCb29sZWFuIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUvbWVudS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktZHJvcGRvd24tYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQnV0dG9uQ29tcG9uZW50IHtcbiAgYmVtOiBCZW0gPSBidWlsZEJlbSgnYXVpLWRyb3Bkb3duLWJ1dHRvbicpO1xuXG4gIEBJbnB1dCgpXG4gIHR5cGU6IEJ1dHRvblR5cGUgPSBCdXR0b25UeXBlLkRlZmF1bHQ7XG5cbiAgQElucHV0KClcbiAgcGxhaW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IENvbXBvbmVudFNpemUgPSBDb21wb25lbnRTaXplLk1lZGl1bTtcblxuICBASW5wdXQoKVxuICBsb2FkaW5nID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQXR0ckJvb2xlYW4odmFsKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBidXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChNZW51Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBtZW51OiBNZW51Q29tcG9uZW50O1xuXG4gIGdldCBkaXNhYmxlVHJpZ2dlcigpIHtcbiAgICByZXR1cm4gIXRoaXMubWVudT8uaGFzRW5hYmxlZEl0ZW07XG4gIH1cblxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xufVxuIiwiPGRpdiBbY2xhc3NdPVwiYmVtLmJsb2NrKHNpemUpXCI+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cImF1aS1kcm9wZG93bi1idXR0b25fX2NvbnRlbnRcIlxuICAgIFthdWktYnV0dG9uXT1cInR5cGVcIlxuICAgIFtwbGFpbl09XCJwbGFpblwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAoY2xpY2spPVwiYnV0dG9uQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICBkYXRhLXRlc3Q9XCJEUk9QRE9XTi1CVVRUT04vXCJcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cImF1aS1kcm9wZG93bi1idXR0b25fX3RyaWdnZXJcIlxuICAgIFthdWktYnV0dG9uXT1cInR5cGVcIlxuICAgIFtwbGFpbl09XCJwbGFpblwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgW2F1aURyb3Bkb3duXT1cIm1lbnVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlVHJpZ2dlclwiXG4gID5cbiAgICA8YXVpLWljb24gaWNvbj1cImFuZ2xlX2Rvd25cIj48L2F1aS1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -1,6 +1,7 @@
1
- import { Directive, EventEmitter, Input, Output, } from '@angular/core';
1
+ import { Directive, EventEmitter, HostBinding, Input, Output, } from '@angular/core';
2
2
  import { debounceTime } from 'rxjs';
3
3
  import { BaseTooltip, TooltipTrigger, TooltipType } from '../tooltip';
4
+ import { simplifyStringToTestId } from '../utils';
4
5
  import { DropdownActiveDirective } from './dropdown-active.directive';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/cdk/overlay";
@@ -15,6 +16,10 @@ export class DropdownDirective extends BaseTooltip {
15
16
  this.position = 'bottom end';
16
17
  this.trigger = TooltipTrigger.Click;
17
18
  }
19
+ get testId() {
20
+ return ('AUI-DROPDOWN/' +
21
+ simplifyStringToTestId(this.elRef.nativeElement.textContent));
22
+ }
18
23
  get menu() {
19
24
  return this._menu;
20
25
  }
@@ -40,7 +45,7 @@ export class DropdownDirective extends BaseTooltip {
40
45
  }
41
46
  }
42
47
  DropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DropdownDirective, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
43
- DropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DropdownDirective, selector: "[auiDropdown]", inputs: { class: ["auiDropdownClass", "class"], disabled: ["auiDropdownDisabled", "disabled"], position: ["auiDropdownPosition", "position"], trigger: ["auiDropdownTrigger", "trigger"], menu: ["auiDropdown", "menu"], lazyContentContext: ["auiDropdownContext", "lazyContentContext"], hideOnClick: ["auiDropdownHideOnClick", "hideOnClick"] }, outputs: { show: "auiDropdownShow", hide: "auiDropdownHide" }, providers: [
48
+ DropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DropdownDirective, selector: "[auiDropdown]", inputs: { class: ["auiDropdownClass", "class"], disabled: ["auiDropdownDisabled", "disabled"], position: ["auiDropdownPosition", "position"], trigger: ["auiDropdownTrigger", "trigger"], menu: ["auiDropdown", "menu"], lazyContentContext: ["auiDropdownContext", "lazyContentContext"], hideOnClick: ["auiDropdownHideOnClick", "hideOnClick"] }, outputs: { show: "auiDropdownShow", hide: "auiDropdownHide" }, host: { properties: { "attr.data-test": "this.testId" } }, providers: [
44
49
  {
45
50
  provide: BaseTooltip,
46
51
  useExisting: DropdownDirective,
@@ -64,7 +69,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
64
69
  },
65
70
  ],
66
71
  }]
67
- }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { menu: [{
72
+ }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { testId: [{
73
+ type: HostBinding,
74
+ args: ['attr.data-test']
75
+ }], menu: [{
68
76
  type: Input,
69
77
  args: ['auiDropdown']
70
78
  }], lazyContentContext: [{
@@ -80,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
80
88
  type: Output,
81
89
  args: ['auiDropdownHide']
82
90
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXRFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFtQnRFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxXQUFXO0lBNEJoRCxZQUNFLE9BQWdCLEVBQ2hCLGdCQUFrQyxFQUNsQyxLQUFpQixFQUNqQixRQUFtQixFQUNuQixHQUFzQixFQUN0QixNQUFjO1FBRWQsS0FBSyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQWxCeEQsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFHbkIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHaEMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFhdkMsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDNUUsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQztJQUN0QyxDQUFDO0lBeENELElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsS0FBSztRQUNaLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDeEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQ2hDLENBQUM7SUErQkQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDN0MsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDdkI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN2QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNoQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OEdBeERVLGlCQUFpQjtrR0FBakIsaUJBQWlCLDRiQVBqQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLFdBQVc7WUFDcEIsV0FBVyxFQUFFLGlCQUFpQjtTQUMvQjtLQUNGOzJGQUVVLGlCQUFpQjtrQkFoQjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxhQUFhO29CQUN2QixNQUFNLEVBQUU7d0JBQ04sd0JBQXdCO3dCQUN4Qiw4QkFBOEI7d0JBQzlCLDhCQUE4Qjt3QkFDOUIsNEJBQTRCO3FCQUM3QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLFdBQVc7NEJBQ3BCLFdBQVcsbUJBQW1CO3lCQUMvQjtxQkFDRjtpQkFDRjttT0FHSyxJQUFJO3NCQURQLEtBQUs7dUJBQUMsYUFBYTtnQkFjcEIsa0JBQWtCO3NCQURqQixLQUFLO3VCQUFDLG9CQUFvQjtnQkFJbEIsV0FBVztzQkFEbkIsS0FBSzt1QkFBQyx3QkFBd0I7Z0JBSXRCLElBQUk7c0JBRFosTUFBTTt1QkFBQyxpQkFBaUI7Z0JBSWhCLElBQUk7c0JBRFosTUFBTTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCYXNlVG9vbHRpcCwgVG9vbHRpcFRyaWdnZXIsIFRvb2x0aXBUeXBlIH0gZnJvbSAnLi4vdG9vbHRpcCc7XG5cbmltcG9ydCB7IERyb3Bkb3duQWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi1hY3RpdmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUvbWVudS5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpRHJvcGRvd25dJyxcbiAgZXhwb3J0QXM6ICdhdWlEcm9wZG93bicsXG4gIGlucHV0czogW1xuICAgICdjbGFzczphdWlEcm9wZG93bkNsYXNzJyxcbiAgICAnZGlzYWJsZWQ6YXVpRHJvcGRvd25EaXNhYmxlZCcsXG4gICAgJ3Bvc2l0aW9uOmF1aURyb3Bkb3duUG9zaXRpb24nLFxuICAgICd0cmlnZ2VyOmF1aURyb3Bkb3duVHJpZ2dlcicsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEJhc2VUb29sdGlwLFxuICAgICAgdXNlRXhpc3Rpbmc6IERyb3Bkb3duRGlyZWN0aXZlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duRGlyZWN0aXZlIGV4dGVuZHMgQmFzZVRvb2x0aXAgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ2F1aURyb3Bkb3duJylcbiAgZ2V0IG1lbnUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21lbnU7XG4gIH1cblxuICBzZXQgbWVudSh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fbWVudSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9tZW51ID0gdmFsdWU7XG4gICAgdGhpcy5jb250ZW50ID0gdmFsdWUudGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoJ2F1aURyb3Bkb3duQ29udGV4dCcpXG4gIGxhenlDb250ZW50Q29udGV4dDogYW55O1xuXG4gIEBJbnB1dCgnYXVpRHJvcGRvd25IaWRlT25DbGljaycpXG4gIG92ZXJyaWRlIGhpZGVPbkNsaWNrID0gdHJ1ZTtcblxuICBAT3V0cHV0KCdhdWlEcm9wZG93blNob3cnKVxuICBvdmVycmlkZSBzaG93ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoJ2F1aURyb3Bkb3duSGlkZScpXG4gIG92ZXJyaWRlIGhpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfbWVudTogTWVudUNvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBvdmVybGF5OiBPdmVybGF5LFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIG5nWm9uZTogTmdab25lLFxuICApIHtcbiAgICBzdXBlcihvdmVybGF5LCB2aWV3Q29udGFpbmVyUmVmLCBlbFJlZiwgcmVuZGVyZXIsIGNkciwgbmdab25lKTtcbiAgICBuZXcgRHJvcGRvd25BY3RpdmVEaXJlY3RpdmUodGhpcywgZWxSZWYsIHJlbmRlcmVyKS5jdXN0b21DbGFzcyA9ICdpc0FjdGl2ZSc7XG4gICAgdGhpcy50eXBlID0gVG9vbHRpcFR5cGUuUGxhaW47XG4gICAgdGhpcy5wb3NpdGlvbiA9ICdib3R0b20gZW5kJztcbiAgICB0aGlzLnRyaWdnZXIgPSBUb29sdGlwVHJpZ2dlci5DbGljaztcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2hvdy5waXBlKGRlYm91bmNlVGltZSgwKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLm1lbnUubGF6eUNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5tZW51LmxhenlDb250ZW50LmF0dGFjaCh0aGlzLmxhenlDb250ZW50Q29udGV4dCk7XG4gICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuaGlkZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMubWVudS5sYXp5Q29udGVudCkge1xuICAgICAgICB0aGlzLm1lbnUubGF6eUNvbnRlbnQuZGV0YWNoKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQW1CdEUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQVc7SUFvQ2hELFlBQ0UsT0FBZ0IsRUFDaEIsZ0JBQWtDLEVBQ2xDLEtBQWlCLEVBQ2pCLFFBQW1CLEVBQ25CLEdBQXNCLEVBQ3RCLE1BQWM7UUFFZCxLQUFLLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBbEJ4RCxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUduQixTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdoQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQWF2QyxJQUFJLHVCQUF1QixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM1RSxJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ3RDLENBQUM7SUFoREQsSUFDSSxNQUFNO1FBQ1IsT0FBTyxDQUNMLGVBQWU7WUFDZixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FDN0QsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLEtBQUs7UUFDWixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3hCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBK0JELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzdDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDaEM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhHQWhFVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix1ZkFQakI7UUFDVDtZQUNFLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFdBQVcsRUFBRSxpQkFBaUI7U0FDL0I7S0FDRjsyRkFFVSxpQkFBaUI7a0JBaEI3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsYUFBYTtvQkFDdkIsTUFBTSxFQUFFO3dCQUNOLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3dCQUM5Qiw4QkFBOEI7d0JBQzlCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxXQUFXOzRCQUNwQixXQUFXLG1CQUFtQjt5QkFDL0I7cUJBQ0Y7aUJBQ0Y7bU9BR0ssTUFBTTtzQkFEVCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFTekIsSUFBSTtzQkFEUCxLQUFLO3VCQUFDLGFBQWE7Z0JBY3BCLGtCQUFrQjtzQkFEakIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBSWxCLFdBQVc7c0JBRG5CLEtBQUs7dUJBQUMsd0JBQXdCO2dCQUl0QixJQUFJO3NCQURaLE1BQU07dUJBQUMsaUJBQWlCO2dCQUloQixJQUFJO3NCQURaLE1BQU07dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEJhc2VUb29sdGlwLCBUb29sdGlwVHJpZ2dlciwgVG9vbHRpcFR5cGUgfSBmcm9tICcuLi90b29sdGlwJztcbmltcG9ydCB7IHNpbXBsaWZ5U3RyaW5nVG9UZXN0SWQgfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7IERyb3Bkb3duQWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi1hY3RpdmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUvbWVudS5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpRHJvcGRvd25dJyxcbiAgZXhwb3J0QXM6ICdhdWlEcm9wZG93bicsXG4gIGlucHV0czogW1xuICAgICdjbGFzczphdWlEcm9wZG93bkNsYXNzJyxcbiAgICAnZGlzYWJsZWQ6YXVpRHJvcGRvd25EaXNhYmxlZCcsXG4gICAgJ3Bvc2l0aW9uOmF1aURyb3Bkb3duUG9zaXRpb24nLFxuICAgICd0cmlnZ2VyOmF1aURyb3Bkb3duVHJpZ2dlcicsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEJhc2VUb29sdGlwLFxuICAgICAgdXNlRXhpc3Rpbmc6IERyb3Bkb3duRGlyZWN0aXZlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duRGlyZWN0aXZlIGV4dGVuZHMgQmFzZVRvb2x0aXAgaW1wbGVtZW50cyBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10ZXN0JylcbiAgZ2V0IHRlc3RJZCgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgJ0FVSS1EUk9QRE9XTi8nICtcbiAgICAgIHNpbXBsaWZ5U3RyaW5nVG9UZXN0SWQodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50KVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoJ2F1aURyb3Bkb3duJylcbiAgZ2V0IG1lbnUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21lbnU7XG4gIH1cblxuICBzZXQgbWVudSh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fbWVudSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9tZW51ID0gdmFsdWU7XG4gICAgdGhpcy5jb250ZW50ID0gdmFsdWUudGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoJ2F1aURyb3Bkb3duQ29udGV4dCcpXG4gIGxhenlDb250ZW50Q29udGV4dDogYW55O1xuXG4gIEBJbnB1dCgnYXVpRHJvcGRvd25IaWRlT25DbGljaycpXG4gIG92ZXJyaWRlIGhpZGVPbkNsaWNrID0gdHJ1ZTtcblxuICBAT3V0cHV0KCdhdWlEcm9wZG93blNob3cnKVxuICBvdmVycmlkZSBzaG93ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoJ2F1aURyb3Bkb3duSGlkZScpXG4gIG92ZXJyaWRlIGhpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfbWVudTogTWVudUNvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBvdmVybGF5OiBPdmVybGF5LFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIG5nWm9uZTogTmdab25lLFxuICApIHtcbiAgICBzdXBlcihvdmVybGF5LCB2aWV3Q29udGFpbmVyUmVmLCBlbFJlZiwgcmVuZGVyZXIsIGNkciwgbmdab25lKTtcbiAgICBuZXcgRHJvcGRvd25BY3RpdmVEaXJlY3RpdmUodGhpcywgZWxSZWYsIHJlbmRlcmVyKS5jdXN0b21DbGFzcyA9ICdpc0FjdGl2ZSc7XG4gICAgdGhpcy50eXBlID0gVG9vbHRpcFR5cGUuUGxhaW47XG4gICAgdGhpcy5wb3NpdGlvbiA9ICdib3R0b20gZW5kJztcbiAgICB0aGlzLnRyaWdnZXIgPSBUb29sdGlwVHJpZ2dlci5DbGljaztcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2hvdy5waXBlKGRlYm91bmNlVGltZSgwKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLm1lbnUubGF6eUNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5tZW51LmxhenlDb250ZW50LmF0dGFjaCh0aGlzLmxhenlDb250ZW50Q29udGV4dCk7XG4gICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuaGlkZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMubWVudS5sYXp5Q29udGVudCkge1xuICAgICAgICB0aGlzLm1lbnUubGF6eUNvbnRlbnQuZGV0YWNoKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Directive, EventEmitter, Input, Output, } from '@angular/core';
1
+ import { Directive, EventEmitter, HostBinding, Input, Output, } from '@angular/core';
2
2
  import { ReplaySubject } from 'rxjs';
3
3
  import { coerceAttrBoolean } from '../utils';
4
4
  import * as i0 from "@angular/core";
@@ -7,8 +7,9 @@ import * as i0 from "@angular/core";
7
7
  * 也可以分别传入 value 和 监听 valueChange 事件以实现阻断用户操作的功能。
8
8
  */
9
9
  export class CommonFormControl {
10
- constructor(cdr) {
10
+ constructor(cdr, elementRef) {
11
11
  this.cdr = cdr;
12
+ this.elementRef = elementRef;
12
13
  this.valueChange = new EventEmitter();
13
14
  this._disabled = false;
14
15
  this.model = null;
@@ -24,6 +25,11 @@ export class CommonFormControl {
24
25
  set disabled(val) {
25
26
  this._disabled = coerceAttrBoolean(val);
26
27
  }
28
+ get testId() {
29
+ return ('AUI-FORM-CONTROL/' +
30
+ (this.elementRef.nativeElement.getAttribute('formControlName') ||
31
+ this.elementRef.nativeElement.getAttribute('name')));
32
+ }
27
33
  get readonly() {
28
34
  return this.disabled;
29
35
  }
@@ -70,12 +76,15 @@ export class CommonFormControl {
70
76
  return model;
71
77
  }
72
78
  }
73
- CommonFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: CommonFormControl, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
74
- CommonFormControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: CommonFormControl, inputs: { disabled: "disabled", readonly: "readonly", propValue: ["value", "propValue"] }, outputs: { valueChange: "valueChange" }, ngImport: i0 });
79
+ CommonFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: CommonFormControl, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
80
+ CommonFormControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: CommonFormControl, inputs: { disabled: "disabled", readonly: "readonly", propValue: ["value", "propValue"] }, outputs: { valueChange: "valueChange" }, host: { properties: { "attr.data-test": "this.testId" } }, ngImport: i0 });
75
81
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: CommonFormControl, decorators: [{
76
82
  type: Directive
77
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
83
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { disabled: [{
78
84
  type: Input
85
+ }], testId: [{
86
+ type: HostBinding,
87
+ args: ['attr.data-test']
79
88
  }], readonly: [{
80
89
  type: Input
81
90
  }], propValue: [{
@@ -88,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
88
97
  * @deprecated use {@link CommonFormControl} instead
89
98
  */
90
99
  export const CommonForm = CommonFormControl;
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZm9ybS9jb21tb24tZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUU3Qzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8saUJBQWlCO0lBMkM1QixZQUFzQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVY1QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7UUFLNUIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUxQixVQUFLLEdBQU0sSUFBSSxDQUFDO1FBQ2hCLFdBQU0sR0FBRyxJQUFJLGFBQWEsQ0FBSSxDQUFDLENBQUMsQ0FBQztRQUcvQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQS9DRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQWlCO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsR0FBRztRQUNkLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUNJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLEdBQUc7UUFDZixJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQW9CRCxnQkFBZ0IsQ0FBQyxFQUFrQjtRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVE7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBUTtRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVE7UUFDaEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFUyxPQUFPLENBQUMsS0FBUTtRQUN4QixPQUFPLEtBQVksQ0FBQztJQUN0QixDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQVE7UUFDekIsT0FBTyxLQUFZLENBQUM7SUFDdEIsQ0FBQzs7OEdBckZVLGlCQUFpQjtrR0FBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBRDdCLFNBQVM7d0dBR0osUUFBUTtzQkFEWCxLQUFLO2dCQVVGLFFBQVE7c0JBRFgsS0FBSztnQkFVRixTQUFTO3NCQURaLEtBQUs7dUJBQUMsT0FBTztnQkFjZCxXQUFXO3NCQURWLE1BQU07O0FBd0RUOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBjb2VyY2VBdHRyQm9vbGVhbiB9IGZyb20gJy4uL3V0aWxzJztcblxuLyoqXG4gKiBmb3JtIGNvbnRyb2wg5YaF6YOo5LiN5L+d5oyBIHZhbHVlIOWxnuaAp++8jOW9k+S4jeS9v+eUqCBuZ01vZGVsIOaXtuWPr+S7pemAmui/hyBbKHZhbHVlKV0g5a6e546w5Y+M5ZCR57uR5a6a77ybXG4gKiDkuZ/lj6/ku6XliIbliKvkvKDlhaUgdmFsdWUg5ZKMIOebkeWQrCB2YWx1ZUNoYW5nZSDkuovku7bku6Xlrp7njrDpmLvmlq3nlKjmiLfmk43kvZznmoTlip/og73jgIJcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgQ29tbW9uRm9ybUNvbnRyb2w8ViwgTSA9IFY+IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgc2V0IGRpc2FibGVkKHZhbDogYm9vbGVhbiB8ICcnKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VBdHRyQm9vbGVhbih2YWwpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHJlYWRvbmx5KCkge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgc2V0IHJlYWRvbmx5KHZhbCkge1xuICAgIHRoaXMuZGlzYWJsZWQgPSB2YWw7XG4gIH1cblxuICBASW5wdXQoJ3ZhbHVlJylcbiAgZ2V0IHByb3BWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcHJvcFZhbHVlO1xuICB9XG5cbiAgc2V0IHByb3BWYWx1ZSh2YWwpIHtcbiAgICBpZiAodmFsID09PSB0aGlzLl9wcm9wVmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fcHJvcFZhbHVlID0gdmFsO1xuICAgIHRoaXMud3JpdGVWYWx1ZSh2YWwpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxWPigpO1xuXG4gIHByb3RlY3RlZCBvbkNoYW5nZTogKF86IFYpID0+IHZvaWQ7XG4gIHByb3RlY3RlZCBvblRvdWNoZWQ6ICgpID0+IHZvaWQ7XG4gIHByaXZhdGUgX3Byb3BWYWx1ZTogVjtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBtb2RlbDogTSA9IG51bGw7XG4gIG1vZGVsJCA9IG5ldyBSZXBsYXlTdWJqZWN0PE0+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5tb2RlbCQuc3Vic2NyaWJlKG1vZGVsID0+IHtcbiAgICAgIHRoaXMubW9kZWwgPSBtb2RlbDtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IFYpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IFYpIHtcbiAgICB0aGlzLm1vZGVsJC5uZXh0KHRoaXMudmFsdWVJbih2YWx1ZSkpO1xuICB9XG5cbiAgZW1pdE1vZGVsKG1vZGVsOiBNKSB7XG4gICAgdGhpcy5lbWl0VmFsdWUodGhpcy5tb2RlbE91dChtb2RlbCkpO1xuICB9XG5cbiAgZW1pdFZhbHVlKHZhbHVlOiBWKSB7XG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB2YWx1ZUluKHZhbHVlOiBWKTogTSB7XG4gICAgcmV0dXJuIHZhbHVlIGFzIGFueTtcbiAgfVxuXG4gIHByb3RlY3RlZCBtb2RlbE91dChtb2RlbDogTSk6IFYge1xuICAgIHJldHVybiBtb2RlbCBhcyBhbnk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIENvbW1vbkZvcm1Db250cm9sfSBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBDb21tb25Gb3JtID0gQ29tbW9uRm9ybUNvbnRyb2w7XG4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZm9ybS9jb21tb24tZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFFN0M7OztHQUdHO0FBRUgsTUFBTSxPQUFPLGlCQUFpQjtJQW9ENUIsWUFDWSxHQUFzQixFQUNmLFVBQW1DO1FBRDFDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFadEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBSyxDQUFDO1FBSzVCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFMUIsVUFBSyxHQUFNLElBQUksQ0FBQztRQUNoQixXQUFNLEdBQUcsSUFBSSxhQUFhLENBQUksQ0FBQyxDQUFDLENBQUM7UUFNL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUEzREQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxHQUFpQjtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUNJLE1BQU07UUFDUixPQUFPLENBQ0wsbUJBQW1CO1lBQ25CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDO2dCQUM1RCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDdEQsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQUc7UUFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxHQUFHO1FBQ2YsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMzQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUF1QkQsZ0JBQWdCLENBQUMsRUFBa0I7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFRO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVE7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFRO1FBQ2hCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRVMsT0FBTyxDQUFDLEtBQVE7UUFDeEIsT0FBTyxLQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVTLFFBQVEsQ0FBQyxLQUFRO1FBQ3pCLE9BQU8sS0FBWSxDQUFDO0lBQ3RCLENBQUM7OzhHQWpHVSxpQkFBaUI7a0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixTQUFTO2lJQUdKLFFBQVE7c0JBRFgsS0FBSztnQkFVRixNQUFNO3NCQURULFdBQVc7dUJBQUMsZ0JBQWdCO2dCQVV6QixRQUFRO3NCQURYLEtBQUs7Z0JBVUYsU0FBUztzQkFEWixLQUFLO3VCQUFDLE9BQU87Z0JBY2QsV0FBVztzQkFEVixNQUFNOztBQTJEVDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGNvZXJjZUF0dHJCb29sZWFuIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vKipcbiAqIGZvcm0gY29udHJvbCDlhoXpg6jkuI3kv53mjIEgdmFsdWUg5bGe5oCn77yM5b2T5LiN5L2/55SoIG5nTW9kZWwg5pe25Y+v5Lul6YCa6L+HIFsodmFsdWUpXSDlrp7njrDlj4zlkJHnu5HlrprvvJtcbiAqIOS5n+WPr+S7peWIhuWIq+S8oOWFpSB2YWx1ZSDlkowg55uR5ZCsIHZhbHVlQ2hhbmdlIOS6i+S7tuS7peWunueOsOmYu+aWreeUqOaIt+aTjeS9nOeahOWKn+iDveOAglxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBDb21tb25Gb3JtQ29udHJvbDxWLCBNID0gVj4gaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBzZXQgZGlzYWJsZWQodmFsOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10ZXN0JylcbiAgZ2V0IHRlc3RJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAoXG4gICAgICAnQVVJLUZPUk0tQ09OVFJPTC8nICtcbiAgICAgICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2Zvcm1Db250cm9sTmFtZScpIHx8XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnbmFtZScpKVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgcmVhZG9ubHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuICBzZXQgcmVhZG9ubHkodmFsKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IHZhbDtcbiAgfVxuXG4gIEBJbnB1dCgndmFsdWUnKVxuICBnZXQgcHJvcFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl9wcm9wVmFsdWU7XG4gIH1cblxuICBzZXQgcHJvcFZhbHVlKHZhbCkge1xuICAgIGlmICh2YWwgPT09IHRoaXMuX3Byb3BWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9wcm9wVmFsdWUgPSB2YWw7XG4gICAgdGhpcy53cml0ZVZhbHVlKHZhbCk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFY+KCk7XG5cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlOiAoXzogVikgPT4gdm9pZDtcbiAgcHJvdGVjdGVkIG9uVG91Y2hlZDogKCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBfcHJvcFZhbHVlOiBWO1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIG1vZGVsOiBNID0gbnVsbDtcbiAgbW9kZWwkID0gbmV3IFJlcGxheVN1YmplY3Q8TT4oMSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgKSB7XG4gICAgdGhpcy5tb2RlbCQuc3Vic2NyaWJlKG1vZGVsID0+IHtcbiAgICAgIHRoaXMubW9kZWwgPSBtb2RlbDtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IFYpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IFYpIHtcbiAgICB0aGlzLm1vZGVsJC5uZXh0KHRoaXMudmFsdWVJbih2YWx1ZSkpO1xuICB9XG5cbiAgZW1pdE1vZGVsKG1vZGVsOiBNKSB7XG4gICAgdGhpcy5lbWl0VmFsdWUodGhpcy5tb2RlbE91dChtb2RlbCkpO1xuICB9XG5cbiAgZW1pdFZhbHVlKHZhbHVlOiBWKSB7XG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB2YWx1ZUluKHZhbHVlOiBWKTogTSB7XG4gICAgcmV0dXJuIHZhbHVlIGFzIGFueTtcbiAgfVxuXG4gIHByb3RlY3RlZCBtb2RlbE91dChtb2RlbDogTSk6IFYge1xuICAgIHJldHVybiBtb2RlbCBhcyBhbnk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIENvbW1vbkZvcm1Db250cm9sfSBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBDb21tb25Gb3JtID0gQ29tbW9uRm9ybUNvbnRyb2w7XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, } from '@angular/core';
2
2
  import { buildBem, handlePixel } from '../utils';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "./icon-register.service";
@@ -39,11 +39,14 @@ export class IconComponent {
39
39
  }
40
40
  }
41
41
  IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: IconComponent, deps: [{ token: i1.IconRegisterService }], target: i0.ɵɵFactoryTarget.Component });
42
- IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: IconComponent, selector: "aui-icon", inputs: { icon: "icon", light: "light", dark: "dark", link: "link", margin: "margin", size: "size", color: "color", background: "background", backgroundColor: "backgroundColor" }, ngImport: i0, template: "<svg\n *ngIf=\"icon === 'spinner'; else icons\"\n [attr.class]=\"getClass('aui-icon-spinner')\"\n [style.fill]=\"color\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n viewBox=\"0 0 200 200\"\n>\n <defs>\n <linearGradient\n [attr.id]=\"'right-' + id\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"150\"\n y1=\"20\"\n x2=\"150\"\n y2=\"180\"\n >\n <stop\n offset=\"0\"\n style=\"stop-color: #000\"\n />\n <stop\n offset=\"1\"\n style=\"stop-color: #808080\"\n />\n </linearGradient>\n <linearGradient\n [attr.id]=\"'left-' + id\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"50\"\n y1=\"0\"\n x2=\"50\"\n y2=\"180\"\n >\n <stop\n offset=\"0\"\n style=\"stop-color: #fff\"\n />\n <stop\n offset=\"1\"\n style=\"stop-color: #808080\"\n />\n </linearGradient>\n <mask [attr.id]=\"'mask-' + id\">\n <g>\n <path\n [attr.fill]=\"'url(#right-' + id + ')'\"\n d=\"M100,0v20c44.1,0,80,35.9,80,80c0,44.1-35.9,80-80,80v20c55.2,0,100-44.8,100-100S155.2,0,100,0z\"\n />\n <path\n [attr.fill]=\"'url(#left-' + id + ')'\"\n d=\"M20,100c0-44.1,35.9-80,80-80V0C44.8,0,0,44.8,0,100s44.8,100,100,100v-20C55.9,180,20,144.1,20,100z\"\n />\n </g>\n </mask>\n </defs>\n <rect\n x=\"0\"\n y=\"0\"\n width=\"200\"\n height=\"200\"\n [attr.mask]=\"'url(#mask-' + id + ')'\"\n />\n</svg>\n\n<ng-template #icons>\n <svg\n *ngIf=\"getIconId(icon ? icon : ([light, dark] | auiThemePicker)) as iconId\"\n [ngClass]=\"getClass(iconId)\"\n [style.fill]=\"color\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n >\n <rect\n *ngIf=\"background\"\n class=\"aui-icon__background\"\n [ngClass]=\"background\"\n [attr.fill]=\"backgroundColor\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n x=\"0\"\n y=\"0\"\n ></rect>\n <use [attr.xlink:href]=\"link + '#' + iconId\"></use>\n </svg>\n</ng-template>\n", styles: ["aui-icon{vertical-align:bottom}.aui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;fill:currentcolor}.aui-icon__background{width:1em;height:1em;fill:#fff}.aui-icon__background.circle{clip-path:circle(45%)}.aui-icon__background.triangle{clip-path:polygon(50% 10%,90% 90%,10% 90%)}.aui-icon--left{margin-left:var(--aui-spacing-s)}.aui-icon--right{margin-right:var(--aui-spacing-s)}.aui-icon-spinner{animation:rotating .5s linear infinite}aui-icon+aui-icon>.aui-icon{margin-left:var(--aui-spacing-s)}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "auiThemePicker": i3.ThemePickerPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
42
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: IconComponent, selector: "aui-icon", inputs: { icon: "icon", light: "light", dark: "dark", link: "link", margin: "margin", size: "size", color: "color", background: "background", backgroundColor: "backgroundColor" }, host: { properties: { "attr.data-test": "this.icon" } }, ngImport: i0, template: "<svg\n *ngIf=\"icon === 'spinner'; else icons\"\n [attr.class]=\"getClass('aui-icon-spinner')\"\n [style.fill]=\"color\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n viewBox=\"0 0 200 200\"\n>\n <defs>\n <linearGradient\n [attr.id]=\"'right-' + id\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"150\"\n y1=\"20\"\n x2=\"150\"\n y2=\"180\"\n >\n <stop\n offset=\"0\"\n style=\"stop-color: #000\"\n />\n <stop\n offset=\"1\"\n style=\"stop-color: #808080\"\n />\n </linearGradient>\n <linearGradient\n [attr.id]=\"'left-' + id\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"50\"\n y1=\"0\"\n x2=\"50\"\n y2=\"180\"\n >\n <stop\n offset=\"0\"\n style=\"stop-color: #fff\"\n />\n <stop\n offset=\"1\"\n style=\"stop-color: #808080\"\n />\n </linearGradient>\n <mask [attr.id]=\"'mask-' + id\">\n <g>\n <path\n [attr.fill]=\"'url(#right-' + id + ')'\"\n d=\"M100,0v20c44.1,0,80,35.9,80,80c0,44.1-35.9,80-80,80v20c55.2,0,100-44.8,100-100S155.2,0,100,0z\"\n />\n <path\n [attr.fill]=\"'url(#left-' + id + ')'\"\n d=\"M20,100c0-44.1,35.9-80,80-80V0C44.8,0,0,44.8,0,100s44.8,100,100,100v-20C55.9,180,20,144.1,20,100z\"\n />\n </g>\n </mask>\n </defs>\n <rect\n x=\"0\"\n y=\"0\"\n width=\"200\"\n height=\"200\"\n [attr.mask]=\"'url(#mask-' + id + ')'\"\n />\n</svg>\n\n<ng-template #icons>\n <svg\n *ngIf=\"getIconId(icon ? icon : ([light, dark] | auiThemePicker)) as iconId\"\n [ngClass]=\"getClass(iconId)\"\n [style.fill]=\"color\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n >\n <rect\n *ngIf=\"background\"\n class=\"aui-icon__background\"\n [ngClass]=\"background\"\n [attr.fill]=\"backgroundColor\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n x=\"0\"\n y=\"0\"\n ></rect>\n <use [attr.xlink:href]=\"link + '#' + iconId\"></use>\n </svg>\n</ng-template>\n", styles: ["aui-icon{vertical-align:bottom}.aui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;fill:currentcolor}.aui-icon__background{width:1em;height:1em;fill:#fff}.aui-icon__background.circle{clip-path:circle(45%)}.aui-icon__background.triangle{clip-path:polygon(50% 10%,90% 90%,10% 90%)}.aui-icon--left{margin-left:var(--aui-spacing-s)}.aui-icon--right{margin-right:var(--aui-spacing-s)}.aui-icon-spinner{animation:rotating .5s linear infinite}aui-icon+aui-icon>.aui-icon{margin-left:var(--aui-spacing-s)}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "auiThemePicker": i3.ThemePickerPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: IconComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{ selector: 'aui-icon', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, template: "<svg\n *ngIf=\"icon === 'spinner'; else icons\"\n [attr.class]=\"getClass('aui-icon-spinner')\"\n [style.fill]=\"color\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n viewBox=\"0 0 200 200\"\n>\n <defs>\n <linearGradient\n [attr.id]=\"'right-' + id\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"150\"\n y1=\"20\"\n x2=\"150\"\n y2=\"180\"\n >\n <stop\n offset=\"0\"\n style=\"stop-color: #000\"\n />\n <stop\n offset=\"1\"\n style=\"stop-color: #808080\"\n />\n </linearGradient>\n <linearGradient\n [attr.id]=\"'left-' + id\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"50\"\n y1=\"0\"\n x2=\"50\"\n y2=\"180\"\n >\n <stop\n offset=\"0\"\n style=\"stop-color: #fff\"\n />\n <stop\n offset=\"1\"\n style=\"stop-color: #808080\"\n />\n </linearGradient>\n <mask [attr.id]=\"'mask-' + id\">\n <g>\n <path\n [attr.fill]=\"'url(#right-' + id + ')'\"\n d=\"M100,0v20c44.1,0,80,35.9,80,80c0,44.1-35.9,80-80,80v20c55.2,0,100-44.8,100-100S155.2,0,100,0z\"\n />\n <path\n [attr.fill]=\"'url(#left-' + id + ')'\"\n d=\"M20,100c0-44.1,35.9-80,80-80V0C44.8,0,0,44.8,0,100s44.8,100,100,100v-20C55.9,180,20,144.1,20,100z\"\n />\n </g>\n </mask>\n </defs>\n <rect\n x=\"0\"\n y=\"0\"\n width=\"200\"\n height=\"200\"\n [attr.mask]=\"'url(#mask-' + id + ')'\"\n />\n</svg>\n\n<ng-template #icons>\n <svg\n *ngIf=\"getIconId(icon ? icon : ([light, dark] | auiThemePicker)) as iconId\"\n [ngClass]=\"getClass(iconId)\"\n [style.fill]=\"color\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n >\n <rect\n *ngIf=\"background\"\n class=\"aui-icon__background\"\n [ngClass]=\"background\"\n [attr.fill]=\"backgroundColor\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n x=\"0\"\n y=\"0\"\n ></rect>\n <use [attr.xlink:href]=\"link + '#' + iconId\"></use>\n </svg>\n</ng-template>\n", styles: ["aui-icon{vertical-align:bottom}.aui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;fill:currentcolor}.aui-icon__background{width:1em;height:1em;fill:#fff}.aui-icon__background.circle{clip-path:circle(45%)}.aui-icon__background.triangle{clip-path:polygon(50% 10%,90% 90%,10% 90%)}.aui-icon--left{margin-left:var(--aui-spacing-s)}.aui-icon--right{margin-right:var(--aui-spacing-s)}.aui-icon-spinner{animation:rotating .5s linear infinite}aui-icon+aui-icon>.aui-icon{margin-left:var(--aui-spacing-s)}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
46
46
  }], ctorParameters: function () { return [{ type: i1.IconRegisterService }]; }, propDecorators: { icon: [{
47
+ type: HostBinding,
48
+ args: ['attr.data-test']
49
+ }, {
47
50
  type: Input
48
51
  }], light: [{
49
52
  type: Input
@@ -62,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
62
65
  }], backgroundColor: [{
63
66
  type: Input
64
67
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQU8sUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFJdEQsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBVVgsTUFBTSxPQUFPLGFBQWE7SUFnQ3hCLFlBQTZCLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBckJyRSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBaUJWLFFBQUcsR0FBUSxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEMsT0FBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO0lBRThELENBQUM7SUFFakUsU0FBUyxDQUFDLElBQVk7UUFDNUIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDdEUsTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWTtRQUNwQixNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQVU7UUFDakIsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUNoRCxDQUFDOzswR0E5RFUsYUFBYTs4RkFBYixhQUFhLG9PQ3JCMUIsZ25FQXNGQTsyRkRqRWEsYUFBYTtrQkFSekIsU0FBUzsrQkFDRSxVQUFVLGlCQUdMLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLEtBQUs7MEdBSTFCLElBQUk7c0JBREgsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVtLCBidWlsZEJlbSwgaGFuZGxlUGl4ZWwgfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7IEljb25SZWdpc3RlclNlcnZpY2UgfSBmcm9tICcuL2ljb24tcmVnaXN0ZXIuc2VydmljZSc7XG5cbmxldCBpZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGljb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsaWdodDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGRhcms6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsaW5rID0gJyc7XG5cbiAgQElucHV0KClcbiAgbWFyZ2luOiAnbGVmdCcgfCAncmlnaHQnO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBjb2xvcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGJhY2tncm91bmQ6ICdjaXJjbGUnIHwgJ3RyaWFuZ2xlJztcblxuICBASW5wdXQoKVxuICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcblxuICBiZW06IEJlbSA9IGJ1aWxkQmVtKCdhdWktaWNvbicpO1xuXG4gIGlkID0gaWQrKztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGljb25SZWdpc3RlclNlcnZpY2U6IEljb25SZWdpc3RlclNlcnZpY2UpIHt9XG5cbiAgcHJpdmF0ZSBwYXJzZUljb24oaWNvbjogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSB7XG4gICAgY29uc3QgZGVmYXVsdFByZWZpeCA9IHRoaXMuaWNvblJlZ2lzdGVyU2VydmljZS5nZXREZWZhdWx0SWNvblByZWZpeCgpO1xuICAgIGNvbnN0IGFyciA9IChpY29uIHx8ICcnKS5zcGxpdCgnOicpO1xuICAgIHJldHVybiBhcnIubGVuZ3RoIDwgMiA/IFtkZWZhdWx0UHJlZml4LCBhcnJbMF1dIDogW2FyclswXSwgYXJyWzFdXTtcbiAgfVxuXG4gIGdldFdpZHRoKCkge1xuICAgIGlmICghdGhpcy5zaXplKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBoYW5kbGVQaXhlbCgodGhpcy5zaXplIHx8ICcnKS5zcGxpdCgnLCcpWzBdKTtcbiAgfVxuXG4gIGdldEhlaWdodCgpIHtcbiAgICBpZiAoIXRoaXMuc2l6ZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBhcnIgPSAodGhpcy5zaXplIHx8ICcnKS5zcGxpdCgnLCcpO1xuICAgIHJldHVybiBoYW5kbGVQaXhlbChhcnJbMV0gfHwgYXJyWzBdKTtcbiAgfVxuXG4gIGdldEljb25JZChpY29uOiBzdHJpbmcpIHtcbiAgICBjb25zdCBbcHJlZml4LCBuYW1lXSA9IHRoaXMucGFyc2VJY29uKGljb24pO1xuICAgIHJldHVybiBgJHtwcmVmaXh9LSR7bmFtZX1gO1xuICB9XG5cbiAgZ2V0Q2xhc3MoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBgJHt0aGlzLmJlbS5ibG9jayh0aGlzLm1hcmdpbil9ICR7aWR9YDtcbiAgfVxufVxuIiwiPHN2Z1xuICAqbmdJZj1cImljb24gPT09ICdzcGlubmVyJzsgZWxzZSBpY29uc1wiXG4gIFthdHRyLmNsYXNzXT1cImdldENsYXNzKCdhdWktaWNvbi1zcGlubmVyJylcIlxuICBbc3R5bGUuZmlsbF09XCJjb2xvclwiXG4gIFtzdHlsZS53aWR0aF09XCJnZXRXaWR0aCgpXCJcbiAgW3N0eWxlLmhlaWdodF09XCJnZXRIZWlnaHQoKVwiXG4gIHZpZXdCb3g9XCIwIDAgMjAwIDIwMFwiXG4+XG4gIDxkZWZzPlxuICAgIDxsaW5lYXJHcmFkaWVudFxuICAgICAgW2F0dHIuaWRdPVwiJ3JpZ2h0LScgKyBpZFwiXG4gICAgICBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgeDE9XCIxNTBcIlxuICAgICAgeTE9XCIyMFwiXG4gICAgICB4Mj1cIjE1MFwiXG4gICAgICB5Mj1cIjE4MFwiXG4gICAgPlxuICAgICAgPHN0b3BcbiAgICAgICAgb2Zmc2V0PVwiMFwiXG4gICAgICAgIHN0eWxlPVwic3RvcC1jb2xvcjogIzAwMFwiXG4gICAgICAvPlxuICAgICAgPHN0b3BcbiAgICAgICAgb2Zmc2V0PVwiMVwiXG4gICAgICAgIHN0eWxlPVwic3RvcC1jb2xvcjogIzgwODA4MFwiXG4gICAgICAvPlxuICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgPGxpbmVhckdyYWRpZW50XG4gICAgICBbYXR0ci5pZF09XCInbGVmdC0nICsgaWRcIlxuICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgIHgxPVwiNTBcIlxuICAgICAgeTE9XCIwXCJcbiAgICAgIHgyPVwiNTBcIlxuICAgICAgeTI9XCIxODBcIlxuICAgID5cbiAgICAgIDxzdG9wXG4gICAgICAgIG9mZnNldD1cIjBcIlxuICAgICAgICBzdHlsZT1cInN0b3AtY29sb3I6ICNmZmZcIlxuICAgICAgLz5cbiAgICAgIDxzdG9wXG4gICAgICAgIG9mZnNldD1cIjFcIlxuICAgICAgICBzdHlsZT1cInN0b3AtY29sb3I6ICM4MDgwODBcIlxuICAgICAgLz5cbiAgICA8L2xpbmVhckdyYWRpZW50PlxuICAgIDxtYXNrIFthdHRyLmlkXT1cIidtYXNrLScgKyBpZFwiPlxuICAgICAgPGc+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgW2F0dHIuZmlsbF09XCIndXJsKCNyaWdodC0nICsgaWQgKyAnKSdcIlxuICAgICAgICAgIGQ9XCJNMTAwLDB2MjBjNDQuMSwwLDgwLDM1LjksODAsODBjMCw0NC4xLTM1LjksODAtODAsODB2MjBjNTUuMiwwLDEwMC00NC44LDEwMC0xMDBTMTU1LjIsMCwxMDAsMHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIFthdHRyLmZpbGxdPVwiJ3VybCgjbGVmdC0nICsgaWQgKyAnKSdcIlxuICAgICAgICAgIGQ9XCJNMjAsMTAwYzAtNDQuMSwzNS45LTgwLDgwLTgwVjBDNDQuOCwwLDAsNDQuOCwwLDEwMHM0NC44LDEwMCwxMDAsMTAwdi0yMEM1NS45LDE4MCwyMCwxNDQuMSwyMCwxMDB6XCJcbiAgICAgICAgLz5cbiAgICAgIDwvZz5cbiAgICA8L21hc2s+XG4gIDwvZGVmcz5cbiAgPHJlY3RcbiAgICB4PVwiMFwiXG4gICAgeT1cIjBcIlxuICAgIHdpZHRoPVwiMjAwXCJcbiAgICBoZWlnaHQ9XCIyMDBcIlxuICAgIFthdHRyLm1hc2tdPVwiJ3VybCgjbWFzay0nICsgaWQgKyAnKSdcIlxuICAvPlxuPC9zdmc+XG5cbjxuZy10ZW1wbGF0ZSAjaWNvbnM+XG4gIDxzdmdcbiAgICAqbmdJZj1cImdldEljb25JZChpY29uID8gaWNvbiA6IChbbGlnaHQsIGRhcmtdIHwgYXVpVGhlbWVQaWNrZXIpKSBhcyBpY29uSWRcIlxuICAgIFtuZ0NsYXNzXT1cImdldENsYXNzKGljb25JZClcIlxuICAgIFtzdHlsZS5maWxsXT1cImNvbG9yXCJcbiAgICBbc3R5bGUud2lkdGhdPVwiZ2V0V2lkdGgoKVwiXG4gICAgW3N0eWxlLmhlaWdodF09XCJnZXRIZWlnaHQoKVwiXG4gID5cbiAgICA8cmVjdFxuICAgICAgKm5nSWY9XCJiYWNrZ3JvdW5kXCJcbiAgICAgIGNsYXNzPVwiYXVpLWljb25fX2JhY2tncm91bmRcIlxuICAgICAgW25nQ2xhc3NdPVwiYmFja2dyb3VuZFwiXG4gICAgICBbYXR0ci5maWxsXT1cImJhY2tncm91bmRDb2xvclwiXG4gICAgICBbc3R5bGUud2lkdGhdPVwiZ2V0V2lkdGgoKVwiXG4gICAgICBbc3R5bGUuaGVpZ2h0XT1cImdldEhlaWdodCgpXCJcbiAgICAgIHg9XCIwXCJcbiAgICAgIHk9XCIwXCJcbiAgICA+PC9yZWN0PlxuICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJsaW5rICsgJyMnICsgaWNvbklkXCI+PC91c2U+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFDTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFPLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7O0FBSXRELElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztBQVVYLE1BQU0sT0FBTyxhQUFhO0lBaUN4QixZQUE2QixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXJCckUsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQWlCVixRQUFHLEdBQVEsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWhDLE9BQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUU4RCxDQUFDO0lBRWpFLFNBQVMsQ0FBQyxJQUFZO1FBQzVCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ3RFLE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVk7UUFDcEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLE9BQU8sR0FBRyxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxFQUFVO1FBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7SUFDaEQsQ0FBQzs7MEdBL0RVLGFBQWE7OEZBQWIsYUFBYSw2UkN0QjFCLGduRUFzRkE7MkZEaEVhLGFBQWE7a0JBUnpCLFNBQVM7K0JBQ0UsVUFBVSxpQkFHTCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLHVCQUMxQixLQUFLOzBHQUsxQixJQUFJO3NCQUZILFdBQVc7dUJBQUMsZ0JBQWdCOztzQkFDNUIsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlbSwgYnVpbGRCZW0sIGhhbmRsZVBpeGVsIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBJY29uUmVnaXN0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9pY29uLXJlZ2lzdGVyLnNlcnZpY2UnO1xuXG5sZXQgaWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10ZXN0JylcbiAgQElucHV0KClcbiAgaWNvbjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxpZ2h0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgZGFyazogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxpbmsgPSAnJztcblxuICBASW5wdXQoKVxuICBtYXJnaW46ICdsZWZ0JyB8ICdyaWdodCc7XG5cbiAgQElucHV0KClcbiAgc2l6ZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGNvbG9yOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgYmFja2dyb3VuZDogJ2NpcmNsZScgfCAndHJpYW5nbGUnO1xuXG4gIEBJbnB1dCgpXG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuXG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS1pY29uJyk7XG5cbiAgaWQgPSBpZCsrO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaWNvblJlZ2lzdGVyU2VydmljZTogSWNvblJlZ2lzdGVyU2VydmljZSkge31cblxuICBwcml2YXRlIHBhcnNlSWNvbihpY29uOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmddIHtcbiAgICBjb25zdCBkZWZhdWx0UHJlZml4ID0gdGhpcy5pY29uUmVnaXN0ZXJTZXJ2aWNlLmdldERlZmF1bHRJY29uUHJlZml4KCk7XG4gICAgY29uc3QgYXJyID0gKGljb24gfHwgJycpLnNwbGl0KCc6Jyk7XG4gICAgcmV0dXJuIGFyci5sZW5ndGggPCAyID8gW2RlZmF1bHRQcmVmaXgsIGFyclswXV0gOiBbYXJyWzBdLCBhcnJbMV1dO1xuICB9XG5cbiAgZ2V0V2lkdGgoKSB7XG4gICAgaWYgKCF0aGlzLnNpemUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGhhbmRsZVBpeGVsKCh0aGlzLnNpemUgfHwgJycpLnNwbGl0KCcsJylbMF0pO1xuICB9XG5cbiAgZ2V0SGVpZ2h0KCkge1xuICAgIGlmICghdGhpcy5zaXplKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGFyciA9ICh0aGlzLnNpemUgfHwgJycpLnNwbGl0KCcsJyk7XG4gICAgcmV0dXJuIGhhbmRsZVBpeGVsKGFyclsxXSB8fCBhcnJbMF0pO1xuICB9XG5cbiAgZ2V0SWNvbklkKGljb246IHN0cmluZykge1xuICAgIGNvbnN0IFtwcmVmaXgsIG5hbWVdID0gdGhpcy5wYXJzZUljb24oaWNvbik7XG4gICAgcmV0dXJuIGAke3ByZWZpeH0tJHtuYW1lfWA7XG4gIH1cblxuICBnZXRDbGFzcyhpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuYmVtLmJsb2NrKHRoaXMubWFyZ2luKX0gJHtpZH1gO1xuICB9XG59XG4iLCI8c3ZnXG4gICpuZ0lmPVwiaWNvbiA9PT0gJ3NwaW5uZXInOyBlbHNlIGljb25zXCJcbiAgW2F0dHIuY2xhc3NdPVwiZ2V0Q2xhc3MoJ2F1aS1pY29uLXNwaW5uZXInKVwiXG4gIFtzdHlsZS5maWxsXT1cImNvbG9yXCJcbiAgW3N0eWxlLndpZHRoXT1cImdldFdpZHRoKClcIlxuICBbc3R5bGUuaGVpZ2h0XT1cImdldEhlaWdodCgpXCJcbiAgdmlld0JveD1cIjAgMCAyMDAgMjAwXCJcbj5cbiAgPGRlZnM+XG4gICAgPGxpbmVhckdyYWRpZW50XG4gICAgICBbYXR0ci5pZF09XCIncmlnaHQtJyArIGlkXCJcbiAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICB4MT1cIjE1MFwiXG4gICAgICB5MT1cIjIwXCJcbiAgICAgIHgyPVwiMTUwXCJcbiAgICAgIHkyPVwiMTgwXCJcbiAgICA+XG4gICAgICA8c3RvcFxuICAgICAgICBvZmZzZXQ9XCIwXCJcbiAgICAgICAgc3R5bGU9XCJzdG9wLWNvbG9yOiAjMDAwXCJcbiAgICAgIC8+XG4gICAgICA8c3RvcFxuICAgICAgICBvZmZzZXQ9XCIxXCJcbiAgICAgICAgc3R5bGU9XCJzdG9wLWNvbG9yOiAjODA4MDgwXCJcbiAgICAgIC8+XG4gICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICA8bGluZWFyR3JhZGllbnRcbiAgICAgIFthdHRyLmlkXT1cIidsZWZ0LScgKyBpZFwiXG4gICAgICBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgeDE9XCI1MFwiXG4gICAgICB5MT1cIjBcIlxuICAgICAgeDI9XCI1MFwiXG4gICAgICB5Mj1cIjE4MFwiXG4gICAgPlxuICAgICAgPHN0b3BcbiAgICAgICAgb2Zmc2V0PVwiMFwiXG4gICAgICAgIHN0eWxlPVwic3RvcC1jb2xvcjogI2ZmZlwiXG4gICAgICAvPlxuICAgICAgPHN0b3BcbiAgICAgICAgb2Zmc2V0PVwiMVwiXG4gICAgICAgIHN0eWxlPVwic3RvcC1jb2xvcjogIzgwODA4MFwiXG4gICAgICAvPlxuICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgPG1hc2sgW2F0dHIuaWRdPVwiJ21hc2stJyArIGlkXCI+XG4gICAgICA8Zz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBbYXR0ci5maWxsXT1cIid1cmwoI3JpZ2h0LScgKyBpZCArICcpJ1wiXG4gICAgICAgICAgZD1cIk0xMDAsMHYyMGM0NC4xLDAsODAsMzUuOSw4MCw4MGMwLDQ0LjEtMzUuOSw4MC04MCw4MHYyMGM1NS4yLDAsMTAwLTQ0LjgsMTAwLTEwMFMxNTUuMiwwLDEwMCwwelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgW2F0dHIuZmlsbF09XCIndXJsKCNsZWZ0LScgKyBpZCArICcpJ1wiXG4gICAgICAgICAgZD1cIk0yMCwxMDBjMC00NC4xLDM1LjktODAsODAtODBWMEM0NC44LDAsMCw0NC44LDAsMTAwczQ0LjgsMTAwLDEwMCwxMDB2LTIwQzU1LjksMTgwLDIwLDE0NC4xLDIwLDEwMHpcIlxuICAgICAgICAvPlxuICAgICAgPC9nPlxuICAgIDwvbWFzaz5cbiAgPC9kZWZzPlxuICA8cmVjdFxuICAgIHg9XCIwXCJcbiAgICB5PVwiMFwiXG4gICAgd2lkdGg9XCIyMDBcIlxuICAgIGhlaWdodD1cIjIwMFwiXG4gICAgW2F0dHIubWFza109XCIndXJsKCNtYXNrLScgKyBpZCArICcpJ1wiXG4gIC8+XG48L3N2Zz5cblxuPG5nLXRlbXBsYXRlICNpY29ucz5cbiAgPHN2Z1xuICAgICpuZ0lmPVwiZ2V0SWNvbklkKGljb24gPyBpY29uIDogKFtsaWdodCwgZGFya10gfCBhdWlUaGVtZVBpY2tlcikpIGFzIGljb25JZFwiXG4gICAgW25nQ2xhc3NdPVwiZ2V0Q2xhc3MoaWNvbklkKVwiXG4gICAgW3N0eWxlLmZpbGxdPVwiY29sb3JcIlxuICAgIFtzdHlsZS53aWR0aF09XCJnZXRXaWR0aCgpXCJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImdldEhlaWdodCgpXCJcbiAgPlxuICAgIDxyZWN0XG4gICAgICAqbmdJZj1cImJhY2tncm91bmRcIlxuICAgICAgY2xhc3M9XCJhdWktaWNvbl9fYmFja2dyb3VuZFwiXG4gICAgICBbbmdDbGFzc109XCJiYWNrZ3JvdW5kXCJcbiAgICAgIFthdHRyLmZpbGxdPVwiYmFja2dyb3VuZENvbG9yXCJcbiAgICAgIFtzdHlsZS53aWR0aF09XCJnZXRXaWR0aCgpXCJcbiAgICAgIFtzdHlsZS5oZWlnaHRdPVwiZ2V0SGVpZ2h0KClcIlxuICAgICAgeD1cIjBcIlxuICAgICAgeT1cIjBcIlxuICAgID48L3JlY3Q+XG4gICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cImxpbmsgKyAnIycgKyBpY29uSWRcIj48L3VzZT5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable sonarjs/no-duplicate-string */
2
- import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, } from '@angular/core';
3
3
  import { BehaviorSubject } from 'rxjs';
4
4
  import { ComponentSize } from '../types';
5
5
  import { coerceAttrBoolean } from '../utils';
@@ -18,6 +18,12 @@ export class InputComponent {
18
18
  this.renderer.addClass(this.elementRef.nativeElement, 'aui-input');
19
19
  this.renderer.addClass(this.elementRef.nativeElement, 'aui-input--' + this.size);
20
20
  }
21
+ get testId() {
22
+ return ('AUI-INPUT/' +
23
+ (this.elementRef.nativeElement.getAttribute('formcontrolname') ||
24
+ this.elementRef.nativeElement.getAttribute('name') ||
25
+ ''));
26
+ }
21
27
  get size() {
22
28
  return this._size;
23
29
  }
@@ -49,13 +55,16 @@ export class InputComponent {
49
55
  }
50
56
  }
51
57
  InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: InputComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
52
- InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: InputComponent, selector: "input[aui-input],textarea[aui-input]", inputs: { size: "size", disabled: "disabled" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".aui-input{display:inline-block;padding:0 var(--aui-inline-padding-xs);width:100%;min-width:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg));color:rgb(var(--aui-color-main-text));outline:none;text-overflow:ellipsis}@keyframes cdk-text-field-autofill-color-0{to{background:rgb(var(--aui-color-n-9));color:rgb(var(--aui-color-main-text))}}.aui-input:-webkit-autofill{animation:cdk-text-field-autofill-color-0 both}.aui-input.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms,cdk-text-field-autofill-color-0 both}.aui-input::-webkit-outer-spin-button,.aui-input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.aui-input[type=number]{-webkit-appearance:textfield;appearance:textfield}.aui-input::placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-input:invalid,.aui-input:required{box-shadow:none}.aui-input:hover{border-color:rgb(var(--aui-color-primary))}.aui-input:focus,.aui-input.isFocused{border-color:rgb(var(--aui-color-primary))}:root .aui-input:focus,:root .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-input:focus,html[aui-theme-mode=light] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input:focus,html[aui-theme-mode=system] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-input:focus,html[aui-theme-mode=dark] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-input[readonly]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;cursor:default}.aui-input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;color:rgb(var(--aui-color-disabled-text));cursor:not-allowed}.aui-input--large{height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l)}.aui-input--medium{height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m)}.aui-input--small{height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m)}.aui-input--mini{height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s)}textarea.aui-input{padding:var(--aui-inline-padding-xxs) var(--aui-inline-padding-xs);height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 3 + 2px);max-height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 6 + 2px);min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text));resize:vertical;overflow:auto}.aui-input.ng-invalid.ng-dirty,.ng-submitted .aui-input.ng-invalid{border-color:rgb(var(--aui-color-red))!important}:root .aui-input.ng-invalid.ng-dirty:focus,:root .aui-input.ng-invalid.ng-dirty.isFocused,:root .ng-submitted .aui-input.ng-invalid:focus,:root .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
58
+ InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: InputComponent, selector: "input[aui-input],textarea[aui-input]", inputs: { size: "size", disabled: "disabled" }, host: { properties: { "attr.data-test": "this.testId" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".aui-input{display:inline-block;padding:0 var(--aui-inline-padding-xs);width:100%;min-width:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg));color:rgb(var(--aui-color-main-text));outline:none;text-overflow:ellipsis}@keyframes cdk-text-field-autofill-color-0{to{background:rgb(var(--aui-color-n-9));color:rgb(var(--aui-color-main-text))}}.aui-input:-webkit-autofill{animation:cdk-text-field-autofill-color-0 both}.aui-input.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms,cdk-text-field-autofill-color-0 both}.aui-input::-webkit-outer-spin-button,.aui-input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.aui-input[type=number]{-webkit-appearance:textfield;appearance:textfield}.aui-input::placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-input:invalid,.aui-input:required{box-shadow:none}.aui-input:hover{border-color:rgb(var(--aui-color-primary))}.aui-input:focus,.aui-input.isFocused{border-color:rgb(var(--aui-color-primary))}:root .aui-input:focus,:root .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-input:focus,html[aui-theme-mode=light] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input:focus,html[aui-theme-mode=system] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-input:focus,html[aui-theme-mode=dark] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-input[readonly]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;cursor:default}.aui-input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;color:rgb(var(--aui-color-disabled-text));cursor:not-allowed}.aui-input--large{height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l)}.aui-input--medium{height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m)}.aui-input--small{height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m)}.aui-input--mini{height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s)}textarea.aui-input{padding:var(--aui-inline-padding-xxs) var(--aui-inline-padding-xs);height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 3 + 2px);max-height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 6 + 2px);min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text));resize:vertical;overflow:auto}.aui-input.ng-invalid.ng-dirty,.ng-submitted .aui-input.ng-invalid{border-color:rgb(var(--aui-color-red))!important}:root .aui-input.ng-invalid.ng-dirty:focus,:root .aui-input.ng-invalid.ng-dirty.isFocused,:root .ng-submitted .aui-input.ng-invalid:focus,:root .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
53
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: InputComponent, decorators: [{
54
60
  type: Component,
55
61
  args: [{ selector: 'input[aui-input],textarea[aui-input]', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, styles: [".aui-input{display:inline-block;padding:0 var(--aui-inline-padding-xs);width:100%;min-width:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg));color:rgb(var(--aui-color-main-text));outline:none;text-overflow:ellipsis}@keyframes cdk-text-field-autofill-color-0{to{background:rgb(var(--aui-color-n-9));color:rgb(var(--aui-color-main-text))}}.aui-input:-webkit-autofill{animation:cdk-text-field-autofill-color-0 both}.aui-input.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms,cdk-text-field-autofill-color-0 both}.aui-input::-webkit-outer-spin-button,.aui-input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.aui-input[type=number]{-webkit-appearance:textfield;appearance:textfield}.aui-input::placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-input:invalid,.aui-input:required{box-shadow:none}.aui-input:hover{border-color:rgb(var(--aui-color-primary))}.aui-input:focus,.aui-input.isFocused{border-color:rgb(var(--aui-color-primary))}:root .aui-input:focus,:root .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-input:focus,html[aui-theme-mode=light] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input:focus,html[aui-theme-mode=system] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-input:focus,html[aui-theme-mode=dark] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-input[readonly]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;cursor:default}.aui-input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;color:rgb(var(--aui-color-disabled-text));cursor:not-allowed}.aui-input--large{height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l)}.aui-input--medium{height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m)}.aui-input--small{height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m)}.aui-input--mini{height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s)}textarea.aui-input{padding:var(--aui-inline-padding-xxs) var(--aui-inline-padding-xs);height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 3 + 2px);max-height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 6 + 2px);min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text));resize:vertical;overflow:auto}.aui-input.ng-invalid.ng-dirty,.ng-submitted .aui-input.ng-invalid{border-color:rgb(var(--aui-color-red))!important}:root .aui-input.ng-invalid.ng-dirty:focus,:root .aui-input.ng-invalid.ng-dirty.isFocused,:root .ng-submitted .aui-input.ng-invalid:focus,:root .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n"] }]
56
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { size: [{
62
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { testId: [{
63
+ type: HostBinding,
64
+ args: ['attr.data-test']
65
+ }], size: [{
57
66
  type: Input
58
67
  }], disabled: [{
59
68
  type: Input
60
69
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lucHV0L2lucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnREFBZ0Q7QUFDaEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsS0FBSyxFQUVMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQVc3QyxNQUFNLE9BQU8sY0FBYztJQWdEekIsWUFDUyxVQUF3QyxFQUM5QixRQUFtQjtRQUQ3QixlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBWjlCLFVBQUssR0FBa0IsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUM1QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTFCLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXREOztXQUVHO1FBQ0gsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxRQUFtQixDQUFDLENBQUM7UUFNakUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUM3QixhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUF4REQsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHO1FBQ1YsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEdBQUcsRUFBRTtZQUM5QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQzdCLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUMzQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsYUFBYSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQWlCO1FBQzVCLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLElBQUksVUFBVSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBQ0QsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDM0U7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzFFO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7MkdBcENVLGNBQWM7K0ZBQWQsY0FBYyw0SEFOZiwyQkFBMkI7MkZBTTFCLGNBQWM7a0JBVDFCLFNBQVM7K0JBRUUsc0NBQXNDLFlBQ3RDLDJCQUEyQixtQkFFcEIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSzt5SEFJdEIsSUFBSTtzQkFEUCxLQUFLO2dCQW1CRixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBzb25hcmpzL25vLWR1cGxpY2F0ZS1zdHJpbmcgKi9cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDb21wb25lbnRTaXplIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgY29lcmNlQXR0ckJvb2xlYW4gfSBmcm9tICcuLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2lucHV0W2F1aS1pbnB1dF0sdGV4dGFyZWFbYXVpLWlucHV0XScsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBnZXQgc2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgfVxuXG4gIHNldCBzaXplKHZhbCkge1xuICAgIGlmICghdmFsIHx8IHRoaXMuX3NpemUgPT09IHZhbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKFxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAnYXVpLWlucHV0LS0nICsgdGhpcy5fc2l6ZSxcbiAgICApO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdhdWktaW5wdXQtLScgKyB2YWwpO1xuICAgIHRoaXMuX3NpemUgPSB2YWw7XG4gICAgdGhpcy5zaXplJC5uZXh0KHZhbCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgc2V0IGRpc2FibGVkKHZhbDogYm9vbGVhbiB8ICcnKSB7XG4gICAgY29uc3QgYm9vbGVhblZhbCA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbCk7XG4gICAgaWYgKGJvb2xlYW5WYWwgPT09IHRoaXMuX2Rpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChib29sZWFuVmFsKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJywgJycpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJyk7XG4gICAgfVxuICAgIHRoaXMuX2Rpc2FibGVkID0gYm9vbGVhblZhbDtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KGJvb2xlYW5WYWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2l6ZTogQ29tcG9uZW50U2l6ZSA9IENvbXBvbmVudFNpemUuTWVkaXVtO1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDb21wb25lbnRTaXplPih0aGlzLnNpemUpO1xuXG4gIC8qKlxuICAgKiB3b3JrYXJvdW5kIGZvciBAbGluayBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvcHVsbC80MjQyNVxuICAgKi9cbiAgZGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0aGlzLmRpc2FibGVkIGFzIGJvb2xlYW4pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgKSB7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2F1aS1pbnB1dCcpO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICdhdWktaW5wdXQtLScgKyB0aGlzLnNpemUsXG4gICAgKTtcbiAgfVxufVxuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lucHV0L2lucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnREFBZ0Q7QUFDaEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFFTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFXN0MsTUFBTSxPQUFPLGNBQWM7SUEwRHpCLFlBQ1MsVUFBd0MsRUFDOUIsUUFBbUI7UUFEN0IsZUFBVSxHQUFWLFVBQVUsQ0FBOEI7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVo5QixVQUFLLEdBQWtCLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDNUMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUxQixVQUFLLEdBQUcsSUFBSSxlQUFlLENBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0RDs7V0FFRztRQUNILGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsUUFBbUIsQ0FBQyxDQUFDO1FBTWpFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFDN0IsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQzFCLENBQUM7SUFDSixDQUFDO0lBbEVELElBQ0ksTUFBTTtRQUNSLE9BQU8sQ0FDTCxZQUFZO1lBQ1osQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7Z0JBQzVELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7Z0JBQ2xELEVBQUUsQ0FBQyxDQUNOLENBQUM7SUFDSixDQUFDO0lBRUQsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHO1FBQ1YsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEdBQUcsRUFBRTtZQUM5QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQzdCLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUMzQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsYUFBYSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQWlCO1FBQzVCLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLElBQUksVUFBVSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBQ0QsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDM0U7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzFFO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7MkdBOUNVLGNBQWM7K0ZBQWQsY0FBYyx1TEFOZiwyQkFBMkI7MkZBTTFCLGNBQWM7a0JBVDFCLFNBQVM7K0JBRUUsc0NBQXNDLFlBQ3RDLDJCQUEyQixtQkFFcEIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSzt5SEFJdEIsTUFBTTtzQkFEVCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFXekIsSUFBSTtzQkFEUCxLQUFLO2dCQW1CRixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBzb25hcmpzL25vLWR1cGxpY2F0ZS1zdHJpbmcgKi9cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGNvZXJjZUF0dHJCb29sZWFuIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdpbnB1dFthdWktaW5wdXRdLHRleHRhcmVhW2F1aS1pbnB1dF0nLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Q29tcG9uZW50IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGVzdCcpXG4gIGdldCB0ZXN0SWQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICdBVUktSU5QVVQvJyArXG4gICAgICAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdmb3JtY29udHJvbG5hbWUnKSB8fFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ25hbWUnKSB8fFxuICAgICAgICAnJylcbiAgICApO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHNpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cblxuICBzZXQgc2l6ZSh2YWwpIHtcbiAgICBpZiAoIXZhbCB8fCB0aGlzLl9zaXplID09PSB2YWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgJ2F1aS1pbnB1dC0tJyArIHRoaXMuX3NpemUsXG4gICAgKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnYXVpLWlucHV0LS0nICsgdmFsKTtcbiAgICB0aGlzLl9zaXplID0gdmFsO1xuICAgIHRoaXMuc2l6ZSQubmV4dCh2YWwpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIGNvbnN0IGJvb2xlYW5WYWwgPSBjb2VyY2VBdHRyQm9vbGVhbih2YWwpO1xuICAgIGlmIChib29sZWFuVmFsID09PSB0aGlzLl9kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoYm9vbGVhblZhbCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsICcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcpO1xuICAgIH1cbiAgICB0aGlzLl9kaXNhYmxlZCA9IGJvb2xlYW5WYWw7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChib29sZWFuVmFsKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NpemU6IENvbXBvbmVudFNpemUgPSBDb21wb25lbnRTaXplLk1lZGl1bTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBzaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29tcG9uZW50U2l6ZT4odGhpcy5zaXplKTtcblxuICAvKipcbiAgICogd29ya2Fyb3VuZCBmb3IgQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9UeXBlU2NyaXB0L3B1bGwvNDI0MjVcbiAgICovXG4gIGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odGhpcy5kaXNhYmxlZCBhcyBib29sZWFuKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICkge1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdhdWktaW5wdXQnKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAnYXVpLWlucHV0LS0nICsgdGhpcy5zaXplLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -11,8 +11,8 @@ import * as i2 from "../../tag/tag.component";
11
11
  import * as i3 from "@angular/common";
12
12
  export const INPUT_ERROR_KEY = 'input_data_error';
13
13
  export class TagsInputComponent extends CommonFormControl {
14
- constructor(cdr, fb, renderer, injector) {
15
- super(cdr);
14
+ constructor(cdr, fb, renderer, injector, elementRef) {
15
+ super(cdr, elementRef);
16
16
  this.fb = fb;
17
17
  this.renderer = renderer;
18
18
  this.injector = injector;
@@ -207,7 +207,7 @@ export class TagsInputComponent extends CommonFormControl {
207
207
  this.inputControl.setValue('');
208
208
  }
209
209
  }
210
- TagsInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: TagsInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
210
+ TagsInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: TagsInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
211
211
  TagsInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: TagsInputComponent, selector: "aui-tags-input", inputs: { placeholder: "placeholder", size: "size", clearable: "clearable", allowRepeat: "allowRepeat", allowEmpty: "allowEmpty", readonlyTags: "readonlyTags", maxRowCount: "maxRowCount", customRowHeight: "customRowHeight", inputValidator: "inputValidator", inputAsyncValidator: "inputAsyncValidator" }, host: { properties: { "style.position": "this.hostPosition", "style.display": "this.hostDisplay" } }, providers: [
212
212
  {
213
213
  provide: NG_VALUE_ACCESSOR,
@@ -224,7 +224,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
224
224
  multi: true,
225
225
  },
226
226
  ], template: "<div\n [class]=\"rootClass\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"inputRef.focus()\"\n [style.max-height]=\"maxHeight\"\n>\n <span\n [hidden]=\"model.length || inputRef.value.length\"\n [class]=\"bem.element('placeholder')\"\n >\n {{ placeholder }}\n </span>\n <aui-tag\n *ngFor=\"let tag of model; let index = index; trackBy: trackByValue\"\n type=\"info\"\n [title]=\"tag\"\n [size]=\"tagSize\"\n [round]=\"true\"\n [border]=\"true\"\n [closeable]=\"!(disabled || readonlyTags.includes(tag))\"\n (close)=\"onRemove(index)\"\n >\n {{ tag }}\n </aui-tag>\n <input\n #inputRef\n [class]=\"inputClass\"\n [disabled]=\"disabled\"\n autocomplete=\"off\"\n (focus)=\"onInputFocus()\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n (input)=\"onInput()\"\n />\n <span\n #inputValueMirror\n [class]=\"bem.element('mirror')\"\n >{{ inputRef.value }}</span\n >\n</div>\n", styles: [".aui-input{display:inline-block;padding:0 var(--aui-inline-padding-xs);width:100%;min-width:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg));color:rgb(var(--aui-color-main-text));outline:none;text-overflow:ellipsis}@keyframes cdk-text-field-autofill-color-0{to{background:rgb(var(--aui-color-n-9));color:rgb(var(--aui-color-main-text))}}.aui-input:-webkit-autofill{animation:cdk-text-field-autofill-color-0 both}.aui-input.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms,cdk-text-field-autofill-color-0 both}.aui-input::-webkit-outer-spin-button,.aui-input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.aui-input[type=number]{-webkit-appearance:textfield;appearance:textfield}.aui-input::placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-input:invalid,.aui-input:required{box-shadow:none}.aui-input:hover{border-color:rgb(var(--aui-color-primary))}.aui-input:focus,.aui-input.isFocused{border-color:rgb(var(--aui-color-primary))}:root .aui-input:focus,:root .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-input:focus,html[aui-theme-mode=light] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input:focus,html[aui-theme-mode=system] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-input:focus,html[aui-theme-mode=dark] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-input[readonly]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;cursor:default}.aui-input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;color:rgb(var(--aui-color-disabled-text));cursor:not-allowed}.aui-input--large{height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l)}.aui-input--medium{height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m)}.aui-input--small{height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m)}.aui-input--mini{height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s)}textarea.aui-input{padding:var(--aui-inline-padding-xxs) var(--aui-inline-padding-xs);height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 3 + 2px);max-height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 6 + 2px);min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text));resize:vertical;overflow:auto}.aui-input.ng-invalid.ng-dirty,.ng-submitted .aui-input.ng-invalid{border-color:rgb(var(--aui-color-red))!important}:root .aui-input.ng-invalid.ng-dirty:focus,:root .aui-input.ng-invalid.ng-dirty.isFocused,:root .ng-submitted .aui-input.ng-invalid:focus,:root .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n", ".aui-tag{display:inline-flex;align-items:center;border-radius:var(--aui-border-radius-m);border:1px solid transparent;max-width:300px;vertical-align:middle;transition:background-color .3s ease}.aui-tag__content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-tag .aui-tag__close .aui-icon{margin-left:4px;border-radius:50%;cursor:pointer;transition:all .3s ease}.aui-tag--large{padding:0 var(--aui-inline-padding-m);height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-tag--large.isRound{border-radius:calc(var(--aui-inline-height-m) / 2)}.aui-tag--medium{padding:0 var(--aui-inline-padding-s);height:var(--aui-inline-height-s);font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s)}.aui-tag--medium.isRound{border-radius:calc(var(--aui-inline-height-s) / 2)}.aui-tag--small{padding:0 var(--aui-inline-padding-xs);height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s)}.aui-tag--small.isRound{border-radius:calc(var(--aui-inline-height-xs) / 2)}.aui-tag--mini{padding:0 var(--aui-inline-padding-xs);height:20px;font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s)}.aui-tag--mini.isRound{border-radius:calc(var(--aui-inline-height-xs) / 2)}.aui-tag--primary{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary.hasBorder{border-color:rgb(var(--aui-color-p-2))}.aui-tag--primary.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-p-1))}.aui-tag--primary.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-p-0))}.aui-tag--primary.allowClick:hover{background-color:rgb(var(--aui-color-p-7));cursor:pointer}.aui-tag--primary.allowClick:active{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-p-6));background-color:rgb(var(--aui-color-primary))}.aui-tag--success{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success.hasBorder{border-color:rgb(var(--aui-color-g-2))}.aui-tag--success.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-g-1))}.aui-tag--success.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-g-0))}.aui-tag--success.allowClick:hover{background-color:rgb(var(--aui-color-g-7));cursor:pointer}.aui-tag--success.allowClick:active{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-g-6));background-color:rgb(var(--aui-color-green))}.aui-tag--warning{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning.hasBorder{border-color:rgb(var(--aui-color-y-2))}.aui-tag--warning.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-y-1))}.aui-tag--warning.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-y-0))}.aui-tag--warning.allowClick:hover{background-color:rgb(var(--aui-color-y-7));cursor:pointer}.aui-tag--warning.allowClick:active{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-y-6));background-color:rgb(var(--aui-color-yellow))}.aui-tag--error{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error.hasBorder{border-color:rgb(var(--aui-color-r-2))}.aui-tag--error.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-r-1))}.aui-tag--error.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-r-0))}.aui-tag--error.allowClick:hover{background-color:rgb(var(--aui-color-r-7));cursor:pointer}.aui-tag--error.allowClick:active{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-r-6));background-color:rgb(var(--aui-color-red))}.aui-tag--info{color:rgb(var(--aui-color-n-2));background-color:rgb(var(--aui-color-n-8))}.aui-tag--info.hasBorder{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-button-bg))}.aui-tag--info .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-n-9));background-color:rgb(var(--aui-color-n-4))}.aui-tag.isInvalid{text-decoration:line-through}.aui-tag.isSolid,.aui-tag.isSolid .aui-tag__close .aui-icon:hover{color:#fff}.aui-tag.isSolid.aui-tag--primary{background-color:rgb(var(--aui-color-primary))}.aui-tag.isSolid.aui-tag--success{background-color:rgb(var(--aui-color-green))}.aui-tag.isSolid.aui-tag--warning{background-color:rgb(var(--aui-color-yellow))}.aui-tag.isSolid.aui-tag--error{background-color:rgb(var(--aui-color-red))}.aui-tag.isSolid.aui-tag--info{background-color:rgb(var(--aui-color-button-bg))}.aui-tag.allowClick a{color:inherit}.aui-tag.allowClick:hover{cursor:pointer}aui-tag+aui-tag .aui-tag--large,aui-tag+aui-tag .aui-tag--medium,aui-tag+aui-tag .aui-tag--small{margin-left:var(--aui-spacing-m)}aui-tag+aui-tag .aui-tag--mini{margin-left:6px}\n", ".aui-tags-input{display:inline-block;position:relative;width:100%;color:rgb(var(--aui-color-main-text));vertical-align:middle}.aui-tags-input:hover{cursor:text}.aui-tags-input .aui-tag{max-width:100%}.aui-tags-input.isDisabled{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7));cursor:not-allowed}.aui-tags-input.isDisabled .aui-tag{color:rgb(var(--aui-color-disabled-text));background-color:rgb(var(--aui-color-n-8))}.aui-tags-input__placeholder{display:inline-block;width:100%;color:rgb(var(--aui-color-placeholder-text));vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:absolute;margin-left:1px}.aui-tags-input__placeholder[hidden]{display:none}.aui-tags-input__mirror{opacity:0;left:0;z-index:-99;position:absolute;padding-left:1px}.aui-tags-input--large{min-height:var(--aui-inline-height-l);padding:calc((var(--aui-inline-height-l) - 20px) / 2 - 1px) var(--aui-inline-padding-xs) 0;font-size:var(--aui-font-size-l);line-height:var(--aui-line-height-l)}.aui-tags-input--large .aui-tag{margin:0 4px calc((var(--aui-inline-height-l) - 20px) / 2 - 1px) 0}.aui-tags-input--medium{min-height:var(--aui-inline-height-m);padding:calc((var(--aui-inline-height-m) - 20px) / 2 - 1px) var(--aui-inline-padding-xs) 0;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-tags-input--medium .aui-tag{margin:0 4px calc((var(--aui-inline-height-m) - 20px) / 2 - 1px) 0}.aui-tags-input--small{min-height:var(--aui-inline-height-s);padding:calc((var(--aui-inline-height-s) - 20px) / 2 - 1px) var(--aui-inline-padding-xs) 0;font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s)}.aui-tags-input--small .aui-tag{margin:0 4px calc((var(--aui-inline-height-s) - 20px) / 2 - 1px) 0}.aui-tags-input--mini{min-height:var(--aui-inline-height-xs);padding:calc((var(--aui-inline-height-xs) - 20px) / 2 - 1px) var(--aui-inline-padding-xs) 0;font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s)}.aui-tags-input--mini .aui-tag{margin:0 4px calc((var(--aui-inline-height-xs) - 20px) / 2 - 1px) 0}.aui-tags-input__suffix{position:absolute;top:50%;right:var(--aui-inline-padding-xs);transform:translateY(-50%)}.aui-tags-input .aui-tag.aui-tags-input__input{margin-right:0;padding:0;width:1em;max-width:100%;border:none;outline:none;background:none;color:rgb(var(--aui-color-main-text));font-family:inherit;font-size:inherit}.aui-tags-input .aui-tag.aui-tags-input__input--hidden{opacity:0;width:0;padding:0;margin:0;position:absolute}aui-tags-input.ng-invalid.ng-dirty .aui-input,aui-tags-input.ng-invalid.ng-dirty .aui-tags-input,.ng-submitted aui-tags-input.ng-invalid .aui-input,.ng-submitted aui-tags-input.ng-invalid .aui-tags-input{border-color:rgb(var(--aui-color-red))!important}:root aui-tags-input.ng-invalid.ng-dirty .aui-input:focus,:root aui-tags-input.ng-invalid.ng-dirty .aui-input.isFocused,:root aui-tags-input.ng-invalid.ng-dirty .aui-tags-input:focus,:root aui-tags-input.ng-invalid.ng-dirty .aui-tags-input.isFocused,:root .ng-submitted aui-tags-input.ng-invalid .aui-input:focus,:root .ng-submitted aui-tags-input.ng-invalid .aui-input.isFocused,:root .ng-submitted aui-tags-input.ng-invalid .aui-tags-input:focus,:root .ng-submitted aui-tags-input.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] aui-tags-input.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=light] aui-tags-input.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=light] aui-tags-input.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=light] aui-tags-input.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-tags-input.ng-invalid .aui-input:focus,html[aui-theme-mode=light] .ng-submitted aui-tags-input.ng-invalid .aui-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-tags-input.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=light] .ng-submitted aui-tags-input.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] aui-tags-input.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=system] aui-tags-input.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=system] aui-tags-input.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=system] aui-tags-input.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-tags-input.ng-invalid .aui-input:focus,html[aui-theme-mode=system] .ng-submitted aui-tags-input.ng-invalid .aui-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-tags-input.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=system] .ng-submitted aui-tags-input.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] aui-tags-input.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=dark] aui-tags-input.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=dark] aui-tags-input.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=dark] aui-tags-input.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-tags-input.ng-invalid .aui-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-tags-input.ng-invalid .aui-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-tags-input.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-tags-input.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}aui-tags-input.ng-invalid.ng-dirty .aui-input .aui-tags-input__input,aui-tags-input.ng-invalid.ng-dirty .aui-tags-input .aui-tags-input__input,.ng-submitted aui-tags-input.ng-invalid .aui-input .aui-tags-input__input,.ng-submitted aui-tags-input.ng-invalid .aui-tags-input .aui-tags-input__input{color:rgb(var(--aui-color-red))}.aui-tags-input.withHeightLimit{overflow:auto;position:static}.aui-tags-input.withHeightLimit::-webkit-scrollbar{width:4px;height:4px}.aui-tags-input.withHeightLimit::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}\n"] }]
227
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.FormBuilder }, { type: i0.Renderer2 }, { type: i0.Injector }]; }, propDecorators: { placeholder: [{
227
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.FormBuilder }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { placeholder: [{
228
228
  type: Input
229
229
  }], size: [{
230
230
  type: Input
@@ -257,4 +257,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
257
257
  type: HostBinding,
258
258
  args: ['style.display']
259
259
  }] } });
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW5wdXQvdGFncy1pbnB1dC90YWdzLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9pbnB1dC90YWdzLWlucHV0L3RhZ3MtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUVYLEtBQUssRUFJTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxVQUFVLEdBRVgsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBTyxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBRTdELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQztBQXFCbEQsTUFBTSxPQUFPLGtCQUNYLFNBQVEsaUJBQTJCO0lBeUduQyxZQUNFLEdBQXNCLEVBQ0wsRUFBZSxFQUNmLFFBQW1CLEVBQ25CLFFBQWtCO1FBRW5DLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUpNLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVU7UUExR3JDLFFBQUcsR0FBUSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUd0QyxnQkFBVyxHQUFH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QVc7dUJBQUMsZ0JBQWdCO2dCQU16QixXQUFXO3NCQURkLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBc3luY1ZhbGlkYXRvckZuLFxuICBGb3JtQnVpbGRlcixcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIE5nQ29udHJvbCxcbiAgVmFsaWRhdG9yRm4sXG4gIFZhbGlkYXRvcnMsXG4gIEZvcm1Db250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENvbW1vbkZvcm1Db250cm9sIH0gZnJvbSAnLi4vLi4vZm9ybSc7XG5pbXBvcnQgeyBDb21wb25lbnRTaXplIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQmVtLCBidWlsZEJlbSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHsgY3JlYXRlV2l0aE1heFJvd0NvdW50IH0gZnJvbSAnLi93aXRoLW1heC1yb3ctY291bnQnO1xuXG5leHBvcnQgY29uc3QgSU5QVVRfRVJST1JfS0VZID0gJ2lucHV0X2RhdGFfZXJyb3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdGFncy1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWdzLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXG4gICAgJy4uLy4uL2lucHV0L2lucHV0LmNvbXBvbmVudC5zY3NzJyxcbiAgICAnLi4vLi4vdGFnL3RhZy5jb21wb25lbnQuc2NzcycsXG4gICAgJy4vdGFncy1pbnB1dC5jb21wb25lbnQuc2NzcycsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUYWdzSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFnc0lucHV0Q29tcG9uZW50XG4gIGV4dGVuZHMgQ29tbW9uRm9ybUNvbnRyb2w8c3RyaW5nW10+XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzXG57XG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS10YWdzLWlucHV0Jyk7XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXIgPSAnJztcblxuICBASW5wdXQoKVxuICBzaXplOiBDb21wb25lbnRTaXplID0gQ29tcG9uZW50U2l6ZS5NZWRpdW07XG5cbiAgLy8gVE9ETzogaW1wbGVtZW50IHRoaXMgZmVhdHVyZVxuICBASW5wdXQoKVxuICBjbGVhcmFibGU6IGJvb2xlYW4gfCAnJyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGFsbG93UmVwZWF0OiBib29sZWFuIHwgJycgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBhbGxvd0VtcHR5OiBib29sZWFuIHwgJycgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICByZWFkb25seVRhZ3M6IHN0cmluZ1tdIHwgcmVhZG9ubHkgc3RyaW5nW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBtYXhSb3dDb3VudCA9IDA7XG5cbiAgQElucHV0KClcbiAgY3VzdG9tUm93SGVpZ2h0ID0gMDsgLy8gMDogdXNlIGRlZmF1bHQgc3R5bGUgY29uc3QgdmFsdWUsID4gMTogZm9yIGBgYHRhZ0NsYXNzRm5gYGAgbWF5YmUgYWZmZWN0IGxpbmVIZWlnaHRcblxuICBfaW5wdXRWYWxpZGF0b3I6IFZhbGlkYXRvckZuO1xuICBfaW5wdXRBc3luY1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3JGbjtcblxuICBASW5wdXQoKVxuICBzZXQgaW5wdXRWYWxpZGF0b3IoZm46IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSkge1xuICAgIHRoaXMuX2lucHV0VmFsaWRhdG9yID0gQXJyYXkuaXNBcnJheShmbikgPyBWYWxpZGF0b3JzLmNvbXBvc2UoZm4pIDogZm47XG4gIH1cblxuICBnZXQgaW5wdXRWYWxpZGF0b3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0VmFsaWRhdG9yO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGlucHV0QXN5bmNWYWxpZGF0b3IoZm46IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10pIHtcbiAgICB0aGlzLl9pbnB1dEFzeW5jVmFsaWRhdG9yID0gQXJyYXkuaXNBcnJheShmbilcbiAgICAgID8gVmFsaWRhdG9ycy5jb21wb3NlQXN5bmMoZm4pXG4gICAgICA6IGZuO1xuICB9XG5cbiAgZ2V0IGlucHV0QXN5bmNWYWxpZGF0b3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0QXN5bmNWYWxpZGF0b3I7XG4gIH1cblxuICBAVmlld0NoaWxkKCdpbnB1dFJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGlucHV0UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0VmFsdWVNaXJyb3InLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBpbnB1dFZhbHVlTWlycm9yOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnBvc2l0aW9uJylcbiAgZ2V0IGhvc3RQb3NpdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy53aXRoTWF4Um93Q291bnQuaG9zdFBvc2l0aW9uKCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKVxuICBnZXQgaG9zdERpc3BsYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMud2l0aE1heFJvd0NvdW50Lmhvc3REaXNwbGF5KCk7XG4gIH1cblxuICBnZXQgbWF4SGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLndpdGhNYXhSb3dDb3VudC5tYXhIZWlnaHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgd2l0aE1heFJvd0NvdW50ID0gY3JlYXRlV2l0aE1heFJvd0NvdW50KHRoaXMpO1xuXG4gIGZvY3VzZWQgPSBmYWxzZTtcbiAgb3ZlcnJpZGUgbW9kZWw6IHN0cmluZ1tdID0gW107XG5cbiAgLy8g5YaF572uZm9ybSBjb250cm9s77yM5LuF5L2c5qCh6aqM5L2/55SoXG4gIHJlYWRvbmx5IGlucHV0Q29udHJvbDogRm9ybUNvbnRyb2w7XG4gIC8vIOWkluWxgiBGb3JtQ29udHJvbO+8jOaJgOacieeahOagoemqjOmAu+i+kemSiOWvuei+k+WFpeaVsOaNrlxuICBjb250cm9sQ29udGFpbmVyOiBOZ0NvbnRyb2w7XG5cbiAgZ2V0IHJvb3RDbGFzcygpIHtcbiAgICBjb25zdCBzaXplID0gdGhpcy5zaXplIHx8IENvbXBvbmVudFNpemUuTWVkaXVtO1xuICAgIHJldHVybiBgYXVpLWlucHV0ICR7dGhpcy5iZW0uYmxvY2soc2l6ZSl9ICR7XG4gICAgICB0aGlzLmRpc2FibGVkID8gJ2lzRGlzYWJsZWQnIDogJydcbiAgICB9ICR7dGhpcy5mb2N1c2VkID8gJ2lzRm9jdXNlZCcgOiAnJ30gJHtcbiAgICAgIHRoaXMuY2xlYXJhYmxlID8gJ2lzQ2xlYXJhYmxlJyA6ICcnXG4gICAgfSAke3RoaXMubWF4Um93Q291bnQgPiAwID8gJ3dpdGhIZWlnaHRMaW1pdCcgOiAnJ31gO1xuICB9XG5cbiAgZ2V0IHRhZ1NpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gQ29tcG9uZW50U2l6ZS5MYXJnZVxuICAgICAgPyBDb21wb25lbnRTaXplLk1lZGl1bVxuICAgICAgOiBDb21wb25lbnRTaXplLk1pbmk7XG4gIH1cblxuICBnZXQgaW5wdXRDbGFzcygpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5iZW0uZWxlbWVudCgnaW5wdXQnLCB7XG4gICAgICBoaWRkZW46XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgfHwgKCF0aGlzLmZvY3VzZWQgJiYgIXRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQudmFsdWUpLFxuICAgIH0pfSBhdWktdGFnIGF1aS10YWctLSR7dGhpcy50YWdTaXplfWA7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgKSB7XG4gICAgc3VwZXIoY2RyKTtcbiAgICB0aGlzLmlucHV0Q29udHJvbCA9IHRoaXMuZmIuY29udHJvbCgnJyk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7XG4gICAgaW5wdXRWYWxpZGF0b3IsXG4gICAgaW5wdXRBc3luY1ZhbGlkYXRvcixcbiAgICBkaXNhYmxlZCxcbiAgfTogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgdGhpcy5pbnB1dENvbnRyb2xbZGlzYWJsZWQuY3VycmVudFZhbHVlID8gJ2Rpc2FibGUnIDogJ2VuYWJsZSddKHtcbiAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoaW5wdXRWYWxpZGF0b3IpIHtcbiAgICAgIHRoaXMuaW5wdXRDb250cm9sLnNldFZhbGlkYXRvcnModGhpcy5pbnB1dFZhbGlkYXRvcik7XG4gICAgfVxuICAgIGlmIChpbnB1dEFzeW5jVmFsaWRhdG9yKSB7XG4gICAgICB0aGlzLmlucHV0Q29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnModGhpcy5pbnB1dEFzeW5jVmFsaWRhdG9yKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jb250cm9sQ29udGFpbmVyID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcbiAgfVxuXG4gIG9uUmVtb3ZlKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLm1vZGVsW2luZGV4XTtcbiAgICBpZiAodGFyZ2V0ICYmIHRoaXMucmVhZG9ubHlUYWdzLmluY2x1ZGVzKHRhcmdldCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5lbWl0VmFsdWUodGhpcy5tb2RlbC5maWx0ZXIoKF8sIGkpID0+IGkgIT09IGluZGV4KSk7XG4gIH1cblxuICBvbklucHV0KCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgIC8vIG1ha2Ugc3VyZSB2YWx1ZSBzeW5jIHRvIHNwYW4gZWxlbWVudFxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoIXZhbHVlLmxlbmd0aCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAnd2lkdGgnLFxuICAgICAgICAgIHRoaXMuaW5wdXRWYWx1ZU1pcnJvci5uYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRoICsgJ3B4JyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbnRyb2xDb250YWluZXI/LmNvbnRyb2w/LmVycm9ycz8uW0lOUFVUX0VSUk9SX0tFWV0gJiZcbiAgICAgIE9iamVjdC5rZXlzKHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sLmVycm9ycykubGVuZ3RoID09PSAxXG4gICAgKSB7XG4gICAgICB0aGlzLmNvbnRyb2xDb250YWluZXIuY29udHJvbC5zZXRFcnJvcnMobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3QgaW5wdXRFbCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGlmIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnICYmIGlucHV0RWwudmFsdWUgPT09ICcnKSB7XG4gICAgICB0aGlzLm9uUmVtb3ZlKHRoaXMubW9kZWwubGVuZ3RoIC0gMSk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucHVzaFZhbHVlKGlucHV0RWwudmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dEZvY3VzKCkge1xuICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gIH1cblxuICBvbklucHV0Qmx1cihldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICB0aGlzLnB1c2hWYWx1ZSgoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKTtcbiAgICBpZiAodGhpcy5vblRvdWNoZWQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeVZhbHVlKF86IG51bWJlciwgdmFsdWU6IHN0cmluZykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB2YWx1ZUluKHY6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIHRoaXMuY2xlYXJJbnB1dCgpO1xuICAgIHJldHVybiB0aGlzLnNvcnRCeVJlYWRvbmx5KHYgfHwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBzb3J0QnlSZWFkb25seShpdGVtczogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gdGhpcy5yZWFkb25seVRhZ3MubGVuZ3RoXG4gICAgICA/IFtcbiAgICAgICAgICAuLi5pdGVtcy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjLCBjdXJyKSA9PiBhY2MuYWRkKGN1cnIpLFxuICAgICAgICAgICAgbmV3IFNldCh0aGlzLnJlYWRvbmx5VGFncyksXG4gICAgICAgICAgKSxcbiAgICAgICAgXVxuICAgICAgOiBpdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgcHVzaFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuYWxsb3dFbXB0eSAmJiAhdmFsdWUpIHtcbiAgICAgIHRoaXMucmVtb3ZlSW5wdXRDb250cm9sRXJyb3IoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmFsbG93UmVwZWF0ICYmIHRoaXMubW9kZWwuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaW5wdXRDb250cm9sLnNldFZhbHVlKHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSk7XG4gICAgLy8gaW5wdXRDb250cm9sIOiHqui6q+eahOeKtuaAgeS4uuWQjOatpeiuoeeul1xuICAgIHRoaXMuc3luY0NvbnRyb2xTdGF0dXMoKTtcbiAgICBpZiAodGhpcy5pbnB1dENvbnRyb2wudmFsaWQpIHtcbiAgICAgIHRoaXMuZW1pdFZhbHVlKHRoaXMubW9kZWwuY29uY2F0KHZhbHVlKSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlucHV0Q29udHJvbC5wZW5kaW5nKSB7XG4gICAgICAvLyBQRU5ESU5HIOWQjuWPquS8muWPmOS4uiBWQUxJRCDmiJYgSU5WQUxJRCDnmoTlhrPorq7nirbmgIFcbiAgICAgIHRoaXMuaW5wdXRDb250cm9sLnN0YXR1c0NoYW5nZXMucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgIHRoaXMuc3luY0NvbnRyb2xTdGF0dXMoKTtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRDb250cm9sLnZhbGlkKSB7XG4gICAgICAgICAgdGhpcy5lbWl0VmFsdWUodGhpcy5tb2RlbC5jb25jYXQodmFsdWUpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzeW5jQ29udHJvbFN0YXR1cygpIHtcbiAgICBjb25zdCB7IHBlbmRpbmcsIHZhbGlkLCBpbnZhbGlkLCBkaXNhYmxlZCwgZXJyb3JzIH0gPSB0aGlzLmlucHV0Q29udHJvbDtcbiAgICBpZiAodmFsaWQpIHtcbiAgICAgIHRoaXMucmVtb3ZlSW5wdXRDb250cm9sRXJyb3IoKTtcbiAgICAgIHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgIH0gZWxzZSBpZiAocGVuZGluZykge1xuICAgICAgdGhpcy5jb250cm9sQ29udGFpbmVyPy5jb250cm9sLm1hcmtBc1BlbmRpbmcoKTtcbiAgICB9IGVsc2UgaWYgKGludmFsaWQpIHtcbiAgICAgIHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgdGhpcy5jb250cm9sQ29udGFpbmVyPy5jb250cm9sLnNldEVycm9ycyh7XG4gICAgICAgIC4uLnRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbD8uZXJyb3JzLFxuICAgICAgICBbSU5QVVRfRVJST1JfS0VZXTogZXJyb3JzLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChkaXNhYmxlZCkge1xuICAgICAgLy8g5LiO5b2T5YmNIGlucHV0IOagoemqjOiEseemu1xuICAgICAgdGhpcy5jb250cm9sQ29udGFpbmVyPy5jb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVJbnB1dENvbnRyb2xFcnJvcigpIHtcbiAgICBsZXQgZXJyb3JzID0gdGhpcy5jb250cm9sQ29udGFpbmVyPy5jb250cm9sLmVycm9ycztcbiAgICBpZiAoZXJyb3JzPy5bSU5QVVRfRVJST1JfS0VZXSkge1xuICAgICAgZGVsZXRlIGVycm9yc1tJTlBVVF9FUlJPUl9LRVldO1xuICAgIH1cbiAgICBpZiAoT2JqZWN0LmtleXMoZXJyb3JzIHx8IHt9KS5sZW5ndGggPT09IDApIHtcbiAgICAgIGVycm9ycyA9IG51bGw7XG4gICAgfVxuICAgIHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbC5zZXRFcnJvcnMoZXJyb3JzKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJJbnB1dCgpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJyk7XG4gICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5pbnB1dENvbnRyb2wuc2V0VmFsdWUoJycpO1xuICB9XG59XG4iLCI8ZGl2XG4gIFtjbGFzc109XCJyb290Q2xhc3NcIlxuICAobW91c2Vkb3duKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgKGNsaWNrKT1cImlucHV0UmVmLmZvY3VzKClcIlxuICBbc3R5bGUubWF4LWhlaWdodF09XCJtYXhIZWlnaHRcIlxuPlxuICA8c3BhblxuICAgIFtoaWRkZW5dPVwibW9kZWwubGVuZ3RoIHx8IGlucHV0UmVmLnZhbHVlLmxlbmd0aFwiXG4gICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdwbGFjZWhvbGRlcicpXCJcbiAgPlxuICAgIHt7IHBsYWNlaG9sZGVyIH19XG4gIDwvc3Bhbj5cbiAgPGF1aS10YWdcbiAgICAqbmdGb3I9XCJsZXQgdGFnIG9mIG1vZGVsOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVZhbHVlXCJcbiAgICB0eXBlPVwiaW5mb1wiXG4gICAgW3RpdGxlXT1cInRhZ1wiXG4gICAgW3NpemVdPVwidGFnU2l6ZVwiXG4gICAgW3JvdW5kXT1cInRydWVcIlxuICAgIFtib3JkZXJdPVwidHJ1ZVwiXG4gICAgW2Nsb3NlYWJsZV09XCIhKGRpc2FibGVkIHx8IHJlYWRvbmx5VGFncy5pbmNsdWRlcyh0YWcpKVwiXG4gICAgKGNsb3NlKT1cIm9uUmVtb3ZlKGluZGV4KVwiXG4gID5cbiAgICB7eyB0YWcgfX1cbiAgPC9hdWktdGFnPlxuICA8aW5wdXRcbiAgICAjaW5wdXRSZWZcbiAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1wiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoKVwiXG4gICAgKGJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiXG4gICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAgIChpbnB1dCk9XCJvbklucHV0KClcIlxuICAvPlxuICA8c3BhblxuICAgICNpbnB1dFZhbHVlTWlycm9yXG4gICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdtaXJyb3InKVwiXG4gICAgPnt7IGlucHV0UmVmLnZhbHVlIH19PC9zcGFuXG4gID5cbjwvZGl2PlxuIl19
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW5wdXQvdGFncy1pbnB1dC90YWdzLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9pbnB1dC90YWdzLWlucHV0L3RhZ3MtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUVYLEtBQUssRUFJTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxVQUFVLEdBRVgsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBTyxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBRTdELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQztBQXFCbEQsTUFBTSxPQUFPLGtCQUNYLFNBQVEsaUJBQTJCO0lBeUduQyxZQUNFLEdBQXNCLEVBQ0wsRUFBZSxFQUNmLFFBQW1CLEVBQ25CLFFBQWtCLEVBQ25DLFVBQW1DO1FBRW5DLEtBQUssQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFMTixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBMUdyQyxRQUFHLEdBQVEsUUFBUSxDQUFDLGdCQUFnQixDQUFD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RTtnQkFJM0MsWUFBWTtzQkFEZixXQUFXO3VCQUFDLGdCQUFnQjtnQkFNekIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXN5bmNWYWxpZGF0b3JGbixcbiAgRm9ybUJ1aWxkZXIsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBOZ0NvbnRyb2wsXG4gIFZhbGlkYXRvckZuLFxuICBWYWxpZGF0b3JzLFxuICBGb3JtQ29udHJvbCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDb21tb25Gb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uL2Zvcm0nO1xuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEJlbSwgYnVpbGRCZW0gfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmltcG9ydCB7IGNyZWF0ZVdpdGhNYXhSb3dDb3VudCB9IGZyb20gJy4vd2l0aC1tYXgtcm93LWNvdW50JztcblxuZXhwb3J0IGNvbnN0IElOUFVUX0VSUk9SX0tFWSA9ICdpbnB1dF9kYXRhX2Vycm9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXRhZ3MtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFncy1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW1xuICAgICcuLi8uLi9pbnB1dC9pbnB1dC5jb21wb25lbnQuc2NzcycsXG4gICAgJy4uLy4uL3RhZy90YWcuY29tcG9uZW50LnNjc3MnLFxuICAgICcuL3RhZ3MtaW5wdXQuY29tcG9uZW50LnNjc3MnLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGFnc0lucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhZ3NJbnB1dENvbXBvbmVudFxuICBleHRlbmRzIENvbW1vbkZvcm1Db250cm9sPHN0cmluZ1tdPlxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlc1xue1xuICBiZW06IEJlbSA9IGJ1aWxkQmVtKCdhdWktdGFncy1pbnB1dCcpO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgQElucHV0KClcbiAgc2l6ZTogQ29tcG9uZW50U2l6ZSA9IENvbXBvbmVudFNpemUuTWVkaXVtO1xuXG4gIC8vIFRPRE86IGltcGxlbWVudCB0aGlzIGZlYXR1cmVcbiAgQElucHV0KClcbiAgY2xlYXJhYmxlOiBib29sZWFuIHwgJycgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBhbGxvd1JlcGVhdDogYm9vbGVhbiB8ICcnID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgYWxsb3dFbXB0eTogYm9vbGVhbiB8ICcnID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcmVhZG9ubHlUYWdzOiBzdHJpbmdbXSB8IHJlYWRvbmx5IHN0cmluZ1tdID0gW107XG5cbiAgQElucHV0KClcbiAgbWF4Um93Q291bnQgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIGN1c3RvbVJvd0hlaWdodCA9IDA7IC8vIDA6IHVzZSBkZWZhdWx0IHN0eWxlIGNvbnN0IHZhbHVlLCA+IDE6IGZvciBgYGB0YWdDbGFzc0ZuYGBgIG1heWJlIGFmZmVjdCBsaW5lSGVpZ2h0XG5cbiAgX2lucHV0VmFsaWRhdG9yOiBWYWxpZGF0b3JGbjtcbiAgX2lucHV0QXN5bmNWYWxpZGF0b3I6IEFzeW5jVmFsaWRhdG9yRm47XG5cbiAgQElucHV0KClcbiAgc2V0IGlucHV0VmFsaWRhdG9yKGZuOiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10pIHtcbiAgICB0aGlzLl9pbnB1dFZhbGlkYXRvciA9IEFycmF5LmlzQXJyYXkoZm4pID8gVmFsaWRhdG9ycy5jb21wb3NlKGZuKSA6IGZuO1xuICB9XG5cbiAgZ2V0IGlucHV0VmFsaWRhdG9yKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFZhbGlkYXRvcjtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBpbnB1dEFzeW5jVmFsaWRhdG9yKGZuOiBBc3luY1ZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbltdKSB7XG4gICAgdGhpcy5faW5wdXRBc3luY1ZhbGlkYXRvciA9IEFycmF5LmlzQXJyYXkoZm4pXG4gICAgICA/IFZhbGlkYXRvcnMuY29tcG9zZUFzeW5jKGZuKVxuICAgICAgOiBmbjtcbiAgfVxuXG4gIGdldCBpbnB1dEFzeW5jVmFsaWRhdG9yKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dEFzeW5jVmFsaWRhdG9yO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBpbnB1dFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdpbnB1dFZhbHVlTWlycm9yJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgaW5wdXRWYWx1ZU1pcnJvcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb3NpdGlvbicpXG4gIGdldCBob3N0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMud2l0aE1heFJvd0NvdW50Lmhvc3RQb3NpdGlvbigpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JylcbiAgZ2V0IGhvc3REaXNwbGF5KCkge1xuICAgIHJldHVybiB0aGlzLndpdGhNYXhSb3dDb3VudC5ob3N0RGlzcGxheSgpO1xuICB9XG5cbiAgZ2V0IG1heEhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy53aXRoTWF4Um93Q291bnQubWF4SGVpZ2h0KCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHdpdGhNYXhSb3dDb3VudCA9IGNyZWF0ZVdpdGhNYXhSb3dDb3VudCh0aGlzKTtcblxuICBmb2N1c2VkID0gZmFsc2U7XG4gIG92ZXJyaWRlIG1vZGVsOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8vIOWGhee9rmZvcm0gY29udHJvbO+8jOS7heS9nOagoemqjOS9v+eUqFxuICByZWFkb25seSBpbnB1dENvbnRyb2w6IEZvcm1Db250cm9sO1xuICAvLyDlpJblsYIgRm9ybUNvbnRyb2zvvIzmiYDmnInnmoTmoKHpqozpgLvovpHpkojlr7novpPlhaXmlbDmja5cbiAgY29udHJvbENvbnRhaW5lcjogTmdDb250cm9sO1xuXG4gIGdldCByb290Q2xhc3MoKSB7XG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMuc2l6ZSB8fCBDb21wb25lbnRTaXplLk1lZGl1bTtcbiAgICByZXR1cm4gYGF1aS1pbnB1dCAke3RoaXMuYmVtLmJsb2NrKHNpemUpfSAke1xuICAgICAgdGhpcy5kaXNhYmxlZCA/ICdpc0Rpc2FibGVkJyA6ICcnXG4gICAgfSAke3RoaXMuZm9jdXNlZCA/ICdpc0ZvY3VzZWQnIDogJyd9ICR7XG4gICAgICB0aGlzLmNsZWFyYWJsZSA/ICdpc0NsZWFyYWJsZScgOiAnJ1xuICAgIH0gJHt0aGlzLm1heFJvd0NvdW50ID4gMCA/ICd3aXRoSGVpZ2h0TGltaXQnIDogJyd9YDtcbiAgfVxuXG4gIGdldCB0YWdTaXplKCkge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09IENvbXBvbmVudFNpemUuTGFyZ2VcbiAgICAgID8gQ29tcG9uZW50U2l6ZS5NZWRpdW1cbiAgICAgIDogQ29tcG9uZW50U2l6ZS5NaW5pO1xuICB9XG5cbiAgZ2V0IGlucHV0Q2xhc3MoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuYmVtLmVsZW1lbnQoJ2lucHV0Jywge1xuICAgICAgaGlkZGVuOlxuICAgICAgICB0aGlzLmRpc2FibGVkIHx8ICghdGhpcy5mb2N1c2VkICYmICF0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50LnZhbHVlKSxcbiAgICB9KX0gYXVpLXRhZyBhdWktdGFnLS0ke3RoaXMudGFnU2l6ZX1gO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICkge1xuICAgIHN1cGVyKGNkciwgZWxlbWVudFJlZik7XG4gICAgdGhpcy5pbnB1dENvbnRyb2wgPSB0aGlzLmZiLmNvbnRyb2woJycpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoe1xuICAgIGlucHV0VmFsaWRhdG9yLFxuICAgIGlucHV0QXN5bmNWYWxpZGF0b3IsXG4gICAgZGlzYWJsZWQsXG4gIH06IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaW5wdXRDb250cm9sW2Rpc2FibGVkLmN1cnJlbnRWYWx1ZSA/ICdkaXNhYmxlJyA6ICdlbmFibGUnXSh7XG4gICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGlucHV0VmFsaWRhdG9yKSB7XG4gICAgICB0aGlzLmlucHV0Q29udHJvbC5zZXRWYWxpZGF0b3JzKHRoaXMuaW5wdXRWYWxpZGF0b3IpO1xuICAgIH1cbiAgICBpZiAoaW5wdXRBc3luY1ZhbGlkYXRvcikge1xuICAgICAgdGhpcy5pbnB1dENvbnRyb2wuc2V0QXN5bmNWYWxpZGF0b3JzKHRoaXMuaW5wdXRBc3luY1ZhbGlkYXRvcik7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuY29udHJvbENvbnRhaW5lciA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCwgbnVsbCk7XG4gIH1cblxuICBvblJlbW92ZShpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5tb2RlbFtpbmRleF07XG4gICAgaWYgKHRhcmdldCAmJiB0aGlzLnJlYWRvbmx5VGFncy5pbmNsdWRlcyh0YXJnZXQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZW1pdFZhbHVlKHRoaXMubW9kZWwuZmlsdGVyKChfLCBpKSA9PiBpICE9PSBpbmRleCkpO1xuICB9XG5cbiAgb25JbnB1dCgpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICAvLyBtYWtlIHN1cmUgdmFsdWUgc3luYyB0byBzcGFuIGVsZW1lbnRcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaWYgKCF2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgJ3dpZHRoJyxcbiAgICAgICAgICB0aGlzLmlucHV0VmFsdWVNaXJyb3IubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCArICdweCcsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKFxuICAgICAgdGhpcy5jb250cm9sQ29udGFpbmVyPy5jb250cm9sPy5lcnJvcnM/LltJTlBVVF9FUlJPUl9LRVldICYmXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmNvbnRyb2xDb250YWluZXIuY29udHJvbC5lcnJvcnMpLmxlbmd0aCA9PT0gMVxuICAgICkge1xuICAgICAgdGhpcy5jb250cm9sQ29udGFpbmVyLmNvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IGlucHV0RWwgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJyAmJiBpbnB1dEVsLnZhbHVlID09PSAnJykge1xuICAgICAgdGhpcy5vblJlbW92ZSh0aGlzLm1vZGVsLmxlbmd0aCAtIDEpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnB1c2hWYWx1ZShpbnB1dEVsLnZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXRGb2N1cygpIHtcbiAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xuICB9XG5cbiAgb25JbnB1dEJsdXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgdGhpcy5wdXNoVmFsdWUoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSk7XG4gICAgaWYgKHRoaXMub25Ub3VjaGVkKSB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHRyYWNrQnlWYWx1ZShfOiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsdWVJbih2OiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICB0aGlzLmNsZWFySW5wdXQoKTtcbiAgICByZXR1cm4gdGhpcy5zb3J0QnlSZWFkb25seSh2IHx8IFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgc29ydEJ5UmVhZG9ubHkoaXRlbXM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIHRoaXMucmVhZG9ubHlUYWdzLmxlbmd0aFxuICAgICAgPyBbXG4gICAgICAgICAgLi4uaXRlbXMucmVkdWNlKFxuICAgICAgICAgICAgKGFjYywgY3VycikgPT4gYWNjLmFkZChjdXJyKSxcbiAgICAgICAgICAgIG5ldyBTZXQodGhpcy5yZWFkb25seVRhZ3MpLFxuICAgICAgICAgICksXG4gICAgICAgIF1cbiAgICAgIDogaXRlbXM7XG4gIH1cblxuICBwcml2YXRlIHB1c2hWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLmFsbG93RW1wdHkgJiYgIXZhbHVlKSB7XG4gICAgICB0aGlzLnJlbW92ZUlucHV0Q29udHJvbEVycm9yKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5hbGxvd1JlcGVhdCAmJiB0aGlzLm1vZGVsLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlucHV0Q29udHJvbC5zZXRWYWx1ZSh0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuICAgIC8vIGlucHV0Q29udHJvbCDoh6rouqvnmoTnirbmgIHkuLrlkIzmraXorqHnrpdcbiAgICB0aGlzLnN5bmNDb250cm9sU3RhdHVzKCk7XG4gICAgaWYgKHRoaXMuaW5wdXRDb250cm9sLnZhbGlkKSB7XG4gICAgICB0aGlzLmVtaXRWYWx1ZSh0aGlzLm1vZGVsLmNvbmNhdCh2YWx1ZSkpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pbnB1dENvbnRyb2wucGVuZGluZykge1xuICAgICAgLy8gUEVORElORyDlkI7lj6rkvJrlj5jkuLogVkFMSUQg5oiWIElOVkFMSUQg55qE5Yaz6K6u54q25oCBXG4gICAgICB0aGlzLmlucHV0Q29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICB0aGlzLnN5bmNDb250cm9sU3RhdHVzKCk7XG4gICAgICAgIGlmICh0aGlzLmlucHV0Q29udHJvbC52YWxpZCkge1xuICAgICAgICAgIHRoaXMuZW1pdFZhbHVlKHRoaXMubW9kZWwuY29uY2F0KHZhbHVlKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3luY0NvbnRyb2xTdGF0dXMoKSB7XG4gICAgY29uc3QgeyBwZW5kaW5nLCB2YWxpZCwgaW52YWxpZCwgZGlzYWJsZWQsIGVycm9ycyB9ID0gdGhpcy5pbnB1dENvbnRyb2w7XG4gICAgaWYgKHZhbGlkKSB7XG4gICAgICB0aGlzLnJlbW92ZUlucHV0Q29udHJvbEVycm9yKCk7XG4gICAgICB0aGlzLmNvbnRyb2xDb250YWluZXI/LmNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICB9IGVsc2UgaWYgKHBlbmRpbmcpIHtcbiAgICAgIHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbC5tYXJrQXNQZW5kaW5nKCk7XG4gICAgfSBlbHNlIGlmIChpbnZhbGlkKSB7XG4gICAgICB0aGlzLmNvbnRyb2xDb250YWluZXI/LmNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICAgIHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbC5zZXRFcnJvcnMoe1xuICAgICAgICAuLi50aGlzLmNvbnRyb2xDb250YWluZXI/LmNvbnRyb2w/LmVycm9ycyxcbiAgICAgICAgW0lOUFVUX0VSUk9SX0tFWV06IGVycm9ycyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoZGlzYWJsZWQpIHtcbiAgICAgIC8vIOS4juW9k+WJjSBpbnB1dCDmoKHpqozohLHnprtcbiAgICAgIHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlSW5wdXRDb250cm9sRXJyb3IoKSB7XG4gICAgbGV0IGVycm9ycyA9IHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbC5lcnJvcnM7XG4gICAgaWYgKGVycm9ycz8uW0lOUFVUX0VSUk9SX0tFWV0pIHtcbiAgICAgIGRlbGV0ZSBlcnJvcnNbSU5QVVRfRVJST1JfS0VZXTtcbiAgICB9XG4gICAgaWYgKE9iamVjdC5rZXlzKGVycm9ycyB8fCB7fSkubGVuZ3RoID09PSAwKSB7XG4gICAgICBlcnJvcnMgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLmNvbnRyb2xDb250YWluZXI/LmNvbnRyb2wuc2V0RXJyb3JzKGVycm9ycyk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFySW5wdXQoKSB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcpO1xuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIHRoaXMuaW5wdXRDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgfVxufVxuIiwiPGRpdlxuICBbY2xhc3NdPVwicm9vdENsYXNzXCJcbiAgKG1vdXNlZG93bik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gIChjbGljayk9XCJpbnB1dFJlZi5mb2N1cygpXCJcbiAgW3N0eWxlLm1heC1oZWlnaHRdPVwibWF4SGVpZ2h0XCJcbj5cbiAgPHNwYW5cbiAgICBbaGlkZGVuXT1cIm1vZGVsLmxlbmd0aCB8fCBpbnB1dFJlZi52YWx1ZS5sZW5ndGhcIlxuICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgncGxhY2Vob2xkZXInKVwiXG4gID5cbiAgICB7eyBwbGFjZWhvbGRlciB9fVxuICA8L3NwYW4+XG4gIDxhdWktdGFnXG4gICAgKm5nRm9yPVwibGV0IHRhZyBvZiBtb2RlbDsgbGV0IGluZGV4ID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlWYWx1ZVwiXG4gICAgdHlwZT1cImluZm9cIlxuICAgIFt0aXRsZV09XCJ0YWdcIlxuICAgIFtzaXplXT1cInRhZ1NpemVcIlxuICAgIFtyb3VuZF09XCJ0cnVlXCJcbiAgICBbYm9yZGVyXT1cInRydWVcIlxuICAgIFtjbG9zZWFibGVdPVwiIShkaXNhYmxlZCB8fCByZWFkb25seVRhZ3MuaW5jbHVkZXModGFnKSlcIlxuICAgIChjbG9zZSk9XCJvblJlbW92ZShpbmRleClcIlxuICA+XG4gICAge3sgdGFnIH19XG4gIDwvYXVpLXRhZz5cbiAgPGlucHV0XG4gICAgI2lucHV0UmVmXG4gICAgW2NsYXNzXT1cImlucHV0Q2xhc3NcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAoZm9jdXMpPVwib25JbnB1dEZvY3VzKClcIlxuICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKCRldmVudClcIlxuICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgICAoaW5wdXQpPVwib25JbnB1dCgpXCJcbiAgLz5cbiAgPHNwYW5cbiAgICAjaW5wdXRWYWx1ZU1pcnJvclxuICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnbWlycm9yJylcIlxuICAgID57eyBpbnB1dFJlZi52YWx1ZSB9fTwvc3BhblxuICA+XG48L2Rpdj5cbiJdfQ==