cax-design-system 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/README.md +1 -1
  2. package/avatargroup/avatargroup.d.ts +1 -7
  3. package/avatargroup/avatargroup.module.d.ts +9 -0
  4. package/avatargroup/public_api.d.ts +1 -0
  5. package/badge/badge.directive.d.ts +4 -2
  6. package/button/button.d.ts +2 -1
  7. package/editor/editor.d.ts +1 -8
  8. package/editor/editor.module.d.ts +9 -0
  9. package/editor/public_api.d.ts +1 -0
  10. package/esm2022/avatar/avatar.mjs +3 -3
  11. package/esm2022/avatargroup/avatargroup.mjs +5 -27
  12. package/esm2022/avatargroup/avatargroup.module.mjs +19 -0
  13. package/esm2022/avatargroup/public_api.mjs +2 -1
  14. package/esm2022/badge/badge.directive.mjs +20 -8
  15. package/esm2022/badge/badge.mjs +4 -4
  16. package/esm2022/button/button.mjs +5 -4
  17. package/esm2022/checkbox/checkbox.mjs +3 -3
  18. package/esm2022/dropdown/dropdown.mjs +4 -6
  19. package/esm2022/editor/editor.mjs +9 -120
  20. package/esm2022/editor/editor.module.mjs +19 -0
  21. package/esm2022/editor/public_api.mjs +2 -1
  22. package/esm2022/inputmask/inputmask.mjs +42 -108
  23. package/esm2022/inputmask/inputmask.module.mjs +22 -0
  24. package/esm2022/inputmask/public_api.mjs +2 -1
  25. package/esm2022/inputtext/inputtext.component.mjs +14 -8
  26. package/esm2022/inputtext/inputtext.directive.mjs +3 -4
  27. package/esm2022/messages/messages.mjs +5 -5
  28. package/esm2022/overlaypanel/overlaypanel.mjs +3 -3
  29. package/esm2022/paginator/paginator.mjs +21 -8
  30. package/esm2022/progressbar/progressbar.mjs +2 -2
  31. package/esm2022/progressspinner/progressspinner.mjs +12 -12
  32. package/esm2022/selectbutton/selectbutton.mjs +2 -2
  33. package/esm2022/sidebar/sidebar.mjs +3 -3
  34. package/esm2022/splitbutton/splitbutton.mjs +8 -3
  35. package/esm2022/splitbutton/splitbutton.module.mjs +5 -4
  36. package/esm2022/steps/public_api.mjs +2 -1
  37. package/esm2022/steps/steps.mjs +5 -143
  38. package/esm2022/steps/steps.module.mjs +20 -0
  39. package/esm2022/table/table.mjs +3 -3
  40. package/esm2022/tabview/tabview.mjs +28 -3
  41. package/esm2022/timeline/public_api.mjs +2 -1
  42. package/esm2022/timeline/timeline.mjs +6 -90
  43. package/esm2022/timeline/timeline.module.mjs +19 -0
  44. package/esm2022/togglebutton/togglebutton.mjs +2 -2
  45. package/esm2022/toggleswitch/toggleswitch.mjs +7 -4
  46. package/fesm2022/cax-design-system-avatar.mjs +2 -2
  47. package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
  48. package/fesm2022/cax-design-system-avatargroup.mjs +9 -15
  49. package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
  50. package/fesm2022/cax-design-system-badge.mjs +22 -10
  51. package/fesm2022/cax-design-system-badge.mjs.map +1 -1
  52. package/fesm2022/cax-design-system-button.mjs +5 -4
  53. package/fesm2022/cax-design-system-button.mjs.map +1 -1
  54. package/fesm2022/cax-design-system-checkbox.mjs +2 -2
  55. package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
  56. package/fesm2022/cax-design-system-dropdown.mjs +3 -5
  57. package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
  58. package/fesm2022/cax-design-system-editor.mjs +9 -106
  59. package/fesm2022/cax-design-system-editor.mjs.map +1 -1
  60. package/fesm2022/cax-design-system-inputmask.mjs +40 -89
  61. package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
  62. package/fesm2022/cax-design-system-inputtext.mjs +15 -10
  63. package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
  64. package/fesm2022/cax-design-system-messages.mjs +4 -4
  65. package/fesm2022/cax-design-system-messages.mjs.map +1 -1
  66. package/fesm2022/cax-design-system-overlaypanel.mjs +2 -2
  67. package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
  68. package/fesm2022/cax-design-system-paginator.mjs +20 -7
  69. package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
  70. package/fesm2022/cax-design-system-progressbar.mjs +2 -2
  71. package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
  72. package/fesm2022/cax-design-system-progressspinner.mjs +11 -11
  73. package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
  74. package/fesm2022/cax-design-system-selectbutton.mjs +2 -2
  75. package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
  76. package/fesm2022/cax-design-system-sidebar.mjs +2 -2
  77. package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
  78. package/fesm2022/cax-design-system-splitbutton.mjs +11 -5
  79. package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
  80. package/fesm2022/cax-design-system-steps.mjs +7 -128
  81. package/fesm2022/cax-design-system-steps.mjs.map +1 -1
  82. package/fesm2022/cax-design-system-table.mjs +2 -2
  83. package/fesm2022/cax-design-system-table.mjs.map +1 -1
  84. package/fesm2022/cax-design-system-tabview.mjs +27 -2
  85. package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
  86. package/fesm2022/cax-design-system-timeline.mjs +6 -75
  87. package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
  88. package/fesm2022/cax-design-system-togglebutton.mjs +2 -2
  89. package/fesm2022/cax-design-system-togglebutton.mjs.map +1 -1
  90. package/fesm2022/cax-design-system-toggleswitch.mjs +6 -3
  91. package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
  92. package/inputmask/inputmask.d.ts +12 -12
  93. package/inputmask/inputmask.module.d.ts +12 -0
  94. package/inputmask/public_api.d.ts +1 -0
  95. package/inputtext/inputtext.component.d.ts +6 -3
  96. package/messages/messages.d.ts +1 -1
  97. package/package.json +215 -215
  98. package/paginator/paginator.d.ts +4 -1
  99. package/progressspinner/progressspinner.d.ts +1 -1
  100. package/resources/cax.min.scss +1 -1
  101. package/resources/cax.scss +7686 -6588
  102. package/resources/components/avatar/avatar.scss +2 -2
  103. package/resources/components/avatargroup/{avatargroup.css → avatargroup.scss} +2 -2
  104. package/resources/components/badge/badge.scss +33 -0
  105. package/resources/components/button/button.scss +44 -11
  106. package/resources/components/dropdown/dropdown.scss +2 -18
  107. package/resources/components/editor/editor.scss +4 -0
  108. package/resources/components/inputmask/{inputmask.css → inputmask.scss} +2 -2
  109. package/resources/components/inputtext/inputtext.scss +21 -23
  110. package/resources/components/messages/messages.scss +1 -1
  111. package/resources/components/overlaypanel/overlaypanel.scss +4 -1
  112. package/resources/components/paginator/paginator.scss +4 -0
  113. package/resources/components/progressbar/progressbar.scss +0 -15
  114. package/resources/components/progressspinner/progressspinner.scss +9 -9
  115. package/resources/components/sidebar/sidebar.scss +1 -1
  116. package/resources/components/splitbutton/splitbutton.scss +6 -3
  117. package/resources/components/steps/{steps.css → steps.scss} +10 -9
  118. package/resources/components/table/table.scss +41 -1
  119. package/resources/components/tabview/tabview.scss +12 -8
  120. package/resources/components/timeline/timeline.scss +134 -0
  121. package/resources/components/toggleswitch/toggleswitch.scss +6 -0
  122. package/splitbutton/splitbutton.d.ts +1 -0
  123. package/splitbutton/splitbutton.module.d.ts +2 -1
  124. package/steps/public_api.d.ts +1 -0
  125. package/steps/steps.d.ts +1 -9
  126. package/steps/steps.module.d.ts +10 -0
  127. package/timeline/public_api.d.ts +1 -0
  128. package/timeline/timeline.d.ts +1 -8
  129. package/timeline/timeline.module.d.ts +9 -0
  130. package/toggleswitch/toggleswitch.d.ts +2 -1
  131. package/resources/components/editor/editor.css +0 -4
  132. package/resources/components/timeline/timeline.css +0 -114
@@ -25,6 +25,8 @@ export class InputTextComponent {
25
25
  invalid = false;
26
26
  required = true;
27
27
  style;
28
+ size = 'md';
29
+ styleClass;
28
30
  valueChange = new EventEmitter();
29
31
  onChange = () => { };
30
32
  onTouched = () => { };
@@ -41,10 +43,10 @@ export class InputTextComponent {
41
43
  this.disabled = isDisabled;
42
44
  }
43
45
  onInput(event) {
44
- const input = event.target;
45
- this.value = input.value;
46
- this.valueChange.emit(this.value);
47
- this.onChange(this.value);
46
+ const newValue = typeof event === 'string' ? event : event.target?.value || '';
47
+ this.value = newValue;
48
+ this.valueChange.emit(newValue);
49
+ this.onChange(newValue);
48
50
  this.onTouched();
49
51
  }
50
52
  clearInput() {
@@ -54,13 +56,13 @@ export class InputTextComponent {
54
56
  this.onTouched();
55
57
  }
56
58
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InputTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: InputTextComponent, selector: "cax-inputtext", inputs: { value: "value", placeholder: "placeholder", disabled: "disabled", maxlength: "maxlength", successText: "successText", errorText: "errorText", showLabel: "showLabel", leftIcon: "leftIcon", rightIcon: "rightIcon", clearIcon: "clearIcon", label: "label", iconPath: "iconPath", disabledIcon: "disabledIcon", showIcon: "showIcon", iconClass: "iconClass", leftIconClass: "leftIconClass", rightIconClass: "rightIconClass", invalid: "invalid", required: "required", style: "style" }, outputs: { valueChange: "valueChange" }, providers: [
59
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: InputTextComponent, selector: "cax-inputtext", inputs: { value: "value", placeholder: "placeholder", disabled: "disabled", maxlength: "maxlength", successText: "successText", errorText: "errorText", showLabel: "showLabel", leftIcon: "leftIcon", rightIcon: "rightIcon", clearIcon: "clearIcon", label: "label", iconPath: "iconPath", disabledIcon: "disabledIcon", showIcon: "showIcon", iconClass: "iconClass", leftIconClass: "leftIconClass", rightIconClass: "rightIconClass", invalid: "invalid", required: "required", style: "style", size: "size", styleClass: "styleClass" }, outputs: { valueChange: "valueChange" }, providers: [
58
60
  {
59
61
  provide: NG_VALUE_ACCESSOR,
60
62
  useExisting: forwardRef(() => InputTextComponent),
61
63
  multi: true
62
64
  }
63
- ], ngImport: i0, template: "<div class=\"cax-input-container\">\r\n <!-- Label with conditional opacity class -->\r\n <label *ngIf=\"label\" class=\"cax-label\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ label }} </label>\r\n\r\n <div\r\n [ngClass]=\"{\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon || (clearIcon && value),\r\n 'input-disabled': disabled,\r\n }\"\r\n >\r\n <!-- Left Icon (If provided) -->\r\n <span *ngIf=\"leftIcon\" class=\"cax-input-icon-left\">\r\n <i [ngClass]=\"leftIconClass\"></i>\r\n </span>\r\n\r\n <!-- Main Input Field -->\r\n <input\r\n type=\"text\"\r\n caxInputText\r\n [(ngModel)]=\"value\"\r\n [maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [ngStyle]=\"style\"\r\n [ngClass]=\"{\r\n 'input-invalid': invalid,\r\n 'input-disabled': disabled,\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon || (clearIcon && value),\r\n 'border-red': invalid,\r\n }\"\r\n [attr.aria-describedby]=\"successText || invalid ? 'helper-text' : null\"\r\n />\r\n\r\n <!-- Right Icon with Conditional Click -->\r\n <span *ngIf=\"rightIcon && !(clearIcon && value)\" class=\"cax-input-icon-right\">\r\n <i [ngClass]=\"rightIconClass\"></i>\r\n </span>\r\n <span\r\n *ngIf=\"clearIcon && value\"\r\n class=\"cax-input-icon-right clickable-icon\"\r\n (click)=\"clearInput()\"\r\n >\r\n <i class=\"cax cax-close-circle\"></i>\r\n </span>\r\n </div>\r\n\r\n <!-- Error Message with conditional opacity -->\r\n <small *ngIf=\"invalid\" id=\"helper-text\" class=\"cax-error disabled-opacity\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ errorText }} </small>\r\n\r\n <!-- Helper Text with conditional opacity -->\r\n <small *ngIf=\"successText && !invalid\" id=\"helper-text\" class=\"cax-helper-text\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ successText }} </small>\r\n</div>\r\n", styles: ["@layer cax{.cax-inputtext{margin:0}.cax-fluid .cax-inputtext{width:100%}.cax-inputgroup{display:flex;align-items:stretch}.cax-inputgroup-addon{display:flex;align-items:center;justify-content:center}.cax-inputgroup .cax-float-label{display:flex;align-items:stretch;width:100%}.cax-inputgroup .cax-inputtext,.cax-fluid .cax-inputgroup .cax-inputtext,.cax-inputgroup .cax-inputwrapper,.cax-inputgroup .cax-inputwrapper>.cax-component{flex:1 1 auto;width:1%}.cax-float-label{display:block;position:relative}.cax-float-label label{position:absolute;pointer-events:none;top:50%;margin-top:-.5rem;transition-property:all;transition-timing-function:ease;line-height:1}.cax-float-label textarea~label{top:1rem}.cax-float-label input:focus~label,.cax-float-label input.cax-filled~label,.cax-float-label textarea:focus~label,.cax-float-label textarea.cax-filled~label,.cax-float-label .cax-inputwrapper-focus~label,.cax-float-label .cax-inputwrapper-filled~label{top:-.75rem;font-size:12px}.cax-float-label .input:-webkit-autofill~label{top:-20px;font-size:12px}.cax-float-label .cax-placeholder,.cax-float-label input::placeholder,.cax-float-label .cax-inputtext::placeholder{opacity:0;transition-property:all;transition-timing-function:ease}.cax-float-label .cax-focus .cax-placeholder,.cax-float-label input:focus::placeholder,.cax-float-label .cax-inputtext:focus::placeholder{opacity:1;transition-property:all;transition-timing-function:ease}.cax-input-icon-left,.cax-input-icon-right{position:relative;display:inline-block;margin-bottom:.3rem}.cax-input-icon-left>i,.cax-input-icon-left>.cax-icon-wrapper,.cax-input-icon-right>i,.cax-input-icon-right>.cax-icon-wrapper{position:absolute;top:50%;margin-top:-.5rem}.cax-fluid .cax-input-icon-left,.cax-fluid .cax-input-icon-right{display:block;width:100%}.input-disabled,.disabled-opacity{opacity:.5}.cax-inputtext.with-left-icon{padding-left:35px}.cax-inputtext.with-right-icon{padding-right:35px}.cax-float-label input:focus~label,.cax-float-label input.cax-filled~label{top:-.75rem;font-size:12px}input:enabled:focus{outline:none}input.input-invalid:enabled:focus{border-color:var(--red-base)}input.input-invalid{border:1px solid var(--red-base)!important}.clickable-icon{cursor:pointer}.non-clickable-icon{cursor:default}.cax-inputtext.full-width{width:100%}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.InputtextDirective, selector: "[caxInputText]", inputs: ["placeholder", "disabled", "variant"], outputs: ["valueChange"] }] });
65
+ ], ngImport: i0, template: "<div class=\"cax-input-container\"\r\n [class]=\"styleClass\"\r\n [ngClass]=\"'cax-input-size-' + size\"\r\n [ngStyle]=\"style\">\r\n <label *ngIf=\"label\" class=\"cax-label\" [ngClass]=\"{'disabled-opacity': disabled}\">{{ label }}</label>\r\n\r\n <div class=\"cax-input-wrapper\"\r\n [ngClass]=\"{\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon,\r\n 'with-clear-icon': clearIcon && value,\r\n 'input-disabled': disabled\r\n }\"\r\n >\r\n <!-- Left Icon -->\r\n <span *ngIf=\"leftIcon\"\r\n class=\"cax-icon-container cax-icon-left\">\r\n <i [ngClass]=\"leftIconClass\"></i>\r\n </span>\r\n\r\n <!-- Input -->\r\n <input\r\n type=\"text\"\r\n caxInputText\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onInput($event)\"\r\n [maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [ngStyle]=\"style\"\r\n [ngClass]=\"{\r\n 'cax-inputtext': true,\r\n 'cax-input-invalid': invalid,\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon,\r\n 'with-clear-icon': clearIcon && value\r\n }\"\r\n />\r\n\r\n <!-- Clear Icon (before right icon) -->\r\n <span *ngIf=\"clearIcon && value\"\r\n class=\"cax-icon-container cax-clear-icon clickable-icon\"\r\n [ngClass]=\"{'no-right-icon': !rightIcon}\"\r\n (click)=\"clearInput()\">\r\n <i class=\"cax cax-close-circle\"></i>\r\n </span>\r\n\r\n <!-- Right Icon -->\r\n <span *ngIf=\"rightIcon\"\r\n class=\"cax-icon-container cax-icon-right\">\r\n <i [ngClass]=\"rightIconClass\"></i>\r\n </span>\r\n </div>\r\n\r\n <!-- Error Message with conditional opacity -->\r\n <small *ngIf=\"invalid\" id=\"helper-text\" class=\"cax-error disabled-opacity\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ errorText }} </small>\r\n\r\n <!-- Helper Text with conditional opacity -->\r\n <small *ngIf=\"successText && !invalid\" id=\"helper-text\" class=\"cax-helper-text\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ successText }} </small>\r\n</div>\r\n", styles: ["@layer cax{.cax-inputtext{font-weight:500;padding:8px 10px;border-radius:8px}.cax-fluid .cax-inputtext{width:100%}.cax-inputgroup{display:flex;align-items:stretch}.cax-inputgroup-addon{display:flex;align-items:center;justify-content:center}.cax-inputgroup .cax-float-label{display:flex;align-items:stretch;width:100%}.cax-inputgroup .cax-inputtext,.cax-fluid .cax-inputgroup .cax-inputtext,.cax-inputgroup .cax-inputwrapper,.cax-inputgroup .cax-inputwrapper>.cax-component{flex:1 1 auto;width:1%}.cax-float-label{display:block;position:relative}.cax-float-label label{position:absolute;pointer-events:none;top:50%;margin-top:-.5rem;transition-property:all;transition-timing-function:ease;line-height:1}.cax-float-label textarea~label{top:1rem}.cax-float-label input:focus~label,.cax-float-label input.cax-filled~label,.cax-float-label textarea:focus~label,.cax-float-label textarea.cax-filled~label,.cax-float-label .cax-inputwrapper-focus~label,.cax-float-label .cax-inputwrapper-filled~label{top:-.75rem;font-size:12px}.cax-float-label .input:-webkit-autofill~label{top:-20px;font-size:12px}.cax-float-label .cax-placeholder,.cax-float-label input::placeholder,.cax-float-label .cax-inputtext::placeholder{opacity:0;transition-property:all;transition-timing-function:ease}.cax-float-label .cax-focus .cax-placeholder,.cax-float-label input:focus::placeholder,.cax-float-label .cax-inputtext:focus::placeholder{opacity:1;transition-property:all;transition-timing-function:ease}.cax-input-icon-left,.cax-input-icon-right{position:relative;display:inline-block;margin-bottom:.3rem}.cax-input-icon-left>i,.cax-input-icon-left>.cax-icon-wrapper,.cax-input-icon-right>i,.cax-input-icon-right>.cax-icon-wrapper{position:absolute;top:50%;margin-top:-.5rem}.cax-fluid .cax-input-icon-left,.cax-fluid .cax-input-icon-right{display:block;width:100%}.input-disabled,.disabled-opacity{opacity:.5}input:enabled:focus{outline:none}.non-clickable-icon{cursor:default}.cax-inputtext.full-width{width:100%}.cax-input-wrapper{position:relative;display:inline-flex;align-items:center;width:fit-content}.cax-icon-left{left:10px}.cax-icon-right{right:10px}.cax-fluid .cax-input-wrapper{width:100%}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.InputtextDirective, selector: "[caxInputText]", inputs: ["placeholder", "disabled", "variant"], outputs: ["valueChange"] }] });
64
66
  }
65
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InputTextComponent, decorators: [{
66
68
  type: Component,
@@ -70,7 +72,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
70
72
  useExisting: forwardRef(() => InputTextComponent),
71
73
  multi: true
72
74
  }
73
- ], template: "<div class=\"cax-input-container\">\r\n <!-- Label with conditional opacity class -->\r\n <label *ngIf=\"label\" class=\"cax-label\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ label }} </label>\r\n\r\n <div\r\n [ngClass]=\"{\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon || (clearIcon && value),\r\n 'input-disabled': disabled,\r\n }\"\r\n >\r\n <!-- Left Icon (If provided) -->\r\n <span *ngIf=\"leftIcon\" class=\"cax-input-icon-left\">\r\n <i [ngClass]=\"leftIconClass\"></i>\r\n </span>\r\n\r\n <!-- Main Input Field -->\r\n <input\r\n type=\"text\"\r\n caxInputText\r\n [(ngModel)]=\"value\"\r\n [maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [ngStyle]=\"style\"\r\n [ngClass]=\"{\r\n 'input-invalid': invalid,\r\n 'input-disabled': disabled,\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon || (clearIcon && value),\r\n 'border-red': invalid,\r\n }\"\r\n [attr.aria-describedby]=\"successText || invalid ? 'helper-text' : null\"\r\n />\r\n\r\n <!-- Right Icon with Conditional Click -->\r\n <span *ngIf=\"rightIcon && !(clearIcon && value)\" class=\"cax-input-icon-right\">\r\n <i [ngClass]=\"rightIconClass\"></i>\r\n </span>\r\n <span\r\n *ngIf=\"clearIcon && value\"\r\n class=\"cax-input-icon-right clickable-icon\"\r\n (click)=\"clearInput()\"\r\n >\r\n <i class=\"cax cax-close-circle\"></i>\r\n </span>\r\n </div>\r\n\r\n <!-- Error Message with conditional opacity -->\r\n <small *ngIf=\"invalid\" id=\"helper-text\" class=\"cax-error disabled-opacity\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ errorText }} </small>\r\n\r\n <!-- Helper Text with conditional opacity -->\r\n <small *ngIf=\"successText && !invalid\" id=\"helper-text\" class=\"cax-helper-text\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ successText }} </small>\r\n</div>\r\n", styles: ["@layer cax{.cax-inputtext{margin:0}.cax-fluid .cax-inputtext{width:100%}.cax-inputgroup{display:flex;align-items:stretch}.cax-inputgroup-addon{display:flex;align-items:center;justify-content:center}.cax-inputgroup .cax-float-label{display:flex;align-items:stretch;width:100%}.cax-inputgroup .cax-inputtext,.cax-fluid .cax-inputgroup .cax-inputtext,.cax-inputgroup .cax-inputwrapper,.cax-inputgroup .cax-inputwrapper>.cax-component{flex:1 1 auto;width:1%}.cax-float-label{display:block;position:relative}.cax-float-label label{position:absolute;pointer-events:none;top:50%;margin-top:-.5rem;transition-property:all;transition-timing-function:ease;line-height:1}.cax-float-label textarea~label{top:1rem}.cax-float-label input:focus~label,.cax-float-label input.cax-filled~label,.cax-float-label textarea:focus~label,.cax-float-label textarea.cax-filled~label,.cax-float-label .cax-inputwrapper-focus~label,.cax-float-label .cax-inputwrapper-filled~label{top:-.75rem;font-size:12px}.cax-float-label .input:-webkit-autofill~label{top:-20px;font-size:12px}.cax-float-label .cax-placeholder,.cax-float-label input::placeholder,.cax-float-label .cax-inputtext::placeholder{opacity:0;transition-property:all;transition-timing-function:ease}.cax-float-label .cax-focus .cax-placeholder,.cax-float-label input:focus::placeholder,.cax-float-label .cax-inputtext:focus::placeholder{opacity:1;transition-property:all;transition-timing-function:ease}.cax-input-icon-left,.cax-input-icon-right{position:relative;display:inline-block;margin-bottom:.3rem}.cax-input-icon-left>i,.cax-input-icon-left>.cax-icon-wrapper,.cax-input-icon-right>i,.cax-input-icon-right>.cax-icon-wrapper{position:absolute;top:50%;margin-top:-.5rem}.cax-fluid .cax-input-icon-left,.cax-fluid .cax-input-icon-right{display:block;width:100%}.input-disabled,.disabled-opacity{opacity:.5}.cax-inputtext.with-left-icon{padding-left:35px}.cax-inputtext.with-right-icon{padding-right:35px}.cax-float-label input:focus~label,.cax-float-label input.cax-filled~label{top:-.75rem;font-size:12px}input:enabled:focus{outline:none}input.input-invalid:enabled:focus{border-color:var(--red-base)}input.input-invalid{border:1px solid var(--red-base)!important}.clickable-icon{cursor:pointer}.non-clickable-icon{cursor:default}.cax-inputtext.full-width{width:100%}}\n"] }]
75
+ ], template: "<div class=\"cax-input-container\"\r\n [class]=\"styleClass\"\r\n [ngClass]=\"'cax-input-size-' + size\"\r\n [ngStyle]=\"style\">\r\n <label *ngIf=\"label\" class=\"cax-label\" [ngClass]=\"{'disabled-opacity': disabled}\">{{ label }}</label>\r\n\r\n <div class=\"cax-input-wrapper\"\r\n [ngClass]=\"{\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon,\r\n 'with-clear-icon': clearIcon && value,\r\n 'input-disabled': disabled\r\n }\"\r\n >\r\n <!-- Left Icon -->\r\n <span *ngIf=\"leftIcon\"\r\n class=\"cax-icon-container cax-icon-left\">\r\n <i [ngClass]=\"leftIconClass\"></i>\r\n </span>\r\n\r\n <!-- Input -->\r\n <input\r\n type=\"text\"\r\n caxInputText\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onInput($event)\"\r\n [maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [ngStyle]=\"style\"\r\n [ngClass]=\"{\r\n 'cax-inputtext': true,\r\n 'cax-input-invalid': invalid,\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon,\r\n 'with-clear-icon': clearIcon && value\r\n }\"\r\n />\r\n\r\n <!-- Clear Icon (before right icon) -->\r\n <span *ngIf=\"clearIcon && value\"\r\n class=\"cax-icon-container cax-clear-icon clickable-icon\"\r\n [ngClass]=\"{'no-right-icon': !rightIcon}\"\r\n (click)=\"clearInput()\">\r\n <i class=\"cax cax-close-circle\"></i>\r\n </span>\r\n\r\n <!-- Right Icon -->\r\n <span *ngIf=\"rightIcon\"\r\n class=\"cax-icon-container cax-icon-right\">\r\n <i [ngClass]=\"rightIconClass\"></i>\r\n </span>\r\n </div>\r\n\r\n <!-- Error Message with conditional opacity -->\r\n <small *ngIf=\"invalid\" id=\"helper-text\" class=\"cax-error disabled-opacity\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ errorText }} </small>\r\n\r\n <!-- Helper Text with conditional opacity -->\r\n <small *ngIf=\"successText && !invalid\" id=\"helper-text\" class=\"cax-helper-text\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ successText }} </small>\r\n</div>\r\n", styles: ["@layer cax{.cax-inputtext{font-weight:500;padding:8px 10px;border-radius:8px}.cax-fluid .cax-inputtext{width:100%}.cax-inputgroup{display:flex;align-items:stretch}.cax-inputgroup-addon{display:flex;align-items:center;justify-content:center}.cax-inputgroup .cax-float-label{display:flex;align-items:stretch;width:100%}.cax-inputgroup .cax-inputtext,.cax-fluid .cax-inputgroup .cax-inputtext,.cax-inputgroup .cax-inputwrapper,.cax-inputgroup .cax-inputwrapper>.cax-component{flex:1 1 auto;width:1%}.cax-float-label{display:block;position:relative}.cax-float-label label{position:absolute;pointer-events:none;top:50%;margin-top:-.5rem;transition-property:all;transition-timing-function:ease;line-height:1}.cax-float-label textarea~label{top:1rem}.cax-float-label input:focus~label,.cax-float-label input.cax-filled~label,.cax-float-label textarea:focus~label,.cax-float-label textarea.cax-filled~label,.cax-float-label .cax-inputwrapper-focus~label,.cax-float-label .cax-inputwrapper-filled~label{top:-.75rem;font-size:12px}.cax-float-label .input:-webkit-autofill~label{top:-20px;font-size:12px}.cax-float-label .cax-placeholder,.cax-float-label input::placeholder,.cax-float-label .cax-inputtext::placeholder{opacity:0;transition-property:all;transition-timing-function:ease}.cax-float-label .cax-focus .cax-placeholder,.cax-float-label input:focus::placeholder,.cax-float-label .cax-inputtext:focus::placeholder{opacity:1;transition-property:all;transition-timing-function:ease}.cax-input-icon-left,.cax-input-icon-right{position:relative;display:inline-block;margin-bottom:.3rem}.cax-input-icon-left>i,.cax-input-icon-left>.cax-icon-wrapper,.cax-input-icon-right>i,.cax-input-icon-right>.cax-icon-wrapper{position:absolute;top:50%;margin-top:-.5rem}.cax-fluid .cax-input-icon-left,.cax-fluid .cax-input-icon-right{display:block;width:100%}.input-disabled,.disabled-opacity{opacity:.5}input:enabled:focus{outline:none}.non-clickable-icon{cursor:default}.cax-inputtext.full-width{width:100%}.cax-input-wrapper{position:relative;display:inline-flex;align-items:center;width:fit-content}.cax-icon-left{left:10px}.cax-icon-right{right:10px}.cax-fluid .cax-input-wrapper{width:100%}}\n"] }]
74
76
  }], propDecorators: { value: [{
75
77
  type: Input
76
78
  }], placeholder: [{
@@ -111,7 +113,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
111
113
  type: Input
112
114
  }], style: [{
113
115
  type: Input
116
+ }], size: [{
117
+ type: Input
118
+ }], styleClass: [{
119
+ type: Input
114
120
  }], valueChange: [{
115
121
  type: Output
116
122
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXR0ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9pbnB1dHRleHQvaW5wdXR0ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9pbnB1dHRleHQvaW5wdXR0ZXh0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBY25ELE1BQU0sT0FBTyxrQkFBa0I7SUFDbEIsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixXQUFXLEdBQVcsRUFBRSxDQUFDO0lBQ3pCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsU0FBUyxDQUFVO0lBQ25CLFdBQVcsQ0FBVTtJQUNyQixTQUFTLENBQVU7SUFDbkIsU0FBUyxHQUFhLElBQUksQ0FBQztJQUMzQixRQUFRLEdBQWEsS0FBSyxDQUFDO0lBQzNCLFNBQVMsR0FBYSxLQUFLLENBQUM7SUFDNUIsU0FBUyxHQUFZLElBQUksQ0FBQztJQUMxQixLQUFLLENBQVU7SUFDZixRQUFRLENBQVU7SUFDbEIsWUFBWSxHQUFZLEtBQUssQ0FBQztJQUM5QixRQUFRLEdBQWEsS0FBSyxDQUFDO0lBQzNCLFNBQVMsR0FBVyxFQUFFLENBQUM7SUFDdkIsYUFBYSxHQUFXLEVBQUUsQ0FBQztJQUMzQixjQUFjLEdBQVcsRUFBRSxDQUFDO0lBQzVCLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDekIsUUFBUSxHQUFZLElBQUksQ0FBQztJQUN6QixLQUFLLENBQTZCO0lBQ2pDLFdBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVqRSxRQUFRLEdBQTRCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUM3QyxTQUFTLEdBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBRXpDLFVBQVUsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBMkI7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNoQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBMEIsQ0FBQztRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQzt1R0F2RFEsa0JBQWtCOzJGQUFsQixrQkFBa0IsdWpCQVJoQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7Z0JBQ2pELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSiwwQkNiTCxtckVBdURBOzsyRkR4Q2Esa0JBQWtCO2tCQVo5QixTQUFTOytCQUNJLGVBQWUsYUFHZDt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7OEJBR1EsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYXgtaW5wdXR0ZXh0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXR0ZXh0Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0dGV4dC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRUZXh0Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIElucHV0VGV4dENvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdmFsdWU6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIG1heGxlbmd0aD86IG51bWJlcjtcbiAgICBASW5wdXQoKSBzdWNjZXNzVGV4dD86IHN0cmluZztcbiAgICBASW5wdXQoKSBlcnJvclRleHQ/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgc2hvd0xhYmVsPzogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgbGVmdEljb24/OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcmlnaHRJY29uPzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNsZWFySWNvbjogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgaWNvblBhdGg/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGlzYWJsZWRJY29uOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvd0ljb24/OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgaWNvbkNsYXNzOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBsZWZ0SWNvbkNsYXNzOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSByaWdodEljb25DbGFzczogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgaW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzdHlsZT86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICBwcml2YXRlIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZSB8fCAnJztcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgb25JbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGlucHV0LnZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuXG4gICAgY2xlYXJJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNheC1pbnB1dC1jb250YWluZXJcIj5cclxuICAgIDwhLS0gTGFiZWwgd2l0aCBjb25kaXRpb25hbCBvcGFjaXR5IGNsYXNzIC0tPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cImNheC1sYWJlbFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQtb3BhY2l0eSc6IGRpc2FibGVkfVwiPiB7eyBsYWJlbCB9fSA8L2xhYmVsPlxyXG5cclxuICAgIDxkaXZcclxuICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICd3aXRoLWxlZnQtaWNvbic6IGxlZnRJY29uLFxyXG4gICAgICAnd2l0aC1yaWdodC1pY29uJzogcmlnaHRJY29uIHx8IChjbGVhckljb24gJiYgdmFsdWUpLFxyXG4gICAgICAnaW5wdXQtZGlzYWJsZWQnOiBkaXNhYmxlZCxcclxuICAgIH1cIlxyXG4gICAgPlxyXG4gICAgICAgIDwhLS0gTGVmdCBJY29uIChJZiBwcm92aWRlZCkgLS0+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJsZWZ0SWNvblwiIGNsYXNzPVwiY2F4LWlucHV0LWljb24tbGVmdFwiPlxyXG4gICAgICAgICAgICA8aSBbbmdDbGFzc109XCJsZWZ0SWNvbkNsYXNzXCI+PC9pPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPCEtLSBNYWluIElucHV0IEZpZWxkIC0tPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgIGNheElucHV0VGV4dFxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJzdHlsZVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAnaW5wdXQtaW52YWxpZCc6IGludmFsaWQsXHJcbiAgICAgICAgJ2lucHV0LWRpc2FibGVkJzogZGlzYWJsZWQsXHJcbiAgICAgICAgJ3dpdGgtbGVmdC1pY29uJzogbGVmdEljb24sXHJcbiAgICAgICAgJ3dpdGgtcmlnaHQtaWNvbic6IHJpZ2h0SWNvbiB8fCAoY2xlYXJJY29uICYmIHZhbHVlKSxcclxuICAgICAgICAnYm9yZGVyLXJlZCc6IGludmFsaWQsXHJcbiAgICAgIH1cIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cInN1Y2Nlc3NUZXh0IHx8IGludmFsaWQgPyAnaGVscGVyLXRleHQnIDogbnVsbFwiXHJcbiAgICAgICAgLz5cclxuXHJcbiAgICAgICAgPCEtLSBSaWdodCBJY29uIHdpdGggQ29uZGl0aW9uYWwgQ2xpY2sgLS0+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJyaWdodEljb24gJiYgIShjbGVhckljb24gJiYgdmFsdWUpXCIgY2xhc3M9XCJjYXgtaW5wdXQtaWNvbi1yaWdodFwiPlxyXG4gICAgICAgICAgPGkgW25nQ2xhc3NdPVwicmlnaHRJY29uQ2xhc3NcIj48L2k+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAqbmdJZj1cImNsZWFySWNvbiAmJiB2YWx1ZVwiXHJcbiAgICAgICAgICBjbGFzcz1cImNheC1pbnB1dC1pY29uLXJpZ2h0IGNsaWNrYWJsZS1pY29uXCJcclxuICAgICAgICAgIChjbGljayk9XCJjbGVhcklucHV0KClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiY2F4IGNheC1jbG9zZS1jaXJjbGVcIj48L2k+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBFcnJvciBNZXNzYWdlIHdpdGggY29uZGl0aW9uYWwgb3BhY2l0eSAtLT5cclxuICAgIDxzbWFsbCAqbmdJZj1cImludmFsaWRcIiBpZD1cImhlbHBlci10ZXh0XCIgY2xhc3M9XCJjYXgtZXJyb3IgZGlzYWJsZWQtb3BhY2l0eVwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQtb3BhY2l0eSc6IGRpc2FibGVkfVwiPiB7eyBlcnJvclRleHQgfX0gPC9zbWFsbD5cclxuXHJcbiAgICA8IS0tIEhlbHBlciBUZXh0IHdpdGggY29uZGl0aW9uYWwgb3BhY2l0eSAtLT5cclxuICAgIDxzbWFsbCAqbmdJZj1cInN1Y2Nlc3NUZXh0ICYmICFpbnZhbGlkXCIgaWQ9XCJoZWxwZXItdGV4dFwiIGNsYXNzPVwiY2F4LWhlbHBlci10ZXh0XCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZC1vcGFjaXR5JzogZGlzYWJsZWR9XCI+IHt7IHN1Y2Nlc3NUZXh0IH19IDwvc21hbGw+XHJcbjwvZGl2PlxyXG4iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXR0ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9pbnB1dHRleHQvaW5wdXR0ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9pbnB1dHRleHQvaW5wdXR0ZXh0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQWN6RSxNQUFNLE9BQU8sa0JBQWtCO0lBQ2xCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUN6QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBQzFCLFNBQVMsQ0FBVTtJQUNuQixXQUFXLENBQVU7SUFDckIsU0FBUyxDQUFVO0lBQ25CLFNBQVMsR0FBYSxJQUFJLENBQUM7SUFDM0IsUUFBUSxHQUFhLEtBQUssQ0FBQztJQUMzQixTQUFTLEdBQWEsS0FBSyxDQUFDO0lBQzVCLFNBQVMsR0FBWSxJQUFJLENBQUM7SUFDMUIsS0FBSyxDQUFVO0lBQ2YsUUFBUSxDQUFVO0lBQ2xCLFlBQVksR0FBWSxLQUFLLENBQUM7SUFDOUIsUUFBUSxHQUFhLEtBQUssQ0FBQztJQUMzQixTQUFTLEdBQVcsRUFBRSxDQUFDO0lBQ3ZCLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0IsY0FBYyxHQUFXLEVBQUUsQ0FBQztJQUM1QixPQUFPLEdBQVksS0FBSyxDQUFDO0lBQ3pCLFFBQVEsR0FBWSxJQUFJLENBQUM7SUFDekIsS0FBSyxDQUE2QjtJQUNsQyxJQUFJLEdBQXVCLElBQUksQ0FBQztJQUNoQyxVQUFVLENBQVU7SUFDbkIsV0FBVyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBRWpFLFFBQVEsR0FBNEIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQzdDLFNBQVMsR0FBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFekMsVUFBVSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUEyQjtRQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBYztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFxQjtRQUN6QixNQUFNLFFBQVEsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUUsS0FBSyxDQUFDLE1BQTJCLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNyRyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQzt1R0F6RFEsa0JBQWtCOzJGQUFsQixrQkFBa0IsK2xCQVJoQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7Z0JBQ2pELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSiwwQkNiTCwwNUVBNkRBOzsyRkQ5Q2Esa0JBQWtCO2tCQVo5QixTQUFTOytCQUNJLGVBQWUsYUFHZDt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7OEJBR1EsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2F4LWlucHV0dGV4dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0dGV4dC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dHRleHQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0VGV4dENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQElucHV0KCkgdmFsdWU6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIG1heGxlbmd0aD86IG51bWJlcjtcbiAgICBASW5wdXQoKSBzdWNjZXNzVGV4dD86IHN0cmluZztcbiAgICBASW5wdXQoKSBlcnJvclRleHQ/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgc2hvd0xhYmVsPzogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgbGVmdEljb24/OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcmlnaHRJY29uPzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNsZWFySWNvbjogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgaWNvblBhdGg/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGlzYWJsZWRJY29uOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvd0ljb24/OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgaWNvbkNsYXNzOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBsZWZ0SWNvbkNsYXNzOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSByaWdodEljb25DbGFzczogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgaW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzdHlsZT86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnID0gJ21kJztcbiAgICBASW5wdXQoKSBzdHlsZUNsYXNzPzogc3RyaW5nO1xuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWUgfHwgJyc7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIG9uSW5wdXQoZXZlbnQ6IEV2ZW50IHwgc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdHlwZW9mIGV2ZW50ID09PSAnc3RyaW5nJyA/IGV2ZW50IDogKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWUgfHwgJyc7XG4gICAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShuZXdWYWx1ZSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuXG4gICAgY2xlYXJJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNheC1pbnB1dC1jb250YWluZXJcIlxyXG4gICAgIFtjbGFzc109XCJzdHlsZUNsYXNzXCJcclxuICAgICBbbmdDbGFzc109XCInY2F4LWlucHV0LXNpemUtJyArIHNpemVcIlxyXG4gICAgIFtuZ1N0eWxlXT1cInN0eWxlXCI+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIGNsYXNzPVwiY2F4LWxhYmVsXCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZC1vcGFjaXR5JzogZGlzYWJsZWR9XCI+e3sgbGFiZWwgfX08L2xhYmVsPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXgtaW5wdXQtd3JhcHBlclwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAnd2l0aC1sZWZ0LWljb24nOiBsZWZ0SWNvbixcclxuICAgICAgICAgICAgJ3dpdGgtcmlnaHQtaWNvbic6IHJpZ2h0SWNvbixcclxuICAgICAgICAgICAgJ3dpdGgtY2xlYXItaWNvbic6IGNsZWFySWNvbiAmJiB2YWx1ZSxcclxuICAgICAgICAgICAgJ2lucHV0LWRpc2FibGVkJzogZGlzYWJsZWRcclxuICAgICAgICB9XCJcclxuICAgID5cclxuICAgICAgICA8IS0tIExlZnQgSWNvbiAtLT5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImxlZnRJY29uXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImNheC1pY29uLWNvbnRhaW5lciBjYXgtaWNvbi1sZWZ0XCI+XHJcbiAgICAgICAgICAgIDxpIFtuZ0NsYXNzXT1cImxlZnRJY29uQ2xhc3NcIj48L2k+XHJcbiAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICA8IS0tIElucHV0IC0tPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgIGNheElucHV0VGV4dFxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJzdHlsZVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICdjYXgtaW5wdXR0ZXh0JzogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICdjYXgtaW5wdXQtaW52YWxpZCc6IGludmFsaWQsXHJcbiAgICAgICAgICAgICAgICAnd2l0aC1sZWZ0LWljb24nOiBsZWZ0SWNvbixcclxuICAgICAgICAgICAgICAgICd3aXRoLXJpZ2h0LWljb24nOiByaWdodEljb24sXHJcbiAgICAgICAgICAgICAgICAnd2l0aC1jbGVhci1pY29uJzogY2xlYXJJY29uICYmIHZhbHVlXHJcbiAgICAgICAgICAgIH1cIlxyXG4gICAgICAgIC8+XHJcblxyXG4gICAgICAgIDwhLS0gQ2xlYXIgSWNvbiAoYmVmb3JlIHJpZ2h0IGljb24pIC0tPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiY2xlYXJJY29uICYmIHZhbHVlXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImNheC1pY29uLWNvbnRhaW5lciBjYXgtY2xlYXItaWNvbiBjbGlja2FibGUtaWNvblwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyduby1yaWdodC1pY29uJzogIXJpZ2h0SWNvbn1cIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGVhcklucHV0KClcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJjYXggY2F4LWNsb3NlLWNpcmNsZVwiPjwvaT5cclxuICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgIDwhLS0gUmlnaHQgSWNvbiAtLT5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInJpZ2h0SWNvblwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjYXgtaWNvbi1jb250YWluZXIgY2F4LWljb24tcmlnaHRcIj5cclxuICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwicmlnaHRJY29uQ2xhc3NcIj48L2k+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBFcnJvciBNZXNzYWdlIHdpdGggY29uZGl0aW9uYWwgb3BhY2l0eSAtLT5cclxuICAgIDxzbWFsbCAqbmdJZj1cImludmFsaWRcIiBpZD1cImhlbHBlci10ZXh0XCIgY2xhc3M9XCJjYXgtZXJyb3IgZGlzYWJsZWQtb3BhY2l0eVwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQtb3BhY2l0eSc6IGRpc2FibGVkfVwiPiB7eyBlcnJvclRleHQgfX0gPC9zbWFsbD5cclxuXHJcbiAgICA8IS0tIEhlbHBlciBUZXh0IHdpdGggY29uZGl0aW9uYWwgb3BhY2l0eSAtLT5cclxuICAgIDxzbWFsbCAqbmdJZj1cInN1Y2Nlc3NUZXh0ICYmICFpbnZhbGlkXCIgaWQ9XCJoZWxwZXItdGV4dFwiIGNsYXNzPVwiY2F4LWhlbHBlci10ZXh0XCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZC1vcGFjaXR5JzogZGlzYWJsZWR9XCI+IHt7IHN1Y2Nlc3NUZXh0IH19IDwvc21hbGw+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -47,7 +47,7 @@ export class InputtextDirective {
47
47
  this.valueChange.emit('');
48
48
  }
49
49
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InputtextDirective, deps: [{ token: i0.ElementRef }, { token: i1.NgModel, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
50
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.9", type: InputtextDirective, selector: "[caxInputText]", inputs: { placeholder: "placeholder", disabled: "disabled", variant: "variant" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "input": "onInput($event)" }, properties: { "class.cax-filled": "filled", "disabled": "disabled", "placeholder": "placeholder" }, classAttribute: "cax-inputtext cax-component cax-element" }, ngImport: i0 });
50
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.9", type: InputtextDirective, selector: "[caxInputText]", inputs: { placeholder: "placeholder", disabled: "disabled", variant: "variant" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "input": "onInput($event)" }, properties: { "class.cax-filled": "filled", "disabled": "disabled" }, classAttribute: "cax-inputtext cax-component cax-element" }, ngImport: i0 });
51
51
  }
52
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InputtextDirective, decorators: [{
53
53
  type: Directive,
@@ -56,8 +56,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
56
56
  host: {
57
57
  class: 'cax-inputtext cax-component cax-element',
58
58
  '[class.cax-filled]': 'filled',
59
- '[disabled]': 'disabled',
60
- '[placeholder]': 'placeholder'
59
+ '[disabled]': 'disabled'
61
60
  }
62
61
  }]
63
62
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.NgModel, decorators: [{
@@ -74,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
74
73
  type: HostListener,
75
74
  args: ['input', ['$event']]
76
75
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXR0ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9pbnB1dHRleHQvaW5wdXR0ZXh0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBVyxRQUFRLEVBQW9DLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDOzs7QUFhakssTUFBTSxPQUFPLGtCQUFrQjtJQVNoQjtJQUNZO0lBQ1g7SUFDQTtJQVhaLE1BQU0sQ0FBb0I7SUFDakIsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUN6QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBQ3pCLFdBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVoRSxPQUFPLEdBQTBCLFVBQVUsQ0FBQztJQUVyRCxZQUNXLEVBQWMsRUFDRixPQUFnQixFQUMzQixFQUFxQixFQUNyQixRQUFtQjtRQUhwQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ0YsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUMzQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQzVCLENBQUM7SUFFSixlQUFlO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFHRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLHNCQUFzQjtRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUVwQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2RSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxRCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQjtRQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlILENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQzt1R0FqRFEsa0JBQWtCOzJGQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBVDlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSx5Q0FBeUM7d0JBQ2hELG9CQUFvQixFQUFFLFFBQVE7d0JBQzlCLFlBQVksRUFBRSxVQUFVO3dCQUN4QixlQUFlLEVBQUUsYUFBYTtxQkFDakM7aUJBQ0o7OzBCQVdRLFFBQVE7aUdBUkosV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUUsT0FBTztzQkFBZixLQUFLO2dCQW9CTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIERvQ2hlY2ssIE9wdGlvbmFsLCBDaGFuZ2VEZXRlY3RvclJlZiwgQWZ0ZXJWaWV3SW5pdCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbnR5cGUgTnVsbGFibGU8VD4gPSBUIHwgbnVsbCB8IHVuZGVmaW5lZDtcbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2NheElucHV0VGV4dF0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdjYXgtaW5wdXR0ZXh0IGNheC1jb21wb25lbnQgY2F4LWVsZW1lbnQnLFxuICAgICAgICAnW2NsYXNzLmNheC1maWxsZWRdJzogJ2ZpbGxlZCcsXG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAgICAgJ1twbGFjZWhvbGRlcl0nOiAncGxhY2Vob2xkZXInXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dHRleHREaXJlY3RpdmUgaW1wbGVtZW50cyBEb0NoZWNrLCBBZnRlclZpZXdJbml0IHtcbiAgICBmaWxsZWQ6IE51bGxhYmxlPGJvb2xlYW4+O1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBJbnB1dCgpIHZhcmlhbnQ6ICdmaWxsZWQnIHwgJ291dGxpbmVkJyA9ICdvdXRsaW5lZCc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwdWJsaWMgbmdNb2RlbDogTmdNb2RlbCxcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICAgICkge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5hcHBseUR5bmFtaWNBdHRyaWJ1dGVzKCk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudCddKVxuICAgIG9uSW5wdXQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsbGVkU3RhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5RHluYW1pY0F0dHJpYnV0ZXMoKSB7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGlmICh0aGlzLnBsYWNlaG9sZGVyKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dCwgJ3BsYWNlaG9sZGVyJywgdGhpcy5wbGFjZWhvbGRlcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGlucHV0LCAnZGlzYWJsZWQnLCAndHJ1ZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUoaW5wdXQsICdkaXNhYmxlZCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlRmlsbGVkU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuZmlsbGVkID0gKHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUubGVuZ3RoKSB8fCAodGhpcy5uZ01vZGVsICYmIHRoaXMubmdNb2RlbC5tb2RlbCk7XG4gICAgfVxuXG4gICAgY2xlYXJJbnB1dCgpIHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KCcnKTtcbiAgICB9XG59XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXR0ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9pbnB1dHRleHQvaW5wdXR0ZXh0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBVyxRQUFRLEVBQW9DLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDOzs7QUFZakssTUFBTSxPQUFPLGtCQUFrQjtJQVNoQjtJQUNZO0lBQ1g7SUFDQTtJQVhaLE1BQU0sQ0FBb0I7SUFDakIsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUN6QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBQ3pCLFdBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVoRSxPQUFPLEdBQTBCLFVBQVUsQ0FBQztJQUVyRCxZQUNXLEVBQWMsRUFDRixPQUFnQixFQUMzQixFQUFxQixFQUNyQixRQUFtQjtRQUhwQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ0YsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUMzQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQzVCLENBQUM7SUFFSixlQUFlO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFHRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLHNCQUFzQjtRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUVwQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2RSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxRCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQjtRQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlILENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQzt1R0FqRFEsa0JBQWtCOzJGQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBUjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSx5Q0FBeUM7d0JBQ2hELG9CQUFvQixFQUFFLFFBQVE7d0JBQzlCLFlBQVksRUFBRSxVQUFVO3FCQUMzQjtpQkFDSjs7MEJBV1EsUUFBUTtpR0FSSixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFFRSxPQUFPO3NCQUFmLEtBQUs7Z0JBb0JOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgRG9DaGVjaywgT3B0aW9uYWwsIENoYW5nZURldGVjdG9yUmVmLCBBZnRlclZpZXdJbml0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxudHlwZSBOdWxsYWJsZTxUPiA9IFQgfCBudWxsIHwgdW5kZWZpbmVkO1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbY2F4SW5wdXRUZXh0XScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2NheC1pbnB1dHRleHQgY2F4LWNvbXBvbmVudCBjYXgtZWxlbWVudCcsXG4gICAgICAgICdbY2xhc3MuY2F4LWZpbGxlZF0nOiAnZmlsbGVkJyxcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dHRleHREaXJlY3RpdmUgaW1wbGVtZW50cyBEb0NoZWNrLCBBZnRlclZpZXdJbml0IHtcbiAgICBmaWxsZWQ6IE51bGxhYmxlPGJvb2xlYW4+O1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBJbnB1dCgpIHZhcmlhbnQ6ICdmaWxsZWQnIHwgJ291dGxpbmVkJyA9ICdvdXRsaW5lZCc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwdWJsaWMgbmdNb2RlbDogTmdNb2RlbCxcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICAgICkge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5hcHBseUR5bmFtaWNBdHRyaWJ1dGVzKCk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudCddKVxuICAgIG9uSW5wdXQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsbGVkU3RhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5RHluYW1pY0F0dHJpYnV0ZXMoKSB7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGlmICh0aGlzLnBsYWNlaG9sZGVyKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dCwgJ3BsYWNlaG9sZGVyJywgdGhpcy5wbGFjZWhvbGRlcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGlucHV0LCAnZGlzYWJsZWQnLCAndHJ1ZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUoaW5wdXQsICdkaXNhYmxlZCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlRmlsbGVkU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuZmlsbGVkID0gKHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUubGVuZ3RoKSB8fCAodGhpcy5uZ01vZGVsICYmIHRoaXMubmdNb2RlbC5tb2RlbCk7XG4gICAgfVxuXG4gICAgY2xlYXJJbnB1dCgpIHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KCcnKTtcbiAgICB9XG59XG4iXX0=
@@ -211,12 +211,12 @@ export class Messages {
211
211
  item.command({ originalEvent: e, item });
212
212
  }
213
213
  }
214
- getButtonSeverity(severity) {
214
+ getButtonSeverity(severity, outlined) {
215
215
  switch (severity) {
216
216
  case 'success':
217
217
  return 'success';
218
218
  case 'info':
219
- return 'primary';
219
+ return outlined ? 'secondary' : 'primary';
220
220
  case 'error':
221
221
  return 'danger';
222
222
  case 'warn':
@@ -226,7 +226,7 @@ export class Messages {
226
226
  }
227
227
  }
228
228
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Messages, deps: [{ token: i1.MessageService, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
229
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Messages, isStandalone: true, selector: "cax-messages", inputs: { value: "value", closable: ["closable", "closable", booleanAttribute], style: "style", styleClass: "styleClass", enableService: ["enableService", "enableService", booleanAttribute], key: "key", escape: ["escape", "escape", booleanAttribute], severity: "severity", size: "size", displayIcon: "displayIcon", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { valueChange: "valueChange", onClose: "onClose" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div class=\"cax-messages cax-component\" role=\"alert\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.aria-atomic]=\"true\" [attr.aria-live]=\"'assertive'\" [attr.data-pc-name]=\"'message'\">\r\n <ng-container *ngIf=\"!contentTemplate; else staticMessage\">\r\n <div\r\n *ngFor=\"let msg of messages; let i = index\"\r\n [class]=\"'cax-message cax-message-' + msg.severity\"\r\n [ngClass]=\"sizeClass(msg.size)\"\r\n role=\"alert\"\r\n [@messageAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n >\r\n <div class=\"cax-message-wrapper\" [attr.data-pc-section]=\"'wrapper'\" [attr.id]=\"msg.id || null\">\r\n <div class=\"cax-message-wrap\">\r\n <span *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && msg.icon\" [class]=\"'cax-message-icon cax pi ' + msg.icon\" [attr.data-pc-section]=\"'icon'\"> </span>\r\n <span class=\"cax-message-icon\" *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && !msg.icon\">\r\n <ng-container>\r\n <span class=\"cax cax-check-circle\" *ngIf=\"msg.severity === 'success'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-info-circle\" *ngIf=\"msg.severity === 'info'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-close-circle\" *ngIf=\"msg.severity === 'error'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-danger-triangle\" *ngIf=\"msg.severity === 'warn'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n </ng-container>\r\n </span>\r\n <ng-container *ngIf=\"!escape; else escapeOut\">\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [innerHTML]=\"msg.summary\" [attr.data-pc-section]=\"'summary'\"></span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [innerHTML]=\"msg.detail\" [attr.data-pc-section]=\"'detail'\"></span>\r\n </div>\r\n </ng-container>\r\n <ng-template #escapeOut>\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [attr.data-pc-section]=\"'summary'\">{{ msg.summary }}</span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [attr.data-pc-section]=\"'detail'\">{{ msg.detail }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <button class=\"cax-message-close cax-link\" (click)=\"removeMessage(i)\" *ngIf=\"closable && (msg.closable ?? true)\" type=\"button\" caxRipple [attr.aria-label]=\"closeAriaLabel\" [attr.data-pc-section]=\"'closebutton'\">\r\n <TimesIcon [styleClass]=\"'cax-message-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\r\n </button>\r\n </div>\r\n <div *ngIf=\"msg.actionButtons?.length\" class=\"cax-message-button-wrapper\">\r\n <cax-button\r\n *ngFor=\"let item of msg.actionButtons; let i = index\"\r\n (click)=\"onItemClick($event, item)\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [severity]=\"getButtonSeverity(msg.severity)\"\r\n [label]=\"item.label\"\r\n [outlined]=\"item.outlined\"\r\n [disabled]=\"item.disabled\"\r\n />\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-template #staticMessage>\r\n <div [ngClass]=\"'cax-message cax-message-' + severity\" role=\"alert\">\r\n <div class=\"cax-message-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: ["@layer cax{.cax-message-wrapper{display:flex;align-items:flex-start}.cax-message-wrap{display:flex}.cax-message-close{display:flex;align-items:center;justify-content:center;flex:none}.cax-message-close.cax-link{margin-left:auto;overflow:hidden;position:relative}.cax-messages .cax-message.ng-animating{overflow:hidden}.cax-messages-sm{width:40%}.cax-messages-md{width:60%}.cax-messages-lg{width:100%}.cax-message-button-wrapper{display:flex;overflow-x:auto;padding:0 14px 14px 20px}.cax-message-button-wrapper cax-button{margin-right:8px}.cax-message-button-wrapper::-webkit-scrollbar{width:0px;height:0px;background:transparent}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3.Ripple, selector: "[caxRipple]" }, { kind: "component", type: TimesIcon, selector: "TimesIcon" }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i4.Button, selector: "cax-button", inputs: ["type", "iconPos", "icon", "badge", "rightIcon", "leftIcon", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }], animations: [
229
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Messages, isStandalone: true, selector: "cax-messages", inputs: { value: "value", closable: ["closable", "closable", booleanAttribute], style: "style", styleClass: "styleClass", enableService: ["enableService", "enableService", booleanAttribute], key: "key", escape: ["escape", "escape", booleanAttribute], severity: "severity", size: "size", displayIcon: "displayIcon", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { valueChange: "valueChange", onClose: "onClose" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div class=\"cax-messages cax-component\" role=\"alert\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.aria-atomic]=\"true\" [attr.aria-live]=\"'assertive'\" [attr.data-pc-name]=\"'message'\">\r\n <ng-container *ngIf=\"!contentTemplate; else staticMessage\">\r\n <div\r\n *ngFor=\"let msg of messages; let i = index\"\r\n [class]=\"'cax-message cax-message-' + msg.severity\"\r\n [ngClass]=\"sizeClass(msg.size)\"\r\n role=\"alert\"\r\n [@messageAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n >\r\n <div class=\"cax-message-wrapper\" [attr.data-pc-section]=\"'wrapper'\" [attr.id]=\"msg.id || null\">\r\n <div class=\"cax-message-wrap\">\r\n <span *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && msg.icon\" [class]=\"'cax-message-icon cax pi ' + msg.icon\" [attr.data-pc-section]=\"'icon'\"> </span>\r\n <span class=\"cax-message-icon\" *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && !msg.icon\">\r\n <ng-container>\r\n <span class=\"cax cax-check-circle\" *ngIf=\"msg.severity === 'success'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-info-circle\" *ngIf=\"msg.severity === 'info'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-close-circle\" *ngIf=\"msg.severity === 'error'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-danger-triangle\" *ngIf=\"msg.severity === 'warn'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n </ng-container>\r\n </span>\r\n <ng-container *ngIf=\"!escape; else escapeOut\">\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [innerHTML]=\"msg.summary\" [attr.data-pc-section]=\"'summary'\"></span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [innerHTML]=\"msg.detail\" [attr.data-pc-section]=\"'detail'\"></span>\r\n </div>\r\n </ng-container>\r\n <ng-template #escapeOut>\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [attr.data-pc-section]=\"'summary'\">{{ msg.summary }}</span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [attr.data-pc-section]=\"'detail'\">{{ msg.detail }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <button class=\"cax-message-close cax-link\" (click)=\"removeMessage(i)\" *ngIf=\"closable && (msg.closable ?? true)\" type=\"button\" caxRipple [attr.aria-label]=\"closeAriaLabel\" [attr.data-pc-section]=\"'closebutton'\">\r\n <TimesIcon [styleClass]=\"'cax-message-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\r\n </button>\r\n </div>\r\n <div *ngIf=\"msg.actionButtons?.length\" class=\"cax-message-button-wrapper\">\r\n <cax-button\r\n *ngFor=\"let item of msg.actionButtons; let i = index\"\r\n (click)=\"onItemClick($event, item)\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [severity]=\"getButtonSeverity(msg.severity, item.outlined)\"\r\n [label]=\"item.label\"\r\n [outlined]=\"item.outlined\"\r\n [disabled]=\"item.disabled\"\r\n />\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-template #staticMessage>\r\n <div [ngClass]=\"'cax-message cax-message-' + severity\" role=\"alert\">\r\n <div class=\"cax-message-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: ["@layer cax{.cax-message-wrapper{display:flex;align-items:flex-start}.cax-message-wrap{display:flex;gap:8px}.cax-message-close{display:flex;align-items:center;justify-content:center;flex:none}.cax-message-close.cax-link{margin-left:auto;overflow:hidden;position:relative}.cax-messages .cax-message.ng-animating{overflow:hidden}.cax-messages-sm{width:40%}.cax-messages-md{width:60%}.cax-messages-lg{width:100%}.cax-message-button-wrapper{display:flex;overflow-x:auto}.cax-message-button-wrapper cax-button{margin-right:8px}.cax-message-button-wrapper::-webkit-scrollbar{width:0px;height:0px;background:transparent}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3.Ripple, selector: "[caxRipple]" }, { kind: "component", type: TimesIcon, selector: "TimesIcon" }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i4.Button, selector: "cax-button", inputs: ["type", "iconPos", "icon", "badge", "rightIcon", "leftIcon", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }], animations: [
230
230
  trigger('messageAnimation', [
231
231
  transition(':enter', [style({ opacity: 0, transform: 'translateY(-25%)' }), animate('{{showTransitionParams}}')]),
232
232
  transition(':leave', [animate('{{hideTransitionParams}}', style({ height: 0, marginTop: 0, marginBottom: 0, marginLeft: 0, marginRight: 0, opacity: 0 }))])
@@ -242,7 +242,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
242
242
  ])
243
243
  ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, RippleModule, TimesIcon, SharedModule, ButtonModule], host: {
244
244
  class: 'cax-element'
245
- }, template: "<div class=\"cax-messages cax-component\" role=\"alert\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.aria-atomic]=\"true\" [attr.aria-live]=\"'assertive'\" [attr.data-pc-name]=\"'message'\">\r\n <ng-container *ngIf=\"!contentTemplate; else staticMessage\">\r\n <div\r\n *ngFor=\"let msg of messages; let i = index\"\r\n [class]=\"'cax-message cax-message-' + msg.severity\"\r\n [ngClass]=\"sizeClass(msg.size)\"\r\n role=\"alert\"\r\n [@messageAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n >\r\n <div class=\"cax-message-wrapper\" [attr.data-pc-section]=\"'wrapper'\" [attr.id]=\"msg.id || null\">\r\n <div class=\"cax-message-wrap\">\r\n <span *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && msg.icon\" [class]=\"'cax-message-icon cax pi ' + msg.icon\" [attr.data-pc-section]=\"'icon'\"> </span>\r\n <span class=\"cax-message-icon\" *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && !msg.icon\">\r\n <ng-container>\r\n <span class=\"cax cax-check-circle\" *ngIf=\"msg.severity === 'success'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-info-circle\" *ngIf=\"msg.severity === 'info'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-close-circle\" *ngIf=\"msg.severity === 'error'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-danger-triangle\" *ngIf=\"msg.severity === 'warn'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n </ng-container>\r\n </span>\r\n <ng-container *ngIf=\"!escape; else escapeOut\">\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [innerHTML]=\"msg.summary\" [attr.data-pc-section]=\"'summary'\"></span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [innerHTML]=\"msg.detail\" [attr.data-pc-section]=\"'detail'\"></span>\r\n </div>\r\n </ng-container>\r\n <ng-template #escapeOut>\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [attr.data-pc-section]=\"'summary'\">{{ msg.summary }}</span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [attr.data-pc-section]=\"'detail'\">{{ msg.detail }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <button class=\"cax-message-close cax-link\" (click)=\"removeMessage(i)\" *ngIf=\"closable && (msg.closable ?? true)\" type=\"button\" caxRipple [attr.aria-label]=\"closeAriaLabel\" [attr.data-pc-section]=\"'closebutton'\">\r\n <TimesIcon [styleClass]=\"'cax-message-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\r\n </button>\r\n </div>\r\n <div *ngIf=\"msg.actionButtons?.length\" class=\"cax-message-button-wrapper\">\r\n <cax-button\r\n *ngFor=\"let item of msg.actionButtons; let i = index\"\r\n (click)=\"onItemClick($event, item)\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [severity]=\"getButtonSeverity(msg.severity)\"\r\n [label]=\"item.label\"\r\n [outlined]=\"item.outlined\"\r\n [disabled]=\"item.disabled\"\r\n />\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-template #staticMessage>\r\n <div [ngClass]=\"'cax-message cax-message-' + severity\" role=\"alert\">\r\n <div class=\"cax-message-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: ["@layer cax{.cax-message-wrapper{display:flex;align-items:flex-start}.cax-message-wrap{display:flex}.cax-message-close{display:flex;align-items:center;justify-content:center;flex:none}.cax-message-close.cax-link{margin-left:auto;overflow:hidden;position:relative}.cax-messages .cax-message.ng-animating{overflow:hidden}.cax-messages-sm{width:40%}.cax-messages-md{width:60%}.cax-messages-lg{width:100%}.cax-message-button-wrapper{display:flex;overflow-x:auto;padding:0 14px 14px 20px}.cax-message-button-wrapper cax-button{margin-right:8px}.cax-message-button-wrapper::-webkit-scrollbar{width:0px;height:0px;background:transparent}}\n"] }]
245
+ }, template: "<div class=\"cax-messages cax-component\" role=\"alert\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.aria-atomic]=\"true\" [attr.aria-live]=\"'assertive'\" [attr.data-pc-name]=\"'message'\">\r\n <ng-container *ngIf=\"!contentTemplate; else staticMessage\">\r\n <div\r\n *ngFor=\"let msg of messages; let i = index\"\r\n [class]=\"'cax-message cax-message-' + msg.severity\"\r\n [ngClass]=\"sizeClass(msg.size)\"\r\n role=\"alert\"\r\n [@messageAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n >\r\n <div class=\"cax-message-wrapper\" [attr.data-pc-section]=\"'wrapper'\" [attr.id]=\"msg.id || null\">\r\n <div class=\"cax-message-wrap\">\r\n <span *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && msg.icon\" [class]=\"'cax-message-icon cax pi ' + msg.icon\" [attr.data-pc-section]=\"'icon'\"> </span>\r\n <span class=\"cax-message-icon\" *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && !msg.icon\">\r\n <ng-container>\r\n <span class=\"cax cax-check-circle\" *ngIf=\"msg.severity === 'success'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-info-circle\" *ngIf=\"msg.severity === 'info'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-close-circle\" *ngIf=\"msg.severity === 'error'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-danger-triangle\" *ngIf=\"msg.severity === 'warn'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n </ng-container>\r\n </span>\r\n <ng-container *ngIf=\"!escape; else escapeOut\">\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [innerHTML]=\"msg.summary\" [attr.data-pc-section]=\"'summary'\"></span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [innerHTML]=\"msg.detail\" [attr.data-pc-section]=\"'detail'\"></span>\r\n </div>\r\n </ng-container>\r\n <ng-template #escapeOut>\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [attr.data-pc-section]=\"'summary'\">{{ msg.summary }}</span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [attr.data-pc-section]=\"'detail'\">{{ msg.detail }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <button class=\"cax-message-close cax-link\" (click)=\"removeMessage(i)\" *ngIf=\"closable && (msg.closable ?? true)\" type=\"button\" caxRipple [attr.aria-label]=\"closeAriaLabel\" [attr.data-pc-section]=\"'closebutton'\">\r\n <TimesIcon [styleClass]=\"'cax-message-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\r\n </button>\r\n </div>\r\n <div *ngIf=\"msg.actionButtons?.length\" class=\"cax-message-button-wrapper\">\r\n <cax-button\r\n *ngFor=\"let item of msg.actionButtons; let i = index\"\r\n (click)=\"onItemClick($event, item)\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [severity]=\"getButtonSeverity(msg.severity, item.outlined)\"\r\n [label]=\"item.label\"\r\n [outlined]=\"item.outlined\"\r\n [disabled]=\"item.disabled\"\r\n />\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-template #staticMessage>\r\n <div [ngClass]=\"'cax-message cax-message-' + severity\" role=\"alert\">\r\n <div class=\"cax-message-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: ["@layer cax{.cax-message-wrapper{display:flex;align-items:flex-start}.cax-message-wrap{display:flex;gap:8px}.cax-message-close{display:flex;align-items:center;justify-content:center;flex:none}.cax-message-close.cax-link{margin-left:auto;overflow:hidden;position:relative}.cax-messages .cax-message.ng-animating{overflow:hidden}.cax-messages-sm{width:40%}.cax-messages-md{width:60%}.cax-messages-lg{width:100%}.cax-message-button-wrapper{display:flex;overflow-x:auto}.cax-message-button-wrapper cax-button{margin-right:8px}.cax-message-button-wrapper::-webkit-scrollbar{width:0px;height:0px;background:transparent}}\n"] }]
246
246
  }], ctorParameters: () => [{ type: i1.MessageService, decorators: [{
247
247
  type: Optional
248
248
  }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.caxConfig }], propDecorators: { value: [{
@@ -280,4 +280,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
280
280
  type: ContentChildren,
281
281
  args: [CaxTemplate]
282
282
  }] } });
283
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvbWVzc2FnZXMvbWVzc2FnZXMudHMiLCIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvbWVzc2FnZXMvbWVzc2FnZXMuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBb0IsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxlQUFlLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBYSxRQUFRLEVBQUUsTUFBTSxFQUEwQixpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwUCxPQUFPLEVBQTJCLFdBQVcsRUFBRSxZQUFZLEVBQWEsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQWdCLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBRTNDOzs7R0FHRztBQW1CSCxNQUFNLE9BQU8sUUFBUTtJQTBGTTtJQUNaO0lBQ0E7SUFDQztJQTVGWjs7O09BR0c7SUFDSCxJQUFhLEtBQUssQ0FBQyxRQUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRDs7O09BR0c7SUFDcUMsUUFBUSxHQUFZLElBQUksQ0FBQztJQUNq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S2tDLE1BQU07c0JBQTdDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSzdCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUtHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFNSSxXQUFXO3NCQUFwQixNQUFNO2dCQU1HLE9BQU87c0JBQWhCLE1BQU07Z0JBRXVCLFNBQVM7c0JBQXRDLGVBQWU7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPcHRpb25hbCwgT3V0cHV0LCBRdWVyeUxpc3QsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZSwgTWVzc2FnZVNlcnZpY2UsIENheFRlbXBsYXRlLCBTaGFyZWRNb2R1bGUsIGNheENvbmZpZyB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL2FwaSc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdjYXgtZGVzaWduLXN5c3RlbS9idXR0b24nO1xuaW1wb3J0IHsgVGltZXNJY29uIH0gZnJvbSAnY2F4LWRlc2lnbi1zeXN0ZW0vaWNvbnMvdGltZXMnO1xuaW1wb3J0IHsgUmlwcGxlTW9kdWxlIH0gZnJvbSAnY2F4LWRlc2lnbi1zeXN0ZW0vcmlwcGxlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFjdGlvbkJ1dHRvbkl0ZW0gfSBmcm9tICcuL21lc3NhZ2VzLmludGVyZmFjZSc7XG4vKipcbiAqIE1lc3NhZ2VzIGlzIHVzZWQgdG8gZGlzcGxheSBhbGVydHMgaW5saW5lLlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYXgtbWVzc2FnZXMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZXNzYWdlcy5odG1sJyxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ21lc3NhZ2VBbmltYXRpb24nLCBbXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0yNSUpJyB9KSwgYW5pbWF0ZSgne3tzaG93VHJhbnNpdGlvblBhcmFtc319JyldKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFthbmltYXRlKCd7e2hpZGVUcmFuc2l0aW9uUGFyYW1zfX0nLCBzdHlsZSh7IGhlaWdodDogMCwgbWFyZ2luVG9wOiAwLCBtYXJnaW5Cb3R0b206IDAsIG1hcmdpbkxlZnQ6IDAsIG1hcmdpblJpZ2h0OiAwLCBvcGFjaXR5OiAwIH0pKV0pXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsczogWycuL21lc3NhZ2VzLnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJpcHBsZU1vZHVsZSwgVGltZXNJY29uLCBTaGFyZWRNb2R1bGUsIEJ1dHRvbk1vZHVsZV0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2NheC1lbGVtZW50J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZXMgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEFuIGFycmF5IG9mIG1lc3NhZ2VzIHRvIGRpc3BsYXkuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHZhbHVlKG1lc3NhZ2VzOiBNZXNzYWdlW10pIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9IG1lc3NhZ2VzO1xuICAgICAgICB0aGlzLnN0YXJ0TWVzc2FnZUxpZmVzKHRoaXMubWVzc2FnZXMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGlmIG1lc3NhZ2UgYm94IGNhbiBiZSBjbG9zZWQgYnkgdGhlIGNsaWNrIGljb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGNsb3NhYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIGRpc3BsYXlpbmcgc2VydmljZXMgbWVzc2FnZXMgYXJlIGVuYWJsZWQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGVuYWJsZVNlcnZpY2U6IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIElkIHRvIG1hdGNoIHRoZSBrZXkgb2YgdGhlIG1lc3NhZ2UgdG8gZW5hYmxlIHNjb3BpbmcgaW4gc2VydmljZSBiYXNlZCBtZXNzYWdpbmcuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkga2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hldGhlciBkaXNwbGF5aW5nIG1lc3NhZ2VzIHdvdWxkIGJlIGVzY2FwZWQgb3Igbm90LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBlc2NhcGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIFNldmVyaXR5IGxldmVsIG9mIHRoZSBtZXNzYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldmVyaXR5OiAnc3VjY2VzcycgfCAnaW5mbycgfCAnZXJyb3InIHwgJ3dhcm4nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFNpemUgb2YgdGhlIG1lc3NhZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnID0gJ21kJztcbiAgICAvKipcbiAgICAgKiBEaXNwbGF5IGljb24gb3Igbm90XG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZGlzcGxheUljb246IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIFRyYW5zaXRpb24gb3B0aW9ucyBvZiB0aGUgc2hvdyBhbmltYXRpb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc2hvd1RyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgPSAnMzAwbXMgZWFzZS1vdXQnO1xuICAgIC8qKlxuICAgICAqIFRyYW5zaXRpb24gb3B0aW9ucyBvZiB0aGUgaGlkZSBhbmltYXRpb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgaGlkZVRyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgPSAnMjAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJztcbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAgICogQHBhcmFtIHtNZXNzYWdlW119IHZhbHVlIC0gbWVzc2FnZXMgdmFsdWUuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8TWVzc2FnZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8TWVzc2FnZVtdPigpO1xuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgZXhlY3V0ZWQgd2hlbiBhIG1lc3NhZ2UgaXMgY2xvc2VkLlxuICAgICAqIEBwYXJhbSB7TWVzc2FnZX0gdmFsdWUgLSBDbG9zZWQgbWVzc2FnZS5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25DbG9zZTogRXZlbnRFbWl0dGVyPE1lc3NhZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxNZXNzYWdlPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihDYXhUZW1wbGF0ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8Q2F4VGVtcGxhdGU+IHwgdW5kZWZpbmVkO1xuXG4gICAgbWVzc2FnZXM6IE1lc3NhZ2VbXSB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgICBtZXNzYWdlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgICBjbGVhclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICAgdGltZXJTdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gICAgY29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIHB1YmxpYyBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHVibGljIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBjb25maWc6IGNheENvbmZpZ1xuICAgICkge31cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXM/LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoaXRlbS5nZXRUeXBlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdjb250ZW50JzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLm1lc3NhZ2VTZXJ2aWNlICYmIHRoaXMuZW5hYmxlU2VydmljZSAmJiAhdGhpcy5jb250ZW50VGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVN1YnNjcmlwdGlvbiA9IHRoaXMubWVzc2FnZVNlcnZpY2UubWVzc2FnZU9ic2VydmVyLnN1YnNjcmliZSgobWVzc2FnZXM6IE1lc3NhZ2UgfCBNZXNzYWdlW10pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobWVzc2FnZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG1lc3NhZ2VzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMgPSBbbWVzc2FnZXNdO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRNZXNzYWdlcyA9IG1lc3NhZ2VzLmZpbHRlcigobSkgPT4gdGhpcy5rZXkgPT09IG0ua2V5KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlcyA9IHRoaXMubWVzc2FnZXMgPyBbLi4udGhpcy5tZXNzYWdlcywgLi4uZmlsdGVyZWRNZXNzYWdlc10gOiBbLi4uZmlsdGVyZWRNZXNzYWdlc107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRNZXNzYWdlTGlmZXMoZmlsdGVyZWRNZXNzYWdlcyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuY2xlYXJTdWJzY3JpcHRpb24gPSB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyT2JzZXJ2ZXIuc3Vic2NyaWJlKChrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmtleSA9PT0ga2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZXMgPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhc01lc3NhZ2VzKCkge1xuICAgICAgICBsZXQgcGFyZW50RWwgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgaWYgKHBhcmVudEVsICYmIHBhcmVudEVsLm9mZnNldFBhcmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudFRlbXBsYXRlICE9IG51bGwgfHwgKHRoaXMubWVzc2FnZXMgJiYgdGhpcy5tZXNzYWdlcy5sZW5ndGggPiAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9IFtdO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5tZXNzYWdlcyk7XG4gICAgfVxuXG4gICAgcmVtb3ZlTWVzc2FnZShpOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgcmVtb3ZlZE1lc3NhZ2UgPSB0aGlzLm1lc3NhZ2VzW2ldO1xuICAgICAgICB0aGlzLm1lc3NhZ2VzID0gdGhpcy5tZXNzYWdlcz8uZmlsdGVyKChtc2csIGluZGV4KSA9PiBpbmRleCAhPT0gaSk7XG4gICAgICAgIHJlbW92ZWRNZXNzYWdlICYmIHRoaXMub25DbG9zZS5lbWl0KHJlbW92ZWRNZXNzYWdlKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMubWVzc2FnZXMpO1xuICAgIH1cblxuICAgIGdldCBpY29uKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCBzZXZlcml0eSA9IHRoaXMuc2V2ZXJpdHkgfHwgKHRoaXMuaGFzTWVzc2FnZXMoKSA/IHRoaXMubWVzc2FnZXMhWzBdLnNldmVyaXR5IDogbnVsbCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzTWVzc2FnZXMoKSkge1xuICAgICAgICAgICAgc3dpdGNoIChzZXZlcml0eSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2NheC1jaGVjay1jaXJjbGUnO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnY2F4LWluZm8tY2lyY2xlJztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdjYXgtY2xvc2UtY2lyY2xlJztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3dhcm4nOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2NheC1kYW5nZXItdHJpYW5nbGUnO1xuXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdjYXgtaW5mby1jaXJjbGUnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGdldCBjbG9zZUFyaWFMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uLmFyaWEgPyB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhLmNsb3NlIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5tZXNzYWdlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNsZWFyU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9ucz8uZm9yRWFjaCgoc3Vic2NyaXB0aW9uKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydE1lc3NhZ2VMaWZlcyhtZXNzYWdlczogTWVzc2FnZVtdKTogdm9pZCB7XG4gICAgICAgIG1lc3NhZ2VzPy5mb3JFYWNoKChtZXNzYWdlKSA9PiBtZXNzYWdlLmxpZmUgJiYgdGhpcy5zdGFydE1lc3NhZ2VMaWZlKG1lc3NhZ2UpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXJ0TWVzc2FnZUxpZmUobWVzc2FnZTogTWVzc2FnZSk6IHZvaWQge1xuICAgICAgICBjb25zdCB0aW1lclN1YnNjdGlwdGlvbiA9IHRpbWVyKG1lc3NhZ2UubGlmZSEpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzID0gdGhpcy5tZXNzYWdlcz8uZmlsdGVyKChtc2dFbCkgPT4gbXNnRWwgIT09IG1lc3NhZ2UpO1xuICAgICAgICAgICAgdGhpcy50aW1lclN1YnNjcmlwdGlvbnMgPSB0aGlzLnRpbWVyU3Vic2NyaXB0aW9ucz8uZmlsdGVyKCh0aW1lckVsKSA9PiB0aW1lckVsICE9PSB0aW1lclN1YnNjdGlwdGlvbik7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5tZXNzYWdlcyk7XG4gICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50aW1lclN1YnNjcmlwdGlvbnMucHVzaCh0aW1lclN1YnNjdGlwdGlvbik7XG4gICAgfVxuXG4gICAgLy9jdXN0b20gbWV0aG9kc1xuICAgIHNpemVDbGFzcyhzaXplPzogJ3NtJyB8ICdtZCcgfCAnbGcnKSB7XG4gICAgICAgIHJldHVybiBzaXplID8geyBbYGNheC1tZXNzYWdlcy0ke3NpemV9YF06IHNpemUgfSA6IHsgW2BjYXgtbWVzc2FnZXMtJHt0aGlzLnNpemV9YF06IHRoaXMuc2l6ZSB9O1xuICAgIH1cblxuICAgIG9uSXRlbUNsaWNrKGU6IE1vdXNlRXZlbnQsIGl0ZW06IEFjdGlvbkJ1dHRvbkl0ZW0pIHtcbiAgICAgICAgaWYgKGl0ZW0uY29tbWFuZCkge1xuICAgICAgICAgICAgaXRlbS5jb21tYW5kKHsgb3JpZ2luYWxFdmVudDogZSwgaXRlbSB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEJ1dHRvblNldmVyaXR5KHNldmVyaXR5OiAnc3VjY2VzcycgfCAnaW5mbycgfCAnZXJyb3InIHwgJ3dhcm4nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHN3aXRjaCAoc2V2ZXJpdHkpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnc3VjY2Vzcyc7XG4gICAgICAgICAgICBjYXNlICdpbmZvJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3ByaW1hcnknO1xuICAgICAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgICAgICAgIHJldHVybiAnZGFuZ2VyJztcbiAgICAgICAgICAgIGNhc2UgJ3dhcm4nOlxuICAgICAgICAgICAgICAgIHJldHVybiAnd2FybmluZyc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAncHJpbWFyeSc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2F4LW1lc3NhZ2VzIGNheC1jb21wb25lbnRcIiByb2xlPVwiYWxlcnRcIiBbbmdTdHlsZV09XCJzdHlsZVwiIFtjbGFzc109XCJzdHlsZUNsYXNzXCIgW2F0dHIuYXJpYS1hdG9taWNdPVwidHJ1ZVwiIFthdHRyLmFyaWEtbGl2ZV09XCInYXNzZXJ0aXZlJ1wiIFthdHRyLmRhdGEtcGMtbmFtZV09XCInbWVzc2FnZSdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29udGVudFRlbXBsYXRlOyBlbHNlIHN0YXRpY01lc3NhZ2VcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBtc2cgb2YgbWVzc2FnZXM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICBbY2xhc3NdPVwiJ2NheC1tZXNzYWdlIGNheC1tZXNzYWdlLScgKyBtc2cuc2V2ZXJpdHlcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJzaXplQ2xhc3MobXNnLnNpemUpXCJcclxuICAgICAgICAgICAgcm9sZT1cImFsZXJ0XCJcclxuICAgICAgICAgICAgW0BtZXNzYWdlQW5pbWF0aW9uXT1cInsgdmFsdWU6ICd2aXNpYmxlJywgcGFyYW1zOiB7IHNob3dUcmFuc2l0aW9uUGFyYW1zOiBzaG93VHJhbnNpdGlvbk9wdGlvbnMsIGhpZGVUcmFuc2l0aW9uUGFyYW1zOiBoaWRlVHJhbnNpdGlvbk9wdGlvbnMgfSB9XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXgtbWVzc2FnZS13cmFwcGVyXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIid3cmFwcGVyJ1wiIFthdHRyLmlkXT1cIm1zZy5pZCB8fCBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F4LW1lc3NhZ2Utd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiKGRpc3BsYXlJY29uICYmIChtc2cuZGlzcGxheUljb24gPz8gdHJ1ZSkpICYmIG1zZy5pY29uXCIgW2NsYXNzXT1cIidjYXgtbWVzc2FnZS1pY29uIGNheCBwaSAnICsgbXNnLmljb25cIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2ljb24nXCI+IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNheC1tZXNzYWdlLWljb25cIiAqbmdJZj1cIihkaXNwbGF5SWNvbiAmJiAobXNnLmRpc3BsYXlJY29uID8/IHRydWUpKSAmJiAhbXNnLmljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F4IGNheC1jaGVjay1jaXJjbGVcIiAqbmdJZj1cIm1zZy5zZXZlcml0eSA9PT0gJ3N1Y2Nlc3MnXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidpY29uJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F4IGNheC1pbmZvLWNpcmNsZVwiICpuZ0lmPVwibXNnLnNldmVyaXR5ID09PSAnaW5mbydcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2ljb24nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXggY2F4LWNsb3NlLWNpcmNsZVwiICpuZ0lmPVwibXNnLnNldmVyaXR5ID09PSAnZXJyb3InXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidpY29uJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F4IGNheC1kYW5nZXItdHJpYW5nbGVcIiAqbmdJZj1cIm1zZy5zZXZlcml0eSA9PT0gJ3dhcm4nXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidpY29uJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZXNjYXBlOyBlbHNlIGVzY2FwZU91dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F4LW1lc3NhZ2UtYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1zZy5zdW1tYXJ5XCIgY2xhc3M9XCJjYXgtbWVzc2FnZS1zdW1tYXJ5XCIgW2lubmVySFRNTF09XCJtc2cuc3VtbWFyeVwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInc3VtbWFyeSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1zZy5kZXRhaWxcIiBjbGFzcz1cImNheC1tZXNzYWdlLWRldGFpbFwiIFtpbm5lckhUTUxdPVwibXNnLmRldGFpbFwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInZGV0YWlsJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlc2NhcGVPdXQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXgtbWVzc2FnZS1ib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibXNnLnN1bW1hcnlcIiBjbGFzcz1cImNheC1tZXNzYWdlLXN1bW1hcnlcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3N1bW1hcnknXCI+e3sgbXNnLnN1bW1hcnkgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1zZy5kZXRhaWxcIiBjbGFzcz1cImNheC1tZXNzYWdlLWRldGFpbFwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInZGV0YWlsJ1wiPnt7IG1zZy5kZXRhaWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjYXgtbWVzc2FnZS1jbG9zZSBjYXgtbGlua1wiIChjbGljayk9XCJyZW1vdmVNZXNzYWdlKGkpXCIgKm5nSWY9XCJjbG9zYWJsZSAmJiAobXNnLmNsb3NhYmxlID8/IHRydWUpXCIgdHlwZT1cImJ1dHRvblwiIGNheFJpcHBsZSBbYXR0ci5hcmlhLWxhYmVsXT1cImNsb3NlQXJpYUxhYmVsXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidjbG9zZWJ1dHRvbidcIj5cclxuICAgICAgICAgICAgICAgICAgICA8VGltZXNJY29uIFtzdHlsZUNsYXNzXT1cIidjYXgtbWVzc2FnZS1jbG9zZS1pY29uJ1wiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInY2xvc2VpY29uJ1wiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtc2cuYWN0aW9uQnV0dG9ucz8ubGVuZ3RoXCIgY2xhc3M9XCJjYXgtbWVzc2FnZS1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGNheC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtc2cuYWN0aW9uQnV0dG9uczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uSXRlbUNsaWNrKCRldmVudCwgaXRlbSwgaSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzZXZlcml0eV09XCJnZXRCdXR0b25TZXZlcml0eShtc2cuc2V2ZXJpdHkpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiaXRlbS5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW291dGxpbmVkXT1cIml0ZW0ub3V0bGluZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctdGVtcGxhdGUgI3N0YXRpY01lc3NhZ2U+XHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCInY2F4LW1lc3NhZ2UgY2F4LW1lc3NhZ2UtJyArIHNldmVyaXR5XCIgcm9sZT1cImFsZXJ0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXgtbWVzc2FnZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbiJdfQ==
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvbWVzc2FnZXMvbWVzc2FnZXMudHMiLCIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvbWVzc2FnZXMvbWVzc2FnZXMuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBb0IsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxlQUFlLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBYSxRQUFRLEVBQUUsTUFBTSxFQUEwQixpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwUCxPQUFPLEVBQTJCLFdBQVcsRUFBRSxZQUFZLEVBQWEsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQWdCLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBRTNDOzs7R0FHRztBQW1CSCxNQUFNLE9BQU8sUUFBUTtJQTBGTTtJQUNaO0lBQ0E7SUFDQztJQTVGWjs7O09BR0c7SUFDSCxJQUFhLEtBQUssQ0FBQyxRQUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRDs7O09BR0c7SUFDcUMsUUFBUSxHQUFZLElBQUksQ0FBQztJQUNq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QUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUs3QixHQUFHO3NCQUFYLEtBQUs7Z0JBS2tDLE1BQU07c0JBQTdDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSzdCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUtHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFNSSxXQUFXO3NCQUFwQixNQUFNO2dCQU1HLE9BQU87c0JBQWhCLE1BQU07Z0JBRXVCLFNBQVM7c0JBQXRDLGVBQWU7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPcHRpb25hbCwgT3V0cHV0LCBRdWVyeUxpc3QsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZSwgTWVzc2FnZVNlcnZpY2UsIENheFRlbXBsYXRlLCBTaGFyZWRNb2R1bGUsIGNheENvbmZpZyB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL2FwaSc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdjYXgtZGVzaWduLXN5c3RlbS9idXR0b24nO1xuaW1wb3J0IHsgVGltZXNJY29uIH0gZnJvbSAnY2F4LWRlc2lnbi1zeXN0ZW0vaWNvbnMvdGltZXMnO1xuaW1wb3J0IHsgUmlwcGxlTW9kdWxlIH0gZnJvbSAnY2F4LWRlc2lnbi1zeXN0ZW0vcmlwcGxlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFjdGlvbkJ1dHRvbkl0ZW0gfSBmcm9tICcuL21lc3NhZ2VzLmludGVyZmFjZSc7XG4vKipcbiAqIE1lc3NhZ2VzIGlzIHVzZWQgdG8gZGlzcGxheSBhbGVydHMgaW5saW5lLlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYXgtbWVzc2FnZXMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZXNzYWdlcy5odG1sJyxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ21lc3NhZ2VBbmltYXRpb24nLCBbXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0yNSUpJyB9KSwgYW5pbWF0ZSgne3tzaG93VHJhbnNpdGlvblBhcmFtc319JyldKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFthbmltYXRlKCd7e2hpZGVUcmFuc2l0aW9uUGFyYW1zfX0nLCBzdHlsZSh7IGhlaWdodDogMCwgbWFyZ2luVG9wOiAwLCBtYXJnaW5Cb3R0b206IDAsIG1hcmdpbkxlZnQ6IDAsIG1hcmdpblJpZ2h0OiAwLCBvcGFjaXR5OiAwIH0pKV0pXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsczogWycuL21lc3NhZ2VzLnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJpcHBsZU1vZHVsZSwgVGltZXNJY29uLCBTaGFyZWRNb2R1bGUsIEJ1dHRvbk1vZHVsZV0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2NheC1lbGVtZW50J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZXMgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEFuIGFycmF5IG9mIG1lc3NhZ2VzIHRvIGRpc3BsYXkuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHZhbHVlKG1lc3NhZ2VzOiBNZXNzYWdlW10pIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9IG1lc3NhZ2VzO1xuICAgICAgICB0aGlzLnN0YXJ0TWVzc2FnZUxpZmVzKHRoaXMubWVzc2FnZXMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGlmIG1lc3NhZ2UgYm94IGNhbiBiZSBjbG9zZWQgYnkgdGhlIGNsaWNrIGljb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGNsb3NhYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIGRpc3BsYXlpbmcgc2VydmljZXMgbWVzc2FnZXMgYXJlIGVuYWJsZWQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGVuYWJsZVNlcnZpY2U6IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIElkIHRvIG1hdGNoIHRoZSBrZXkgb2YgdGhlIG1lc3NhZ2UgdG8gZW5hYmxlIHNjb3BpbmcgaW4gc2VydmljZSBiYXNlZCBtZXNzYWdpbmcuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkga2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hldGhlciBkaXNwbGF5aW5nIG1lc3NhZ2VzIHdvdWxkIGJlIGVzY2FwZWQgb3Igbm90LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBlc2NhcGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIFNldmVyaXR5IGxldmVsIG9mIHRoZSBtZXNzYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldmVyaXR5OiAnc3VjY2VzcycgfCAnaW5mbycgfCAnZXJyb3InIHwgJ3dhcm4nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFNpemUgb2YgdGhlIG1lc3NhZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnID0gJ21kJztcbiAgICAvKipcbiAgICAgKiBEaXNwbGF5IGljb24gb3Igbm90XG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZGlzcGxheUljb246IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIFRyYW5zaXRpb24gb3B0aW9ucyBvZiB0aGUgc2hvdyBhbmltYXRpb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc2hvd1RyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgPSAnMzAwbXMgZWFzZS1vdXQnO1xuICAgIC8qKlxuICAgICAqIFRyYW5zaXRpb24gb3B0aW9ucyBvZiB0aGUgaGlkZSBhbmltYXRpb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgaGlkZVRyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgPSAnMjAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJztcbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAgICogQHBhcmFtIHtNZXNzYWdlW119IHZhbHVlIC0gbWVzc2FnZXMgdmFsdWUuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8TWVzc2FnZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8TWVzc2FnZVtdPigpO1xuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgZXhlY3V0ZWQgd2hlbiBhIG1lc3NhZ2UgaXMgY2xvc2VkLlxuICAgICAqIEBwYXJhbSB7TWVzc2FnZX0gdmFsdWUgLSBDbG9zZWQgbWVzc2FnZS5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25DbG9zZTogRXZlbnRFbWl0dGVyPE1lc3NhZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxNZXNzYWdlPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihDYXhUZW1wbGF0ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8Q2F4VGVtcGxhdGU+IHwgdW5kZWZpbmVkO1xuXG4gICAgbWVzc2FnZXM6IE1lc3NhZ2VbXSB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgICBtZXNzYWdlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgICBjbGVhclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICAgdGltZXJTdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gICAgY29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIHB1YmxpYyBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHVibGljIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBjb25maWc6IGNheENvbmZpZ1xuICAgICkge31cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXM/LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoaXRlbS5nZXRUeXBlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdjb250ZW50JzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLm1lc3NhZ2VTZXJ2aWNlICYmIHRoaXMuZW5hYmxlU2VydmljZSAmJiAhdGhpcy5jb250ZW50VGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVN1YnNjcmlwdGlvbiA9IHRoaXMubWVzc2FnZVNlcnZpY2UubWVzc2FnZU9ic2VydmVyLnN1YnNjcmliZSgobWVzc2FnZXM6IE1lc3NhZ2UgfCBNZXNzYWdlW10pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobWVzc2FnZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG1lc3NhZ2VzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMgPSBbbWVzc2FnZXNdO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRNZXNzYWdlcyA9IG1lc3NhZ2VzLmZpbHRlcigobSkgPT4gdGhpcy5rZXkgPT09IG0ua2V5KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlcyA9IHRoaXMubWVzc2FnZXMgPyBbLi4udGhpcy5tZXNzYWdlcywgLi4uZmlsdGVyZWRNZXNzYWdlc10gOiBbLi4uZmlsdGVyZWRNZXNzYWdlc107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRNZXNzYWdlTGlmZXMoZmlsdGVyZWRNZXNzYWdlcyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuY2xlYXJTdWJzY3JpcHRpb24gPSB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyT2JzZXJ2ZXIuc3Vic2NyaWJlKChrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmtleSA9PT0ga2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZXMgPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhc01lc3NhZ2VzKCkge1xuICAgICAgICBsZXQgcGFyZW50RWwgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgaWYgKHBhcmVudEVsICYmIHBhcmVudEVsLm9mZnNldFBhcmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudFRlbXBsYXRlICE9IG51bGwgfHwgKHRoaXMubWVzc2FnZXMgJiYgdGhpcy5tZXNzYWdlcy5sZW5ndGggPiAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9IFtdO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5tZXNzYWdlcyk7XG4gICAgfVxuXG4gICAgcmVtb3ZlTWVzc2FnZShpOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgcmVtb3ZlZE1lc3NhZ2UgPSB0aGlzLm1lc3NhZ2VzW2ldO1xuICAgICAgICB0aGlzLm1lc3NhZ2VzID0gdGhpcy5tZXNzYWdlcz8uZmlsdGVyKChtc2csIGluZGV4KSA9PiBpbmRleCAhPT0gaSk7XG4gICAgICAgIHJlbW92ZWRNZXNzYWdlICYmIHRoaXMub25DbG9zZS5lbWl0KHJlbW92ZWRNZXNzYWdlKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMubWVzc2FnZXMpO1xuICAgIH1cblxuICAgIGdldCBpY29uKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCBzZXZlcml0eSA9IHRoaXMuc2V2ZXJpdHkgfHwgKHRoaXMuaGFzTWVzc2FnZXMoKSA/IHRoaXMubWVzc2FnZXMhWzBdLnNldmVyaXR5IDogbnVsbCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzTWVzc2FnZXMoKSkge1xuICAgICAgICAgICAgc3dpdGNoIChzZXZlcml0eSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2NheC1jaGVjay1jaXJjbGUnO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnY2F4LWluZm8tY2lyY2xlJztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdjYXgtY2xvc2UtY2lyY2xlJztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3dhcm4nOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2NheC1kYW5nZXItdHJpYW5nbGUnO1xuXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdjYXgtaW5mby1jaXJjbGUnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGdldCBjbG9zZUFyaWFMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uLmFyaWEgPyB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhLmNsb3NlIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5tZXNzYWdlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNsZWFyU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9ucz8uZm9yRWFjaCgoc3Vic2NyaXB0aW9uKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydE1lc3NhZ2VMaWZlcyhtZXNzYWdlczogTWVzc2FnZVtdKTogdm9pZCB7XG4gICAgICAgIG1lc3NhZ2VzPy5mb3JFYWNoKChtZXNzYWdlKSA9PiBtZXNzYWdlLmxpZmUgJiYgdGhpcy5zdGFydE1lc3NhZ2VMaWZlKG1lc3NhZ2UpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXJ0TWVzc2FnZUxpZmUobWVzc2FnZTogTWVzc2FnZSk6IHZvaWQge1xuICAgICAgICBjb25zdCB0aW1lclN1YnNjdGlwdGlvbiA9IHRpbWVyKG1lc3NhZ2UubGlmZSEpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzID0gdGhpcy5tZXNzYWdlcz8uZmlsdGVyKChtc2dFbCkgPT4gbXNnRWwgIT09IG1lc3NhZ2UpO1xuICAgICAgICAgICAgdGhpcy50aW1lclN1YnNjcmlwdGlvbnMgPSB0aGlzLnRpbWVyU3Vic2NyaXB0aW9ucz8uZmlsdGVyKCh0aW1lckVsKSA9PiB0aW1lckVsICE9PSB0aW1lclN1YnNjdGlwdGlvbik7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5tZXNzYWdlcyk7XG4gICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50aW1lclN1YnNjcmlwdGlvbnMucHVzaCh0aW1lclN1YnNjdGlwdGlvbik7XG4gICAgfVxuXG4gICAgLy9jdXN0b20gbWV0aG9kc1xuICAgIHNpemVDbGFzcyhzaXplPzogJ3NtJyB8ICdtZCcgfCAnbGcnKSB7XG4gICAgICAgIHJldHVybiBzaXplID8geyBbYGNheC1tZXNzYWdlcy0ke3NpemV9YF06IHNpemUgfSA6IHsgW2BjYXgtbWVzc2FnZXMtJHt0aGlzLnNpemV9YF06IHRoaXMuc2l6ZSB9O1xuICAgIH1cblxuICAgIG9uSXRlbUNsaWNrKGU6IE1vdXNlRXZlbnQsIGl0ZW06IEFjdGlvbkJ1dHRvbkl0ZW0pIHtcbiAgICAgICAgaWYgKGl0ZW0uY29tbWFuZCkge1xuICAgICAgICAgICAgaXRlbS5jb21tYW5kKHsgb3JpZ2luYWxFdmVudDogZSwgaXRlbSB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEJ1dHRvblNldmVyaXR5KHNldmVyaXR5OiAnc3VjY2VzcycgfCAnaW5mbycgfCAnZXJyb3InIHwgJ3dhcm4nIHwgdW5kZWZpbmVkLCBvdXRsaW5lZD86IGJvb2xlYW4pIHtcbiAgICAgICAgc3dpdGNoIChzZXZlcml0eSkge1xuICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdzdWNjZXNzJztcbiAgICAgICAgICAgIGNhc2UgJ2luZm8nOlxuICAgICAgICAgICAgICAgIHJldHVybiBvdXRsaW5lZCA/ICdzZWNvbmRhcnknIDogJ3ByaW1hcnknO1xuICAgICAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgICAgICAgIHJldHVybiAnZGFuZ2VyJztcbiAgICAgICAgICAgIGNhc2UgJ3dhcm4nOlxuICAgICAgICAgICAgICAgIHJldHVybiAnd2FybmluZyc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAncHJpbWFyeSc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2F4LW1lc3NhZ2VzIGNheC1jb21wb25lbnRcIiByb2xlPVwiYWxlcnRcIiBbbmdTdHlsZV09XCJzdHlsZVwiIFtjbGFzc109XCJzdHlsZUNsYXNzXCIgW2F0dHIuYXJpYS1hdG9taWNdPVwidHJ1ZVwiIFthdHRyLmFyaWEtbGl2ZV09XCInYXNzZXJ0aXZlJ1wiIFthdHRyLmRhdGEtcGMtbmFtZV09XCInbWVzc2FnZSdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29udGVudFRlbXBsYXRlOyBlbHNlIHN0YXRpY01lc3NhZ2VcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBtc2cgb2YgbWVzc2FnZXM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICBbY2xhc3NdPVwiJ2NheC1tZXNzYWdlIGNheC1tZXNzYWdlLScgKyBtc2cuc2V2ZXJpdHlcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJzaXplQ2xhc3MobXNnLnNpemUpXCJcclxuICAgICAgICAgICAgcm9sZT1cImFsZXJ0XCJcclxuICAgICAgICAgICAgW0BtZXNzYWdlQW5pbWF0aW9uXT1cInsgdmFsdWU6ICd2aXNpYmxlJywgcGFyYW1zOiB7IHNob3dUcmFuc2l0aW9uUGFyYW1zOiBzaG93VHJhbnNpdGlvbk9wdGlvbnMsIGhpZGVUcmFuc2l0aW9uUGFyYW1zOiBoaWRlVHJhbnNpdGlvbk9wdGlvbnMgfSB9XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXgtbWVzc2FnZS13cmFwcGVyXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIid3cmFwcGVyJ1wiIFthdHRyLmlkXT1cIm1zZy5pZCB8fCBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F4LW1lc3NhZ2Utd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiKGRpc3BsYXlJY29uICYmIChtc2cuZGlzcGxheUljb24gPz8gdHJ1ZSkpICYmIG1zZy5pY29uXCIgW2NsYXNzXT1cIidjYXgtbWVzc2FnZS1pY29uIGNheCBwaSAnICsgbXNnLmljb25cIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2ljb24nXCI+IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNheC1tZXNzYWdlLWljb25cIiAqbmdJZj1cIihkaXNwbGF5SWNvbiAmJiAobXNnLmRpc3BsYXlJY29uID8/IHRydWUpKSAmJiAhbXNnLmljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F4IGNheC1jaGVjay1jaXJjbGVcIiAqbmdJZj1cIm1zZy5zZXZlcml0eSA9PT0gJ3N1Y2Nlc3MnXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidpY29uJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F4IGNheC1pbmZvLWNpcmNsZVwiICpuZ0lmPVwibXNnLnNldmVyaXR5ID09PSAnaW5mbydcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2ljb24nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXggY2F4LWNsb3NlLWNpcmNsZVwiICpuZ0lmPVwibXNnLnNldmVyaXR5ID09PSAnZXJyb3InXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidpY29uJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F4IGNheC1kYW5nZXItdHJpYW5nbGVcIiAqbmdJZj1cIm1zZy5zZXZlcml0eSA9PT0gJ3dhcm4nXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidpY29uJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZXNjYXBlOyBlbHNlIGVzY2FwZU91dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F4LW1lc3NhZ2UtYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1zZy5zdW1tYXJ5XCIgY2xhc3M9XCJjYXgtbWVzc2FnZS1zdW1tYXJ5XCIgW2lubmVySFRNTF09XCJtc2cuc3VtbWFyeVwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInc3VtbWFyeSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1zZy5kZXRhaWxcIiBjbGFzcz1cImNheC1tZXNzYWdlLWRldGFpbFwiIFtpbm5lckhUTUxdPVwibXNnLmRldGFpbFwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInZGV0YWlsJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlc2NhcGVPdXQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXgtbWVzc2FnZS1ib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibXNnLnN1bW1hcnlcIiBjbGFzcz1cImNheC1tZXNzYWdlLXN1bW1hcnlcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3N1bW1hcnknXCI+e3sgbXNnLnN1bW1hcnkgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1zZy5kZXRhaWxcIiBjbGFzcz1cImNheC1tZXNzYWdlLWRldGFpbFwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInZGV0YWlsJ1wiPnt7IG1zZy5kZXRhaWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjYXgtbWVzc2FnZS1jbG9zZSBjYXgtbGlua1wiIChjbGljayk9XCJyZW1vdmVNZXNzYWdlKGkpXCIgKm5nSWY9XCJjbG9zYWJsZSAmJiAobXNnLmNsb3NhYmxlID8/IHRydWUpXCIgdHlwZT1cImJ1dHRvblwiIGNheFJpcHBsZSBbYXR0ci5hcmlhLWxhYmVsXT1cImNsb3NlQXJpYUxhYmVsXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidjbG9zZWJ1dHRvbidcIj5cclxuICAgICAgICAgICAgICAgICAgICA8VGltZXNJY29uIFtzdHlsZUNsYXNzXT1cIidjYXgtbWVzc2FnZS1jbG9zZS1pY29uJ1wiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInY2xvc2VpY29uJ1wiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtc2cuYWN0aW9uQnV0dG9ucz8ubGVuZ3RoXCIgY2xhc3M9XCJjYXgtbWVzc2FnZS1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGNheC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtc2cuYWN0aW9uQnV0dG9uczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uSXRlbUNsaWNrKCRldmVudCwgaXRlbSwgaSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzZXZlcml0eV09XCJnZXRCdXR0b25TZXZlcml0eShtc2cuc2V2ZXJpdHksIGl0ZW0ub3V0bGluZWQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiaXRlbS5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW291dGxpbmVkXT1cIml0ZW0ub3V0bGluZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctdGVtcGxhdGUgI3N0YXRpY01lc3NhZ2U+XHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCInY2F4LW1lc3NhZ2UgY2F4LW1lc3NhZ2UtJyArIHNldmVyaXR5XCIgcm9sZT1cImFsZXJ0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXgtbWVzc2FnZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbiJdfQ==