@morozeckiy/dd-lib 0.2.71 → 0.4.25

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 (66) hide show
  1. package/assets/images/svg/file.svg +12 -0
  2. package/assets/images/svg/reload.svg +11 -0
  3. package/assets/scss/common.scss +22 -1
  4. package/assets/scss/grid.scss +158 -0
  5. package/assets/scss/keyframes.scss +9 -0
  6. package/assets/scss/reset.scss +4 -0
  7. package/assets/scss/titles.scss +24 -10
  8. package/assets/styles.scss +2 -0
  9. package/esm2022/lib/common/lib-common-input-text.mjs +31 -26
  10. package/esm2022/lib/components/data-empty/data-empty.component.mjs +8 -3
  11. package/esm2022/lib/core/dialog/modal-base/modal-base.component.mjs +12 -5
  12. package/esm2022/lib/core/directives/click-outside.directive.mjs +2 -2
  13. package/esm2022/lib/core/directives/counter.directive.mjs +16 -4
  14. package/esm2022/lib/core/services/destroy.service.mjs +1 -1
  15. package/esm2022/lib/core/services/fetcher.service.mjs +26 -48
  16. package/esm2022/lib/core/services/validators.service.mjs +33 -1
  17. package/esm2022/lib/core/toast/toast/toast.component.mjs +6 -9
  18. package/esm2022/lib/core/toast/toast-config.mjs +13 -2
  19. package/esm2022/lib/core/toast/toast.service.mjs +24 -5
  20. package/esm2022/lib/core/tooltip/tooltip.directive.mjs +75 -33
  21. package/esm2022/lib/lib-button/lib-button.component.mjs +3 -7
  22. package/esm2022/lib/lib-card/lib-card.component.mjs +3 -3
  23. package/esm2022/lib/lib-checkbox/lib-checkbox.component.mjs +9 -5
  24. package/esm2022/lib/lib-date-range/lib-date-range.component.mjs +3 -8
  25. package/esm2022/lib/lib-file-loader/lib-file-loader.component.mjs +34 -11
  26. package/esm2022/lib/lib-file-upload/lib-file-upload.component.mjs +21 -18
  27. package/esm2022/lib/lib-filter-button/lib-filter-button.component.mjs +3 -3
  28. package/esm2022/lib/lib-image-loader/lib-image-loader.component.mjs +3 -3
  29. package/esm2022/lib/lib-info-card/lib-info-card.component.mjs +30 -0
  30. package/esm2022/lib/lib-input/lib-input.component.mjs +55 -11
  31. package/esm2022/lib/lib-loader/lib-loader.component.mjs +6 -3
  32. package/esm2022/lib/lib-radio/lib-radio.component.mjs +3 -3
  33. package/esm2022/lib/lib-search-input/lib-search-input.component.mjs +3 -3
  34. package/esm2022/lib/lib-select/lib-select.component.mjs +68 -15
  35. package/esm2022/lib/lib-tabs-fragment/lib-tabs-fragment.component.mjs +5 -2
  36. package/esm2022/lib/lib-textarea/lib-textarea.component.mjs +12 -3
  37. package/esm2022/lib/svg-icons/svg-icon.model.mjs +11 -1
  38. package/esm2022/public-api.mjs +2 -1
  39. package/fesm2022/morozeckiy-dd-lib.mjs +481 -211
  40. package/fesm2022/morozeckiy-dd-lib.mjs.map +1 -1
  41. package/lib/common/lib-common-input-text.d.ts +11 -4
  42. package/lib/components/data-empty/data-empty.component.d.ts +2 -1
  43. package/lib/core/dialog/modal-base/modal-base.component.d.ts +4 -2
  44. package/lib/core/directives/counter.directive.d.ts +4 -1
  45. package/lib/core/services/fetcher.service.d.ts +32 -6
  46. package/lib/core/services/validators.service.d.ts +3 -2
  47. package/lib/core/toast/toast/toast.component.d.ts +2 -2
  48. package/lib/core/toast/toast-config.d.ts +6 -3
  49. package/lib/core/toast/toast.service.d.ts +6 -2
  50. package/lib/core/tooltip/tooltip.directive.d.ts +4 -1
  51. package/lib/lib-button/lib-button.component.d.ts +1 -1
  52. package/lib/lib-checkbox/lib-checkbox.component.d.ts +2 -1
  53. package/lib/lib-date-range/lib-date-range.component.d.ts +0 -1
  54. package/lib/lib-file-loader/lib-file-loader.component.d.ts +10 -5
  55. package/lib/lib-file-upload/lib-file-upload.component.d.ts +11 -9
  56. package/lib/lib-info-card/lib-info-card.component.d.ts +12 -0
  57. package/lib/lib-input/lib-input.component.d.ts +17 -5
  58. package/lib/lib-loader/lib-loader.component.d.ts +1 -0
  59. package/lib/lib-select/lib-select.component.d.ts +18 -6
  60. package/lib/lib-tabs-fragment/lib-tabs-fragment.component.d.ts +3 -2
  61. package/lib/lib-textarea/lib-textarea.component.d.ts +5 -3
  62. package/lib/svg-icons/svg-icon.model.d.ts +15 -1
  63. package/morozeckiy-dd-lib-0.4.25.tgz +0 -0
  64. package/package.json +1 -1
  65. package/public-api.d.ts +1 -0
  66. package/morozeckiy-dd-lib-0.2.71.tgz +0 -0
@@ -1,21 +1,42 @@
1
- import { ChangeDetectionStrategy, Component, forwardRef, Host, Optional, SkipSelf, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Host, Input, Optional, SkipSelf, ViewChild, } from '@angular/core';
2
2
  import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { NgOptimizedImage } from '@angular/common';
4
4
  import { LibCommonInputTextComponent } from '../common/lib-common-input-text';
5
5
  import { LibCardComponent } from '../lib-card/lib-card.component';
6
6
  import { LibSvgIconComponent } from "../lib-svg-icon/lib-svg-icon.component";
7
+ import { DestroyService, ValidatorsService } from "../core";
8
+ import { takeUntil } from "rxjs/operators";
9
+ import { NgxMaskDirective } from "ngx-mask";
7
10
  import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/forms";
11
+ import * as i1 from "../core";
12
+ import * as i2 from "@angular/forms";
9
13
  export class LibInputComponent extends LibCommonInputTextComponent {
10
- constructor(changeDetection, controlContainer) {
14
+ constructor(destroyed$, changeDetection, controlContainer) {
11
15
  super(changeDetection);
16
+ this.destroyed$ = destroyed$;
12
17
  this.controlContainer = controlContainer;
18
+ this.showMaskTyped = false;
19
+ this.dropSpecialCharacters = false;
20
+ this.prefix = '';
21
+ this.suffix = '';
22
+ this.shownMaskExpression = null;
23
+ this.validation = false;
13
24
  }
14
25
  ngOnInit() {
15
26
  this.control =
16
27
  this.controlContainer && this.formControlName
17
28
  ? this.controlContainer?.control?.get(this.formControlName)
18
29
  : null;
30
+ if (this.control) {
31
+ this.changeValueSub(this.control);
32
+ }
33
+ }
34
+ changeValueSub(control) {
35
+ control.valueChanges
36
+ .pipe(takeUntil(this.destroyed$))
37
+ .subscribe(val => {
38
+ this.errorText = ValidatorsService.getErrorText(this.control?.errors);
39
+ });
19
40
  }
20
41
  writeValue(value) {
21
42
  this.value = value === null || value === undefined ? '' : '' + value;
@@ -25,31 +46,54 @@ export class LibInputComponent extends LibCommonInputTextComponent {
25
46
  }
26
47
  ngOnDestroy() {
27
48
  this.destroyed = true;
28
- // this.focusManager.unregister(this);
29
49
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ControlContainer, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibInputComponent, isStandalone: true, selector: "dd-lib-input", providers: [
50
+ handleBlur() {
51
+ super.handleBlur();
52
+ this.errorText = ValidatorsService.getErrorText(this.control?.errors);
53
+ this.changeDetection.detectChanges();
54
+ }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibInputComponent, deps: [{ token: i1.DestroyService }, { token: i0.ChangeDetectorRef }, { token: i2.ControlContainer, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibInputComponent, isStandalone: true, selector: "dd-lib-input", inputs: { showMaskTyped: "showMaskTyped", dropSpecialCharacters: "dropSpecialCharacters", prefix: "prefix", suffix: "suffix", shownMaskExpression: "shownMaskExpression", mask: "mask", validation: "validation" }, providers: [
57
+ DestroyService,
32
58
  {
33
59
  provide: NG_VALUE_ACCESSOR,
34
60
  useExisting: forwardRef(() => LibInputComponent),
35
61
  multi: true,
36
62
  },
37
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"lib-input\">\n <label [for]=\"id\" class=\"lib-input__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n <input\n #input\n (blur)=\"notifyFocusEvent($event)\"\n (change)=\"handleChange()\"\n (focus)=\"notifyFocusEvent($event)\"\n (input)=\"handleInput($event)\"\n (keyup.enter)=\"forceChange()\"\n [(ngModel)]=\"value\"\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\n [attr.id]=\"id ? id : null\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"type || 'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n class=\"text-input\" />\n @if (errorText && invalid) {\n <div class=\"lib-input__error\">{{ errorText }}</div>\n }\n</div>\n", styles: [":host{display:block}.lib-input{position:relative}.lib-input input{width:100%;height:48px;padding:15px 16px;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative;color:var(--light-black-color)}.lib-input input:hover{border-color:var(--input-active-border-colort)}.lib-input input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-input input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-input input:disabled::placeholder{color:var(--input-placeholder)}.lib-input input.invalid,.lib-input input.invalid:hover{border-color:var(--input-error-border-color)}.lib-input input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start;color:var(--light-black-color)}.lib-input__error{color:var(--primary-red-color);font-size:14px;font-weight:400;line-height:20px;margin-top:4px}.lib-input .password-eye{position:absolute;right:16px;top:40px;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
+ ], viewQueries: [{ propertyName: "contentInput", first: true, predicate: ["contentInput"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"lib-input\">\n <label [for]=\"id\" class=\"lib-input__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n <input\n #input\n (blur)=\"handleBlur()\"\n (change)=\"handleChange()\"\n (focus)=\"handleFocus()\"\n (input)=\"handleInput($event)\"\n (keyup.enter)=\"forceChange()\"\n [showMaskTyped]=\"showMaskTyped\"\n [dropSpecialCharacters]=\"dropSpecialCharacters\"\n [shownMaskExpression]=\"shownMaskExpression\"\n [mask]=\"mask\"\n [validation]=\"validation\"\n [prefix]=\"prefix\"\n [suffix]=\"suffix\"\n [(ngModel)]=\"value\"\n [attr.autofocus]=\"autofocus\"\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\n [attr.id]=\"id ? id : null\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"type || 'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"showError\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n class=\"text-input\" />\n @if (errorTexts.length && showError) {\n @for (error of errorTexts; track error) {\n <div class=\"lib-input__error\">{{ error }}</div>\n }\n }\n @if (errorText && showSelfError && showError) {\n <div class=\"lib-input__error\">{{ errorText }}</div>\n }\n</div>\n", styles: [":host{display:block}.lib-input{position:relative}.lib-input input{width:100%;height:48px;padding:15px 16px;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative;color:var(--light-black-color)}.lib-input input:hover{border-color:var(--input-active-border-colort)}.lib-input input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-input input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-input input:disabled::placeholder{color:var(--input-placeholder)}.lib-input input.invalid,.lib-input input.invalid:hover{border-color:var(--input-error-border-color)}.lib-input input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start;color:var(--light-black-color)}.lib-input__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px;position:absolute}.lib-input .password-eye{position:absolute;right:16px;top:40px;cursor:pointer}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
64
  }
39
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibInputComponent, decorators: [{
40
66
  type: Component,
41
67
  args: [{ selector: 'dd-lib-input', standalone: true, providers: [
68
+ DestroyService,
42
69
  {
43
70
  provide: NG_VALUE_ACCESSOR,
44
71
  useExisting: forwardRef(() => LibInputComponent),
45
72
  multi: true,
46
73
  },
47
- ], changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, NgOptimizedImage, LibCardComponent, LibSvgIconComponent], template: "<div class=\"lib-input\">\n <label [for]=\"id\" class=\"lib-input__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n <input\n #input\n (blur)=\"notifyFocusEvent($event)\"\n (change)=\"handleChange()\"\n (focus)=\"notifyFocusEvent($event)\"\n (input)=\"handleInput($event)\"\n (keyup.enter)=\"forceChange()\"\n [(ngModel)]=\"value\"\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\n [attr.id]=\"id ? id : null\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"type || 'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n class=\"text-input\" />\n @if (errorText && invalid) {\n <div class=\"lib-input__error\">{{ errorText }}</div>\n }\n</div>\n", styles: [":host{display:block}.lib-input{position:relative}.lib-input input{width:100%;height:48px;padding:15px 16px;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative;color:var(--light-black-color)}.lib-input input:hover{border-color:var(--input-active-border-colort)}.lib-input input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-input input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-input input:disabled::placeholder{color:var(--input-placeholder)}.lib-input input.invalid,.lib-input input.invalid:hover{border-color:var(--input-error-border-color)}.lib-input input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start;color:var(--light-black-color)}.lib-input__error{color:var(--primary-red-color);font-size:14px;font-weight:400;line-height:20px;margin-top:4px}.lib-input .password-eye{position:absolute;right:16px;top:40px;cursor:pointer}\n"] }]
48
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ControlContainer, decorators: [{
74
+ ], changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, NgxMaskDirective, NgOptimizedImage, LibCardComponent, LibSvgIconComponent], template: "<div class=\"lib-input\">\n <label [for]=\"id\" class=\"lib-input__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n <input\n #input\n (blur)=\"handleBlur()\"\n (change)=\"handleChange()\"\n (focus)=\"handleFocus()\"\n (input)=\"handleInput($event)\"\n (keyup.enter)=\"forceChange()\"\n [showMaskTyped]=\"showMaskTyped\"\n [dropSpecialCharacters]=\"dropSpecialCharacters\"\n [shownMaskExpression]=\"shownMaskExpression\"\n [mask]=\"mask\"\n [validation]=\"validation\"\n [prefix]=\"prefix\"\n [suffix]=\"suffix\"\n [(ngModel)]=\"value\"\n [attr.autofocus]=\"autofocus\"\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\n [attr.id]=\"id ? id : null\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"type || 'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"showError\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n class=\"text-input\" />\n @if (errorTexts.length && showError) {\n @for (error of errorTexts; track error) {\n <div class=\"lib-input__error\">{{ error }}</div>\n }\n }\n @if (errorText && showSelfError && showError) {\n <div class=\"lib-input__error\">{{ errorText }}</div>\n }\n</div>\n", styles: [":host{display:block}.lib-input{position:relative}.lib-input input{width:100%;height:48px;padding:15px 16px;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative;color:var(--light-black-color)}.lib-input input:hover{border-color:var(--input-active-border-colort)}.lib-input input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-input input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-input input:disabled::placeholder{color:var(--input-placeholder)}.lib-input input.invalid,.lib-input input.invalid:hover{border-color:var(--input-error-border-color)}.lib-input input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start;color:var(--light-black-color)}.lib-input__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px;position:absolute}.lib-input .password-eye{position:absolute;right:16px;top:40px;cursor:pointer}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}\n"] }]
75
+ }], ctorParameters: () => [{ type: i1.DestroyService }, { type: i0.ChangeDetectorRef }, { type: i2.ControlContainer, decorators: [{
49
76
  type: Optional
50
77
  }, {
51
78
  type: Host
52
79
  }, {
53
80
  type: SkipSelf
54
- }] }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi1pbnB1dC9saWItaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWlucHV0L2xpYi1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUdKLFFBQVEsRUFDUixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF5QyxXQUFXLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBaUIzRSxNQUFNLE9BQU8saUJBQ1gsU0FBUSwyQkFBMkI7SUFHbkMsWUFDRSxlQUFrQyxFQUNNLGdCQUFrQztRQUUxRSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFGaUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUc1RSxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPO1lBQ1YsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxlQUFlO2dCQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztnQkFDM0QsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNiLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBNkI7UUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLHNDQUFzQztJQUN4QyxDQUFDOzhHQTVCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwyREFWakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDNUJILHUvQkFnQ0Esd3RDREZZLFdBQVcsK21CQUFzQyxtQkFBbUI7OzJGQUVuRSxpQkFBaUI7a0JBZjdCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksYUFHTDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7OzBCQVE1RSxRQUFROzswQkFBSSxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3QsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgU2tpcFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sQ29udGFpbmVyLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge05nT3B0aW1pemVkSW1hZ2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0xpYkNvbW1vbklucHV0VGV4dENvbXBvbmVudH0gZnJvbSAnLi4vY29tbW9uL2xpYi1jb21tb24taW5wdXQtdGV4dCc7XG5pbXBvcnQge0xpYkNhcmRDb21wb25lbnR9IGZyb20gJy4uL2xpYi1jYXJkL2xpYi1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge0xpYlN2Z0ljb25Db21wb25lbnR9IGZyb20gXCIuLi9saWItc3ZnLWljb24vbGliLXN2Zy1pY29uLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZC1saWItaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vbGliLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGliLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGliSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgTmdPcHRpbWl6ZWRJbWFnZSwgTGliQ2FyZENvbXBvbmVudCwgTGliU3ZnSWNvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIExpYklucHV0Q29tcG9uZW50XG4gIGV4dGVuZHMgTGliQ29tbW9uSW5wdXRUZXh0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2tpcFNlbGYoKSBwcml2YXRlIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG4gICkge1xuICAgIHN1cGVyKGNoYW5nZURldGVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sID1cbiAgICAgIHRoaXMuY29udHJvbENvbnRhaW5lciAmJiB0aGlzLmZvcm1Db250cm9sTmFtZVxuICAgICAgICA/IHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbD8uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKVxuICAgICAgICA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gJycgOiAnJyArIHZhbHVlO1xuICAgIGlmICghdGhpcy5kZXN0cm95ZWQpIHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQgPSB0cnVlO1xuICAgIC8vIHRoaXMuZm9jdXNNYW5hZ2VyLnVucmVnaXN0ZXIodGhpcyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsaWItaW5wdXRcIj5cbiAgPGxhYmVsIFtmb3JdPVwiaWRcIiBjbGFzcz1cImxpYi1pbnB1dF9fdGl0bGVcIj5cbiAgICB7eyBsYWJlbCB9fVxuICAgIEBpZiAocmVxdWlyZWQpIHtcbiAgICAgIDxkZC1saWItc3ZnLWljb24gaWNvbj1cImVycm9yX2hpbnRcIj48L2RkLWxpYi1zdmctaWNvbj5cbiAgICB9XG4gIDwvbGFiZWw+XG4gIDxpbnB1dFxuICAgICNpbnB1dFxuICAgIChibHVyKT1cIm5vdGlmeUZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoKVwiXG4gICAgKGZvY3VzKT1cIm5vdGlmeUZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGlucHV0KT1cImhhbmRsZUlucHV0KCRldmVudClcIlxuICAgIChrZXl1cC5lbnRlcik9XCJmb3JjZUNoYW5nZSgpXCJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlID09PSB1bmRlZmluZWQgPyBudWxsIDogYXV0b2NvbXBsZXRlXCJcbiAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXG4gICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbmxlbmd0aFwiXG4gICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2F0dHIudGFiSW5kZXhdPVwidGFiSW5kZXhcIlxuICAgIFthdHRyLnR5cGVdPVwidHlwZSB8fCAndGV4dCdcIlxuICAgIFtjbGFzcy5mb2N1c2VkXT1cImZvY3VzZWRcIlxuICAgIFtjbGFzcy5pbnZhbGlkXT1cImludmFsaWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBjbGFzcz1cInRleHQtaW5wdXRcIiAvPlxuICBAaWYgKGVycm9yVGV4dCAmJiBpbnZhbGlkKSB7XG4gIDxkaXYgY2xhc3M9XCJsaWItaW5wdXRfX2Vycm9yXCI+e3sgZXJyb3JUZXh0IH19PC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
81
+ }] }], propDecorators: { contentInput: [{
82
+ type: ViewChild,
83
+ args: ['contentInput', { read: ElementRef, static: true }]
84
+ }], showMaskTyped: [{
85
+ type: Input
86
+ }], dropSpecialCharacters: [{
87
+ type: Input
88
+ }], prefix: [{
89
+ type: Input
90
+ }], suffix: [{
91
+ type: Input
92
+ }], shownMaskExpression: [{
93
+ type: Input
94
+ }], mask: [{
95
+ type: Input
96
+ }], validation: [{
97
+ type: Input
98
+ }] } });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi1pbnB1dC9saWItaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWlucHV0L2xpYi1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFBRSxVQUFVLEVBQ3JCLFVBQVUsRUFDVixJQUFJLEVBQUUsS0FBSyxFQUdYLFFBQVEsRUFDUixRQUFRLEVBQUUsU0FBUyxHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTBELFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZILE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDMUQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBNEIsTUFBTSxVQUFVLENBQUM7Ozs7QUFrQnJFLE1BQU0sT0FBTyxpQkFDWCxTQUFRLDJCQUEyQjtJQVluQyxZQUNVLFVBQXlCLEVBQ2pDLGVBQWtDLEVBQ00sZ0JBQWtDO1FBRTFFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUpmLGVBQVUsR0FBVixVQUFVLENBQWU7UUFFTyxxQkFBZ0IsR0FBaEIs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QUM7Z0JBQzNDLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UscUJBQXFCO3NCQUFwQyxLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxtQkFBbUI7c0JBQWxDLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3QsIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFNraXBTZWxmLCBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xDb250YWluZXIsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TmdPcHRpbWl6ZWRJbWFnZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TGliQ29tbW9uSW5wdXRUZXh0Q29tcG9uZW50fSBmcm9tICcuLi9jb21tb24vbGliLWNvbW1vbi1pbnB1dC10ZXh0JztcbmltcG9ydCB7TGliQ2FyZENvbXBvbmVudH0gZnJvbSAnLi4vbGliLWNhcmQvbGliLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7TGliU3ZnSWNvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2xpYi1zdmctaWNvbi9saWItc3ZnLWljb24uY29tcG9uZW50XCI7XG5pbXBvcnQge0Rlc3Ryb3lTZXJ2aWNlLCBWYWxpZGF0b3JzU2VydmljZX0gZnJvbSBcIi4uL2NvcmVcIjtcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7Tmd4TWFza0RpcmVjdGl2ZSwgcHJvdmlkZUVudmlyb25tZW50Tmd4TWFza30gZnJvbSBcIm5neC1tYXNrXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RkLWxpYi1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9saWItaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saWItaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRGVzdHJveVNlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMaWJJbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBOZ3hNYXNrRGlyZWN0aXZlLCBOZ09wdGltaXplZEltYWdlLCBMaWJDYXJkQ29tcG9uZW50LCBMaWJTdmdJY29uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTGliSW5wdXRDb21wb25lbnRcbiAgZXh0ZW5kcyBMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3JcbntcbiAgQFZpZXdDaGlsZCgnY29udGVudElucHV0Jywge3JlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZX0pIHB1YmxpYyBjb250ZW50SW5wdXQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgdW5kZWZpbmVkXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93TWFza1R5cGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBkcm9wU3BlY2lhbENoYXJhY3RlcnM6IGJvb2xlYW4gfCBzdHJpbmdbXSA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcHJlZml4OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHN1ZmZpeDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93bk1hc2tFeHByZXNzaW9uOiBzdHJpbmcgfCBudWxsID0gbnVsbFxuICBASW5wdXQoKSBwdWJsaWMgbWFzazogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGVzdHJveWVkJDpEZXN0cm95U2VydmljZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgQFNraXBTZWxmKCkgcHJpdmF0ZSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxuICApIHtcbiAgICBzdXBlcihjaGFuZ2VEZXRlY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbCA9XG4gICAgICB0aGlzLmNvbnRyb2xDb250YWluZXIgJiYgdGhpcy5mb3JtQ29udHJvbE5hbWVcbiAgICAgICAgPyB0aGlzLmNvbnRyb2xDb250YWluZXI/LmNvbnRyb2w/LmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSlcbiAgICAgICAgOiBudWxsO1xuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY2hhbmdlVmFsdWVTdWIodGhpcy5jb250cm9sKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlVmFsdWVTdWIoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogdm9pZCB7XG4gICAgY29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgICB0aGlzLmVycm9yVGV4dCA9IFZhbGlkYXRvcnNTZXJ2aWNlLmdldEVycm9yVGV4dCh0aGlzLmNvbnRyb2w/LmVycm9ycylcbiAgICAgIH0pXG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gJycgOiAnJyArIHZhbHVlO1xuICAgIGlmICghdGhpcy5kZXN0cm95ZWQpIHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGhhbmRsZUJsdXIoKTogdm9pZCB7XG4gICAgc3VwZXIuaGFuZGxlQmx1cigpO1xuICAgIHRoaXMuZXJyb3JUZXh0ID0gVmFsaWRhdG9yc1NlcnZpY2UuZ2V0RXJyb3JUZXh0KHRoaXMuY29udHJvbD8uZXJyb3JzKVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxpYi1pbnB1dFwiPlxuICA8bGFiZWwgW2Zvcl09XCJpZFwiIGNsYXNzPVwibGliLWlucHV0X190aXRsZVwiPlxuICAgIHt7IGxhYmVsIH19XG4gICAgQGlmIChyZXF1aXJlZCkge1xuICAgICAgPGRkLWxpYi1zdmctaWNvbiBpY29uPVwiZXJyb3JfaGludFwiPjwvZGQtbGliLXN2Zy1pY29uPlxuICAgIH1cbiAgPC9sYWJlbD5cbiAgPGlucHV0XG4gICAgI2lucHV0XG4gICAgKGJsdXIpPVwiaGFuZGxlQmx1cigpXCJcbiAgICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZSgpXCJcbiAgICAoZm9jdXMpPVwiaGFuZGxlRm9jdXMoKVwiXG4gICAgKGlucHV0KT1cImhhbmRsZUlucHV0KCRldmVudClcIlxuICAgIChrZXl1cC5lbnRlcik9XCJmb3JjZUNoYW5nZSgpXCJcbiAgICBbc2hvd01hc2tUeXBlZF09XCJzaG93TWFza1R5cGVkXCJcbiAgICBbZHJvcFNwZWNpYWxDaGFyYWN0ZXJzXT1cImRyb3BTcGVjaWFsQ2hhcmFjdGVyc1wiXG4gICAgW3Nob3duTWFza0V4cHJlc3Npb25dPVwic2hvd25NYXNrRXhwcmVzc2lvblwiXG4gICAgW21hc2tdPVwibWFza1wiXG4gICAgW3ZhbGlkYXRpb25dPVwidmFsaWRhdGlvblwiXG4gICAgW3ByZWZpeF09XCJwcmVmaXhcIlxuICAgIFtzdWZmaXhdPVwic3VmZml4XCJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICBbYXR0ci5hdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlID09PSB1bmRlZmluZWQgPyBudWxsIDogYXV0b2NvbXBsZXRlXCJcbiAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICAgW2F0dHIubWF4XT1cIm1heFwiXG4gICAgW2F0dHIubWluXT1cIm1pblwiXG4gICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXG4gICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbmxlbmd0aFwiXG4gICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2F0dHIudGFiSW5kZXhdPVwidGFiSW5kZXhcIlxuICAgIFthdHRyLnR5cGVdPVwidHlwZSB8fCAndGV4dCdcIlxuICAgIFtjbGFzcy5mb2N1c2VkXT1cImZvY3VzZWRcIlxuICAgIFtjbGFzcy5pbnZhbGlkXT1cInNob3dFcnJvclwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgIGNsYXNzPVwidGV4dC1pbnB1dFwiIC8+XG4gIEBpZiAoZXJyb3JUZXh0cy5sZW5ndGggJiYgc2hvd0Vycm9yKSB7XG4gICAgQGZvciAoZXJyb3Igb2YgZXJyb3JUZXh0czsgdHJhY2sgZXJyb3IpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJsaWItaW5wdXRfX2Vycm9yXCI+e3sgZXJyb3IgfX08L2Rpdj5cbiAgICB9XG4gIH1cbiAgQGlmIChlcnJvclRleHQgJiYgc2hvd1NlbGZFcnJvciAmJiBzaG93RXJyb3IpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJsaWItaW5wdXRfX2Vycm9yXCI+e3sgZXJyb3JUZXh0IH19PC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
@@ -6,14 +6,17 @@ export class LibLoaderComponent {
6
6
  this.size = 'standard';
7
7
  }
8
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: LibLoaderComponent, isStandalone: true, selector: "dd-lib-loader", inputs: { color: "color", size: "size" }, ngImport: i0, template: "<div [class.big]=\"size === 'big'\" [class.giant]=\"size === 'giant'\" class=\"loader\">\n <svg fill=\"none\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_728_22764)\">\n <path\n [attr.stroke]=\"color\"\n d=\"M12 6V3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.7\" />\n <path\n [attr.stroke]=\"color\"\n d=\"M6 12H3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\" />\n <path\n [attr.stroke]=\"color\"\n d=\"M7.74961 7.74961L5.59961 5.59961\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\" />\n </g>\n <defs>\n <clipPath id=\"clip0_728_22764\">\n <rect fill=\"white\" height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n</div>\n", styles: [":host{display:flex;align-items:center;width:100%;justify-content:center;overflow:hidden}.loader{width:24px;height:24px}.loader svg{animation:rotate 1.5s linear infinite}.loader.big{zoom:2}.loader.giant{zoom:4}@keyframes rotate{to{transform:rotate(360deg)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.2", type: LibLoaderComponent, isStandalone: true, selector: "dd-lib-loader", inputs: { color: ["color", "color", (value) => value ? value : '#07b700'], size: "size" }, ngImport: i0, template: "<div [class.big]=\"size === 'big'\" [class.giant]=\"size === 'giant'\" class=\"loader\">\n <svg fill=\"none\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_728_22764)\">\n <path\n [attr.stroke]=\"color\"\n d=\"M12 6V3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.7\" />\n <path\n [attr.stroke]=\"color\"\n d=\"M6 12H3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\" />\n <path\n [attr.stroke]=\"color\"\n d=\"M7.74961 7.74961L5.59961 5.59961\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\" />\n </g>\n <defs>\n <clipPath id=\"clip0_728_22764\">\n <rect fill=\"white\" height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n</div>\n", styles: [":host{display:flex;align-items:center;width:100%;justify-content:center;overflow:hidden}.loader{width:24px;height:24px}.loader svg{animation:rotate 1.5s linear infinite}.loader.big{zoom:2}.loader.giant{zoom:4}@keyframes rotate{to{transform:rotate(360deg)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
10
  }
11
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibLoaderComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'dd-lib-loader', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class.big]=\"size === 'big'\" [class.giant]=\"size === 'giant'\" class=\"loader\">\n <svg fill=\"none\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_728_22764)\">\n <path\n [attr.stroke]=\"color\"\n d=\"M12 6V3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.7\" />\n <path\n [attr.stroke]=\"color\"\n d=\"M6 12H3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\" />\n <path\n [attr.stroke]=\"color\"\n d=\"M7.74961 7.74961L5.59961 5.59961\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\" />\n </g>\n <defs>\n <clipPath id=\"clip0_728_22764\">\n <rect fill=\"white\" height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n</div>\n", styles: [":host{display:flex;align-items:center;width:100%;justify-content:center;overflow:hidden}.loader{width:24px;height:24px}.loader svg{animation:rotate 1.5s linear infinite}.loader.big{zoom:2}.loader.giant{zoom:4}@keyframes rotate{to{transform:rotate(360deg)}}\n"] }]
14
14
  }], propDecorators: { color: [{
15
- type: Input
15
+ type: Input,
16
+ args: [{
17
+ transform: (value) => value ? value : '#07b700'
18
+ }]
16
19
  }], size: [{
17
20
  type: Input
18
21
  }] } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItbG9hZGVyL2xpYi1sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWxvYWRlci9saWItbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVUxRSxNQUFNLE9BQU8sa0JBQWtCO0lBUi9CO1FBU2tCLFVBQUssR0FBRyxTQUFTLENBQUM7UUFDbEIsU0FBSSxHQUFpQyxVQUFVLENBQUM7S0FFakU7OEdBSlksa0JBQWtCO2tHQUFsQixrQkFBa0IsbUhDVi9CLDA3QkE2QkE7OzJGRG5CYSxrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUCxFQUFFLG1CQUdNLHVCQUF1QixDQUFDLE1BQU07OEJBRy9CLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1sb2FkZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW10sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1sb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9saWItbG9hZGVyLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpYkxvYWRlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgcHVibGljIGNvbG9yID0gJyMwN2I3MDAnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzaXplOiAnYmlnJyB8ICdnaWFudCcgfCAnc3RhbmRhcmQnID0gJ3N0YW5kYXJkJztcclxuXHJcbn1cclxuIiwiPGRpdiBbY2xhc3MuYmlnXT1cInNpemUgPT09ICdiaWcnXCIgW2NsYXNzLmdpYW50XT1cInNpemUgPT09ICdnaWFudCdcIiAgY2xhc3M9XCJsb2FkZXJcIj5cbiAgPHN2ZyBmaWxsPVwibm9uZVwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF83MjhfMjI3NjQpXCI+XG4gICAgICA8cGF0aFxuICAgICAgICBbYXR0ci5zdHJva2VdPVwiY29sb3JcIlxuICAgICAgICBkPVwiTTEyIDZWM1wiXG4gICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS13aWR0aD1cIjEuN1wiIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBbYXR0ci5zdHJva2VdPVwiY29sb3JcIlxuICAgICAgICBkPVwiTTYgMTJIM1wiXG4gICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIiAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgW2F0dHIuc3Ryb2tlXT1cImNvbG9yXCJcbiAgICAgICAgZD1cIk03Ljc0OTYxIDcuNzQ5NjFMNS41OTk2MSA1LjU5OTYxXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiIC8+XG4gICAgPC9nPlxuICAgIDxkZWZzPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNzI4XzIyNzY0XCI+XG4gICAgICAgIDxyZWN0IGZpbGw9XCJ3aGl0ZVwiIGhlaWdodD1cIjI0XCIgd2lkdGg9XCIyNFwiIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgIDwvZGVmcz5cbiAgPC9zdmc+XG48L2Rpdj5cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItbG9hZGVyL2xpYi1sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWxvYWRlci9saWItbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQVV4RSxNQUFNLE9BQU8sa0JBQWtCO0lBUi9CO1FBV1ksVUFBSyxHQUFHLFNBQVMsQ0FBQztRQUNaLFNBQUksR0FBaUMsVUFBVSxDQUFDO0tBRWpFOzhHQU5ZLGtCQUFrQjtrR0FBbEIsa0JBQWtCLHFGQUVoQixDQUFDLEtBQXlCLEVBQVUsRUFBRSxDQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLDJDQ1poRiwwN0JBNkJBOzsyRkRuQmEsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsRUFBRSxtQkFHTSx1QkFBdUIsQ0FBQyxNQUFNOzhCQUtyQyxLQUFLO3NCQUZkLEtBQUs7dUJBQUM7d0JBQ0wsU0FBUyxFQUFFLENBQUMsS0FBeUIsRUFBVSxFQUFFLENBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7cUJBQzdFO2dCQUNlLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGQtbGliLWxvYWRlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGliLWxvYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2xpYi1sb2FkZXIuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliTG9hZGVyQ29tcG9uZW50IHtcclxuICBASW5wdXQoe1xyXG4gICAgdHJhbnNmb3JtOiAodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyA9PiAgdmFsdWUgPyB2YWx1ZSA6ICcjMDdiNzAwJ1xyXG4gIH0pIHB1YmxpYyBjb2xvciA9ICcjMDdiNzAwJztcclxuICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogJ2JpZycgfCAnZ2lhbnQnIHwgJ3N0YW5kYXJkJyA9ICdzdGFuZGFyZCc7XHJcblxyXG59XHJcbiIsIjxkaXYgW2NsYXNzLmJpZ109XCJzaXplID09PSAnYmlnJ1wiIFtjbGFzcy5naWFudF09XCJzaXplID09PSAnZ2lhbnQnXCIgIGNsYXNzPVwibG9hZGVyXCI+XG4gIDxzdmcgZmlsbD1cIm5vbmVcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNzI4XzIyNzY0KVwiPlxuICAgICAgPHBhdGhcbiAgICAgICAgW2F0dHIuc3Ryb2tlXT1cImNvbG9yXCJcbiAgICAgICAgZD1cIk0xMiA2VjNcIlxuICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjdcIiAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgW2F0dHIuc3Ryb2tlXT1cImNvbG9yXCJcbiAgICAgICAgZD1cIk02IDEySDNcIlxuICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCIgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIFthdHRyLnN0cm9rZV09XCJjb2xvclwiXG4gICAgICAgIGQ9XCJNNy43NDk2MSA3Ljc0OTYxTDUuNTk5NjEgNS41OTk2MVwiXG4gICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIiAvPlxuICAgIDwvZz5cbiAgICA8ZGVmcz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzcyOF8yMjc2NFwiPlxuICAgICAgICA8cmVjdCBmaWxsPVwid2hpdGVcIiBoZWlnaHQ9XCIyNFwiIHdpZHRoPVwiMjRcIiAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICA8L2RlZnM+XG4gIDwvc3ZnPlxuPC9kaXY+XG4iXX0=
@@ -47,7 +47,7 @@ export class LibRadioComponent {
47
47
  useExisting: forwardRef(() => LibRadioComponent),
48
48
  multi: true,
49
49
  },
50
- ], ngImport: i0, template: "<label [for]=\"radioId\" [ngClass]=\"{ disabled: disabled }\" class=\"radio\">\r\n <input\r\n (change)=\"onSelected($event.target)\"\r\n [attr.aria-checked]=\"checked\"\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [attr.value]=\"value\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [id]=\"radioId\"\r\n [name]=\"name\"\r\n [ngClass]=\"{ disabled: disabled }\"\r\n [required]=\"required\"\r\n class=\"radio__input\"\r\n role=\"radio\"\r\n type=\"radio\" />\r\n <div [class.focused]=\"focused\" class=\"radio__mark\"></div>\r\n <div class=\"radio__text g-text\" [ngClass]=\"disabled ? 'gray' : 'black'\">\r\n <span><ng-content></ng-content></span>\r\n </div>\r\n</label>\r\n", styles: [":host{outline:none}.radio{position:relative;display:flex;align-items:center;cursor:pointer}.radio:hover .radio__mark{border-color:var(--light-black-color)}.radio.disabled{cursor:default}.radio.disabled .radio__mark{border-color:var(--gray-color-200)}.radio__input{opacity:0;position:absolute;z-index:-1}.radio__input:focus+.radio__mark{border-color:var(--light-black-color)}.radio__input:checked+.radio__mark{border:2px solid var(--primary-green-color)}.radio__input:checked+.radio__mark:before{background:var(--primary-green-color)}.radio__input:checked~.radio__text{font-weight:500}.radio__input:checked.disabled+.radio__mark{border-color:var(--gray-color-200)}.radio__input:checked.disabled+.radio__mark:before{background:var(--gray-color-200)}.radio__mark{position:relative;width:20px;height:20px;border:1px solid var(--primary-gray-color);border-radius:50%;margin-right:12px;transition:border-color .25s linear}.radio__mark:before{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:transparent;transition:background-color .25s linear;content:\"\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
+ ], ngImport: i0, template: "<label [for]=\"radioId\" [ngClass]=\"{ disabled: disabled }\" class=\"radio\">\r\n <input\r\n (change)=\"onSelected($event.target)\"\r\n [attr.aria-checked]=\"checked\"\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [attr.value]=\"value\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [id]=\"radioId\"\r\n [name]=\"name\"\r\n [ngClass]=\"{ disabled: disabled }\"\r\n [required]=\"required\"\r\n class=\"radio__input\"\r\n role=\"radio\"\r\n type=\"radio\" />\r\n <div [class.focused]=\"focused\" class=\"radio__mark\"></div>\r\n <div class=\"radio__text g-text\" [ngClass]=\"disabled ? 'gray' : 'black'\">\r\n <span><ng-content></ng-content></span>\r\n </div>\r\n</label>\r\n", styles: [":host{outline:none}.radio{position:relative;display:flex;align-items:center;cursor:pointer}.radio:hover .radio__mark{border-color:var(--light-black-color)}.radio.disabled{cursor:default}.radio.disabled .radio__mark{border-color:var(--gray-color-200)}.radio__input{opacity:0;position:absolute;z-index:-1;min-width:20px;min-height:20px;margin:0}.radio__input:focus+.radio__mark{border-color:var(--light-black-color)}.radio__input:checked+.radio__mark{border:2px solid var(--primary-green-color)}.radio__input:checked+.radio__mark:before{background:var(--primary-green-color)}.radio__input:checked~.radio__text{font-weight:500}.radio__input:checked.disabled+.radio__mark{border-color:var(--gray-color-200)}.radio__input:checked.disabled+.radio__mark:before{background:var(--gray-color-200)}.radio__mark{position:relative;width:20px;height:20px;min-width:20px;min-height:20px;border:1px solid var(--primary-gray-color);border-radius:50%;margin-right:12px;transition:border-color .25s linear}.radio__mark:before{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:transparent;transition:background-color .25s linear;content:\"\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
51
51
  }
52
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibRadioComponent, decorators: [{
53
53
  type: Component,
@@ -57,7 +57,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
57
57
  useExisting: forwardRef(() => LibRadioComponent),
58
58
  multi: true,
59
59
  },
60
- ], template: "<label [for]=\"radioId\" [ngClass]=\"{ disabled: disabled }\" class=\"radio\">\r\n <input\r\n (change)=\"onSelected($event.target)\"\r\n [attr.aria-checked]=\"checked\"\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [attr.value]=\"value\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [id]=\"radioId\"\r\n [name]=\"name\"\r\n [ngClass]=\"{ disabled: disabled }\"\r\n [required]=\"required\"\r\n class=\"radio__input\"\r\n role=\"radio\"\r\n type=\"radio\" />\r\n <div [class.focused]=\"focused\" class=\"radio__mark\"></div>\r\n <div class=\"radio__text g-text\" [ngClass]=\"disabled ? 'gray' : 'black'\">\r\n <span><ng-content></ng-content></span>\r\n </div>\r\n</label>\r\n", styles: [":host{outline:none}.radio{position:relative;display:flex;align-items:center;cursor:pointer}.radio:hover .radio__mark{border-color:var(--light-black-color)}.radio.disabled{cursor:default}.radio.disabled .radio__mark{border-color:var(--gray-color-200)}.radio__input{opacity:0;position:absolute;z-index:-1}.radio__input:focus+.radio__mark{border-color:var(--light-black-color)}.radio__input:checked+.radio__mark{border:2px solid var(--primary-green-color)}.radio__input:checked+.radio__mark:before{background:var(--primary-green-color)}.radio__input:checked~.radio__text{font-weight:500}.radio__input:checked.disabled+.radio__mark{border-color:var(--gray-color-200)}.radio__input:checked.disabled+.radio__mark:before{background:var(--gray-color-200)}.radio__mark{position:relative;width:20px;height:20px;border:1px solid var(--primary-gray-color);border-radius:50%;margin-right:12px;transition:border-color .25s linear}.radio__mark:before{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:transparent;transition:background-color .25s linear;content:\"\"}\n"] }]
60
+ ], template: "<label [for]=\"radioId\" [ngClass]=\"{ disabled: disabled }\" class=\"radio\">\r\n <input\r\n (change)=\"onSelected($event.target)\"\r\n [attr.aria-checked]=\"checked\"\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [attr.value]=\"value\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [id]=\"radioId\"\r\n [name]=\"name\"\r\n [ngClass]=\"{ disabled: disabled }\"\r\n [required]=\"required\"\r\n class=\"radio__input\"\r\n role=\"radio\"\r\n type=\"radio\" />\r\n <div [class.focused]=\"focused\" class=\"radio__mark\"></div>\r\n <div class=\"radio__text g-text\" [ngClass]=\"disabled ? 'gray' : 'black'\">\r\n <span><ng-content></ng-content></span>\r\n </div>\r\n</label>\r\n", styles: [":host{outline:none}.radio{position:relative;display:flex;align-items:center;cursor:pointer}.radio:hover .radio__mark{border-color:var(--light-black-color)}.radio.disabled{cursor:default}.radio.disabled .radio__mark{border-color:var(--gray-color-200)}.radio__input{opacity:0;position:absolute;z-index:-1;min-width:20px;min-height:20px;margin:0}.radio__input:focus+.radio__mark{border-color:var(--light-black-color)}.radio__input:checked+.radio__mark{border:2px solid var(--primary-green-color)}.radio__input:checked+.radio__mark:before{background:var(--primary-green-color)}.radio__input:checked~.radio__text{font-weight:500}.radio__input:checked.disabled+.radio__mark{border-color:var(--gray-color-200)}.radio__input:checked.disabled+.radio__mark:before{background:var(--gray-color-200)}.radio__mark{position:relative;width:20px;height:20px;min-width:20px;min-height:20px;border:1px solid var(--primary-gray-color);border-radius:50%;margin-right:12px;transition:border-color .25s linear}.radio__mark:before{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:transparent;transition:background-color .25s linear;content:\"\"}\n"] }]
61
61
  }], propDecorators: { radioId: [{
62
62
  type: Input
63
63
  }], disabled: [{
@@ -73,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
73
73
  }], changed: [{
74
74
  type: Output
75
75
  }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi1yYWRpby9saWItcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXJhZGlvL2xpYi1yYWRpby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWlCM0csTUFBTSxPQUFPLGlCQUFpQjtJQWY5QjtRQW1Ca0IsYUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLHFDQUFxQztRQUN2RCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFZixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUl0Qyx3QkFBbUIsR0FBRyxJQUFJLENBQUM7S0FvQ3BDO2FBakRlLGNBQVMsR0FBRyxDQUFDLEFBQUosQ0FBSztJQWVyQixRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUEwQjtRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFJLE1BQTJCLEVBQUUsT0FBTyxDQUFDO1FBQ3JELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsRUFBTztRQUM3QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsUUFBaUI7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEVBQU87UUFDOUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQVU7UUFDMUIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDbEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUMxRSxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxNQUFXLElBQUcsQ0FBQzs4R0FqRDVCLGlCQUFpQjtrR0FBakIsaUJBQWlCLDBOQVJqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkN6QkgsOHRCQW9CQSwybkNETFksWUFBWSw0SEFBRSxXQUFXLDhCQUFFLG1CQUFtQjs7MkZBWTdDLGlCQUFpQjtrQkFmN0IsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxtQkFHeEMsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBS2UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBRVcsT0FBTztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1yYWRpbycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1yYWRpby5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2xpYi1yYWRpby5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMaWJSYWRpb0NvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliUmFkaW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBwdWJsaWMgc3RhdGljIGlkQ291bnRlciA9IDE7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyByYWRpb0lkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IC8vIGlucHV0IElEOiDQtdGB0LvQuCDQvdC1INGD0LrQsNC30LDQvSwg0LPQtdC90LXRgNC40YDRg9C10YLRgdGPINGD0L3QuNC60LDQu9GM0L3Ri9C5IElEXHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7IC8vINGB0L7RgdGC0L7Rj9C90LjQtTog0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gLSDQsNC60YLQuNCy0L3QvtC1XHJcbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgdmFsdWU6IGFueTtcclxuICBASW5wdXQoKSBwdWJsaWMgY2hlY2tlZCA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyBmb2N1c2VkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBvblRvdWNoZWRDYWxsYmFjazogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgbW9kZWxJbml0aWFsaXphdGlvbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5yYWRpb0lkKSB7XHJcbiAgICAgIHRoaXMucmFkaW9JZCA9ICdkZC1yYWRpby0nICsgTGliUmFkaW9Db21wb25lbnQuaWRDb3VudGVyKys7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TZWxlY3RlZCh0YXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCkge1xyXG4gICAgdGhpcy5jaGVja2VkID0gKHRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8uY2hlY2tlZDtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBpc0luaXRpYWxpemF0aW9uID0gdGhpcy5tb2RlbEluaXRpYWxpemF0aW9uO1xyXG4gICAgdGhpcy5tb2RlbEluaXRpYWxpemF0aW9uID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5jaGVja2VkICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgPT09IHVuZGVmaW5lZCAmJiBpc0luaXRpYWxpemF0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuY2hlY2tlZCA9IHZhbHVlID09PSB0aGlzLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcm9wYWdhdGVDaGFuZ2UoX3ZhbHVlOiBhbnkpIHt9XHJcbn1cclxuIiwiPGxhYmVsIFtmb3JdPVwicmFkaW9JZFwiIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkIH1cIiBjbGFzcz1cInJhZGlvXCI+XHJcbiAgPGlucHV0XHJcbiAgICAoY2hhbmdlKT1cIm9uU2VsZWN0ZWQoJGV2ZW50LnRhcmdldClcIlxyXG4gICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cImNoZWNrZWRcIlxyXG4gICAgW2F0dHIudGFiSW5kZXhdPVwiZGlzYWJsZWQgPyAtMSA6IDBcIlxyXG4gICAgW2F0dHIudmFsdWVdPVwidmFsdWVcIlxyXG4gICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgW2lkXT1cInJhZGlvSWRcIlxyXG4gICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCB9XCJcclxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICBjbGFzcz1cInJhZGlvX19pbnB1dFwiXHJcbiAgICByb2xlPVwicmFkaW9cIlxyXG4gICAgdHlwZT1cInJhZGlvXCIgLz5cclxuICA8ZGl2IFtjbGFzcy5mb2N1c2VkXT1cImZvY3VzZWRcIiBjbGFzcz1cInJhZGlvX19tYXJrXCI+PC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInJhZGlvX190ZXh0IGctdGV4dFwiIFtuZ0NsYXNzXT1cImRpc2FibGVkID8gJ2dyYXknIDogJ2JsYWNrJ1wiPlxyXG4gICAgPHNwYW4+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuPC9sYWJlbD5cclxuIl19
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi1yYWRpby9saWItcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXJhZGlvL2xpYi1yYWRpby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWlCM0csTUFBTSxPQUFPLGlCQUFpQjtJQWY5QjtRQW1Ca0IsYUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLHFDQUFxQztRQUN2RCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFZixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUl0Qyx3QkFBbUIsR0FBRyxJQUFJLENBQUM7S0FvQ3BDO2FBakRlLGNBQVMsR0FBRyxDQUFDLEFBQUosQ0FBSztJQWVyQixRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUEwQjtRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFJLE1BQTJCLEVBQUUsT0FBTyxDQUFDO1FBQ3JELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsRUFBTztRQUM3QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsUUFBaUI7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEVBQU87UUFDOUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQVU7UUFDMUIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDbEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUMxRSxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxNQUFXLElBQUcsQ0FBQzs4R0FqRDVCLGlCQUFpQjtrR0FBakIsaUJBQWlCLDBOQVJqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkN6QkgsOHRCQW9CQSxrc0NETFksWUFBWSw0SEFBRSxXQUFXLDhCQUFFLG1CQUFtQjs7MkZBWTdDLGlCQUFpQjtrQkFmN0IsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxtQkFHeEMsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBS2UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBRVcsT0FBTztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1yYWRpbycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1yYWRpby5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2xpYi1yYWRpby5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMaWJSYWRpb0NvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliUmFkaW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBwdWJsaWMgc3RhdGljIGlkQ291bnRlciA9IDE7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyByYWRpb0lkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IC8vIGlucHV0IElEOiDQtdGB0LvQuCDQvdC1INGD0LrQsNC30LDQvSwg0LPQtdC90LXRgNC40YDRg9C10YLRgdGPINGD0L3QuNC60LDQu9GM0L3Ri9C5IElEXHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7IC8vINGB0L7RgdGC0L7Rj9C90LjQtTog0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gLSDQsNC60YLQuNCy0L3QvtC1XHJcbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgdmFsdWU6IGFueTtcclxuICBASW5wdXQoKSBwdWJsaWMgY2hlY2tlZCA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyBmb2N1c2VkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBvblRvdWNoZWRDYWxsYmFjazogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgbW9kZWxJbml0aWFsaXphdGlvbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5yYWRpb0lkKSB7XHJcbiAgICAgIHRoaXMucmFkaW9JZCA9ICdkZC1yYWRpby0nICsgTGliUmFkaW9Db21wb25lbnQuaWRDb3VudGVyKys7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TZWxlY3RlZCh0YXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCkge1xyXG4gICAgdGhpcy5jaGVja2VkID0gKHRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8uY2hlY2tlZDtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBpc0luaXRpYWxpemF0aW9uID0gdGhpcy5tb2RlbEluaXRpYWxpemF0aW9uO1xyXG4gICAgdGhpcy5tb2RlbEluaXRpYWxpemF0aW9uID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5jaGVja2VkICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgPT09IHVuZGVmaW5lZCAmJiBpc0luaXRpYWxpemF0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuY2hlY2tlZCA9IHZhbHVlID09PSB0aGlzLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcm9wYWdhdGVDaGFuZ2UoX3ZhbHVlOiBhbnkpIHt9XHJcbn1cclxuIiwiPGxhYmVsIFtmb3JdPVwicmFkaW9JZFwiIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkIH1cIiBjbGFzcz1cInJhZGlvXCI+XHJcbiAgPGlucHV0XHJcbiAgICAoY2hhbmdlKT1cIm9uU2VsZWN0ZWQoJGV2ZW50LnRhcmdldClcIlxyXG4gICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cImNoZWNrZWRcIlxyXG4gICAgW2F0dHIudGFiSW5kZXhdPVwiZGlzYWJsZWQgPyAtMSA6IDBcIlxyXG4gICAgW2F0dHIudmFsdWVdPVwidmFsdWVcIlxyXG4gICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgW2lkXT1cInJhZGlvSWRcIlxyXG4gICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCB9XCJcclxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICBjbGFzcz1cInJhZGlvX19pbnB1dFwiXHJcbiAgICByb2xlPVwicmFkaW9cIlxyXG4gICAgdHlwZT1cInJhZGlvXCIgLz5cclxuICA8ZGl2IFtjbGFzcy5mb2N1c2VkXT1cImZvY3VzZWRcIiBjbGFzcz1cInJhZGlvX19tYXJrXCI+PC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInJhZGlvX190ZXh0IGctdGV4dFwiIFtuZ0NsYXNzXT1cImRpc2FibGVkID8gJ2dyYXknIDogJ2JsYWNrJ1wiPlxyXG4gICAgPHNwYW4+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuPC9sYWJlbD5cclxuIl19
@@ -143,11 +143,11 @@ export class LibSearchInputComponent extends LibCommonInputTextComponent {
143
143
  return item[this.keyDesc];
144
144
  }
145
145
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibSearchInputComponent, deps: [{ token: i1.DestroyService }, { token: i0.ChangeDetectorRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
146
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibSearchInputComponent, isStandalone: true, selector: "dd-lib-search-input", inputs: { keyTitle: "keyTitle", keyDesc: "keyDesc", styleInput: "styleInput", inputStyle: "inputStyle", searchData: "searchData", debounceTime: "debounceTime", delay: "delay", idClose: "idClose", loaded$: "loaded$" }, outputs: { keyupEvent: "keyupEvent", selectedItem: "selectedItem" }, providers: [DestroyService], usesInheritance: true, ngImport: i0, template: "<div class=\"lib-search-input\">\r\n <label [for]=\"id\" class=\"lib-search-input__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative\">\r\n <dd-lib-svg-icon (click)=\"forceChange()\" class=\"search-icon\" icon=\"search\"></dd-lib-svg-icon>\r\n <input\r\n #searchInput\r\n (keyup)=\"keyUp.next($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [attr.type]=\"type || 'text'\"\r\n [class.focused]=\"focused\"\r\n [class.round]=\"styleInput === 'round'\"\r\n [class.white]=\"inputStyle === 'white'\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n class=\"search-input\" />\r\n <dd-lib-svg-icon\r\n (click)=\"onClear()\"\r\n [id]=\"idClose\" [style.display]=\"value?.length ? 'block' : 'none'\"\r\n class=\"clear-icon\" icon=\"clear\"></dd-lib-svg-icon>\r\n @if (loaded$ | async) {\r\n <div class=\"loading-icon\">\r\n <dd-lib-loader></dd-lib-loader>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (data?.length) {\r\n <dd-lib-card [class.top]=\"side === 'top'\">\r\n @for (item of data; track item) {\r\n <div (click)=\"onClickSearchItem(item)\" class=\"search-result\">\r\n @if (getTitle(item); as title) {\r\n <div [innerHTML]=\"title | highlight: value | safe: 'html'\" class=\"search-result__title\"></div>\r\n } @if (getDesc(item); as desc) {\r\n <div [innerHTML]=\"desc | highlight: value | safe: 'html'\" class=\"search-result__desc\"></div>\r\n }\r\n </div>\r\n }\r\n </dd-lib-card>\r\n }\r\n</div>\r\n", styles: [":host{display:block}.lib-search-input{position:relative}.lib-search-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-search-input input{width:100%;height:48px;padding:16px 16px 15px 44px;border-radius:8px;border:none;background-color:var(--input-gray-bgc)}.lib-search-input input.white{background-color:var(--white-color);border:1px solid var(--primary-gray-color)}.lib-search-input .round{border-radius:24px}.lib-search-input .search-icon{position:absolute;left:16px;top:14px;cursor:pointer}.lib-search-input .clear-icon{position:absolute;right:16px;top:14px;cursor:pointer}.lib-search-input .loading-icon{position:absolute;right:40px;top:12px}.lib-search-input .search-result{font-size:16px;font-weight:400;line-height:24px;letter-spacing:0;text-align:left;cursor:pointer}.lib-search-input .search-result:hover{opacity:.8}.lib-search-input .search-result:last-child .search-result__desc{border:none;padding-bottom:0}.lib-search-input .search-result__title{color:var(--second-gray-color);margin:24px 0 2px}.lib-search-input .search-result__desc{padding-bottom:16px;border-bottom:1px solid var(--gray-color-200)}.lib-search-input dd-lib-card{position:absolute;display:block;top:76px;z-index:100;width:100%;max-height:400px;box-shadow:var(--main-card-shadow);overflow:auto}.lib-search-input dd-lib-card.top{bottom:50px;top:unset}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LibCardComponent, selector: "dd-lib-card", inputs: ["type", "footerBtn", "sHeight", "skeleton", "parentLvlForSkeleton", "plugs", "borderRadius"], outputs: ["cardBtnEvent"] }, { kind: "pipe", type: HighlightPipe, name: "highlight" }, { kind: "pipe", type: SafePipe, name: "safe" }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }, { kind: "component", type: LibLoaderComponent, selector: "dd-lib-loader", inputs: ["color", "size"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
146
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibSearchInputComponent, isStandalone: true, selector: "dd-lib-search-input", inputs: { keyTitle: "keyTitle", keyDesc: "keyDesc", styleInput: "styleInput", inputStyle: "inputStyle", searchData: "searchData", debounceTime: "debounceTime", delay: "delay", idClose: "idClose", loaded$: "loaded$" }, outputs: { keyupEvent: "keyupEvent", selectedItem: "selectedItem" }, providers: [DestroyService], usesInheritance: true, ngImport: i0, template: "<div class=\"lib-search-input\">\r\n <label [for]=\"id\" class=\"lib-search-input__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative\">\r\n <dd-lib-svg-icon (click)=\"forceChange()\" class=\"search-icon\" icon=\"search\"></dd-lib-svg-icon>\r\n <input\r\n #searchInput\r\n (keyup)=\"keyUp.next($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [attr.type]=\"type || 'text'\"\r\n [class.focused]=\"focused\"\r\n [class.round]=\"styleInput === 'round'\"\r\n [class.white]=\"inputStyle === 'white'\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n class=\"search-input\" />\r\n <dd-lib-svg-icon\r\n (click)=\"onClear()\"\r\n [id]=\"idClose\" [style.display]=\"value?.length ? 'block' : 'none'\"\r\n class=\"clear-icon\" icon=\"clear\"></dd-lib-svg-icon>\r\n @if (loaded$ | async) {\r\n <div class=\"loading-icon\">\r\n <dd-lib-loader></dd-lib-loader>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (data?.length) {\r\n <dd-lib-card [class.top]=\"side === 'top'\">\r\n @for (item of data; track item) {\r\n <div (click)=\"onClickSearchItem(item)\" class=\"search-result\">\r\n @if (getTitle(item); as title) {\r\n <div [innerHTML]=\"title | highlight: value | safe: 'html'\" class=\"search-result__title\"></div>\r\n } @if (getDesc(item); as desc) {\r\n <div [innerHTML]=\"desc | highlight: value | safe: 'html'\" class=\"search-result__desc\"></div>\r\n }\r\n </div>\r\n }\r\n </dd-lib-card>\r\n }\r\n</div>\r\n", styles: [":host{display:block}.lib-search-input{position:relative}.lib-search-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-search-input input{width:100%;height:48px;padding:16px 16px 15px 44px;border-radius:8px;border:none;color:var(--light-black-color);background-color:var(--input-gray-bgc)}.lib-search-input input.white{background-color:var(--white-color);border:1px solid var(--primary-gray-color)}.lib-search-input .round{border-radius:24px}.lib-search-input .search-icon{position:absolute;left:16px;top:14px;cursor:pointer}.lib-search-input .clear-icon{position:absolute;right:16px;top:14px;cursor:pointer}.lib-search-input .loading-icon{position:absolute;right:40px;top:12px}.lib-search-input .search-result{font-size:16px;font-weight:400;line-height:24px;letter-spacing:0;text-align:left;cursor:pointer}.lib-search-input .search-result:hover{opacity:.8}.lib-search-input .search-result:last-child .search-result__desc{border:none;padding-bottom:0}.lib-search-input .search-result__title{color:var(--second-gray-color);margin:24px 0 2px}.lib-search-input .search-result__desc{padding-bottom:16px;border-bottom:1px solid var(--gray-color-200)}.lib-search-input dd-lib-card{position:absolute;display:block;top:76px;z-index:100;width:100%;max-height:400px;box-shadow:var(--main-card-shadow);overflow:auto}.lib-search-input dd-lib-card.top{bottom:50px;top:unset}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LibCardComponent, selector: "dd-lib-card", inputs: ["type", "footerBtn", "sHeight", "skeleton", "parentLvlForSkeleton", "plugs", "borderRadius"], outputs: ["cardBtnEvent"] }, { kind: "pipe", type: HighlightPipe, name: "highlight" }, { kind: "pipe", type: SafePipe, name: "safe" }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }, { kind: "component", type: LibLoaderComponent, selector: "dd-lib-loader", inputs: ["color", "size"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
147
147
  }
148
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibSearchInputComponent, decorators: [{
149
149
  type: Component,
150
- args: [{ selector: 'dd-lib-search-input', standalone: true, imports: [FormsModule, NgOptimizedImage, LibCardComponent, HighlightPipe, SafePipe, LibSvgIconComponent, LibLoaderComponent, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [DestroyService], template: "<div class=\"lib-search-input\">\r\n <label [for]=\"id\" class=\"lib-search-input__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative\">\r\n <dd-lib-svg-icon (click)=\"forceChange()\" class=\"search-icon\" icon=\"search\"></dd-lib-svg-icon>\r\n <input\r\n #searchInput\r\n (keyup)=\"keyUp.next($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [attr.type]=\"type || 'text'\"\r\n [class.focused]=\"focused\"\r\n [class.round]=\"styleInput === 'round'\"\r\n [class.white]=\"inputStyle === 'white'\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n class=\"search-input\" />\r\n <dd-lib-svg-icon\r\n (click)=\"onClear()\"\r\n [id]=\"idClose\" [style.display]=\"value?.length ? 'block' : 'none'\"\r\n class=\"clear-icon\" icon=\"clear\"></dd-lib-svg-icon>\r\n @if (loaded$ | async) {\r\n <div class=\"loading-icon\">\r\n <dd-lib-loader></dd-lib-loader>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (data?.length) {\r\n <dd-lib-card [class.top]=\"side === 'top'\">\r\n @for (item of data; track item) {\r\n <div (click)=\"onClickSearchItem(item)\" class=\"search-result\">\r\n @if (getTitle(item); as title) {\r\n <div [innerHTML]=\"title | highlight: value | safe: 'html'\" class=\"search-result__title\"></div>\r\n } @if (getDesc(item); as desc) {\r\n <div [innerHTML]=\"desc | highlight: value | safe: 'html'\" class=\"search-result__desc\"></div>\r\n }\r\n </div>\r\n }\r\n </dd-lib-card>\r\n }\r\n</div>\r\n", styles: [":host{display:block}.lib-search-input{position:relative}.lib-search-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-search-input input{width:100%;height:48px;padding:16px 16px 15px 44px;border-radius:8px;border:none;background-color:var(--input-gray-bgc)}.lib-search-input input.white{background-color:var(--white-color);border:1px solid var(--primary-gray-color)}.lib-search-input .round{border-radius:24px}.lib-search-input .search-icon{position:absolute;left:16px;top:14px;cursor:pointer}.lib-search-input .clear-icon{position:absolute;right:16px;top:14px;cursor:pointer}.lib-search-input .loading-icon{position:absolute;right:40px;top:12px}.lib-search-input .search-result{font-size:16px;font-weight:400;line-height:24px;letter-spacing:0;text-align:left;cursor:pointer}.lib-search-input .search-result:hover{opacity:.8}.lib-search-input .search-result:last-child .search-result__desc{border:none;padding-bottom:0}.lib-search-input .search-result__title{color:var(--second-gray-color);margin:24px 0 2px}.lib-search-input .search-result__desc{padding-bottom:16px;border-bottom:1px solid var(--gray-color-200)}.lib-search-input dd-lib-card{position:absolute;display:block;top:76px;z-index:100;width:100%;max-height:400px;box-shadow:var(--main-card-shadow);overflow:auto}.lib-search-input dd-lib-card.top{bottom:50px;top:unset}\n"] }]
150
+ args: [{ selector: 'dd-lib-search-input', standalone: true, imports: [FormsModule, NgOptimizedImage, LibCardComponent, HighlightPipe, SafePipe, LibSvgIconComponent, LibLoaderComponent, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [DestroyService], template: "<div class=\"lib-search-input\">\r\n <label [for]=\"id\" class=\"lib-search-input__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative\">\r\n <dd-lib-svg-icon (click)=\"forceChange()\" class=\"search-icon\" icon=\"search\"></dd-lib-svg-icon>\r\n <input\r\n #searchInput\r\n (keyup)=\"keyUp.next($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [attr.type]=\"type || 'text'\"\r\n [class.focused]=\"focused\"\r\n [class.round]=\"styleInput === 'round'\"\r\n [class.white]=\"inputStyle === 'white'\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n class=\"search-input\" />\r\n <dd-lib-svg-icon\r\n (click)=\"onClear()\"\r\n [id]=\"idClose\" [style.display]=\"value?.length ? 'block' : 'none'\"\r\n class=\"clear-icon\" icon=\"clear\"></dd-lib-svg-icon>\r\n @if (loaded$ | async) {\r\n <div class=\"loading-icon\">\r\n <dd-lib-loader></dd-lib-loader>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (data?.length) {\r\n <dd-lib-card [class.top]=\"side === 'top'\">\r\n @for (item of data; track item) {\r\n <div (click)=\"onClickSearchItem(item)\" class=\"search-result\">\r\n @if (getTitle(item); as title) {\r\n <div [innerHTML]=\"title | highlight: value | safe: 'html'\" class=\"search-result__title\"></div>\r\n } @if (getDesc(item); as desc) {\r\n <div [innerHTML]=\"desc | highlight: value | safe: 'html'\" class=\"search-result__desc\"></div>\r\n }\r\n </div>\r\n }\r\n </dd-lib-card>\r\n }\r\n</div>\r\n", styles: [":host{display:block}.lib-search-input{position:relative}.lib-search-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-search-input input{width:100%;height:48px;padding:16px 16px 15px 44px;border-radius:8px;border:none;color:var(--light-black-color);background-color:var(--input-gray-bgc)}.lib-search-input input.white{background-color:var(--white-color);border:1px solid var(--primary-gray-color)}.lib-search-input .round{border-radius:24px}.lib-search-input .search-icon{position:absolute;left:16px;top:14px;cursor:pointer}.lib-search-input .clear-icon{position:absolute;right:16px;top:14px;cursor:pointer}.lib-search-input .loading-icon{position:absolute;right:40px;top:12px}.lib-search-input .search-result{font-size:16px;font-weight:400;line-height:24px;letter-spacing:0;text-align:left;cursor:pointer}.lib-search-input .search-result:hover{opacity:.8}.lib-search-input .search-result:last-child .search-result__desc{border:none;padding-bottom:0}.lib-search-input .search-result__title{color:var(--second-gray-color);margin:24px 0 2px}.lib-search-input .search-result__desc{padding-bottom:16px;border-bottom:1px solid var(--gray-color-200)}.lib-search-input dd-lib-card{position:absolute;display:block;top:76px;z-index:100;width:100%;max-height:400px;box-shadow:var(--main-card-shadow);overflow:auto}.lib-search-input dd-lib-card.top{bottom:50px;top:unset}\n"] }]
151
151
  }], ctorParameters: () => [{ type: i1.DestroyService }, { type: i0.ChangeDetectorRef }, { type: i0.ChangeDetectorRef }], propDecorators: { keyTitle: [{
152
152
  type: Input
153
153
  }], keyDesc: [{
@@ -171,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
171
171
  }], selectedItem: [{
172
172
  type: Output
173
173
  }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXNlYXJjaC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItc2VhcmNoLWlucHV0L2xpYi1zZWFyY2gtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXNlYXJjaC1pbnB1dC9saWItc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BbUVNO0FBRU4sT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZUFBZSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8s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S0FBSztzQkFBcEIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1csVUFBVTtzQkFBMUIsTUFBTTtnQkFDVSxZQUFZO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8qKlxyXG4gKiDQktGF0L7QtNC90YvQtSDQv9Cw0YDQsNC80LXRgtGA0YsgKElucHV0KVxyXG4gKiBrZXlUaXRsZSAoZGVmYXVsdDogJ3RpdGxlJylcclxuICog0KLQuNC/OiBzdHJpbmdcclxuICog0J7Qv9C40YHQsNC90LjQtTog0J3QsNC40LzQtdC90L7QstCw0L3QuNC1INC60LvRjtGH0LAg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDQt9Cw0LPQvtC70L7QstC60LAg0Y3Qu9C10LzQtdC90YLQsCDQtNCw0L3QvdGL0YUuXHJcbiAqXHJcbiAqIGtleURlc2MgKGRlZmF1bHQ6ICdkZXNjcmlwdGlvbicpXHJcbiAqINCi0LjQvzogc3RyaW5nXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCd0LDQuNC80LXQvdC+0LLQsNC90LjQtSDQutC70Y7Rh9CwINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0L7Qv9C40YHQsNC90LjRjyDRjdC70LXQvNC10L3RgtCwINC00LDQvdC90YvRhS5cclxuICpcclxuICogc3R5bGVJbnB1dCAoZGVmYXVsdDogJ3N0YW5kYXJkJylcclxuICog0KLQuNC/OiAncm91bmQnIHwgJ3N0YW5kYXJkJ1xyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQotC40L8g0YHRgtC40LvRjyDQstGF0L7QtNC90L7Qs9C+INGN0LvQtdC80LXQvdGC0LAsINC80L7QttC10YIg0LHRi9GC0YwgJ3JvdW5kJyDQuNC70LggJ3N0YW5kYXJkJy5cclxuICpcclxuICogaW5wdXRTdHlsZSAoZGVmYXVsdDogJ2dyYXknKVxyXG4gKiDQotC40L86ICd3aGl0ZScgfCAnZ3JheSdcclxuICog0J7Qv9C40YHQsNC90LjQtTog0KHRgtC40LvRjCDQstGF0L7QtNC90L7Qs9C+INGN0LvQtdC80LXQvdGC0LAsINC80L7QttC10YIg0LHRi9GC0YwgJ3doaXRlJyDQuNC70LggJ2dyYXknLlxyXG4gKlxyXG4gKiBmZXRjaE1vZGVcclxuICog0KLQuNC/OiBib29sZWFuXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCk0LvQsNCzLCDRg9C60LDQt9GL0LLQsNGO0YnQuNC5LCDQstC60LvRjtGH0LXQvSDQu9C4INGA0LXQttC40Lwg0L/QvtC70YPRh9C10L3QuNGPINC00LDQvdC90YvRhS5cclxuICpcclxuICogc2VhcmNoRGF0YVxyXG4gKiDQotC40L86IGFueVxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQnNCw0YHRgdC40LIg0LTQsNC90L3Ri9GFINC00LvRjyDQv9C+0LjRgdC60LAuINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDRjyDQtNCw0L3QvdGL0LUsINC60L7QvNC/0L7QvdC10L3RgiDRgdCx0YDQsNGB0YvQstCw0LXRgiDRgdC+0YHRgtC+0Y/QvdC40LUg0LfQsNCz0YDRg9C30LrQuC5cclxuICpcclxuICogZGVib3VuY2VUaW1lIChkZWZhdWx0OiAxMDApXHJcbiAqINCi0LjQvzogbnVtYmVyXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCS0YDQtdC80Y8g0LfQsNC00LXRgNC20LrQuCDQv9C10YDQtdC0INCy0YvQv9C+0LvQvdC10L3QuNC10Lwg0LTQtdC50YHRgtCy0LjQuSDQv9C+0YHQu9C1INCy0LLQvtC00LAsINCyINC80LjQu9C70LjRgdC10LrRg9C90LTQsNGFLlxyXG4gKlxyXG4gKiBkZWxheSAoZGVmYXVsdDogMClcclxuICog0KLQuNC/OiBudW1iZXJcclxuICog0J7Qv9C40YHQsNC90LjQtTog0JfQsNC00LXRgNC20LrQsCDQv9C10YDQtdC0INC+0LHRgNCw0LHQvtGC0LrQvtC5INC/0L7QuNGB0LrQsCwg0LIg0LzQuNC70LvQuNGB0LXQutGD0L3QtNCw0YUuXHJcbiAqXHJcbiAqIGlkQ2xvc2VcclxuICog0KLQuNC/OiBzdHJpbmcgfCB1bmRlZmluZWRcclxuICog0J7Qv9C40YHQsNC90LjQtTog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0Y3Qu9C10LzQtdC90YLQsCDQt9Cw0LrRgNGL0YLQuNGPICjQvdC10L7Qv9GA0LXQtNC10LvQtdC90L4g0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pLlxyXG4gKlxyXG4gKiBsb2FkZWQkXHJcbiAqINCi0LjQvzogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+XHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCh0YPQsdGK0LXQutGCINC00LvRjyDRg9C/0YDQsNCy0LvQtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40LXQvCDQt9Cw0LPRgNGD0LfQutC4INC60L7QvNC/0L7QvdC10L3RgtCwLlxyXG4gKlxyXG4gKiDQktGL0YXQvtC00L3Ri9C1INC/0LDRgNCw0LzQtdGC0YDRiyAoT3V0cHV0KVxyXG4gKiBrZXl1cEV2ZW50XHJcbiAqINCi0LjQvzogRXZlbnRFbWl0dGVyPHN0cmluZz5cclxuICog0J7Qv9C40YHQsNC90LjQtTog0KHQvtCx0YvRgtC40LUsINC40YHQv9GD0YHQutCw0LXQvNC+0LUg0L/RgNC4INCy0LLQvtC00LUg0YLQtdC60YHRgtCwINCyINC/0L7Qu9C1INC/0L7QuNGB0LrQsC5cclxuICpcclxuICogc2VsZWN0ZWRJdGVtXHJcbiAqINCi0LjQvzogRXZlbnRFbWl0dGVyXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCh0L7QsdGL0YLQuNC1LCDQuNGB0L/Rg9GB0LrQsNC10LzQvtC1INC/0YDQuCDQstGL0LHQvtGA0LUg0Y3Qu9C10LzQtdC90YLQsCDQuNC3INGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0L/QvtC40YHQutCwLlxyXG4gKlxyXG4gKiDQktC90YPRgtGA0LXQvdC90LjQtSDRgdCy0L7QudGB0YLQstCwINC4INC/0LXRgNC10LzQtdC90L3Ri9C1XHJcbiAqIGtleVVwXHJcbiAqINCi0LjQvzogU3ViamVjdDxLZXlib2FyZEV2ZW50PlxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQodGD0LHRitC10LrRgiDQtNC70Y8g0L7QsdGA0LDQsdC+0YLQutC4INGB0L7QsdGL0YLQuNC5INCy0LLQvtC00LAg0YEg0LrQu9Cw0LLQuNCw0YLRg9GA0YsuXHJcbiAqXHJcbiAqIGRhdGFcclxuICog0KLQuNC/OiBhbnlbXSB8IHVuZGVmaW5lZFxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQnNCw0YHRgdC40LIg0LTQsNC90L3Ri9GFINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPINGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0L/QvtC40YHQutCwLlxyXG5cclxuICog0JzQtdGC0L7QtNGLXHJcbiAqIG5nT25Jbml0INCS0YvQv9C+0LvQvdGP0LXRgiDQvdCw0YHRgtGA0L7QudC60YMg0L/QvtGC0L7QutC+0LIg0YHQvtCx0YvRgtC40Lkg0LLQstC+0LTQsCDQv9GA0Lgg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40Lgg0LrQvtC80L/QvtC90LXQvdGC0LAuXHJcbiAqIGZvcmNlQ2hhbmdl0JzQtdGC0L7QtCDQtNC70Y8g0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L7Qs9C+INCy0YvQt9C+0LLQsCDRgdC+0LHRi9GC0LjRjyDQuNC30LzQtdC90LXQvdC40Y8g0LLQstC+0LTQsC5cclxuICogb25DbGVhcihub0VtaXQ/OiBib29sZWFuKdCc0LXRgtC+0LQg0LTQu9GPINC+0YfQuNGB0YLQutC4INC/0L7Qu9GPINCy0LLQvtC00LAsINGB0LHRgNC+0YHQsCDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNCz0YDRg9C30LrQuCDQuCDRhNC+0LrRg9GB0LAg0L3QsCDRjdC70LXQvNC10L3RgiDQstCy0L7QtNCwLlxyXG4gKiBvbkNsaWNrU2VhcmNoSXRlbShpdGVtOiBhbnkp0JzQtdGC0L7QtCDQtNC70Y8g0L7QsdGA0LDQsdC+0YLQutC4INCy0YvQsdC+0YDQsCDRjdC70LXQvNC10L3RgtCwINC40Lcg0YDQtdC30YPQu9GM0YLQsNGC0L7QsiDQv9C+0LjRgdC60LAuXHJcbiAqIGdldFRpdGxlKGl0ZW06IGFueSnQnNC10YLQvtC0INC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0LfQsNCz0L7Qu9C+0LLQutCwINGN0LvQtdC80LXQvdGC0LAg0LTQsNC90L3Ri9GFLlxyXG4gKiBnZXREZXNjKGl0ZW06IGFueSnQnNC10YLQvtC0INC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0L7Qv9C40YHQsNC90LjRjyDRjdC70LXQvNC10L3RgtCwINC00LDQvdC90YvRhS5cclxuICogKiovXHJcblxyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge0FzeW5jUGlwZSwgTmdPcHRpbWl6ZWRJbWFnZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnR9IGZyb20gJy4uL2NvbW1vbi9saWItY29tbW9uLWlucHV0LXRleHQnO1xyXG5pbXBvcnQge0xpYkNhcmRDb21wb25lbnR9IGZyb20gJy4uL2xpYi1jYXJkL2xpYi1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBvZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkZWxheSwgbWFwLCBtZXJnZU1hcCwgdGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtEZXN0cm95U2VydmljZSwgSGlnaGxpZ2h0UGlwZSwgU2FmZVBpcGV9IGZyb20gXCIuLi9jb3JlXCI7XHJcbmltcG9ydCB7TGliU3ZnSWNvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2xpYi1zdmctaWNvbi9saWItc3ZnLWljb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7TGliTG9hZGVyQ29tcG9uZW50fSBmcm9tIFwiLi4vbGliLWxvYWRlci9saWItbG9hZGVyLmNvbXBvbmVudFwiO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1zZWFyY2gtaW5wdXQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBOZ09wdGltaXplZEltYWdlLCBMaWJDYXJkQ29tcG9uZW50LCBIaWdobGlnaHRQaXBlLCBTYWZlUGlwZSwgTGliU3ZnSWNvbkNvbXBvbmVudCwgTGliTG9hZGVyQ29tcG9uZW50LCBBc3luY1BpcGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saWItc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGliLXNlYXJjaC1pbnB1dC5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbRGVzdHJveVNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliU2VhcmNoSW5wdXRDb21wb25lbnQ8VD4gZXh0ZW5kcyBMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBrZXlUaXRsZSA9ICd0aXRsZSc7XHJcbiAgQElucHV0KCkgcHVibGljIGtleURlc2MgPSAnZGVzY3JpcHRpb24nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzdHlsZUlucHV0OiAncm91bmQnIHwgJ3N0YW5kYXJkJyA9ICdzdGFuZGFyZCc7XHJcbiAgQElucHV0KCkgcHVibGljIGlucHV0U3R5bGU6ICd3aGl0ZScgfCAnZ3JheScgPSAnZ3JheSc7XHJcbiAgQElucHV0KCkgcHVibGljIHNldCBzZWFyY2hEYXRhKGRhdGE6IFRbXSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMubG9hZGVkJC5uZXh0KGZhbHNlKVxyXG4gICAgdGhpcy5kYXRhID0gZGF0YTtcclxuICB9O1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkZWJvdW5jZVRpbWUgPSAxMDA7XHJcbiAgQElucHV0KCkgcHVibGljIGRlbGF5ID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgaWRDbG9zZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsb2FkZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBrZXl1cEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHVibGljIGtleVVwID0gbmV3IFN1YmplY3Q8S2V5Ym9hcmRFdmVudD4oKTtcclxuICBwdWJsaWMgZGF0YTogVFtdIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGVzdHJveSQ6IERlc3Ryb3lTZXJ2aWNlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHtcclxuICAgIHN1cGVyKGNoYW5nZURldGVjdGlvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jb21taXRPbklucHV0KSB7XHJcbiAgICAgIHRoaXMua2V5VXBcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmZldGNoTW9kZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGVkJC5uZXh0KHRydWUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgbWFwKGV2ZW50ID0+IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlKSxcclxuICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSksXHJcbiAgICAgICAgICAvLyBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCDQvdCw0LTQviDQu9C4P1xyXG4gICAgICAgICAgbWVyZ2VNYXAoc2VhcmNoID0+IG9mKHNlYXJjaCkucGlwZShkZWxheSh0aGlzLmRlbGF5KSkpLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKHN0ciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmtleXVwRXZlbnQuZW1pdChzdHIpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSlcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAoKSA9PiB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIGZvcmNlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNvbW1pdE9uSW5wdXQpIHtcclxuICAgICAgdGhpcy5rZXl1cEV2ZW50LmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DbGVhcihub0VtaXQ/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSk7XHJcbiAgICB0aGlzLnZhbHVlID0gJyc7XHJcbiAgICBpZiAoIW5vRW1pdCkge1xyXG4gICAgICB0aGlzLmNsZWFyZWQuZW1pdCgpO1xyXG4gICAgICB0aGlzLmtleXVwRXZlbnQuZW1pdCgnJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlucHV0U2VhcmNoRWxlbWVudD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xpY2tTZWFyY2hJdGVtKGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkZWQkLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdChpdGVtKTtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLmdldFRpdGxlKGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRpdGxlKGl0ZW06IGFueSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gaXRlbVt0aGlzLmtleVRpdGxlIGFzIGtleW9mIHR5cGVvZiBpdGVtXSBhcyBzdHJpbmc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RGVzYyhpdGVtOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW1bdGhpcy5rZXlEZXNjIGFzIGtleW9mIHR5cGVvZiBpdGVtXSBhcyBzdHJpbmc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJsaWItc2VhcmNoLWlucHV0XCI+XHJcbiAgPGxhYmVsIFtmb3JdPVwiaWRcIiBjbGFzcz1cImxpYi1zZWFyY2gtaW5wdXRfX3RpdGxlXCI+XHJcbiAgICB7eyBsYWJlbCB9fVxyXG4gICAgQGlmIChyZXF1aXJlZCkge1xyXG4gICAgICA8ZGQtbGliLXN2Zy1pY29uIGljb249XCJlcnJvcl9oaW50XCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICB9XHJcbiAgPC9sYWJlbD5cclxuICA8ZGl2IGNsYXNzPVwicG9zLXJlbGF0aXZlXCI+XHJcbiAgICA8ZGQtbGliLXN2Zy1pY29uIChjbGljayk9XCJmb3JjZUNoYW5nZSgpXCIgY2xhc3M9XCJzZWFyY2gtaWNvblwiIGljb249XCJzZWFyY2hcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIDxpbnB1dFxyXG4gICAgICAjc2VhcmNoSW5wdXRcclxuICAgICAgKGtleXVwKT1cImtleVVwLm5leHQoJGV2ZW50KVwiXHJcbiAgICAgIChrZXl1cC5lbnRlcik9XCJmb3JjZUNoYW5nZSgpXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGUgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBhdXRvY29tcGxldGVcIlxyXG4gICAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXHJcbiAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxyXG4gICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWlubGVuZ3RoXCJcclxuICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcclxuICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbYXR0ci50YWJJbmRleF09XCJ0YWJJbmRleFwiXHJcbiAgICAgIFthdHRyLnR5cGVdPVwidHlwZSB8fCAndGV4dCdcIlxyXG4gICAgICBbY2xhc3MuZm9jdXNlZF09XCJmb2N1c2VkXCJcclxuICAgICAgW2NsYXNzLnJvdW5kXT1cInN0eWxlSW5wdXQgPT09ICdyb3VuZCdcIlxyXG4gICAgICBbY2xhc3Mud2hpdGVdPVwiaW5wdXRTdHlsZSA9PT0gJ3doaXRlJ1wiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXHJcbiAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCIgLz5cclxuICAgIDxkZC1saWItc3ZnLWljb25cclxuICAgICAgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiXHJcbiAgICAgIFtpZF09XCJpZENsb3NlXCIgW3N0eWxlLmRpc3BsYXldPVwidmFsdWU/Lmxlbmd0aCA/ICdibG9jaycgOiAnbm9uZSdcIlxyXG4gICAgICBjbGFzcz1cImNsZWFyLWljb25cIiBpY29uPVwiY2xlYXJcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIEBpZiAobG9hZGVkJCB8IGFzeW5jKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWljb25cIj5cclxuICAgICAgICA8ZGQtbGliLWxvYWRlcj48L2RkLWxpYi1sb2FkZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG5cclxuICBAaWYgKGRhdGE/Lmxlbmd0aCkge1xyXG4gIDxkZC1saWItY2FyZCBbY2xhc3MudG9wXT1cInNpZGUgPT09ICd0b3AnXCI+XHJcbiAgICBAZm9yIChpdGVtIG9mIGRhdGE7IHRyYWNrIGl0ZW0pIHtcclxuICAgIDxkaXYgKGNsaWNrKT1cIm9uQ2xpY2tTZWFyY2hJdGVtKGl0ZW0pXCIgY2xhc3M9XCJzZWFyY2gtcmVzdWx0XCI+XHJcbiAgICAgIEBpZiAoZ2V0VGl0bGUoaXRlbSk7IGFzIHRpdGxlKSB7XHJcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJ0aXRsZSB8IGhpZ2hsaWdodDogdmFsdWUgfCBzYWZlOiAnaHRtbCdcIiBjbGFzcz1cInNlYXJjaC1yZXN1bHRfX3RpdGxlXCI+PC9kaXY+XHJcbiAgICAgIH0gQGlmIChnZXREZXNjKGl0ZW0pOyBhcyBkZXNjKSB7XHJcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJkZXNjIHwgaGlnaGxpZ2h0OiB2YWx1ZSB8IHNhZmU6ICdodG1sJ1wiIGNsYXNzPVwic2VhcmNoLXJlc3VsdF9fZGVzY1wiPjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2RkLWxpYi1jYXJkPlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXNlYXJjaC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItc2VhcmNoLWlucHV0L2xpYi1zZWFyY2gtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXNlYXJjaC1pbnB1dC9saWItc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BbUVNO0FBRU4sT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZUFBZSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8s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S0FBSztzQkFBcEIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1csVUFBVTtzQkFBMUIsTUFBTTtnQkFDVSxZQUFZO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8qKlxyXG4gKiDQktGF0L7QtNC90YvQtSDQv9Cw0YDQsNC80LXRgtGA0YsgKElucHV0KVxyXG4gKiBrZXlUaXRsZSAoZGVmYXVsdDogJ3RpdGxlJylcclxuICog0KLQuNC/OiBzdHJpbmdcclxuICog0J7Qv9C40YHQsNC90LjQtTog0J3QsNC40LzQtdC90L7QstCw0L3QuNC1INC60LvRjtGH0LAg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDQt9Cw0LPQvtC70L7QstC60LAg0Y3Qu9C10LzQtdC90YLQsCDQtNCw0L3QvdGL0YUuXHJcbiAqXHJcbiAqIGtleURlc2MgKGRlZmF1bHQ6ICdkZXNjcmlwdGlvbicpXHJcbiAqINCi0LjQvzogc3RyaW5nXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCd0LDQuNC80LXQvdC+0LLQsNC90LjQtSDQutC70Y7Rh9CwINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0L7Qv9C40YHQsNC90LjRjyDRjdC70LXQvNC10L3RgtCwINC00LDQvdC90YvRhS5cclxuICpcclxuICogc3R5bGVJbnB1dCAoZGVmYXVsdDogJ3N0YW5kYXJkJylcclxuICog0KLQuNC/OiAncm91bmQnIHwgJ3N0YW5kYXJkJ1xyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQotC40L8g0YHRgtC40LvRjyDQstGF0L7QtNC90L7Qs9C+INGN0LvQtdC80LXQvdGC0LAsINC80L7QttC10YIg0LHRi9GC0YwgJ3JvdW5kJyDQuNC70LggJ3N0YW5kYXJkJy5cclxuICpcclxuICogaW5wdXRTdHlsZSAoZGVmYXVsdDogJ2dyYXknKVxyXG4gKiDQotC40L86ICd3aGl0ZScgfCAnZ3JheSdcclxuICog0J7Qv9C40YHQsNC90LjQtTog0KHRgtC40LvRjCDQstGF0L7QtNC90L7Qs9C+INGN0LvQtdC80LXQvdGC0LAsINC80L7QttC10YIg0LHRi9GC0YwgJ3doaXRlJyDQuNC70LggJ2dyYXknLlxyXG4gKlxyXG4gKiBmZXRjaE1vZGVcclxuICog0KLQuNC/OiBib29sZWFuXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCk0LvQsNCzLCDRg9C60LDQt9GL0LLQsNGO0YnQuNC5LCDQstC60LvRjtGH0LXQvSDQu9C4INGA0LXQttC40Lwg0L/QvtC70YPRh9C10L3QuNGPINC00LDQvdC90YvRhS5cclxuICpcclxuICogc2VhcmNoRGF0YVxyXG4gKiDQotC40L86IGFueVxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQnNCw0YHRgdC40LIg0LTQsNC90L3Ri9GFINC00LvRjyDQv9C+0LjRgdC60LAuINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDRjyDQtNCw0L3QvdGL0LUsINC60L7QvNC/0L7QvdC10L3RgiDRgdCx0YDQsNGB0YvQstCw0LXRgiDRgdC+0YHRgtC+0Y/QvdC40LUg0LfQsNCz0YDRg9C30LrQuC5cclxuICpcclxuICogZGVib3VuY2VUaW1lIChkZWZhdWx0OiAxMDApXHJcbiAqINCi0LjQvzogbnVtYmVyXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCS0YDQtdC80Y8g0LfQsNC00LXRgNC20LrQuCDQv9C10YDQtdC0INCy0YvQv9C+0LvQvdC10L3QuNC10Lwg0LTQtdC50YHRgtCy0LjQuSDQv9C+0YHQu9C1INCy0LLQvtC00LAsINCyINC80LjQu9C70LjRgdC10LrRg9C90LTQsNGFLlxyXG4gKlxyXG4gKiBkZWxheSAoZGVmYXVsdDogMClcclxuICog0KLQuNC/OiBudW1iZXJcclxuICog0J7Qv9C40YHQsNC90LjQtTog0JfQsNC00LXRgNC20LrQsCDQv9C10YDQtdC0INC+0LHRgNCw0LHQvtGC0LrQvtC5INC/0L7QuNGB0LrQsCwg0LIg0LzQuNC70LvQuNGB0LXQutGD0L3QtNCw0YUuXHJcbiAqXHJcbiAqIGlkQ2xvc2VcclxuICog0KLQuNC/OiBzdHJpbmcgfCB1bmRlZmluZWRcclxuICog0J7Qv9C40YHQsNC90LjQtTog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0Y3Qu9C10LzQtdC90YLQsCDQt9Cw0LrRgNGL0YLQuNGPICjQvdC10L7Qv9GA0LXQtNC10LvQtdC90L4g0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pLlxyXG4gKlxyXG4gKiBsb2FkZWQkXHJcbiAqINCi0LjQvzogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+XHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCh0YPQsdGK0LXQutGCINC00LvRjyDRg9C/0YDQsNCy0LvQtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40LXQvCDQt9Cw0LPRgNGD0LfQutC4INC60L7QvNC/0L7QvdC10L3RgtCwLlxyXG4gKlxyXG4gKiDQktGL0YXQvtC00L3Ri9C1INC/0LDRgNCw0LzQtdGC0YDRiyAoT3V0cHV0KVxyXG4gKiBrZXl1cEV2ZW50XHJcbiAqINCi0LjQvzogRXZlbnRFbWl0dGVyPHN0cmluZz5cclxuICog0J7Qv9C40YHQsNC90LjQtTog0KHQvtCx0YvRgtC40LUsINC40YHQv9GD0YHQutCw0LXQvNC+0LUg0L/RgNC4INCy0LLQvtC00LUg0YLQtdC60YHRgtCwINCyINC/0L7Qu9C1INC/0L7QuNGB0LrQsC5cclxuICpcclxuICogc2VsZWN0ZWRJdGVtXHJcbiAqINCi0LjQvzogRXZlbnRFbWl0dGVyXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCh0L7QsdGL0YLQuNC1LCDQuNGB0L/Rg9GB0LrQsNC10LzQvtC1INC/0YDQuCDQstGL0LHQvtGA0LUg0Y3Qu9C10LzQtdC90YLQsCDQuNC3INGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0L/QvtC40YHQutCwLlxyXG4gKlxyXG4gKiDQktC90YPRgtGA0LXQvdC90LjQtSDRgdCy0L7QudGB0YLQstCwINC4INC/0LXRgNC10LzQtdC90L3Ri9C1XHJcbiAqIGtleVVwXHJcbiAqINCi0LjQvzogU3ViamVjdDxLZXlib2FyZEV2ZW50PlxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQodGD0LHRitC10LrRgiDQtNC70Y8g0L7QsdGA0LDQsdC+0YLQutC4INGB0L7QsdGL0YLQuNC5INCy0LLQvtC00LAg0YEg0LrQu9Cw0LLQuNCw0YLRg9GA0YsuXHJcbiAqXHJcbiAqIGRhdGFcclxuICog0KLQuNC/OiBhbnlbXSB8IHVuZGVmaW5lZFxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQnNCw0YHRgdC40LIg0LTQsNC90L3Ri9GFINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPINGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0L/QvtC40YHQutCwLlxyXG5cclxuICog0JzQtdGC0L7QtNGLXHJcbiAqIG5nT25Jbml0INCS0YvQv9C+0LvQvdGP0LXRgiDQvdCw0YHRgtGA0L7QudC60YMg0L/QvtGC0L7QutC+0LIg0YHQvtCx0YvRgtC40Lkg0LLQstC+0LTQsCDQv9GA0Lgg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40Lgg0LrQvtC80L/QvtC90LXQvdGC0LAuXHJcbiAqIGZvcmNlQ2hhbmdl0JzQtdGC0L7QtCDQtNC70Y8g0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L7Qs9C+INCy0YvQt9C+0LLQsCDRgdC+0LHRi9GC0LjRjyDQuNC30LzQtdC90LXQvdC40Y8g0LLQstC+0LTQsC5cclxuICogb25DbGVhcihub0VtaXQ/OiBib29sZWFuKdCc0LXRgtC+0LQg0LTQu9GPINC+0YfQuNGB0YLQutC4INC/0L7Qu9GPINCy0LLQvtC00LAsINGB0LHRgNC+0YHQsCDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNCz0YDRg9C30LrQuCDQuCDRhNC+0LrRg9GB0LAg0L3QsCDRjdC70LXQvNC10L3RgiDQstCy0L7QtNCwLlxyXG4gKiBvbkNsaWNrU2VhcmNoSXRlbShpdGVtOiBhbnkp0JzQtdGC0L7QtCDQtNC70Y8g0L7QsdGA0LDQsdC+0YLQutC4INCy0YvQsdC+0YDQsCDRjdC70LXQvNC10L3RgtCwINC40Lcg0YDQtdC30YPQu9GM0YLQsNGC0L7QsiDQv9C+0LjRgdC60LAuXHJcbiAqIGdldFRpdGxlKGl0ZW06IGFueSnQnNC10YLQvtC0INC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0LfQsNCz0L7Qu9C+0LLQutCwINGN0LvQtdC80LXQvdGC0LAg0LTQsNC90L3Ri9GFLlxyXG4gKiBnZXREZXNjKGl0ZW06IGFueSnQnNC10YLQvtC0INC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0L7Qv9C40YHQsNC90LjRjyDRjdC70LXQvNC10L3RgtCwINC00LDQvdC90YvRhS5cclxuICogKiovXHJcblxyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge0FzeW5jUGlwZSwgTmdPcHRpbWl6ZWRJbWFnZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnR9IGZyb20gJy4uL2NvbW1vbi9saWItY29tbW9uLWlucHV0LXRleHQnO1xyXG5pbXBvcnQge0xpYkNhcmRDb21wb25lbnR9IGZyb20gJy4uL2xpYi1jYXJkL2xpYi1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBvZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkZWxheSwgbWFwLCBtZXJnZU1hcCwgdGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtEZXN0cm95U2VydmljZSwgSGlnaGxpZ2h0UGlwZSwgU2FmZVBpcGV9IGZyb20gXCIuLi9jb3JlXCI7XHJcbmltcG9ydCB7TGliU3ZnSWNvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2xpYi1zdmctaWNvbi9saWItc3ZnLWljb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7TGliTG9hZGVyQ29tcG9uZW50fSBmcm9tIFwiLi4vbGliLWxvYWRlci9saWItbG9hZGVyLmNvbXBvbmVudFwiO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1zZWFyY2gtaW5wdXQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBOZ09wdGltaXplZEltYWdlLCBMaWJDYXJkQ29tcG9uZW50LCBIaWdobGlnaHRQaXBlLCBTYWZlUGlwZSwgTGliU3ZnSWNvbkNvbXBvbmVudCwgTGliTG9hZGVyQ29tcG9uZW50LCBBc3luY1BpcGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saWItc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGliLXNlYXJjaC1pbnB1dC5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbRGVzdHJveVNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliU2VhcmNoSW5wdXRDb21wb25lbnQ8VD4gZXh0ZW5kcyBMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBrZXlUaXRsZSA9ICd0aXRsZSc7XHJcbiAgQElucHV0KCkgcHVibGljIGtleURlc2MgPSAnZGVzY3JpcHRpb24nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzdHlsZUlucHV0OiAncm91bmQnIHwgJ3N0YW5kYXJkJyA9ICdzdGFuZGFyZCc7XHJcbiAgQElucHV0KCkgcHVibGljIGlucHV0U3R5bGU6ICd3aGl0ZScgfCAnZ3JheScgPSAnZ3JheSc7XHJcbiAgQElucHV0KCkgcHVibGljIHNldCBzZWFyY2hEYXRhKGRhdGE6IFRbXSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMubG9hZGVkJC5uZXh0KGZhbHNlKVxyXG4gICAgdGhpcy5kYXRhID0gZGF0YTtcclxuICB9O1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkZWJvdW5jZVRpbWUgPSAxMDA7XHJcbiAgQElucHV0KCkgcHVibGljIGRlbGF5ID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgaWRDbG9zZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsb2FkZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBrZXl1cEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHVibGljIGtleVVwID0gbmV3IFN1YmplY3Q8S2V5Ym9hcmRFdmVudD4oKTtcclxuICBwdWJsaWMgZGF0YTogVFtdIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGVzdHJveSQ6IERlc3Ryb3lTZXJ2aWNlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHtcclxuICAgIHN1cGVyKGNoYW5nZURldGVjdGlvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jb21taXRPbklucHV0KSB7XHJcbiAgICAgIHRoaXMua2V5VXBcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmZldGNoTW9kZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGVkJC5uZXh0KHRydWUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgbWFwKGV2ZW50ID0+IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlKSxcclxuICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSksXHJcbiAgICAgICAgICAvLyBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCDQvdCw0LTQviDQu9C4P1xyXG4gICAgICAgICAgbWVyZ2VNYXAoc2VhcmNoID0+IG9mKHNlYXJjaCkucGlwZShkZWxheSh0aGlzLmRlbGF5KSkpLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKHN0ciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmtleXVwRXZlbnQuZW1pdChzdHIpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSlcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAoKSA9PiB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIGZvcmNlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNvbW1pdE9uSW5wdXQpIHtcclxuICAgICAgdGhpcy5rZXl1cEV2ZW50LmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DbGVhcihub0VtaXQ/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSk7XHJcbiAgICB0aGlzLnZhbHVlID0gJyc7XHJcbiAgICBpZiAoIW5vRW1pdCkge1xyXG4gICAgICB0aGlzLmNsZWFyZWQuZW1pdCgpO1xyXG4gICAgICB0aGlzLmtleXVwRXZlbnQuZW1pdCgnJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlucHV0U2VhcmNoRWxlbWVudD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xpY2tTZWFyY2hJdGVtKGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkZWQkLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdChpdGVtKTtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLmdldFRpdGxlKGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRpdGxlKGl0ZW06IGFueSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gaXRlbVt0aGlzLmtleVRpdGxlIGFzIGtleW9mIHR5cGVvZiBpdGVtXSBhcyBzdHJpbmc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RGVzYyhpdGVtOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW1bdGhpcy5rZXlEZXNjIGFzIGtleW9mIHR5cGVvZiBpdGVtXSBhcyBzdHJpbmc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJsaWItc2VhcmNoLWlucHV0XCI+XHJcbiAgPGxhYmVsIFtmb3JdPVwiaWRcIiBjbGFzcz1cImxpYi1zZWFyY2gtaW5wdXRfX3RpdGxlXCI+XHJcbiAgICB7eyBsYWJlbCB9fVxyXG4gICAgQGlmIChyZXF1aXJlZCkge1xyXG4gICAgICA8ZGQtbGliLXN2Zy1pY29uIGljb249XCJlcnJvcl9oaW50XCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICB9XHJcbiAgPC9sYWJlbD5cclxuICA8ZGl2IGNsYXNzPVwicG9zLXJlbGF0aXZlXCI+XHJcbiAgICA8ZGQtbGliLXN2Zy1pY29uIChjbGljayk9XCJmb3JjZUNoYW5nZSgpXCIgY2xhc3M9XCJzZWFyY2gtaWNvblwiIGljb249XCJzZWFyY2hcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIDxpbnB1dFxyXG4gICAgICAjc2VhcmNoSW5wdXRcclxuICAgICAgKGtleXVwKT1cImtleVVwLm5leHQoJGV2ZW50KVwiXHJcbiAgICAgIChrZXl1cC5lbnRlcik9XCJmb3JjZUNoYW5nZSgpXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGUgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBhdXRvY29tcGxldGVcIlxyXG4gICAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXHJcbiAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxyXG4gICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWlubGVuZ3RoXCJcclxuICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcclxuICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbYXR0ci50YWJJbmRleF09XCJ0YWJJbmRleFwiXHJcbiAgICAgIFthdHRyLnR5cGVdPVwidHlwZSB8fCAndGV4dCdcIlxyXG4gICAgICBbY2xhc3MuZm9jdXNlZF09XCJmb2N1c2VkXCJcclxuICAgICAgW2NsYXNzLnJvdW5kXT1cInN0eWxlSW5wdXQgPT09ICdyb3VuZCdcIlxyXG4gICAgICBbY2xhc3Mud2hpdGVdPVwiaW5wdXRTdHlsZSA9PT0gJ3doaXRlJ1wiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXHJcbiAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCIgLz5cclxuICAgIDxkZC1saWItc3ZnLWljb25cclxuICAgICAgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiXHJcbiAgICAgIFtpZF09XCJpZENsb3NlXCIgW3N0eWxlLmRpc3BsYXldPVwidmFsdWU/Lmxlbmd0aCA/ICdibG9jaycgOiAnbm9uZSdcIlxyXG4gICAgICBjbGFzcz1cImNsZWFyLWljb25cIiBpY29uPVwiY2xlYXJcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIEBpZiAobG9hZGVkJCB8IGFzeW5jKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWljb25cIj5cclxuICAgICAgICA8ZGQtbGliLWxvYWRlcj48L2RkLWxpYi1sb2FkZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG5cclxuICBAaWYgKGRhdGE/Lmxlbmd0aCkge1xyXG4gIDxkZC1saWItY2FyZCBbY2xhc3MudG9wXT1cInNpZGUgPT09ICd0b3AnXCI+XHJcbiAgICBAZm9yIChpdGVtIG9mIGRhdGE7IHRyYWNrIGl0ZW0pIHtcclxuICAgIDxkaXYgKGNsaWNrKT1cIm9uQ2xpY2tTZWFyY2hJdGVtKGl0ZW0pXCIgY2xhc3M9XCJzZWFyY2gtcmVzdWx0XCI+XHJcbiAgICAgIEBpZiAoZ2V0VGl0bGUoaXRlbSk7IGFzIHRpdGxlKSB7XHJcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJ0aXRsZSB8IGhpZ2hsaWdodDogdmFsdWUgfCBzYWZlOiAnaHRtbCdcIiBjbGFzcz1cInNlYXJjaC1yZXN1bHRfX3RpdGxlXCI+PC9kaXY+XHJcbiAgICAgIH0gQGlmIChnZXREZXNjKGl0ZW0pOyBhcyBkZXNjKSB7XHJcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJkZXNjIHwgaGlnaGxpZ2h0OiB2YWx1ZSB8IHNhZmU6ICdodG1sJ1wiIGNsYXNzPVwic2VhcmNoLXJlc3VsdF9fZGVzY1wiPjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2RkLWxpYi1jYXJkPlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==