@ethlete/cdk 2.3.2 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/esm2022/lib/components/accordion/components/accordion-group/accordion-group.component.mjs +6 -6
  3. package/esm2022/lib/components/button/directives/button/button.directive.mjs +4 -5
  4. package/esm2022/lib/components/button/directives/query-button/query-button.directive.mjs +4 -5
  5. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.mjs +3 -4
  6. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.mjs +4 -4
  7. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.mjs +4 -4
  8. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group/checkbox-group.directive.mjs +6 -6
  9. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.mjs +4 -4
  10. package/esm2022/lib/components/forms/components/error/components/error/error.component.mjs +5 -5
  11. package/esm2022/lib/components/forms/components/input/components/email-input/email-input.component.mjs +3 -4
  12. package/esm2022/lib/components/forms/components/input/components/number-input/number-input.component.mjs +4 -5
  13. package/esm2022/lib/components/forms/components/input/components/password-input/password-input.component.mjs +4 -5
  14. package/esm2022/lib/components/forms/components/input/components/search-input/search-input.component.mjs +4 -5
  15. package/esm2022/lib/components/forms/components/input/components/text-input/text-input.component.mjs +4 -5
  16. package/esm2022/lib/components/forms/components/input/components/textarea-input/textarea-input.component.mjs +4 -5
  17. package/esm2022/lib/components/forms/components/input/directives/autosize-textarea/autosize-textarea.directive.mjs +4 -5
  18. package/esm2022/lib/components/forms/components/input/directives/email-input/email-input.directive.mjs +5 -5
  19. package/esm2022/lib/components/forms/components/input/directives/number-input/number-input.directive.mjs +5 -5
  20. package/esm2022/lib/components/forms/components/input/directives/password-input/password-input.directive.mjs +5 -5
  21. package/esm2022/lib/components/forms/components/input/directives/search-input/search-input.directive.mjs +5 -5
  22. package/esm2022/lib/components/forms/components/input/directives/text-input/text-input.directive.mjs +5 -5
  23. package/esm2022/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.mjs +5 -5
  24. package/esm2022/lib/components/forms/components/radio/directives/radio/radio.directive.mjs +5 -5
  25. package/esm2022/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.mjs +4 -4
  26. package/esm2022/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.mjs +4 -4
  27. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.mjs +4 -4
  28. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.mjs +4 -4
  29. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.mjs +5 -5
  30. package/esm2022/lib/components/forms/components/select/components/native-select/components/native-select/native-select.component.mjs +3 -4
  31. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-input/native-select-input.directive.mjs +5 -5
  32. package/esm2022/lib/components/forms/components/select/components/select/components/select/select.component.mjs +24 -12
  33. package/esm2022/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.mjs +11 -16
  34. package/esm2022/lib/components/forms/components/slider/components/slider/slider.component.mjs +6 -6
  35. package/esm2022/lib/components/forms/directives/if-input-empty/if-input-empty.directive.mjs +4 -5
  36. package/esm2022/lib/components/forms/directives/if-input-filled/if-input-filled.directive.mjs +4 -5
  37. package/esm2022/lib/components/forms/directives/input/input.directive.mjs +6 -6
  38. package/esm2022/lib/components/forms/directives/static-form-field/static-form-field.directive.mjs +3 -5
  39. package/esm2022/lib/components/forms/directives/writeable-input/writeable-input.directive.mjs +2 -4
  40. package/esm2022/lib/components/forms/utils/decorated-input.base.mjs +3 -3
  41. package/esm2022/lib/components/masonry/components/masonry/masonry.component.mjs +5 -5
  42. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-drag-handle/bottom-sheet-drag-handle.component.mjs +5 -5
  43. package/esm2022/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.mjs +41 -107
  44. package/esm2022/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.mjs +41 -117
  45. package/esm2022/lib/components/scrollable/components/scrollable/scrollable.component.mjs +55 -8
  46. package/esm2022/lib/components/tabs/components/nav-tabs/nav-tabs.component.mjs +1 -1
  47. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-header/inline-tab-header.component.mjs +1 -1
  48. package/esm2022/lib/components/tabs/utils/paginated-tab-header.directive.mjs +3 -4
  49. package/fesm2022/ethlete-cdk.mjs +290 -389
  50. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  51. package/lib/components/forms/components/select/components/select/components/select/select.component.d.ts +5 -1
  52. package/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.d.ts +2 -0
  53. package/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.d.ts +11 -18
  54. package/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.d.ts +6 -17
  55. package/lib/components/scrollable/components/scrollable/scrollable.component.d.ts +13 -5
  56. package/lib/components/tabs/utils/paginated-tab-header.directive.d.ts +1 -2
  57. package/package.json +3 -4
@@ -1,11 +1,11 @@
1
1
  import { Directive, inject, TemplateRef, ViewContainerRef } from '@angular/core';
2
- import { DestroyService } from '@ethlete/core';
2
+ import { createDestroy } from '@ethlete/core';
3
3
  import { distinctUntilChanged, takeUntil, tap } from 'rxjs';
4
4
  import { INPUT_TOKEN } from '../input';
5
5
  import * as i0 from "@angular/core";
6
6
  class IfInputFilledDirective {
7
7
  constructor() {
8
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
8
+ this._destroy$ = createDestroy();
9
9
  this._input = inject(INPUT_TOKEN);
10
10
  this._templateRef = inject(TemplateRef);
11
11
  this._viewContainerRef = inject(ViewContainerRef);
@@ -28,7 +28,7 @@ class IfInputFilledDirective {
28
28
  .subscribe();
29
29
  }
30
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IfInputFilledDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IfInputFilledDirective, isStandalone: true, selector: "[etIfInputFilled]", providers: [DestroyService], ngImport: i0 }); }
31
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IfInputFilledDirective, isStandalone: true, selector: "[etIfInputFilled]", ngImport: i0 }); }
32
32
  }
33
33
  export { IfInputFilledDirective };
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IfInputFilledDirective, decorators: [{
@@ -36,7 +36,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
36
36
  args: [{
37
37
  selector: '[etIfInputFilled]',
38
38
  standalone: true,
39
- providers: [DestroyService],
40
39
  }]
41
40
  }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtaW5wdXQtZmlsbGVkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9kaXJlY3RpdmVzL2lmLWlucHV0LWZpbGxlZC9pZi1pbnB1dC1maWxsZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRXZDLE1BS2Esc0JBQXNCO0lBTG5DO1FBTW1CLGNBQVMsR0FBRyxNQUFNLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzVELFdBQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0IsaUJBQVksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkMsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFdEQsbUJBQWMsR0FBRyxLQUFLLENBQUM7S0FxQmhDO0lBbkJDLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFDekIsb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWixJQUFJLEtBQUssRUFBRTtnQkFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtvQkFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDN0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7aUJBQzVCO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzs4R0ExQlUsc0JBQXNCO2tHQUF0QixzQkFBc0IsZ0VBRnRCLENBQUMsY0FBYyxDQUFDOztTQUVoQixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cm95U2VydmljZSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJTlBVVF9UT0tFTiB9IGZyb20gJy4uL2lucHV0JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2V0SWZJbnB1dEZpbGxlZF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIElmSW5wdXRGaWxsZWREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IGluamVjdChEZXN0cm95U2VydmljZSwgeyBob3N0OiB0cnVlIH0pLmRlc3Ryb3kkO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbnB1dCA9IGluamVjdChJTlBVVF9UT0tFTik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuICBwcml2YXRlIF9kaWRDcmVhdGVWaWV3ID0gZmFsc2U7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5faW5wdXQudmFsdWUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgdGFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9kaWRDcmVhdGVWaWV3KSB7XG4gICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX3RlbXBsYXRlUmVmKTtcbiAgICAgICAgICAgICAgdGhpcy5fZGlkQ3JlYXRlVmlldyA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgICAgIHRoaXMuX2RpZENyZWF0ZVZpZXcgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtaW5wdXQtZmlsbGVkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9kaXJlY3RpdmVzL2lmLWlucHV0LWZpbGxlZC9pZi1pbnB1dC1maWxsZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRXZDLE1BSWEsc0JBQXNCO0lBSm5DO1FBS21CLGNBQVMsR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUM1QixXQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25DLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXRELG1CQUFjLEdBQUcsS0FBSyxDQUFDO0tBcUJoQztJQW5CQyxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ2YsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQ3pCLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1osSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7b0JBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQzdELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2lCQUM1QjthQUNGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7YUFDN0I7UUFDSCxDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7OEdBMUJVLHNCQUFzQjtrR0FBdEIsc0JBQXNCOztTQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlRGVzdHJveSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJTlBVVF9UT0tFTiB9IGZyb20gJy4uL2lucHV0JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2V0SWZJbnB1dEZpbGxlZF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBJZklucHV0RmlsbGVkRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBjcmVhdGVEZXN0cm95KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2lucHV0ID0gaW5qZWN0KElOUFVUX1RPS0VOKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF92aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gIHByaXZhdGUgX2RpZENyZWF0ZVZpZXcgPSBmYWxzZTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9pbnB1dC52YWx1ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YXAoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2RpZENyZWF0ZVZpZXcpIHtcbiAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGVSZWYpO1xuICAgICAgICAgICAgICB0aGlzLl9kaWRDcmVhdGVWaWV3ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgICAgICAgdGhpcy5fZGlkQ3JlYXRlVmlldyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,8 +1,8 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
2
  import { AutofillMonitor } from '@angular/cdk/text-field';
3
- import { Directive, ElementRef, inject, InjectionToken, Input } from '@angular/core';
3
+ import { Directive, ElementRef, InjectionToken, Input, inject } from '@angular/core';
4
4
  import { FormControl, NgControl, Validators } from '@angular/forms';
5
- import { DestroyService, equal } from '@ethlete/core';
5
+ import { createDestroy, equal } from '@ethlete/core';
6
6
  import { filter, map, pairwise, startWith, takeUntil, tap } from 'rxjs';
7
7
  import { FormFieldStateService, InputStateService } from '../../services';
8
8
  import * as i0 from "@angular/core";
@@ -13,7 +13,7 @@ class InputDirective {
13
13
  this._inputStateService = inject(InputStateService);
14
14
  this._formFieldStateService = inject(FormFieldStateService);
15
15
  this._ngControl = inject(NgControl, { optional: true });
16
- this._destroy$ = inject(DestroyService).destroy$;
16
+ this._destroy$ = createDestroy();
17
17
  this._autofillMonitor = inject(AutofillMonitor);
18
18
  this._focusMonitor = inject(FocusMonitor);
19
19
  this._elementRef = inject(ElementRef);
@@ -211,7 +211,7 @@ class InputDirective {
211
211
  }
212
212
  }
213
213
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: InputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
214
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: InputDirective, isStandalone: true, selector: "[etInput]", inputs: { autocomplete: "autocomplete", placeholder: "placeholder" }, host: { properties: { "attr.autocomplete": "null" }, classAttribute: "et-input" }, providers: [{ provide: INPUT_TOKEN, useExisting: InputDirective }, DestroyService], exportAs: ["etInput"], ngImport: i0 }); }
214
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: InputDirective, isStandalone: true, selector: "[etInput]", inputs: { autocomplete: "autocomplete", placeholder: "placeholder" }, host: { properties: { "attr.autocomplete": "null" }, classAttribute: "et-input" }, providers: [{ provide: INPUT_TOKEN, useExisting: InputDirective }], exportAs: ["etInput"], ngImport: i0 }); }
215
215
  }
216
216
  export { InputDirective };
217
217
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: InputDirective, decorators: [{
@@ -224,11 +224,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
224
224
  class: 'et-input',
225
225
  '[attr.autocomplete]': 'null',
226
226
  },
227
- providers: [{ provide: INPUT_TOKEN, useExisting: InputDirective }, DestroyService],
227
+ providers: [{ provide: INPUT_TOKEN, useExisting: InputDirective }],
228
228
  }]
229
229
  }], propDecorators: { autocomplete: [{
230
230
  type: Input
231
231
  }], placeholder: [{
232
232
  type: Input
233
233
  }] } });
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvaW5wdXQvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBbUIsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRzFFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsMEJBQTBCLENBQUMsQ0FBQztBQUUxRixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFFckIsTUFVYSxjQUFjO0lBVjNCO1FBZW1CLHVCQUFrQixHQUFHLE1BQU0sQ0FBMEIsaUJBQWlCLENBQUMsQ0FBQztRQUN4RSwyQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN2RCxlQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFD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QVc7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBBdXRvZmlsbE1vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvdGV4dC1maWVsZCc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgTmdDb250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGVzdHJveVNlcnZpY2UsIGVxdWFsIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgcGFpcndpc2UsIHN0YXJ0V2l0aCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1GaWVsZFN0YXRlU2VydmljZSwgSW5wdXRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBOYXRpdmVJbnB1dFJlZkRpcmVjdGl2ZSB9IGZyb20gJy4uL25hdGl2ZS1pbnB1dC1yZWYnO1xuXG5leHBvcnQgY29uc3QgSU5QVVRfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SW5wdXREaXJlY3RpdmU+KCdFVF9JTlBVVF9ESVJFQ1RJVkVfVE9LRU4nKTtcblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tldElucHV0XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGV4cG9ydEFzOiAnZXRJbnB1dCcsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LWlucHV0JyxcbiAgICAnW2F0dHIuYXV0b2NvbXBsZXRlXSc6ICdudWxsJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBJTlBVVF9UT0tFTiwgdXNlRXhpc3Rpbmc6IElucHV0RGlyZWN0aXZlIH0sIERlc3Ryb3lTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXREaXJlY3RpdmU8XG4gIFQgPSB1bmtub3duLFxuICBKIGV4dGVuZHMgSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCA9IEhUTUxJbnB1dEVsZW1lbnQsXG4+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRTdGF0ZVNlcnZpY2UgPSBpbmplY3Q8SW5wdXRTdGF0ZVNlcnZpY2U8VCwgSj4+KElucHV0U3RhdGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybUZpZWxkU3RhdGVTZXJ2aWNlID0gaW5qZWN0KEZvcm1GaWVsZFN0YXRlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gaW5qZWN0KERlc3Ryb3lTZXJ2aWNlKS5kZXN0cm95JDtcbiAgcHJpdmF0ZSByZWFkb25seSBfYXV0b2ZpbGxNb25pdG9yID0gaW5qZWN0KEF1dG9maWxsTW9uaXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZvY3VzTW9uaXRvciA9IGluamVjdChGb2N1c01vbml0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuICBwcml2YXRlIF9jb250cm9sITogQWJzdHJhY3RDb250cm9sO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lkID0gYGV0LWlucHV0LSR7KytuZXh0VW5pcXVlSWR9YDtcblxuICBASW5wdXQoKVxuICBhdXRvY29tcGxldGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgZ2V0IHZhbHVlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudmFsdWUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS52YWx1ZSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldCB2YWx1ZUNoYW5nZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnZhbHVlQ2hhbmdlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmRpc2FibGVkJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZGlzYWJsZWQkLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgZGlzYWJsZWRDaGFuZ2UkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5kaXNhYmxlZENoYW5nZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgcmVxdWlyZWQkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5yZXF1aXJlZCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgcmVxdWlyZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnJlcXVpcmVkJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IHJlcXVpcmVkQ2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UucmVxdWlyZWRDaGFuZ2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGxhYmVsSWQkKCkge1xuICAgIHJldHVybiB0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UubGFiZWxJZCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgbGFiZWxJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmxhYmVsSWQkLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgaW52YWxpZCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRyb2wuc3RhdHVzQ2hhbmdlcz8ucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLl9jb250cm9sLnN0YXR1cyksXG4gICAgICBtYXAoKHMpID0+IHMgPT09ICdJTlZBTElEJyksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBpbnZhbGlkKCkge1xuICAgIHJldHVybiB0aGlzLl9jb250cm9sLmludmFsaWQ7XG4gIH1cblxuICBnZXQgdXNlc0ltcGxpY2l0Q29udHJvbCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnVzZXNJbXBsaWNpdENvbnRyb2wkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHVzZXNJbXBsaWNpdENvbnRyb2woKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnVzZXNJbXBsaWNpdENvbnRyb2wkLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgbmF0aXZlSW5wdXRSZWYkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5uYXRpdmVJbnB1dFJlZiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgbmF0aXZlSW5wdXRSZWYoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLm5hdGl2ZUlucHV0UmVmJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGF1dG9maWxsZWQkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5hdXRvZmlsbGVkJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBhdXRvZmlsbGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5hdXRvZmlsbGVkJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGVycm9ycyQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmVycm9ycyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgZXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5lcnJvcnMkLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgc2hvdWxkRGlzcGxheUVycm9yJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9yJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzaG91bGREaXNwbGF5RXJyb3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnNob3VsZERpc3BsYXlFcnJvciQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldCBpc0ZvY3VzZWRWaWEkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5pc0ZvY3VzZWRWaWEkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGlzRm9jdXNlZFZpYSgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuaXNGb2N1c2VkVmlhJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGVycm9ySWQkKCkge1xuICAgIHJldHVybiB0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UuZXJyb3JJZCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgZXJyb3JJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmVycm9ySWQkLmdldFZhbHVlKCk7XG4gIH1cblxuICByZWFkb25seSBkZXNjcmliZWRCeSQgPSB0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UuZGVzY3JpYmVkQnkkO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRyb2wgPSB0aGlzLl9uZ0NvbnRyb2w/LmNvbnRyb2wgPz8gbmV3IEZvcm1Db250cm9sKCk7XG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudXNlc0ltcGxpY2l0Q29udHJvbCQubmV4dCghdGhpcy5fbmdDb250cm9sPy5jb250cm9sKTtcblxuICAgIHRoaXMuX2NvbnRyb2wuc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLl9jb250cm9sLnN0YXR1cyksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLl9jb250cm9sLmVycm9ycyksXG4gICAgICAgIGZpbHRlcigoZXJyb3JzKSA9PiAhZXF1YWwoZXJyb3JzLCB0aGlzLmVycm9ycykpLFxuICAgICAgICB0YXAoKGVycm9ycykgPT4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZXJyb3JzJC5uZXh0KGVycm9ycykpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5fY29udHJvbC5zdGF0dXNDaGFuZ2VzXG4gICAgICA/LnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLl9jb250cm9sLnN0YXR1cyksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLl9kZXRlY3RDb250cm9sUmVxdWlyZWRWYWxpZGF0aW9uQ2hhbmdlcygpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2RldGVjdENvbnRyb2xEaXNhYmxlZENoYW5nZXMoKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9jb250cm9sLnZhbHVlQ2hhbmdlcz8ucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLl91cGRhdGVWYWx1ZSh2YWx1ZSkpO1xuXG4gICAgdGhpcy5uYXRpdmVJbnB1dFJlZiRcbiAgICAgIC5waXBlKFxuICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICB0YXAoKFtwcmV2aW91c05hdGl2ZUlucHV0UmVmLCBjdXJyZW50TmF0aXZlSW5wdXRSZWZdKSA9PiB7XG4gICAgICAgICAgaWYgKHByZXZpb3VzTmF0aXZlSW5wdXRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuX2F1dG9maWxsTW9uaXRvci5zdG9wTW9uaXRvcmluZyhwcmV2aW91c05hdGl2ZUlucHV0UmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGN1cnJlbnROYXRpdmVJbnB1dFJlZikge1xuICAgICAgICAgICAgdGhpcy5fYXV0b2ZpbGxNb25pdG9yXG4gICAgICAgICAgICAgIC5tb25pdG9yKGN1cnJlbnROYXRpdmVJbnB1dFJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB0aGlzLl9zZXRBdXRvZmlsbGVkKGV2ZW50LmlzQXV0b2ZpbGxlZCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRBdXRvZmlsbGVkKGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5fZm9jdXNNb25pdG9yXG4gICAgICAubW9uaXRvcih0aGlzLl9lbGVtZW50UmVmLCB0cnVlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgob3JpZ2luKSA9PiB7XG4gICAgICAgICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuaXNGb2N1c2VkVmlhJC5uZXh0KG9yaWdpbik7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmF0aXZlSW5wdXRSZWYpIHtcbiAgICAgIHRoaXMuX2F1dG9maWxsTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLm5hdGl2ZUlucHV0UmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgZm9jdXNJbnB1dFZpYShvcmlnaW46IEZvY3VzT3JpZ2luID0gJ3Byb2dyYW0nKSB7XG4gICAgY29uc3QgaW5wdXRFbCA9IHRoaXMubmF0aXZlSW5wdXRSZWY/LmVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBpZiAoaW5wdXRFbCkge1xuICAgICAgdGhpcy5fZm9jdXNNb25pdG9yLmZvY3VzVmlhKGlucHV0RWwsIG9yaWdpbik7XG4gICAgfVxuICB9XG5cbiAgX3VwZGF0ZVZhbHVlKHZhbHVlOiBULCBvcHRpb25zOiB7IGVtaXRFdmVudD86IGJvb2xlYW4gfSA9IHt9KSB7XG4gICAgaWYgKHZhbHVlID09PSB0aGlzLnZhbHVlIHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGVtaXRFdmVudCA9IHRydWUgfSA9IG9wdGlvbnM7XG5cbiAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS52YWx1ZSQubmV4dCh2YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5fY29udHJvbC52YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLl92YWx1ZUNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGVtaXRFdmVudCkge1xuICAgICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudmFsdWVDaGFuZ2UkLm5leHQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIF91cGRhdGVEaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmRpc2FibGVkJC5uZXh0KHZhbHVlKTtcbiAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5kaXNhYmxlZENoYW5nZSQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBfbWFya0FzVG91Y2hlZCgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLl9jb250cm9sLnRvdWNoZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5fdG91Y2hlZCgpO1xuICB9XG5cbiAgX3NldE5hdGl2ZUlucHV0UmVmKHJlZjogTmF0aXZlSW5wdXRSZWZEaXJlY3RpdmU8Sj4gfCBudWxsKSB7XG4gICAgaWYgKHRoaXMubmF0aXZlSW5wdXRSZWYgPT09IHJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLm5hdGl2ZUlucHV0UmVmJC5uZXh0KHJlZik7XG4gIH1cblxuICBfc2V0QXV0b2ZpbGxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmF1dG9maWxsZWQgPT09IHZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuYXV0b2ZpbGxlZCQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBfc2V0U2hvdWxkRGlzcGxheUVycm9yKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuc2hvdWxkRGlzcGxheUVycm9yID09PSB2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnNob3VsZERpc3BsYXlFcnJvciQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9kZXRlY3RDb250cm9sUmVxdWlyZWRWYWxpZGF0aW9uQ2hhbmdlcygpIHtcbiAgICBjb25zdCBoYXNSZXF1aXJlZCA9IHRoaXMuX2NvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpID8/IGZhbHNlO1xuICAgIGNvbnN0IGhhc1JlcXVpcmVkVHJ1ZSA9IHRoaXMuX2NvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlKSA/PyBmYWxzZTtcblxuICAgIGNvbnN0IGlzUmVxdWlyZWQgPSBoYXNSZXF1aXJlZCB8fCBoYXNSZXF1aXJlZFRydWU7XG5cbiAgICBpZiAoaXNSZXF1aXJlZCAhPT0gdGhpcy5yZXF1aXJlZCkge1xuICAgICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UucmVxdWlyZWQkLm5leHQoaXNSZXF1aXJlZCk7XG4gICAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5yZXF1aXJlZENoYW5nZSQubmV4dChpc1JlcXVpcmVkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kZXRlY3RDb250cm9sRGlzYWJsZWRDaGFuZ2VzKCkge1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSB0aGlzLl9jb250cm9sLmRpc2FibGVkO1xuXG4gICAgaWYgKGlzRGlzYWJsZWQgIT09IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmRpc2FibGVkJC5uZXh0KGlzRGlzYWJsZWQpO1xuICAgICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZGlzYWJsZWRDaGFuZ2UkLm5leHQoaXNEaXNhYmxlZCk7XG4gICAgfVxuICB9XG59XG4iXX0=
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvaW5wdXQvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBbUIsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRzFFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsMEJBQTBCLENBQUMsQ0FBQztBQUUxRixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFFckIsTUFVYSxjQUFjO0lBVjNCO1FBZW1CLHVCQUFrQixHQUFHLE1BQU0sQ0FBMEIsaUJBQWlCLENBQUMsQ0FBQztRQUN4RSwyQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN2RCxlQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFD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IHsgRm9jdXNNb25pdG9yLCBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEF1dG9maWxsTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXh0LWZpZWxkJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0aW9uVG9rZW4sIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBOZ0NvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjcmVhdGVEZXN0cm95LCBlcXVhbCB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHBhaXJ3aXNlLCBzdGFydFdpdGgsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb3JtRmllbGRTdGF0ZVNlcnZpY2UsIElucHV0U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgTmF0aXZlSW5wdXRSZWZEaXJlY3RpdmUgfSBmcm9tICcuLi9uYXRpdmUtaW5wdXQtcmVmJztcblxuZXhwb3J0IGNvbnN0IElOUFVUX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPElucHV0RGlyZWN0aXZlPignRVRfSU5QVVRfRElSRUNUSVZFX1RPS0VOJyk7XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZXRJbnB1dF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBleHBvcnRBczogJ2V0SW5wdXQnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1pbnB1dCcsXG4gICAgJ1thdHRyLmF1dG9jb21wbGV0ZV0nOiAnbnVsbCcsXG4gIH0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogSU5QVVRfVE9LRU4sIHVzZUV4aXN0aW5nOiBJbnB1dERpcmVjdGl2ZSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXREaXJlY3RpdmU8XG4gIFQgPSB1bmtub3duLFxuICBKIGV4dGVuZHMgSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCA9IEhUTUxJbnB1dEVsZW1lbnQsXG4+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRTdGF0ZVNlcnZpY2UgPSBpbmplY3Q8SW5wdXRTdGF0ZVNlcnZpY2U8VCwgSj4+KElucHV0U3RhdGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybUZpZWxkU3RhdGVTZXJ2aWNlID0gaW5qZWN0KEZvcm1GaWVsZFN0YXRlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gY3JlYXRlRGVzdHJveSgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hdXRvZmlsbE1vbml0b3IgPSBpbmplY3QoQXV0b2ZpbGxNb25pdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9jdXNNb25pdG9yID0gaW5qZWN0KEZvY3VzTW9uaXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gIHByaXZhdGUgX2NvbnRyb2whOiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaWQgPSBgZXQtaW5wdXQtJHsrK25leHRVbmlxdWVJZH1gO1xuXG4gIEBJbnB1dCgpXG4gIGF1dG9jb21wbGV0ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXI6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGdldCBpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cblxuICBnZXQgdmFsdWUkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS52YWx1ZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnZhbHVlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IHZhbHVlQ2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudmFsdWVDaGFuZ2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZGlzYWJsZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5kaXNhYmxlZCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZENoYW5nZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmRpc2FibGVkQ2hhbmdlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCByZXF1aXJlZCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnJlcXVpcmVkJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCByZXF1aXJlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UucmVxdWlyZWQkLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgcmVxdWlyZWRDaGFuZ2UkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5yZXF1aXJlZENoYW5nZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgbGFiZWxJZCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1GaWVsZFN0YXRlU2VydmljZS5sYWJlbElkJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBsYWJlbElkKCkge1xuICAgIHJldHVybiB0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UubGFiZWxJZCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldCBpbnZhbGlkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY29udHJvbC5zdGF0dXNDaGFuZ2VzPy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuX2NvbnRyb2wuc3RhdHVzKSxcbiAgICAgIG1hcCgocykgPT4gcyA9PT0gJ0lOVkFMSUQnKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IGludmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRyb2wuaW52YWxpZDtcbiAgfVxuXG4gIGdldCB1c2VzSW1wbGljaXRDb250cm9sJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudXNlc0ltcGxpY2l0Q29udHJvbCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgdXNlc0ltcGxpY2l0Q29udHJvbCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudXNlc0ltcGxpY2l0Q29udHJvbCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldCBuYXRpdmVJbnB1dFJlZiQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLm5hdGl2ZUlucHV0UmVmJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBuYXRpdmVJbnB1dFJlZigpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UubmF0aXZlSW5wdXRSZWYkLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgYXV0b2ZpbGxlZCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmF1dG9maWxsZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGF1dG9maWxsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmF1dG9maWxsZWQkLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgZXJyb3JzJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZXJyb3JzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBlcnJvcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmVycm9ycyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldCBzaG91bGREaXNwbGF5RXJyb3IkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5zaG91bGREaXNwbGF5RXJyb3IkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHNob3VsZERpc3BsYXlFcnJvcigpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9yJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGlzRm9jdXNlZFZpYSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmlzRm9jdXNlZFZpYSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgaXNGb2N1c2VkVmlhKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5pc0ZvY3VzZWRWaWEkLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgZXJyb3JJZCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1GaWVsZFN0YXRlU2VydmljZS5lcnJvcklkJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBlcnJvcklkKCkge1xuICAgIHJldHVybiB0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UuZXJyb3JJZCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHJlYWRvbmx5IGRlc2NyaWJlZEJ5JCA9IHRoaXMuX2Zvcm1GaWVsZFN0YXRlU2VydmljZS5kZXNjcmliZWRCeSQ7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udHJvbCA9IHRoaXMuX25nQ29udHJvbD8uY29udHJvbCA/PyBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS51c2VzSW1wbGljaXRDb250cm9sJC5uZXh0KCF0aGlzLl9uZ0NvbnRyb2w/LmNvbnRyb2wpO1xuXG4gICAgdGhpcy5fY29udHJvbC5zdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuX2NvbnRyb2wuc3RhdHVzKSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuX2NvbnRyb2wuZXJyb3JzKSxcbiAgICAgICAgZmlsdGVyKChlcnJvcnMpID0+ICFlcXVhbChlcnJvcnMsIHRoaXMuZXJyb3JzKSksXG4gICAgICAgIHRhcCgoZXJyb3JzKSA9PiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5lcnJvcnMkLm5leHQoZXJyb3JzKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9jb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgID8ucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuX2NvbnRyb2wuc3RhdHVzKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2RldGVjdENvbnRyb2xSZXF1aXJlZFZhbGlkYXRpb25DaGFuZ2VzKCkpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5fZGV0ZWN0Q29udHJvbERpc2FibGVkQ2hhbmdlcygpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX2NvbnRyb2wudmFsdWVDaGFuZ2VzPy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMuX3VwZGF0ZVZhbHVlKHZhbHVlKSk7XG5cbiAgICB0aGlzLm5hdGl2ZUlucHV0UmVmJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgIHRhcCgoW3ByZXZpb3VzTmF0aXZlSW5wdXRSZWYsIGN1cnJlbnROYXRpdmVJbnB1dFJlZl0pID0+IHtcbiAgICAgICAgICBpZiAocHJldmlvdXNOYXRpdmVJbnB1dFJlZikge1xuICAgICAgICAgICAgdGhpcy5fYXV0b2ZpbGxNb25pdG9yLnN0b3BNb25pdG9yaW5nKHByZXZpb3VzTmF0aXZlSW5wdXRSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY3VycmVudE5hdGl2ZUlucHV0UmVmKSB7XG4gICAgICAgICAgICB0aGlzLl9hdXRvZmlsbE1vbml0b3JcbiAgICAgICAgICAgICAgLm1vbml0b3IoY3VycmVudE5hdGl2ZUlucHV0UmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHRoaXMuX3NldEF1dG9maWxsZWQoZXZlbnQuaXNBdXRvZmlsbGVkKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldEF1dG9maWxsZWQoZmFsc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9mb2N1c01vbml0b3JcbiAgICAgIC5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYsIHRydWUpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChvcmlnaW4pID0+IHtcbiAgICAgICAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5pc0ZvY3VzZWRWaWEkLm5leHQob3JpZ2luKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uYXRpdmVJbnB1dFJlZikge1xuICAgICAgdGhpcy5fYXV0b2ZpbGxNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMubmF0aXZlSW5wdXRSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBmb2N1c0lucHV0VmlhKG9yaWdpbjogRm9jdXNPcmlnaW4gPSAncHJvZ3JhbScpIHtcbiAgICBjb25zdCBpbnB1dEVsID0gdGhpcy5uYXRpdmVJbnB1dFJlZj8uZWxlbWVudD8ubmF0aXZlRWxlbWVudDtcblxuICAgIGlmIChpbnB1dEVsKSB7XG4gICAgICB0aGlzLl9mb2N1c01vbml0b3IuZm9jdXNWaWEoaW5wdXRFbCwgb3JpZ2luKTtcbiAgICB9XG4gIH1cblxuICBfdXBkYXRlVmFsdWUodmFsdWU6IFQsIG9wdGlvbnM6IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9ID0ge30pIHtcbiAgICBpZiAodmFsdWUgPT09IHRoaXMudmFsdWUgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgZW1pdEV2ZW50ID0gdHJ1ZSB9ID0gb3B0aW9ucztcblxuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnZhbHVlJC5uZXh0KHZhbHVlKTtcblxuICAgIGlmICh0aGlzLl9jb250cm9sLnZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuX3ZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAoZW1pdEV2ZW50KSB7XG4gICAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS52YWx1ZUNoYW5nZSQubmV4dCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgX3VwZGF0ZURpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlID09PSB0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZGlzYWJsZWQkLm5leHQodmFsdWUpO1xuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmRpc2FibGVkQ2hhbmdlJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIF9tYXJrQXNUb3VjaGVkKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuX2NvbnRyb2wudG91Y2hlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLl90b3VjaGVkKCk7XG4gIH1cblxuICBfc2V0TmF0aXZlSW5wdXRSZWYocmVmOiBOYXRpdmVJbnB1dFJlZkRpcmVjdGl2ZTxKPiB8IG51bGwpIHtcbiAgICBpZiAodGhpcy5uYXRpdmVJbnB1dFJlZiA9PT0gcmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UubmF0aXZlSW5wdXRSZWYkLm5leHQocmVmKTtcbiAgfVxuXG4gIF9zZXRBdXRvZmlsbGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuYXV0b2ZpbGxlZCA9PT0gdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5hdXRvZmlsbGVkJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIF9zZXRTaG91bGREaXNwbGF5RXJyb3IodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5zaG91bGREaXNwbGF5RXJyb3IgPT09IHZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9yJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RldGVjdENvbnRyb2xSZXF1aXJlZFZhbGlkYXRpb25DaGFuZ2VzKCkge1xuICAgIGNvbnN0IGhhc1JlcXVpcmVkID0gdGhpcy5fY29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkgPz8gZmFsc2U7XG4gICAgY29uc3QgaGFzUmVxdWlyZWRUcnVlID0gdGhpcy5fY29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpID8/IGZhbHNlO1xuXG4gICAgY29uc3QgaXNSZXF1aXJlZCA9IGhhc1JlcXVpcmVkIHx8IGhhc1JlcXVpcmVkVHJ1ZTtcblxuICAgIGlmIChpc1JlcXVpcmVkICE9PSB0aGlzLnJlcXVpcmVkKSB7XG4gICAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5yZXF1aXJlZCQubmV4dChpc1JlcXVpcmVkKTtcbiAgICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnJlcXVpcmVkQ2hhbmdlJC5uZXh0KGlzUmVxdWlyZWQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RldGVjdENvbnRyb2xEaXNhYmxlZENoYW5nZXMoKSB7XG4gICAgY29uc3QgaXNEaXNhYmxlZCA9IHRoaXMuX2NvbnRyb2wuZGlzYWJsZWQ7XG5cbiAgICBpZiAoaXNEaXNhYmxlZCAhPT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZGlzYWJsZWQkLm5leHQoaXNEaXNhYmxlZCk7XG4gICAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5kaXNhYmxlZENoYW5nZSQubmV4dChpc0Rpc2FibGVkKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
2
  import { ContentChildren, Directive, ElementRef, forwardRef, inject, InjectionToken, } from '@angular/core';
3
- import { DestroyService, TypedQueryList } from '@ethlete/core';
3
+ import { createDestroy, TypedQueryList } from '@ethlete/core';
4
4
  import { startWith, takeUntil, tap } from 'rxjs';
5
5
  import { LABEL_TOKEN } from '../../components';
6
6
  import { FormFieldStateService } from '../../services';
@@ -10,7 +10,7 @@ export const STATIC_FORM_FIELD_TOKEN = new InjectionToken('ET_STATIC_FORM_FIELD_
10
10
  class StaticFormFieldDirective {
11
11
  constructor() {
12
12
  this._formFieldStateService = inject(FormFieldStateService);
13
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
13
+ this._destroy$ = createDestroy();
14
14
  this._elementRef = inject(ElementRef);
15
15
  this._focusMonitor = inject(FocusMonitor);
16
16
  }
@@ -51,7 +51,6 @@ class StaticFormFieldDirective {
51
51
  provide: STATIC_FORM_FIELD_TOKEN,
52
52
  useExisting: StaticFormFieldDirective,
53
53
  },
54
- DestroyService,
55
54
  ], queries: [{ propertyName: "_input", predicate: i0.forwardRef(function () { return INPUT_TOKEN; }) }, { propertyName: "_label", predicate: i0.forwardRef(function () { return LABEL_TOKEN; }) }], exportAs: ["etStaticFormField"], ngImport: i0 }); }
56
55
  }
57
56
  export { StaticFormFieldDirective };
@@ -66,7 +65,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
66
65
  provide: STATIC_FORM_FIELD_TOKEN,
67
66
  useExisting: StaticFormFieldDirective,
68
67
  },
69
- DestroyService,
70
68
  ],
71
69
  }]
72
70
  }], propDecorators: { _input: [{
@@ -76,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
76
74
  type: ContentChildren,
77
75
  args: [forwardRef(() => LABEL_TOKEN)]
78
76
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLWZvcm0tZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvc3RhdGljLWZvcm0tZmllbGQvc3RhdGljLWZvcm0tZmllbGQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBRUwsZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixjQUFjLEdBRWYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFrQixXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRXZELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUN2RCxzQ0FBc0MsQ0FDdkMsQ0FBQztBQUVGLE1BWWEsd0JBQXdCO0lBWnJDO1FBYW1CLDJCQUFzQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3ZELGNBQVMsR0FBRyxNQUFNLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzVELGdCQUFXLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUMxRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQXFEdkQ7SUE3Q0MsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhO2FBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO2FBQy9CLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU87YUFDakIsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQ3RCLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1osSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFDO2FBQzlFO1lBRUQsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO2dCQUNmLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDM0Q7UUFDSCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsRUFBRSxDQUFDO1FBRWYsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPO2FBQ2pCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUN0QixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNaLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQzthQUM5RTtZQUVELElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtnQkFDZixJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzNEO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDOzhHQXhEVSx3QkFBd0I7a0dBQXhCLHdCQUF3QixpQ0FUeEI7WUFDVCxxQkFBcUI7WUFDckI7Z0JBQ0UsT0FBTyxFQUFFLHVCQUF1QjtnQkFDaEMsV0FBVyxFQUFFLHdCQUF3QjthQUN0QztZQUNELGNBQWM7U0FDZixvRkFRaUMsV0FBVyxnRkFHWCxXQUFXOztTQVRsQyx3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFacEMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsU0FBUyxFQUFFO3dCQUNULHFCQUFxQjt3QkFDckI7NEJBQ0UsT0FBTyxFQUFFLHVCQUF1Qjs0QkFDaEMsV0FBVywwQkFBMEI7eUJBQ3RDO3dCQUNELGNBQWM7cUJBQ2Y7aUJBQ0Y7OEJBUWtCLE1BQU07c0JBRHRCLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztnQkFJN0IsTUFBTTtzQkFEdEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cm95U2VydmljZSwgVHlwZWRRdWVyeUxpc3QgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExhYmVsQ29tcG9uZW50LCBMQUJFTF9UT0tFTiB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUsIElOUFVUX1RPS0VOIH0gZnJvbSAnLi4vaW5wdXQnO1xuXG5leHBvcnQgY29uc3QgU1RBVElDX0ZPUk1fRklFTERfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48U3RhdGljRm9ybUZpZWxkRGlyZWN0aXZlPihcbiAgJ0VUX1NUQVRJQ19GT1JNX0ZJRUxEX0RJUkVDVElWRV9UT0tFTicsXG4pO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZXhwb3J0QXM6ICdldFN0YXRpY0Zvcm1GaWVsZCcsXG4gIHByb3ZpZGVyczogW1xuICAgIEZvcm1GaWVsZFN0YXRlU2VydmljZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBTVEFUSUNfRk9STV9GSUVMRF9UT0tFTixcbiAgICAgIHVzZUV4aXN0aW5nOiBTdGF0aWNGb3JtRmllbGREaXJlY3RpdmUsXG4gICAgfSxcbiAgICBEZXN0cm95U2VydmljZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdGljRm9ybUZpZWxkRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybUZpZWxkU3RhdGVTZXJ2aWNlID0gaW5qZWN0KEZvcm1GaWVsZFN0YXRlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gaW5qZWN0KERlc3Ryb3lTZXJ2aWNlLCB7IGhvc3Q6IHRydWUgfSkuZGVzdHJveSQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mb2N1c01vbml0b3IgPSBpbmplY3QoRm9jdXNNb25pdG9yKTtcblxuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gSU5QVVRfVE9LRU4pKVxuICBwcml2YXRlIHJlYWRvbmx5IF9pbnB1dD86IFR5cGVkUXVlcnlMaXN0PElucHV0RGlyZWN0aXZlPjtcblxuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gTEFCRUxfVE9LRU4pKVxuICBwcml2YXRlIHJlYWRvbmx5IF9sYWJlbD86IFR5cGVkUXVlcnlMaXN0PExhYmVsQ29tcG9uZW50PjtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb2N1c01vbml0b3JcbiAgICAgIC5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYsIHRydWUpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChvcmlnaW4pID0+IHtcbiAgICAgICAgICB0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UuaXNGb2N1c2VkVmlhJC5uZXh0KG9yaWdpbik7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2lucHV0Py5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuX2lucHV0KSxcbiAgICAgICAgdGFwKChpbnB1dCkgPT4ge1xuICAgICAgICAgIGlmIChpbnB1dC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZXJlIHNob3VsZCBiZSBvbmx5IG9uZSBpbnB1dCBlbGVtZW50IGluIHRoZSBmb3JtIGZpZWxkLicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpbnB1dC5maXJzdCkge1xuICAgICAgICAgICAgdGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmlucHV0SWQkLm5leHQoaW5wdXQuZmlyc3QuaWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9sYWJlbD8uY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLl9sYWJlbCksXG4gICAgICAgIHRhcCgobGFiZWwpID0+IHtcbiAgICAgICAgICBpZiAobGFiZWwubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGVyZSBzaG91bGQgYmUgb25seSBvbmUgbGFiZWwgZWxlbWVudCBpbiB0aGUgZm9ybSBmaWVsZC4nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobGFiZWwuZmlyc3QpIHtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1GaWVsZFN0YXRlU2VydmljZS5sYWJlbElkJC5uZXh0KGxhYmVsLmZpcnN0LmlkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLWZvcm0tZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvc3RhdGljLWZvcm0tZmllbGQvc3RhdGljLWZvcm0tZmllbGQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBRUwsZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixjQUFjLEdBRWYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSxVQUFVLENBQUM7O0FBRXZELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUN2RCxzQ0FBc0MsQ0FDdkMsQ0FBQztBQUVGLE1BV2Esd0JBQXdCO0lBWHJDO1FBWW1CLDJCQUFzQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3ZELGNBQVMsR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUM1QixnQkFBVyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFDMUQsa0JBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7S0FxRHZEO0lBN0NDLFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYTthQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQzthQUMvQixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPO2FBQ2pCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUN0QixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNaLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQzthQUM5RTtZQUVELElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtnQkFDZixJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzNEO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTzthQUNqQixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDdEIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWixJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7YUFDOUU7WUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMzRDtRQUNILENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzs4R0F4RFUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsaUNBUnhCO1lBQ1QscUJBQXFCO1lBQ3JCO2dCQUNFLE9BQU8sRUFBRSx1QkFBdUI7Z0JBQ2hDLFdBQVcsRUFBRSx3QkFBd0I7YUFDdEM7U0FDRixvRkFRaUMsV0FBVyxnRkFHWCxXQUFXOztTQVRsQyx3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFYcEMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsU0FBUyxFQUFFO3dCQUNULHFCQUFxQjt3QkFDckI7NEJBQ0UsT0FBTyxFQUFFLHVCQUF1Qjs0QkFDaEMsV0FBVywwQkFBMEI7eUJBQ3RDO3FCQUNGO2lCQUNGOzhCQVFrQixNQUFNO3NCQUR0QixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7Z0JBSTdCLE1BQU07c0JBRHRCLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlRGVzdHJveSwgVHlwZWRRdWVyeUxpc3QgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExBQkVMX1RPS0VOLCBMYWJlbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgSU5QVVRfVE9LRU4sIElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vaW5wdXQnO1xuXG5leHBvcnQgY29uc3QgU1RBVElDX0ZPUk1fRklFTERfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48U3RhdGljRm9ybUZpZWxkRGlyZWN0aXZlPihcbiAgJ0VUX1NUQVRJQ19GT1JNX0ZJRUxEX0RJUkVDVElWRV9UT0tFTicsXG4pO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZXhwb3J0QXM6ICdldFN0YXRpY0Zvcm1GaWVsZCcsXG4gIHByb3ZpZGVyczogW1xuICAgIEZvcm1GaWVsZFN0YXRlU2VydmljZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBTVEFUSUNfRk9STV9GSUVMRF9UT0tFTixcbiAgICAgIHVzZUV4aXN0aW5nOiBTdGF0aWNGb3JtRmllbGREaXJlY3RpdmUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdGljRm9ybUZpZWxkRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybUZpZWxkU3RhdGVTZXJ2aWNlID0gaW5qZWN0KEZvcm1GaWVsZFN0YXRlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gY3JlYXRlRGVzdHJveSgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9jdXNNb25pdG9yID0gaW5qZWN0KEZvY3VzTW9uaXRvcik7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IElOUFVUX1RPS0VOKSlcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXQ/OiBUeXBlZFF1ZXJ5TGlzdDxJbnB1dERpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IExBQkVMX1RPS0VOKSlcbiAgcHJpdmF0ZSByZWFkb25seSBfbGFiZWw/OiBUeXBlZFF1ZXJ5TGlzdDxMYWJlbENvbXBvbmVudD47XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9jdXNNb25pdG9yXG4gICAgICAubW9uaXRvcih0aGlzLl9lbGVtZW50UmVmLCB0cnVlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgob3JpZ2luKSA9PiB7XG4gICAgICAgICAgdGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmlzRm9jdXNlZFZpYSQubmV4dChvcmlnaW4pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnB1dD8uY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLl9pbnB1dCksXG4gICAgICAgIHRhcCgoaW5wdXQpID0+IHtcbiAgICAgICAgICBpZiAoaW5wdXQubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGVyZSBzaG91bGQgYmUgb25seSBvbmUgaW5wdXQgZWxlbWVudCBpbiB0aGUgZm9ybSBmaWVsZC4nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaW5wdXQuZmlyc3QpIHtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1GaWVsZFN0YXRlU2VydmljZS5pbnB1dElkJC5uZXh0KGlucHV0LmZpcnN0LmlkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5fbGFiZWw/LmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5fbGFiZWwpLFxuICAgICAgICB0YXAoKGxhYmVsKSA9PiB7XG4gICAgICAgICAgaWYgKGxhYmVsLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlcmUgc2hvdWxkIGJlIG9ubHkgb25lIGxhYmVsIGVsZW1lbnQgaW4gdGhlIGZvcm0gZmllbGQuJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGxhYmVsLmZpcnN0KSB7XG4gICAgICAgICAgICB0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UubGFiZWxJZCQubmV4dChsYWJlbC5maXJzdC5pZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { Directive, forwardRef, inject, InjectionToken } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { createReactiveBindings, DestroyService } from '@ethlete/core';
3
+ import { createReactiveBindings } from '@ethlete/core';
4
4
  import { InputStateService } from '../../services';
5
5
  import * as i0 from "@angular/core";
6
6
  export const WRITEABLE_INPUT_TOKEN = new InjectionToken('ET_WRITEABLE_INPUT_DIRECTIVE_TOKEN');
@@ -50,7 +50,6 @@ class WriteableInputDirective {
50
50
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: WriteableInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
51
51
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: WriteableInputDirective, isStandalone: true, providers: [
52
52
  WRITEABLE_INPUT_VALUE_ACCESSOR,
53
- DestroyService,
54
53
  InputStateService,
55
54
  { provide: WRITEABLE_INPUT_TOKEN, useExisting: WriteableInputDirective },
56
55
  ], exportAs: ["etWriteableInput"], ngImport: i0 }); }
@@ -63,10 +62,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
63
62
  exportAs: 'etWriteableInput',
64
63
  providers: [
65
64
  WRITEABLE_INPUT_VALUE_ACCESSOR,
66
- DestroyService,
67
65
  InputStateService,
68
66
  { provide: WRITEABLE_INPUT_TOKEN, useExisting: WriteableInputDirective },
69
67
  ],
70
68
  }]
71
69
  }] });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVhYmxlLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9kaXJlY3RpdmVzL3dyaXRlYWJsZS1pbnB1dC93cml0ZWFibGUtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFzQyxNQUFNLGdCQUFnQixDQUFDOztBQUV2RixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBMEIsb0NBQW9DLENBQUMsQ0FBQztBQUV2SCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRztJQUM1QyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7SUFDdEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFVYSx1QkFBdUI7SUFWcEM7UUFXVyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUvQyxjQUFTLEdBQUcsc0JBQXNCLENBQ3pDO1lBQ0UsU0FBUyxFQUFFLG1CQUFtQjtZQUM5QixVQUFVLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVM7U0FDOUMsRUFDRDtZQUNFLFNBQVMsRUFBRSxtQkFBbUI7WUFDOUIsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTO1NBQzlDLEVBQ0Q7WUFDRSxTQUFTLEVBQUUsMEJBQTBCO1lBQ3JDLFVBQVUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYztTQUNuRCxFQUNEO1lBQ0UsU0FBUyxFQUFFLHlCQUF5QjtZQUNwQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWE7U0FDbEQsRUFDRDtZQUNFLFNBQVMsRUFBRSxnQkFBZ0I7WUFDM0IsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhO1NBQ2xELEVBQ0Q7WUFDRSxTQUFTLEVBQUUsK0JBQStCO1lBQzFDLFVBQVUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CO1NBQ3hELEVBQ0Q7WUFDRSxTQUFTLEVBQUUscUJBQXFCO1lBQ2hDLFVBQVUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVztTQUNoRCxDQUNGLENBQUM7S0FpQkg7SUFmQyxVQUFVLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBc0I7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWtCO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyRCxDQUFDOzhHQWhEVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixpQ0FQdkI7WUFDVCw4QkFBOEI7WUFDOUIsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUU7U0FDekU7O1NBRVUsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBVm5DLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFNBQVMsRUFBRTt3QkFDVCw4QkFBOEI7d0JBQzlCLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLHlCQUF5QixFQUFFO3FCQUN6RTtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY3JlYXRlUmVhY3RpdmVCaW5kaW5ncywgRGVzdHJveVNlcnZpY2UgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IElucHV0U3RhdGVTZXJ2aWNlLCBJbnB1dFRvdWNoZWRGbiwgSW5wdXRWYWx1ZUNoYW5nZUZuIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5leHBvcnQgY29uc3QgV1JJVEVBQkxFX0lOUFVUX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFdyaXRlYWJsZUlucHV0RGlyZWN0aXZlPignRVRfV1JJVEVBQkxFX0lOUFVUX0RJUkVDVElWRV9UT0tFTicpO1xuXG5leHBvcnQgY29uc3QgV1JJVEVBQkxFX0lOUFVUX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV3JpdGVhYmxlSW5wdXREaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBleHBvcnRBczogJ2V0V3JpdGVhYmxlSW5wdXQnLFxuICBwcm92aWRlcnM6IFtcbiAgICBXUklURUFCTEVfSU5QVVRfVkFMVUVfQUNDRVNTT1IsXG4gICAgRGVzdHJveVNlcnZpY2UsXG4gICAgSW5wdXRTdGF0ZVNlcnZpY2UsXG4gICAgeyBwcm92aWRlOiBXUklURUFCTEVfSU5QVVRfVE9LRU4sIHVzZUV4aXN0aW5nOiBXcml0ZWFibGVJbnB1dERpcmVjdGl2ZSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBXcml0ZWFibGVJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcmVhZG9ubHkgX2lucHV0U3RhdGVTZXJ2aWNlID0gaW5qZWN0KElucHV0U3RhdGVTZXJ2aWNlKTtcblxuICByZWFkb25seSBfYmluZGluZ3MgPSBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzKFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LXJlcXVpcmVkJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnJlcXVpcmVkJCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LWRpc2FibGVkJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmRpc2FibGVkJCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LXZhbHVlLWlzLXRydXRoeScsXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS52YWx1ZUlzVHJ1dGh5JCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LXZhbHVlLWlzLWZhbHN5JyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnZhbHVlSXNGYWxzeSQsXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdjbGFzcy5ldC1lbXB0eScsXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS52YWx1ZUlzRW1wdHkkLFxuICAgIH0sXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnY2xhc3MuZXQtc2hvdWxkLWRpc3BsYXktZXJyb3InLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9yJCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LWF1dG9maWxsZWQnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuYXV0b2ZpbGxlZCQsXG4gICAgfSxcbiAgKTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudmFsdWUkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogSW5wdXRWYWx1ZUNoYW5nZUZuKSB7XG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuX3ZhbHVlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogSW5wdXRUb3VjaGVkRm4pIHtcbiAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5fdG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmRpc2FibGVkJC5uZXh0KGlzRGlzYWJsZWQpO1xuICB9XG59XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVhYmxlLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9kaXJlY3RpdmVzL3dyaXRlYWJsZS1pbnB1dC93cml0ZWFibGUtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQXNDLE1BQU0sZ0JBQWdCLENBQUM7O0FBRXZGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUEwQixvQ0FBb0MsQ0FBQyxDQUFDO0FBRXZILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHO0lBQzVDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztJQUN0RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRixNQVVhLHVCQUF1QjtJQVZwQztRQVdXLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRS9DLGNBQVMsR0FBRyxzQkFBc0IsQ0FDekM7WUFDRSxTQUFTLEVBQUUsbUJBQW1CO1lBQzlCLFVBQVUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUztTQUM5QyxFQUNEO1lBQ0UsU0FBUyxFQUFFLG1CQUFtQjtZQUM5QixVQUFVLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVM7U0FDOUMsRUFDRDtZQUNFLFNBQVMsRUFBRSwwQkFBMEI7WUFDckMsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjO1NBQ25ELEVBQ0Q7WUFDRSxTQUFTLEVBQUUseUJBQXlCO1lBQ3BDLFVBQVUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYTtTQUNsRCxFQUNEO1lBQ0UsU0FBUyxFQUFFLGdCQUFnQjtZQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWE7U0FDbEQsRUFDRDtZQUNFLFNBQVMsRUFBRSwrQkFBK0I7WUFDMUMsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUI7U0FDeEQsRUFDRDtZQUNFLFNBQVMsRUFBRSxxQkFBcUI7WUFDaEMsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXO1NBQ2hELENBQ0YsQ0FBQztLQWlCSDtJQWZDLFVBQVUsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFzQjtRQUNyQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBa0I7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7OEdBaERVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGlDQVB2QjtZQUNULDhCQUE4QjtZQUU5QixpQkFBaUI7WUFDakIsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFO1NBQ3pFOztTQUVVLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQVZuQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixTQUFTLEVBQUU7d0JBQ1QsOEJBQThCO3dCQUU5QixpQkFBaUI7d0JBQ2pCLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcseUJBQXlCLEVBQUU7cUJBQ3pFO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBmb3J3YXJkUmVmLCBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBJbnB1dFN0YXRlU2VydmljZSwgSW5wdXRUb3VjaGVkRm4sIElucHV0VmFsdWVDaGFuZ2VGbiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuZXhwb3J0IGNvbnN0IFdSSVRFQUJMRV9JTlBVVF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxXcml0ZWFibGVJbnB1dERpcmVjdGl2ZT4oJ0VUX1dSSVRFQUJMRV9JTlBVVF9ESVJFQ1RJVkVfVE9LRU4nKTtcblxuZXhwb3J0IGNvbnN0IFdSSVRFQUJMRV9JTlBVVF9WQUxVRV9BQ0NFU1NPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFdyaXRlYWJsZUlucHV0RGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZXhwb3J0QXM6ICdldFdyaXRlYWJsZUlucHV0JyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgV1JJVEVBQkxFX0lOUFVUX1ZBTFVFX0FDQ0VTU09SLFxuXG4gICAgSW5wdXRTdGF0ZVNlcnZpY2UsXG4gICAgeyBwcm92aWRlOiBXUklURUFCTEVfSU5QVVRfVE9LRU4sIHVzZUV4aXN0aW5nOiBXcml0ZWFibGVJbnB1dERpcmVjdGl2ZSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBXcml0ZWFibGVJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcmVhZG9ubHkgX2lucHV0U3RhdGVTZXJ2aWNlID0gaW5qZWN0KElucHV0U3RhdGVTZXJ2aWNlKTtcblxuICByZWFkb25seSBfYmluZGluZ3MgPSBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzKFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LXJlcXVpcmVkJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnJlcXVpcmVkJCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LWRpc2FibGVkJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmRpc2FibGVkJCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LXZhbHVlLWlzLXRydXRoeScsXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS52YWx1ZUlzVHJ1dGh5JCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LXZhbHVlLWlzLWZhbHN5JyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnZhbHVlSXNGYWxzeSQsXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdjbGFzcy5ldC1lbXB0eScsXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS52YWx1ZUlzRW1wdHkkLFxuICAgIH0sXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnY2xhc3MuZXQtc2hvdWxkLWRpc3BsYXktZXJyb3InLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9yJCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LWF1dG9maWxsZWQnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuYXV0b2ZpbGxlZCQsXG4gICAgfSxcbiAgKTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudmFsdWUkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogSW5wdXRWYWx1ZUNoYW5nZUZuKSB7XG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuX3ZhbHVlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogSW5wdXRUb3VjaGVkRm4pIHtcbiAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5fdG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmRpc2FibGVkJC5uZXh0KGlzRGlzYWJsZWQpO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { ContentChildren, Directive, inject } from '@angular/core';
2
- import { createReactiveBindings, DestroyService, TypedQueryList } from '@ethlete/core';
2
+ import { TypedQueryList, createDestroy, createReactiveBindings } from '@ethlete/core';
3
3
  import { map, startWith, takeUntil } from 'rxjs';
4
4
  import { INPUT_PREFIX_TOKEN, INPUT_SUFFIX_TOKEN } from '../directives';
5
5
  import { FormFieldStateService } from '../services';
@@ -9,7 +9,7 @@ class DecoratedInputBase extends InputBase {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  this._formFieldStateService = inject(FormFieldStateService);
12
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
12
+ this._destroy$ = createDestroy();
13
13
  this._bindings = createReactiveBindings({
14
14
  attribute: 'class.et-input--has-prefix',
15
15
  observable: this._formFieldStateService.hasPrefix$,
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
42
42
  type: ContentChildren,
43
43
  args: [INPUT_SUFFIX_TOKEN]
44
44
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdGVkLWlucHV0LmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvdXRpbHMvZGVjb3JhdGVkLWlucHV0LmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUE4QyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFekMsTUFDYSxrQkFBbUIsU0FBUSxTQUFTO0lBRGpEOztRQUVtQiwyQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN2RCxjQUFTLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQVFwRSxjQUFTLEdBQUcsc0JBQXNCLENBQ3pDO1lBQ0UsU0FBUyxFQUFFLDRCQUE0QjtZQUN2QyxVQUFVLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVU7U0FDbkQsRUFDRDtZQUNFLFNBQVMsRUFBRSw0QkFBNEI7WUFDdkMsVUFBVSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVO1NBQ25ELENBQ0YsQ0FBQztLQXVCSDtJQXJCQyxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzFDLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTzthQUNyQixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFDekIsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0IsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUMvQjthQUNBLFNBQVMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO2FBQ3JCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUN6QixTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUMzQixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQy9CO2FBQ0EsU0FBUyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDOzhHQXpDVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixzREFJWixrQkFBa0IsOENBR2xCLGtCQUFrQjs7U0FQeEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFNBQVM7OEJBTVcsV0FBVztzQkFEN0IsZUFBZTt1QkFBQyxrQkFBa0I7Z0JBSWhCLFdBQVc7c0JBRDdCLGVBQWU7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlUmVhY3RpdmVCaW5kaW5ncywgRGVzdHJveVNlcnZpY2UsIFR5cGVkUXVlcnlMaXN0IH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBtYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbnB1dFByZWZpeERpcmVjdGl2ZSwgSW5wdXRTdWZmaXhEaXJlY3RpdmUsIElOUFVUX1BSRUZJWF9UT0tFTiwgSU5QVVRfU1VGRklYX1RPS0VOIH0gZnJvbSAnLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBGb3JtRmllbGRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBJbnB1dEJhc2UgfSBmcm9tICcuL2lucHV0LmJhc2UnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBEZWNvcmF0ZWRJbnB1dEJhc2UgZXh0ZW5kcyBJbnB1dEJhc2UgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybUZpZWxkU3RhdGVTZXJ2aWNlID0gaW5qZWN0KEZvcm1GaWVsZFN0YXRlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gaW5qZWN0KERlc3Ryb3lTZXJ2aWNlLCB7IGhvc3Q6IHRydWUgfSkuZGVzdHJveSQ7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihJTlBVVF9QUkVGSVhfVE9LRU4pXG4gIHByb3RlY3RlZCByZWFkb25seSBpbnB1dFByZWZpeD86IFR5cGVkUXVlcnlMaXN0PElucHV0UHJlZml4RGlyZWN0aXZlPjtcblxuICBAQ29udGVudENoaWxkcmVuKElOUFVUX1NVRkZJWF9UT0tFTilcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0U3VmZml4PzogVHlwZWRRdWVyeUxpc3Q8SW5wdXRTdWZmaXhEaXJlY3RpdmU+O1xuXG4gIHJlYWRvbmx5IF9iaW5kaW5ncyA9IGNyZWF0ZVJlYWN0aXZlQmluZGluZ3MoXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnY2xhc3MuZXQtaW5wdXQtLWhhcy1wcmVmaXgnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmhhc1ByZWZpeCQsXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdjbGFzcy5ldC1pbnB1dC0taGFzLXN1ZmZpeCcsXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UuaGFzU3VmZml4JCxcbiAgICB9LFxuICApO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaW5wdXRQcmVmaXggfHwgIXRoaXMuaW5wdXRTdWZmaXgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0UHJlZml4LmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICBzdGFydFdpdGgodGhpcy5pbnB1dFByZWZpeCksXG4gICAgICAgIG1hcCgobGlzdCkgPT4gbGlzdC5sZW5ndGggPiAwKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmhhc1ByZWZpeCQpO1xuXG4gICAgdGhpcy5pbnB1dFN1ZmZpeC5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuaW5wdXRTdWZmaXgpLFxuICAgICAgICBtYXAoKGxpc3QpID0+IGxpc3QubGVuZ3RoID4gMCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuX2Zvcm1GaWVsZFN0YXRlU2VydmljZS5oYXNTdWZmaXgkKTtcbiAgfVxufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdGVkLWlucHV0LmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvdXRpbHMvZGVjb3JhdGVkLWlucHV0LmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUE4QyxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFekMsTUFDYSxrQkFBbUIsU0FBUSxTQUFTO0lBRGpEOztRQUVtQiwyQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN2RCxjQUFTLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFRcEMsY0FBUyxHQUFHLHNCQUFzQixDQUN6QztZQUNFLFNBQVMsRUFBRSw0QkFBNEI7WUFDdkMsVUFBVSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVO1NBQ25ELEVBQ0Q7WUFDRSxTQUFTLEVBQUUsNEJBQTRCO1lBQ3ZDLFVBQVUsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVTtTQUNuRCxDQUNGLENBQUM7S0F1Qkg7SUFyQkMsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUMxQyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU87YUFDckIsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQ3pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQzNCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FDL0I7YUFDQSxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTzthQUNyQixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFDekIsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0IsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUMvQjthQUNBLFNBQVMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs4R0F6Q1Usa0JBQWtCO2tHQUFsQixrQkFBa0Isc0RBSVosa0JBQWtCLDhDQUdsQixrQkFBa0I7O1NBUHhCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixTQUFTOzhCQU1XLFdBQVc7c0JBRDdCLGVBQWU7dUJBQUMsa0JBQWtCO2dCQUloQixXQUFXO3NCQUQ3QixlQUFlO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFR5cGVkUXVlcnlMaXN0LCBjcmVhdGVEZXN0cm95LCBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBtYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJTlBVVF9QUkVGSVhfVE9LRU4sIElOUFVUX1NVRkZJWF9UT0tFTiwgSW5wdXRQcmVmaXhEaXJlY3RpdmUsIElucHV0U3VmZml4RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBGb3JtRmllbGRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBJbnB1dEJhc2UgfSBmcm9tICcuL2lucHV0LmJhc2UnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBEZWNvcmF0ZWRJbnB1dEJhc2UgZXh0ZW5kcyBJbnB1dEJhc2UgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybUZpZWxkU3RhdGVTZXJ2aWNlID0gaW5qZWN0KEZvcm1GaWVsZFN0YXRlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gY3JlYXRlRGVzdHJveSgpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oSU5QVVRfUFJFRklYX1RPS0VOKVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5wdXRQcmVmaXg/OiBUeXBlZFF1ZXJ5TGlzdDxJbnB1dFByZWZpeERpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihJTlBVVF9TVUZGSVhfVE9LRU4pXG4gIHByb3RlY3RlZCByZWFkb25seSBpbnB1dFN1ZmZpeD86IFR5cGVkUXVlcnlMaXN0PElucHV0U3VmZml4RGlyZWN0aXZlPjtcblxuICByZWFkb25seSBfYmluZGluZ3MgPSBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzKFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LWlucHV0LS1oYXMtcHJlZml4JyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2Zvcm1GaWVsZFN0YXRlU2VydmljZS5oYXNQcmVmaXgkLFxuICAgIH0sXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnY2xhc3MuZXQtaW5wdXQtLWhhcy1zdWZmaXgnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmhhc1N1ZmZpeCQsXG4gICAgfSxcbiAgKTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlucHV0UHJlZml4IHx8ICF0aGlzLmlucHV0U3VmZml4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pbnB1dFByZWZpeC5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuaW5wdXRQcmVmaXgpLFxuICAgICAgICBtYXAoKGxpc3QpID0+IGxpc3QubGVuZ3RoID4gMCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuX2Zvcm1GaWVsZFN0YXRlU2VydmljZS5oYXNQcmVmaXgkKTtcblxuICAgIHRoaXMuaW5wdXRTdWZmaXguY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLmlucHV0U3VmZml4KSxcbiAgICAgICAgbWFwKChsaXN0KSA9PiBsaXN0Lmxlbmd0aCA+IDApLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UuaGFzU3VmZml4JCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,12 +1,12 @@
1
1
  import { coerceNumberProperty } from '@angular/cdk/coercion';
2
2
  import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, inject, Input, Output, ViewEncapsulation, } from '@angular/core';
3
- import { createReactiveBindings, DELAYABLE_TOKEN, DestroyService, ObserveResizeDirective, TypedQueryList, } from '@ethlete/core';
3
+ import { createDestroy, createReactiveBindings, DELAYABLE_TOKEN, ObserveResizeDirective, TypedQueryList, } from '@ethlete/core';
4
4
  import { BehaviorSubject, combineLatest, debounceTime, of, startWith, switchMap, takeUntil, tap, timer } from 'rxjs';
5
5
  import { MASONRY_ITEM_TOKEN } from '../../partials';
6
6
  import * as i0 from "@angular/core";
7
7
  class MasonryComponent {
8
8
  constructor() {
9
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
9
+ this._destroy$ = createDestroy();
10
10
  this._elementRef = inject(ElementRef);
11
11
  this._delayable = inject(DELAYABLE_TOKEN, { optional: true });
12
12
  this._columWidth$ = new BehaviorSubject(250);
@@ -176,7 +176,7 @@ class MasonryComponent {
176
176
  this._elementRef.nativeElement.style.setProperty('--et-masonry-column-width', `${width}px`);
177
177
  }
178
178
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MasonryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
179
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: MasonryComponent, isStandalone: true, selector: "et-masonry", inputs: { columWidth: "columWidth", gap: "gap" }, outputs: { initializing: "initializing", initialized: "initialized" }, host: { classAttribute: "et-masonry" }, providers: [DestroyService], queries: [{ propertyName: "_items", predicate: i0.forwardRef(function () { return MASONRY_ITEM_TOKEN; }), descendants: true }], ngImport: i0, template: `
179
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: MasonryComponent, isStandalone: true, selector: "et-masonry", inputs: { columWidth: "columWidth", gap: "gap" }, outputs: { initializing: "initializing", initialized: "initialized" }, host: { classAttribute: "et-masonry" }, queries: [{ propertyName: "_items", predicate: i0.forwardRef(function () { return MASONRY_ITEM_TOKEN; }), descendants: true }], ngImport: i0, template: `
180
180
  <div (etObserveResize)="setResizeEvent()"></div>
181
181
  <ng-content select="[etMasonryItem], et-masonry-item, ng-container" />
182
182
  `, isInline: true, styles: [".et-masonry{position:relative;display:block}.et-masonry-item{position:absolute;top:0;left:0}.et-masonry.et-masonry--hide-overflow{overflow:hidden}.et-masonry.et-masonry--initialized .et-masonry-item{transition:transform .15s var(--ease-out-3)}\n"], dependencies: [{ kind: "directive", type: ObserveResizeDirective, selector: "[etObserveResize]", inputs: ["etObserveResizeDisabled", "etObserveResizeDebounce"], outputs: ["etObserveResize"], exportAs: ["etObserveResize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
@@ -189,7 +189,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
189
189
  <ng-content select="[etMasonryItem], et-masonry-item, ng-container" />
190
190
  `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
191
191
  class: 'et-masonry',
192
- }, imports: [ObserveResizeDirective], providers: [DestroyService], styles: [".et-masonry{position:relative;display:block}.et-masonry-item{position:absolute;top:0;left:0}.et-masonry.et-masonry--hide-overflow{overflow:hidden}.et-masonry.et-masonry--initialized .et-masonry-item{transition:transform .15s var(--ease-out-3)}\n"] }]
192
+ }, imports: [ObserveResizeDirective], styles: [".et-masonry{position:relative;display:block}.et-masonry-item{position:absolute;top:0;left:0}.et-masonry.et-masonry--hide-overflow{overflow:hidden}.et-masonry.et-masonry--initialized .et-masonry-item{transition:transform .15s var(--ease-out-3)}\n"] }]
193
193
  }], propDecorators: { _items: [{
194
194
  type: ContentChildren,
195
195
  args: [forwardRef(() => MASONRY_ITEM_TOKEN), { descendants: true }]
@@ -202,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
202
202
  }], initialized: [{
203
203
  type: Output
204
204
  }] } });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzb25yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvbWFzb25yeS9jb21wb25lbnRzL21hc29ucnkvbWFzb25yeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixjQUFjLEVBQ2Qsc0JBQXNCLEVBQ3RCLGNBQWMsR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckgsT0FBTyxFQUFFLGtCQUFrQixFQUF3QixNQUFNLGdCQUFnQixDQUFDOztBQWMxRSxNQWdCYSxnQkFBZ0I7SUFoQjdCO1FBaUJtQixjQUFTLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUM1RCxnQkFBVyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFDMUQsZUFBVSxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQVlsRSxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFTLEdBQUcsQ0FBQyxD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QztJQUN0RixDQUFDO0lBRVMsY0FBYztRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQWE7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsRUFBRSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDOUYsQ0FBQzs4R0FyTlUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsME5BRmhCLENBQUMsY0FBYyxDQUFDLG9GQU9PLGtCQUFrQixvREFuQjFDOzs7R0FHVCwrVEFRUyxzQkFBc0I7O1NBR3JCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQWhCNUIsU0FBUzsrQkFDRSxZQUFZLFlBQ1o7OztHQUdULGNBRVcsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxZQUFZO3FCQUNwQixXQUNRLENBQUMsc0JBQXNCLENBQUMsYUFDdEIsQ0FBQyxjQUFjLENBQUM7OEJBUVYsTUFBTTtzQkFEdEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBSXhFLFVBQVU7c0JBRGIsS0FBSztnQkFVRixHQUFHO3NCQUROLEtBQUs7Z0JBVUcsWUFBWTtzQkFEcEIsTUFBTTtnQkFJRSxXQUFXO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHksIE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGNyZWF0ZVJlYWN0aXZlQmluZGluZ3MsXG4gIERFTEFZQUJMRV9UT0tFTixcbiAgRGVzdHJveVNlcnZpY2UsXG4gIE9ic2VydmVSZXNpemVEaXJlY3RpdmUsXG4gIFR5cGVkUXVlcnlMaXN0LFxufSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBvZiwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTUFTT05SWV9JVEVNX1RPS0VOLCBNYXNvbnJ5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhcnRpYWxzJztcblxudHlwZSBNYXNvbnJ5U3RhdGUgPSB7XG4gIHByZWZlcnJlZENvbHVtbldpZHRoOiBudW1iZXI7XG4gIGNvbHVtbldpZHRoOiBudW1iZXI7XG4gIGNvbHVtbnM6IG51bWJlcjtcbiAgZ3JpZFJvd0VsSGVpZ2h0czogbnVtYmVyW11bXTtcbiAgaG9zdEhlaWdodDogbnVtYmVyO1xuICBob3N0RGltZW5zaW9uczogRE9NUmVjdCB8IG51bGw7XG4gIGdhcDogbnVtYmVyO1xuICBpc0luaXRpYWxpemVkOiBib29sZWFuO1xuICBpdGVtQ291bnQ6IG51bWJlcjtcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LW1hc29ucnknLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgKGV0T2JzZXJ2ZVJlc2l6ZSk9XCJzZXRSZXNpemVFdmVudCgpXCI+PC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V0TWFzb25yeUl0ZW1dLCBldC1tYXNvbnJ5LWl0ZW0sIG5nLWNvbnRhaW5lclwiIC8+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL21hc29ucnkuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LW1hc29ucnknLFxuICB9LFxuICBpbXBvcnRzOiBbT2JzZXJ2ZVJlc2l6ZURpcmVjdGl2ZV0sXG4gIHByb3ZpZGVyczogW0Rlc3Ryb3lTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFzb25yeUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IGluamVjdChEZXN0cm95U2VydmljZSwgeyBob3N0OiB0cnVlIH0pLmRlc3Ryb3kkO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVsYXlhYmxlID0gaW5qZWN0KERFTEFZQUJMRV9UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gTUFTT05SWV9JVEVNX1RPS0VOKSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIHJlYWRvbmx5IF9pdGVtcz86IFR5cGVkUXVlcnlMaXN0PE1hc29ucnlJdGVtQ29tcG9uZW50PjtcblxuICBASW5wdXQoKVxuICBnZXQgY29sdW1XaWR0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bVdpZHRoJC5nZXRWYWx1ZSgpIHx8IDE7XG4gIH1cbiAgc2V0IGNvbHVtV2lkdGgodmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgdGhpcy5fY29sdW1XaWR0aCQubmV4dChjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSkpO1xuICB9XG4gIHByaXZhdGUgX2NvbHVtV2lkdGgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDI1MCk7XG5cbiAgQElucHV0KClcbiAgZ2V0IGdhcCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9nYXAkLmdldFZhbHVlKCkgfHwgMDtcbiAgfVxuICBzZXQgZ2FwKHZhbHVlOiBOdW1iZXJJbnB1dCkge1xuICAgIHRoaXMuX2dhcCQubmV4dChjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSkpO1xuICB9XG4gIHByaXZhdGUgX2dhcCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMTYpO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBpbml0aWFsaXppbmcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGluaXRpYWxpemVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RpZFJlc2l6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGlkSW5pdGlhbGl6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaGlkZU92ZXJmbG93JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IF9iaW5kaW5ncyA9IGNyZWF0ZVJlYWN0aXZlQmluZGluZ3MoXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnY2xhc3MuZXQtbWFzb25yeS0taW5pdGlhbGl6ZWQnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5fZGlkSW5pdGlhbGl6ZSQsXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdjbGFzcy5ldC1tYXNvbnJ5LS1oaWRlLW92ZXJmbG93JyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2hpZGVPdmVyZmxvdyQsXG4gICAgfSxcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdGF0ZTogTWFzb25yeVN0YXRlID0ge1xuICAgIHByZWZlcnJlZENvbHVtbldpZHRoOiAwLFxuICAgIGNvbHVtbldpZHRoOiAwLFxuICAgIGNvbHVtbnM6IDAsXG4gICAgZ3JpZFJvd0VsSGVpZ2h0czogW10sXG4gICAgaG9zdEhlaWdodDogMCxcbiAgICBob3N0RGltZW5zaW9uczogbnVsbCxcbiAgICBnYXA6IDAsXG4gICAgaXRlbUNvdW50OiAwLFxuICAgIGlzSW5pdGlhbGl6ZWQ6IGZhbHNlLFxuICB9O1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2l0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fZGVsYXlhYmxlPy5lbmFibGVEZWxheWVkKCk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9pdGVtcy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuX2l0ZW1zKSksIHRoaXMuX2RpZFJlc2l6ZSQsIHRoaXMuX2NvbHVtV2lkdGgkLCB0aGlzLl9nYXAkXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMSksXG4gICAgICAgIHRhcCgoWywgZGlkUmVzaXplLCBjb2xXaWR0aCwgZ2FwXSkgPT4ge1xuICAgICAgICAgIGlmIChkaWRSZXNpemUpIHtcbiAgICAgICAgICAgIHRoaXMuX2RpZFJlc2l6ZSQubmV4dChmYWxzZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgaXNDb21wbGV0ZUludmFsaWQgPVxuICAgICAgICAgICAgZGlkUmVzaXplIHx8IGNvbFdpZHRoICE9PSB0aGlzLl9zdGF0ZS5wcmVmZXJyZWRDb2x1bW5XaWR0aCB8fCBnYXAgIT09IHRoaXMuX3N0YXRlLmdhcDtcblxuICAgICAgICAgIHRoaXMuaW52YWxpZGF0ZSh7IHBhcnRpYWw6ICFpc0NvbXBsZXRlSW52YWxpZCB9KTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9kaWRSZXNpemUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2hpZGVPdmVyZmxvdyQubmV4dCh0cnVlKSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aW1lcigxNTApKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2hpZGVPdmVyZmxvdyQubmV4dChmYWxzZSkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5faXRlbXMuY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLl9pdGVtcyksXG4gICAgICAgIHN3aXRjaE1hcCgoaXRlbXMpID0+XG4gICAgICAgICAgaXRlbXMubGVuZ3RoXG4gICAgICAgICAgICA/IGNvbWJpbmVMYXRlc3QoXG4gICAgICAgICAgICAgICAgaXRlbXNcbiAgICAgICAgICAgICAgICAgIC50b0FycmF5KClcbiAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGkpOiBpIGlzIE1hc29ucnlJdGVtQ29tcG9uZW50ID0+ICEhaSlcbiAgICAgICAgICAgICAgICAgIC5tYXAoKGkpID0+IGkuaXNQb3NpdGlvbmVkJCksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogb2YoW10pLFxuICAgICAgICApLFxuICAgICAgICBzd2l0Y2hNYXAoKHBvc2l0aW9uZWQpID0+IHtcbiAgICAgICAgICBjb25zdCBhbGxQb3NpdGlvbmVkID0gcG9zaXRpb25lZC5ldmVyeSgoaSkgPT4gaSk7XG5cbiAgICAgICAgICBpZiAoIWFsbFBvc2l0aW9uZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2RpZEluaXRpYWxpemUkLm5leHQoYWxsUG9zaXRpb25lZCk7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemluZy5lbWl0KCk7XG4gICAgICAgICAgICB0aGlzLl9kZWxheWFibGU/LmVuYWJsZURlbGF5ZWQoKTtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdGltZXIoMTAwKS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5fZGlkSW5pdGlhbGl6ZSQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgdGhpcy5fZGVsYXlhYmxlPy5kaXNhYmxlRGVsYXllZCgpO1xuICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVkLmVtaXQoKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgaW52YWxpZGF0ZShjb25maWc/OiB7IHBhcnRpYWw/OiBib29sZWFuIH0pIHtcbiAgICBjb25zdCBpdGVtTGlzdCA9IHRoaXMuX2l0ZW1zO1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fc3RhdGU7XG5cbiAgICBpZiAoIWl0ZW1MaXN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXRlbXMgPSBpdGVtTGlzdC50b0FycmF5KCkuZmlsdGVyKChpKTogaSBpcyBNYXNvbnJ5SXRlbUNvbXBvbmVudCA9PiAhIWkpO1xuXG4gICAgaWYgKCFjb25maWc/LnBhcnRpYWwgfHwgIXN0YXRlLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHN0YXRlLnByZWZlcnJlZENvbHVtbldpZHRoID0gdGhpcy5jb2x1bVdpZHRoO1xuICAgICAgc3RhdGUuaG9zdERpbWVuc2lvbnMgPSB0aGlzLl9nZXRIb3N0RGltZW5zaW9ucygpO1xuICAgICAgc3RhdGUuY29sdW1ucyA9IE1hdGguZmxvb3Ioc3RhdGUuaG9zdERpbWVuc2lvbnMud2lkdGggLyB0aGlzLmNvbHVtV2lkdGgpO1xuICAgICAgc3RhdGUuZ2FwID0gdGhpcy5nYXA7XG4gICAgICBzdGF0ZS5pdGVtQ291bnQgPSBpdGVtcy5sZW5ndGg7XG4gICAgICBzdGF0ZS5jb2x1bW5XaWR0aCA9IChzdGF0ZS5ob3N0RGltZW5zaW9ucy53aWR0aCAtIChzdGF0ZS5jb2x1bW5zIC0gMSkgKiBzdGF0ZS5nYXApIC8gc3RhdGUuY29sdW1ucztcbiAgICAgIHRoaXMuX3NldENvbHVtbldpZHRoKHN0YXRlLmNvbHVtbldpZHRoKTtcblxuICAgICAgLyoqXG4gICAgICAgKiBEYXRhIHN0cnVjdHVyZTpcbiAgICAgICAqIFtcbiAgICAgICAqICBbY3VycmVudFRvdGFsSGVpZ2h0T2ZDb2wsIGl0ZW1IZWlnaHQsIGl0ZW1IZWlnaHQsIGl0ZW1IZWlnaHRdLFxuICAgICAgICogIFtjdXJyZW50VG90YWxIZWlnaHRPZkNvbCwgaXRlbUhlaWdodCwgaXRlbUhlaWdodCwgaXRlbUhlaWdodF0sXG4gICAgICAgKiBdXG4gICAgICAgKi9cbiAgICAgIHN0YXRlLmdyaWRSb3dFbEhlaWdodHMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiBzdGF0ZS5jb2x1bW5zIH0pLm1hcCgoKSA9PiBbMF0pO1xuXG4gICAgICB0aGlzLl9wYWludE1hc29ucnkoMCwgaXRlbXMpO1xuXG4gICAgICBzdGF0ZS5pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZnJvbUluZGV4ID0gaXRlbXMuZmluZEluZGV4KChpdGVtKSA9PiAhaXRlbS5pc1Bvc2l0aW9uZWQpO1xuXG4gICAgICAvLyBpdGVtIGNvdW50IDIwIGZyb21JbmRleCAyMCArIDEgLT4gMjEgPT4gcGFydGlhbCBpbnZhbGlkYXRpb25cbiAgICAgIGlmIChmcm9tSW5kZXggKyAxID4gc3RhdGUuaXRlbUNvdW50KSB7XG4gICAgICAgIHN0YXRlLml0ZW1Db3VudCA9IGl0ZW1zLmxlbmd0aDtcbiAgICAgICAgdGhpcy5fcGFpbnRNYXNvbnJ5KGZyb21JbmRleCwgaXRlbXMpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gZG8gYSBmdWxsIGludmFsaWRhdGlvbiB0aGUgZnJvbUluZGV4IGlzIG5vdCB0aGUgZmlyc3QgbmV3IGl0ZW1cbiAgICAgIHRoaXMuaW52YWxpZGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3BhaW50TWFzb25yeShmcm9tSW5kZXggPSAwLCBpdGVtczogTWFzb25yeUl0ZW1Db21wb25lbnRbXSkge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fc3RhdGU7XG5cbiAgICBmb3IgKGxldCBpdGVtSW5kZXggPSBmcm9tSW5kZXg7IGl0ZW1JbmRleCA8IGl0ZW1zLmxlbmd0aDsgaXRlbUluZGV4KyspIHtcbiAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1tpdGVtSW5kZXhdO1xuXG4gICAgICBjb25zdCBpbml0aWFsSXRlbURpbWVuc2lvbnMgPSBpdGVtLmluaXRpYWxEaW1lbnNpb25zO1xuICAgICAgY29uc3QgdXBkYXRlZERpbWVuc2lvbnMgPSBpdGVtLmRpbWVuc2lvbnM7XG5cbiAgICAgIGlmICghaW5pdGlhbEl0ZW1EaW1lbnNpb25zIHx8ICF1cGRhdGVkRGltZW5zaW9ucykge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBsb3dlc3RDb2x1bW5IZWlnaHQsIGxvd2VzdENvbHVtbkluZGV4IH0gPSB0aGlzLl9nZXRMb3dlc3RDb2x1bW4oc3RhdGUuZ3JpZFJvd0VsSGVpZ2h0cyk7XG5cbiAgICAgIGNvbnN0IHggPSBzdGF0ZS5jb2x1bW5XaWR0aCAqIGxvd2VzdENvbHVtbkluZGV4ICsgbG93ZXN0Q29sdW1uSW5kZXggKiBzdGF0ZS5nYXA7XG5cbiAgICAgIGl0ZW0uc2V0UG9zaXRpb24oeCwgbG93ZXN0Q29sdW1uSGVpZ2h0LCB1cGRhdGVkRGltZW5zaW9ucy5oZWlnaHQpO1xuXG4gICAgICBzdGF0ZS5ncmlkUm93RWxIZWlnaHRzW2xvd2VzdENvbHVtbkluZGV4XS5wdXNoKHVwZGF0ZWREaW1lbnNpb25zLmhlaWdodCk7XG4gICAgICBzdGF0ZS5ncmlkUm93RWxIZWlnaHRzW2xvd2VzdENvbHVtbkluZGV4XVswXSArPSB1cGRhdGVkRGltZW5zaW9ucy5oZWlnaHQgKyBzdGF0ZS5nYXA7XG4gICAgfVxuXG4gICAgc3RhdGUuaG9zdEhlaWdodCA9IHRoaXMuX2dldEhpZ2hlc3RDb2x1bW4oc3RhdGUuZ3JpZFJvd0VsSGVpZ2h0cykuaGlnaGVzdENvbHVtbkhlaWdodCAtIHN0YXRlLmdhcDtcblxuICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnaGVpZ2h0JywgYCR7c3RhdGUuaG9zdEhlaWdodH1weGApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFJlc2l6ZUV2ZW50KCkge1xuICAgIHRoaXMuX2RpZFJlc2l6ZSQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEhvc3REaW1lbnNpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRDb2x1bW5XaWR0aCh3aWR0aDogbnVtYmVyKSB7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWV0LW1hc29ucnktY29sdW1uLXdpZHRoJywgYCR7d2lkdGh9cHhgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldExvd2VzdENvbHVtbiA9IChjb2x1bW5IZWlnaHRzOiBudW1iZXJbXVtdKSA9PiB7XG4gICAgbGV0IGxvd2VzdENvbHVtbkhlaWdodCA9IGNvbHVtbkhlaWdodHNbMF1bMF07XG4gICAgbGV0IGxvd2VzdENvbHVtbkluZGV4ID0gMDtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1uSGVpZ2h0cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY29sdW1uSGVpZ2h0ID0gY29sdW1uSGVpZ2h0c1tpXVswXTtcblxuICAgICAgaWYgKGNvbHVtbkhlaWdodCA8IGxvd2VzdENvbHVtbkhlaWdodCkge1xuICAgICAgICBsb3dlc3RDb2x1bW5IZWlnaHQgPSBjb2x1bW5IZWlnaHQ7XG4gICAgICAgIGxvd2VzdENvbHVtbkluZGV4ID0gaTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyBsb3dlc3RDb2x1bW5IZWlnaHQsIGxvd2VzdENvbHVtbkluZGV4IH07XG4gIH07XG5cbiAgcHJpdmF0ZSBfZ2V0SGlnaGVzdENvbHVtbiA9IChjb2x1bW5IZWlnaHRzOiBudW1iZXJbXVtdKSA9PiB7XG4gICAgbGV0IGhpZ2hlc3RDb2x1bW5IZWlnaHQgPSBjb2x1bW5IZWlnaHRzWzBdWzBdO1xuICAgIGxldCBoaWdoZXN0Q29sdW1uSW5kZXggPSAwO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2x1bW5IZWlnaHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjb2x1bW5IZWlnaHQgPSBjb2x1bW5IZWlnaHRzW2ldWzBdO1xuXG4gICAgICBpZiAoY29sdW1uSGVpZ2h0ID49IGhpZ2hlc3RDb2x1bW5IZWlnaHQpIHtcbiAgICAgICAgaGlnaGVzdENvbHVtbkhlaWdodCA9IGNvbHVtbkhlaWdodDtcbiAgICAgICAgaGlnaGVzdENvbHVtbkluZGV4ID0gaTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyBoaWdoZXN0Q29sdW1uSGVpZ2h0LCBoaWdoZXN0Q29sdW1uSW5kZXggfTtcbiAgfTtcbn1cbiJdfQ==
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzb25yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvbWFzb25yeS9jb21wb25lbnRzL21hc29ucnkvbWFzb25yeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsYUFBYSxFQUNiLHNCQUFzQixFQUN0QixlQUFlLEVBQ2Ysc0JBQXNCLEVBQ3RCLGNBQWMsR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckgsT0FBTyxFQUFFLGtCQUFrQixFQUF3QixNQUFNLGdCQUFnQixDQUFDOztBQWMxRSxNQWVhLGdCQUFnQjtJQWY3QjtRQWdCbUIsY0FBUyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBQzVCLGdCQUFXLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUMxRCxlQUFVLEdBQUcsTUFBTSxDQUFDLGVBQWUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBWWxFLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVMsR0FBRyxDQUFDLENBQUM7UUFTaEQsVUFBSyxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FB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SSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2hFLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBYTtRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLDJCQUEyQixFQUFFLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUM5RixDQUFDOzhHQXJOVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixpU0FLTyxrQkFBa0Isb0RBbEIxQzs7O0dBR1QsK1RBUVMsc0JBQXNCOztTQUVyQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFmNUIsU0FBUzsrQkFDRSxZQUFZLFlBQ1o7OztHQUdULGNBRVcsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxZQUFZO3FCQUNwQixXQUNRLENBQUMsc0JBQXNCLENBQUM7OEJBUWhCLE1BQU07c0JBRHRCLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUl4RSxVQUFVO3NCQURiLEtBQUs7Z0JBVUYsR0FBRztzQkFETixLQUFLO2dCQVVHLFlBQVk7c0JBRHBCLE1BQU07Z0JBSUUsV0FBVztzQkFEbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5LCBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBjcmVhdGVEZXN0cm95LFxuICBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzLFxuICBERUxBWUFCTEVfVE9LRU4sXG4gIE9ic2VydmVSZXNpemVEaXJlY3RpdmUsXG4gIFR5cGVkUXVlcnlMaXN0LFxufSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBvZiwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTUFTT05SWV9JVEVNX1RPS0VOLCBNYXNvbnJ5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhcnRpYWxzJztcblxudHlwZSBNYXNvbnJ5U3RhdGUgPSB7XG4gIHByZWZlcnJlZENvbHVtbldpZHRoOiBudW1iZXI7XG4gIGNvbHVtbldpZHRoOiBudW1iZXI7XG4gIGNvbHVtbnM6IG51bWJlcjtcbiAgZ3JpZFJvd0VsSGVpZ2h0czogbnVtYmVyW11bXTtcbiAgaG9zdEhlaWdodDogbnVtYmVyO1xuICBob3N0RGltZW5zaW9uczogRE9NUmVjdCB8IG51bGw7XG4gIGdhcDogbnVtYmVyO1xuICBpc0luaXRpYWxpemVkOiBib29sZWFuO1xuICBpdGVtQ291bnQ6IG51bWJlcjtcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LW1hc29ucnknLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgKGV0T2JzZXJ2ZVJlc2l6ZSk9XCJzZXRSZXNpemVFdmVudCgpXCI+PC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V0TWFzb25yeUl0ZW1dLCBldC1tYXNvbnJ5LWl0ZW0sIG5nLWNvbnRhaW5lclwiIC8+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL21hc29ucnkuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LW1hc29ucnknLFxuICB9LFxuICBpbXBvcnRzOiBbT2JzZXJ2ZVJlc2l6ZURpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1hc29ucnlDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBjcmVhdGVEZXN0cm95KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZWxheWFibGUgPSBpbmplY3QoREVMQVlBQkxFX1RPS0VOLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBNQVNPTlJZX0lURU1fVE9LRU4pLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgcmVhZG9ubHkgX2l0ZW1zPzogVHlwZWRRdWVyeUxpc3Q8TWFzb25yeUl0ZW1Db21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpXG4gIGdldCBjb2x1bVdpZHRoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtV2lkdGgkLmdldFZhbHVlKCkgfHwgMTtcbiAgfVxuICBzZXQgY29sdW1XaWR0aCh2YWx1ZTogTnVtYmVySW5wdXQpIHtcbiAgICB0aGlzLl9jb2x1bVdpZHRoJC5uZXh0KGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKSk7XG4gIH1cbiAgcHJpdmF0ZSBfY29sdW1XaWR0aCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMjUwKTtcblxuICBASW5wdXQoKVxuICBnZXQgZ2FwKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2dhcCQuZ2V0VmFsdWUoKSB8fCAwO1xuICB9XG4gIHNldCBnYXAodmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgdGhpcy5fZ2FwJC5uZXh0KGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKSk7XG4gIH1cbiAgcHJpdmF0ZSBfZ2FwJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxNik7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGluaXRpYWxpemluZyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgaW5pdGlhbGl6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGlkUmVzaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaWRJbml0aWFsaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9oaWRlT3ZlcmZsb3ckID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgX2JpbmRpbmdzID0gY3JlYXRlUmVhY3RpdmVCaW5kaW5ncyhcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdjbGFzcy5ldC1tYXNvbnJ5LS1pbml0aWFsaXplZCcsXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLl9kaWRJbml0aWFsaXplJCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LW1hc29ucnktLWhpZGUtb3ZlcmZsb3cnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5faGlkZU92ZXJmbG93JCxcbiAgICB9LFxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlOiBNYXNvbnJ5U3RhdGUgPSB7XG4gICAgcHJlZmVycmVkQ29sdW1uV2lkdGg6IDAsXG4gICAgY29sdW1uV2lkdGg6IDAsXG4gICAgY29sdW1uczogMCxcbiAgICBncmlkUm93RWxIZWlnaHRzOiBbXSxcbiAgICBob3N0SGVpZ2h0OiAwLFxuICAgIGhvc3REaW1lbnNpb25zOiBudWxsLFxuICAgIGdhcDogMCxcbiAgICBpdGVtQ291bnQ6IDAsXG4gICAgaXNJbml0aWFsaXplZDogZmFsc2UsXG4gIH07XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faXRlbXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9kZWxheWFibGU/LmVuYWJsZURlbGF5ZWQoKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX2l0ZW1zLmNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5faXRlbXMpKSwgdGhpcy5fZGlkUmVzaXplJCwgdGhpcy5fY29sdW1XaWR0aCQsIHRoaXMuX2dhcCRdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgxKSxcbiAgICAgICAgdGFwKChbLCBkaWRSZXNpemUsIGNvbFdpZHRoLCBnYXBdKSA9PiB7XG4gICAgICAgICAgaWYgKGRpZFJlc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5fZGlkUmVzaXplJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBpc0NvbXBsZXRlSW52YWxpZCA9XG4gICAgICAgICAgICBkaWRSZXNpemUgfHwgY29sV2lkdGggIT09IHRoaXMuX3N0YXRlLnByZWZlcnJlZENvbHVtbldpZHRoIHx8IGdhcCAhPT0gdGhpcy5fc3RhdGUuZ2FwO1xuXG4gICAgICAgICAgdGhpcy5pbnZhbGlkYXRlKHsgcGFydGlhbDogIWlzQ29tcGxldGVJbnZhbGlkIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX2RpZFJlc2l6ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5faGlkZU92ZXJmbG93JC5uZXh0KHRydWUpKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRpbWVyKDE1MCkpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5faGlkZU92ZXJmbG93JC5uZXh0KGZhbHNlKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9pdGVtcy5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuX2l0ZW1zKSxcbiAgICAgICAgc3dpdGNoTWFwKChpdGVtcykgPT5cbiAgICAgICAgICBpdGVtcy5sZW5ndGhcbiAgICAgICAgICAgID8gY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgICAgICBpdGVtc1xuICAgICAgICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAgICAgLmZpbHRlcigoaSk6IGkgaXMgTWFzb25yeUl0ZW1Db21wb25lbnQgPT4gISFpKVxuICAgICAgICAgICAgICAgICAgLm1hcCgoaSkgPT4gaS5pc1Bvc2l0aW9uZWQkKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBvZihbXSksXG4gICAgICAgICksXG4gICAgICAgIHN3aXRjaE1hcCgocG9zaXRpb25lZCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFsbFBvc2l0aW9uZWQgPSBwb3NpdGlvbmVkLmV2ZXJ5KChpKSA9PiBpKTtcblxuICAgICAgICAgIGlmICghYWxsUG9zaXRpb25lZCkge1xuICAgICAgICAgICAgdGhpcy5fZGlkSW5pdGlhbGl6ZSQubmV4dChhbGxQb3NpdGlvbmVkKTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6aW5nLmVtaXQoKTtcbiAgICAgICAgICAgIHRoaXMuX2RlbGF5YWJsZT8uZW5hYmxlRGVsYXllZCgpO1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB0aW1lcigxMDApLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLl9kaWRJbml0aWFsaXplJC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgICB0aGlzLl9kZWxheWFibGU/LmRpc2FibGVEZWxheWVkKCk7XG4gICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQuZW1pdCgpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBpbnZhbGlkYXRlKGNvbmZpZz86IHsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICAgIGNvbnN0IGl0ZW1MaXN0ID0gdGhpcy5faXRlbXM7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLl9zdGF0ZTtcblxuICAgIGlmICghaXRlbUxpc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpdGVtcyA9IGl0ZW1MaXN0LnRvQXJyYXkoKS5maWx0ZXIoKGkpOiBpIGlzIE1hc29ucnlJdGVtQ29tcG9uZW50ID0+ICEhaSk7XG5cbiAgICBpZiAoIWNvbmZpZz8ucGFydGlhbCB8fCAhc3RhdGUuaXNJbml0aWFsaXplZCkge1xuICAgICAgc3RhdGUucHJlZmVycmVkQ29sdW1uV2lkdGggPSB0aGlzLmNvbHVtV2lkdGg7XG4gICAgICBzdGF0ZS5ob3N0RGltZW5zaW9ucyA9IHRoaXMuX2dldEhvc3REaW1lbnNpb25zKCk7XG4gICAgICBzdGF0ZS5jb2x1bW5zID0gTWF0aC5mbG9vcihzdGF0ZS5ob3N0RGltZW5zaW9ucy53aWR0aCAvIHRoaXMuY29sdW1XaWR0aCk7XG4gICAgICBzdGF0ZS5nYXAgPSB0aGlzLmdhcDtcbiAgICAgIHN0YXRlLml0ZW1Db3VudCA9IGl0ZW1zLmxlbmd0aDtcbiAgICAgIHN0YXRlLmNvbHVtbldpZHRoID0gKHN0YXRlLmhvc3REaW1lbnNpb25zLndpZHRoIC0gKHN0YXRlLmNvbHVtbnMgLSAxKSAqIHN0YXRlLmdhcCkgLyBzdGF0ZS5jb2x1bW5zO1xuICAgICAgdGhpcy5fc2V0Q29sdW1uV2lkdGgoc3RhdGUuY29sdW1uV2lkdGgpO1xuXG4gICAgICAvKipcbiAgICAgICAqIERhdGEgc3RydWN0dXJlOlxuICAgICAgICogW1xuICAgICAgICogIFtjdXJyZW50VG90YWxIZWlnaHRPZkNvbCwgaXRlbUhlaWdodCwgaXRlbUhlaWdodCwgaXRlbUhlaWdodF0sXG4gICAgICAgKiAgW2N1cnJlbnRUb3RhbEhlaWdodE9mQ29sLCBpdGVtSGVpZ2h0LCBpdGVtSGVpZ2h0LCBpdGVtSGVpZ2h0XSxcbiAgICAgICAqIF1cbiAgICAgICAqL1xuICAgICAgc3RhdGUuZ3JpZFJvd0VsSGVpZ2h0cyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IHN0YXRlLmNvbHVtbnMgfSkubWFwKCgpID0+IFswXSk7XG5cbiAgICAgIHRoaXMuX3BhaW50TWFzb25yeSgwLCBpdGVtcyk7XG5cbiAgICAgIHN0YXRlLmlzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmcm9tSW5kZXggPSBpdGVtcy5maW5kSW5kZXgoKGl0ZW0pID0+ICFpdGVtLmlzUG9zaXRpb25lZCk7XG5cbiAgICAgIC8vIGl0ZW0gY291bnQgMjAgZnJvbUluZGV4IDIwICsgMSAtPiAyMSA9PiBwYXJ0aWFsIGludmFsaWRhdGlvblxuICAgICAgaWYgKGZyb21JbmRleCArIDEgPiBzdGF0ZS5pdGVtQ291bnQpIHtcbiAgICAgICAgc3RhdGUuaXRlbUNvdW50ID0gaXRlbXMubGVuZ3RoO1xuICAgICAgICB0aGlzLl9wYWludE1hc29ucnkoZnJvbUluZGV4LCBpdGVtcyk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBkbyBhIGZ1bGwgaW52YWxpZGF0aW9uIHRoZSBmcm9tSW5kZXggaXMgbm90IHRoZSBmaXJzdCBuZXcgaXRlbVxuICAgICAgdGhpcy5pbnZhbGlkYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcGFpbnRNYXNvbnJ5KGZyb21JbmRleCA9IDAsIGl0ZW1zOiBNYXNvbnJ5SXRlbUNvbXBvbmVudFtdKSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLl9zdGF0ZTtcblxuICAgIGZvciAobGV0IGl0ZW1JbmRleCA9IGZyb21JbmRleDsgaXRlbUluZGV4IDwgaXRlbXMubGVuZ3RoOyBpdGVtSW5kZXgrKykge1xuICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2l0ZW1JbmRleF07XG5cbiAgICAgIGNvbnN0IGluaXRpYWxJdGVtRGltZW5zaW9ucyA9IGl0ZW0uaW5pdGlhbERpbWVuc2lvbnM7XG4gICAgICBjb25zdCB1cGRhdGVkRGltZW5zaW9ucyA9IGl0ZW0uZGltZW5zaW9ucztcblxuICAgICAgaWYgKCFpbml0aWFsSXRlbURpbWVuc2lvbnMgfHwgIXVwZGF0ZWREaW1lbnNpb25zKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IGxvd2VzdENvbHVtbkhlaWdodCwgbG93ZXN0Q29sdW1uSW5kZXggfSA9IHRoaXMuX2dldExvd2VzdENvbHVtbihzdGF0ZS5ncmlkUm93RWxIZWlnaHRzKTtcblxuICAgICAgY29uc3QgeCA9IHN0YXRlLmNvbHVtbldpZHRoICogbG93ZXN0Q29sdW1uSW5kZXggKyBsb3dlc3RDb2x1bW5JbmRleCAqIHN0YXRlLmdhcDtcblxuICAgICAgaXRlbS5zZXRQb3NpdGlvbih4LCBsb3dlc3RDb2x1bW5IZWlnaHQsIHVwZGF0ZWREaW1lbnNpb25zLmhlaWdodCk7XG5cbiAgICAgIHN0YXRlLmdyaWRSb3dFbEhlaWdodHNbbG93ZXN0Q29sdW1uSW5kZXhdLnB1c2godXBkYXRlZERpbWVuc2lvbnMuaGVpZ2h0KTtcbiAgICAgIHN0YXRlLmdyaWRSb3dFbEhlaWdodHNbbG93ZXN0Q29sdW1uSW5kZXhdWzBdICs9IHVwZGF0ZWREaW1lbnNpb25zLmhlaWdodCArIHN0YXRlLmdhcDtcbiAgICB9XG5cbiAgICBzdGF0ZS5ob3N0SGVpZ2h0ID0gdGhpcy5fZ2V0SGlnaGVzdENvbHVtbihzdGF0ZS5ncmlkUm93RWxIZWlnaHRzKS5oaWdoZXN0Q29sdW1uSGVpZ2h0IC0gc3RhdGUuZ2FwO1xuXG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdoZWlnaHQnLCBgJHtzdGF0ZS5ob3N0SGVpZ2h0fXB4YCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0UmVzaXplRXZlbnQoKSB7XG4gICAgdGhpcy5fZGlkUmVzaXplJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SG9zdERpbWVuc2lvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldENvbHVtbldpZHRoKHdpZHRoOiBudW1iZXIpIHtcbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tZXQtbWFzb25yeS1jb2x1bW4td2lkdGgnLCBgJHt3aWR0aH1weGApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TG93ZXN0Q29sdW1uID0gKGNvbHVtbkhlaWdodHM6IG51bWJlcltdW10pID0+IHtcbiAgICBsZXQgbG93ZXN0Q29sdW1uSGVpZ2h0ID0gY29sdW1uSGVpZ2h0c1swXVswXTtcbiAgICBsZXQgbG93ZXN0Q29sdW1uSW5kZXggPSAwO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2x1bW5IZWlnaHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjb2x1bW5IZWlnaHQgPSBjb2x1bW5IZWlnaHRzW2ldWzBdO1xuXG4gICAgICBpZiAoY29sdW1uSGVpZ2h0IDwgbG93ZXN0Q29sdW1uSGVpZ2h0KSB7XG4gICAgICAgIGxvd2VzdENvbHVtbkhlaWdodCA9IGNvbHVtbkhlaWdodDtcbiAgICAgICAgbG93ZXN0Q29sdW1uSW5kZXggPSBpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IGxvd2VzdENvbHVtbkhlaWdodCwgbG93ZXN0Q29sdW1uSW5kZXggfTtcbiAgfTtcblxuICBwcml2YXRlIF9nZXRIaWdoZXN0Q29sdW1uID0gKGNvbHVtbkhlaWdodHM6IG51bWJlcltdW10pID0+IHtcbiAgICBsZXQgaGlnaGVzdENvbHVtbkhlaWdodCA9IGNvbHVtbkhlaWdodHNbMF1bMF07XG4gICAgbGV0IGhpZ2hlc3RDb2x1bW5JbmRleCA9IDA7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbHVtbkhlaWdodHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNvbHVtbkhlaWdodCA9IGNvbHVtbkhlaWdodHNbaV1bMF07XG5cbiAgICAgIGlmIChjb2x1bW5IZWlnaHQgPj0gaGlnaGVzdENvbHVtbkhlaWdodCkge1xuICAgICAgICBoaWdoZXN0Q29sdW1uSGVpZ2h0ID0gY29sdW1uSGVpZ2h0O1xuICAgICAgICBoaWdoZXN0Q29sdW1uSW5kZXggPSBpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IGhpZ2hlc3RDb2x1bW5IZWlnaHQsIGhpZ2hlc3RDb2x1bW5JbmRleCB9O1xuICB9O1xufVxuIl19