imm-element-ui 1.8.4 → 1.8.6

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 (101) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/crumb-action/crumb-action.component.mjs +3 -3
  3. package/esm2022/lib/form/form/form.component.mjs +3 -3
  4. package/esm2022/lib/form/form-field/context-menu.mjs +35 -35
  5. package/esm2022/lib/form/form-field/field-control.mjs +1 -1
  6. package/esm2022/lib/form/form-field/field-utils.mjs +1 -1
  7. package/esm2022/lib/form/form-field/form-field.mjs +135 -135
  8. package/esm2022/lib/form/form-field/form-type.mjs +85 -85
  9. package/esm2022/lib/form/form-field/index.mjs +1 -1
  10. package/esm2022/lib/form/form-field/label.directive.mjs +1 -1
  11. package/esm2022/lib/form/form-type/autocomplete.type.mjs +151 -151
  12. package/esm2022/lib/form/form-type/codemirror.type.mjs +1 -1
  13. package/esm2022/lib/form/form-type/datepicker.type.mjs +185 -179
  14. package/esm2022/lib/form/form-type/image.type.mjs +219 -219
  15. package/esm2022/lib/form/form-type/index.mjs +1 -1
  16. package/esm2022/lib/form/form-type/inputnumber.type.mjs +91 -91
  17. package/esm2022/lib/form/form-type/inputtext.type.mjs +19 -19
  18. package/esm2022/lib/form/form-type/multiselect.type.mjs +163 -163
  19. package/esm2022/lib/form/form-type/radio.type.mjs +77 -77
  20. package/esm2022/lib/form/form-type/rowselector.type.mjs +25 -25
  21. package/esm2022/lib/form/form-type/select.type.mjs +133 -133
  22. package/esm2022/lib/form/form-type/textarea.type.mjs +25 -25
  23. package/esm2022/lib/form/form-type/treeselect.type.mjs +115 -115
  24. package/esm2022/lib/form/form-type/upload.type.mjs +131 -131
  25. package/esm2022/lib/grid/actions/actions.component.mjs +1 -1
  26. package/esm2022/lib/grid/cell-edit/cell-edit-autoComplete.component.mjs +25 -25
  27. package/esm2022/lib/grid/cell-edit/cell-edit-datePicker.compoent.mjs +139 -139
  28. package/esm2022/lib/grid/cell-edit/cell-edit-inputDate.component.mjs +27 -27
  29. package/esm2022/lib/grid/cell-edit/cell-edit-inputNumber.component.mjs +75 -75
  30. package/esm2022/lib/grid/cell-edit/cell-edit-inputText.compoent.mjs +1 -1
  31. package/esm2022/lib/grid/cell-edit/cell-edit-select.component.mjs +121 -121
  32. package/esm2022/lib/grid/cell-edit/index.mjs +1 -1
  33. package/esm2022/lib/grid/cell-render/async-renderer.mjs +1 -1
  34. package/esm2022/lib/grid/cell-render/chip-render.mjs +21 -21
  35. package/esm2022/lib/grid/cell-render/img-renderer.mjs +25 -25
  36. package/esm2022/lib/grid/cell-render/link-render.mjs +13 -13
  37. package/esm2022/lib/grid/cell-render/row-span.mjs +5 -5
  38. package/esm2022/lib/grid/grid/grid.component.mjs +11 -5
  39. package/esm2022/lib/grid/grid-utils.mjs +1 -1
  40. package/esm2022/lib/grid/mock-data.mjs +1 -1
  41. package/esm2022/lib/grid/pager/pager.component.mjs +3 -3
  42. package/esm2022/lib/head/head.component.mjs +3 -3
  43. package/esm2022/lib/href-btn-list/href-btn-list.component.mjs +1 -1
  44. package/esm2022/lib/import/import.component.mjs +3 -3
  45. package/esm2022/lib/loading/loading.component.mjs +3 -3
  46. package/esm2022/lib/log/log.component.mjs +3 -3
  47. package/esm2022/lib/page-form/page-form.component.mjs +3 -3
  48. package/esm2022/lib/page-form/page-form.interface.mjs +1 -1
  49. package/esm2022/lib/page-grid-list/page-grid-list.component.mjs +3 -3
  50. package/esm2022/lib/row-selector/row-selector.component.mjs +3 -3
  51. package/esm2022/lib/search/mock-data.mjs +1 -1
  52. package/esm2022/lib/search/pop-date/pop-date.component.mjs +3 -3
  53. package/esm2022/lib/search/pop-list/pop-list.component.mjs +3 -3
  54. package/esm2022/lib/search/pop-panel/pop-panel.component.mjs +3 -3
  55. package/esm2022/lib/search/pop-select/pop-select.component.mjs +3 -3
  56. package/esm2022/lib/search/pop-self/pop-self.component.mjs +3 -3
  57. package/esm2022/lib/search/pop-sort/pop-sort.component.mjs +3 -3
  58. package/esm2022/lib/search/pop-tree/pop-tree.component.mjs +3 -3
  59. package/esm2022/lib/search/search/search.component.mjs +3 -3
  60. package/esm2022/lib/search/search-tip/search-tip.component.mjs +3 -3
  61. package/esm2022/lib/search/search-utils.mjs +1 -1
  62. package/esm2022/lib/search/text-panel/text-panel.component.mjs +3 -3
  63. package/esm2022/lib/service/i18n.service.mjs +1 -1
  64. package/esm2022/lib/service/loading.service.mjs +1 -1
  65. package/esm2022/lib/service/themeConfig.service.mjs +1 -1
  66. package/esm2022/lib/steps/steps.component.mjs +1 -1
  67. package/esm2022/lib/theme-config/theme-config-panel.compoent.mjs +39 -39
  68. package/esm2022/lib/theme-config/theme-config.compoent.mjs +29 -29
  69. package/esm2022/public-api.mjs +1 -1
  70. package/fesm2022/imm-element-ui.mjs +2132 -2120
  71. package/fesm2022/imm-element-ui.mjs.map +1 -1
  72. package/lib/crumb-action/crumb-action.component.d.ts +1 -1
  73. package/lib/form/form-type/datepicker.type.d.ts +2 -1
  74. package/lib/grid/grid/grid.component.d.ts +1 -1
  75. package/lib/grid/grid-utils.d.ts +2 -529
  76. package/lib/service/themeConfig.service.d.ts +1 -1
  77. package/package.json +1 -1
  78. package/src/lib/crumb-action/crumb-action.component.scss +60 -60
  79. package/src/lib/grid/grid/grid.component.scss +45 -45
  80. package/src/lib/grid/pager/pager.component.scss +3 -3
  81. package/src/lib/head/head.component.scss +3 -3
  82. package/src/lib/href-btn-list/href-btn-list.component.scss +51 -51
  83. package/src/lib/import/import.component.scss +10 -10
  84. package/src/lib/loading/loading.component.scss +31 -31
  85. package/src/lib/log/log.component.scss +26 -26
  86. package/src/lib/page-form/page-form.component.scss +31 -31
  87. package/src/lib/page-grid-list/page-grid-list.component.scss +12 -12
  88. package/src/lib/row-selector/row-selector.component.scss +1 -1
  89. package/src/lib/search/dynamic-search/dynamic-search.component.scss +70 -70
  90. package/src/lib/search/pop-date/pop-date.component.scss +67 -67
  91. package/src/lib/search/pop-list/pop-list.component.scss +23 -23
  92. package/src/lib/search/pop-panel/pop-panel.component.scss +32 -32
  93. package/src/lib/search/pop-select/pop-select.component.scss +39 -39
  94. package/src/lib/search/pop-self/pop-self.component.scss +80 -80
  95. package/src/lib/search/pop-sort/pop-sort.component.scss +49 -49
  96. package/src/lib/search/pop-tree/pop-tree.component.scss +37 -37
  97. package/src/lib/search/search/search.component.scss +70 -70
  98. package/src/lib/search/search-tip/search-tip.component.scss +50 -50
  99. package/src/lib/search/text-panel/text-panel.component.scss +24 -24
  100. package/src/lib/steps/steps.component.scss +97 -97
  101. package/src/lib/styles/styles.scss +232 -232
@@ -1,7 +1,7 @@
1
1
  import { Component, input, effect, ViewChild, ElementRef } from '@angular/core';
2
2
  import { ReactiveFormsModule } from '@angular/forms';
3
3
  import { DatePicker } from 'primeng/datepicker';
4
- import { DatePipe } from '@angular/common';
4
+ import { DatePipe, NgTemplateOutlet } from '@angular/common';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../../service/action.service";
7
7
  import * as i2 from "@angular/common";
@@ -117,186 +117,192 @@ export class DatePickerComponent {
117
117
  return result;
118
118
  }
119
119
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatePickerComponent, deps: [{ token: i1.ActionService }, { token: i0.Renderer2 }, { token: i2.DatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
120
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DatePickerComponent, isStandalone: true, selector: "form-datepicker", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: DatePicker, descendants: true }, { propertyName: "datePickerRef", first: true, predicate: DatePicker, descendants: true, read: ElementRef }], ngImport: i0, template: `<p-datepicker
121
- [id]="field()?.uuid"
122
- [inputId]="field()?.uuid"
123
- [variant]="props.variant ?? 'outlined'"
124
- [fluid]="props.fluid"
125
- [size]="props.size"
126
- [styleClass]="props.styleClass"
127
- [inputStyle]="props.inputStyle"
128
- [inputStyleClass]="props.inputStyleClass"
129
- [name]="props.name"
130
- [placeholder]="props.placeholder"
131
- [ariaLabelledBy]="props.ariaLabelledBy"
132
- [ariaLabel]="props.ariaLabel"
133
- [iconAriaLabel]="props.iconAriaLabel"
134
- [dateFormat]="props.dateFormat ?? 'yy-mm-dd'"
135
- [multipleSeparator]="props.multipleSeparator ?? ','"
136
- [rangeSeparator]="props.rangeSeparator ?? '-'"
137
- [inline]="props.inline"
138
- [showOtherMonths]="props.showOtherMonths ?? true"
139
- [selectOtherMonths]="props.selectOtherMonths"
140
- [showIcon]="props.showIcon"
141
- [fluid]="props.fluid ?? true"
142
- [icon]="props.icon"
143
- [appendTo]="props.appendTo ?? 'body'"
144
- [readonlyInput]="props.readonlyInput"
145
- [shortYearCutoff]="props.shortYearCutoff"
146
- [hourFormat]="props.hourFormat ?? '24'"
147
- [timeOnly]="props.timeOnly"
148
- [stepHour]="props.stepHour ?? 1"
149
- [stepMinute]="props.stepMinute ?? 1"
150
- [stepSecond]="props.stepSecond ?? 1"
151
- [showSeconds]="props.showSeconds ?? !!props.showTime"
152
- [showOnFocus]="props.showOnFocus ?? true"
153
- [showWeek]="props.showWeek"
154
- [startWeekFromFirstDayOfYear]="!!props.startWeekFromFirstDayOfYear"
155
- [showClear]="props.showClear"
156
- [dataType]="props.dataType ?? 'string'"
157
- [selectionMode]="props.selectionMode ?? 'single'"
158
- [maxDateCount]="props.maxDateCount"
159
- [showButtonBar]="props.showButtonBar"
160
- [todayButtonStyleClass]="props.todayButtonStyleClass"
161
- [clearButtonStyleClass]="props.clearButtonStyleClass"
162
- [autofocus]="props.autofocus"
163
- [autoZIndex]="props.autoZIndex ?? true"
164
- [baseZIndex]="props.baseZIndex ?? 0"
165
- [panelStyleClass]="props.panelStyleClass"
166
- [panelStyle]="props.panelStyle"
167
- [keepInvalid]="props.keepInvalid"
168
- [hideOnDateTimeSelect]="props.hideOnDateTimeSelect ?? true"
169
- [touchUI]="props.touchUI"
170
- [timeSeparator]="props.timeSeparator ?? ':'"
171
- [focusTrap]="props.focusTrap ?? true"
172
- [showTransitionOptions]="props.showTransitionOptions ?? '.12s cubic-bezier(0, 0, 0.2, 1)'"
173
- [hideTransitionOptions]="props.hideTransitionOptions ?? '.1s linear'"
174
- [tabindex]="props.tabindex"
175
- [minDate]="props.minDate"
176
- [maxDate]="props.maxDate"
177
- [disabledDates]="props.disabledDates ?? []"
178
- [disabledDays]="props.disabledDays ?? []"
179
- [showTime]="!!props.showTime"
180
- [responsiveOptions]="props.responsiveOptions ?? []"
181
- [numberOfMonths]="props.numberOfMonths ?? 1"
182
- [firstDayOfWeek]="props.firstDayOfWeek ?? 7"
183
- [view]="props.view ?? 'date'"
184
- [defaultDate]="props.defaultDate!"
185
- (onInput)="props.onInput?.(field()!, $event)"
186
- (onFocus)="props.onFocus?.(field()!, $event)"
187
- (onBlur)="props.onBlur?.(field()!, $event)"
188
- (onClose)="props.onClose?.(field()!, $event)"
189
- (onSelect)="props.onSelect?.(field()!, $event)"
190
- (onClear)="props.onClear?.(field()!, $event)"
191
- (onTodayClick)="props.onTodayClick?.(field()!, $event)"
192
- (onClearClick)="props.onClearClick?.(field()!, $event)"
193
- (onMonthChange)="props.onMonthChange?.(field()!, $event)"
194
- (onYearChange)="props.onYearChange?.(field()!, $event)"
195
- (onClickOutside)="props.onClickOutside?.(field()!, $event)"
196
- (onShow)="props.onShow?.(field()!, $event)"
197
- [class]="props.class"
198
- [formControl]="field()!.fieldControl!">
199
- <ng-template #footer>
200
- @if (!!props.showTime && !props.timeOnly) {
201
- <div class="flex flex-row-reverse text-[12px] text-[var(--p-primary-color)] cursor-pointer">
202
- <i
203
- class="pi pi-replay"
204
- (click)="resetTime($event)"></i>
205
- </div>
206
- }
207
- </ng-template>
208
- </p-datepicker>`, isInline: true, styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0 .25rem;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}\n"], dependencies: [{ kind: "component", type: DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
120
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DatePickerComponent, isStandalone: true, selector: "form-datepicker", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: DatePicker, descendants: true }, { propertyName: "datePickerRef", first: true, predicate: DatePicker, descendants: true, read: ElementRef }], ngImport: i0, template: `<p-datepicker
121
+ [id]="field()?.uuid"
122
+ [inputId]="field()?.uuid"
123
+ [variant]="props.variant ?? 'outlined'"
124
+ [fluid]="props.fluid"
125
+ [size]="props.size"
126
+ [styleClass]="props.styleClass"
127
+ [inputStyle]="props.inputStyle"
128
+ [inputStyleClass]="props.inputStyleClass"
129
+ [name]="props.name"
130
+ [placeholder]="props.placeholder"
131
+ [ariaLabelledBy]="props.ariaLabelledBy"
132
+ [ariaLabel]="props.ariaLabel"
133
+ [iconAriaLabel]="props.iconAriaLabel"
134
+ [dateFormat]="props.dateFormat ?? 'yy-mm-dd'"
135
+ [multipleSeparator]="props.multipleSeparator ?? ','"
136
+ [rangeSeparator]="props.rangeSeparator ?? '-'"
137
+ [inline]="props.inline"
138
+ [showOtherMonths]="props.showOtherMonths ?? true"
139
+ [selectOtherMonths]="props.selectOtherMonths"
140
+ [showIcon]="props.showIcon"
141
+ [fluid]="props.fluid ?? true"
142
+ [icon]="props.icon"
143
+ [appendTo]="props.appendTo ?? 'body'"
144
+ [readonlyInput]="props.readonlyInput"
145
+ [shortYearCutoff]="props.shortYearCutoff"
146
+ [hourFormat]="props.hourFormat ?? '24'"
147
+ [timeOnly]="props.timeOnly"
148
+ [stepHour]="props.stepHour ?? 1"
149
+ [stepMinute]="props.stepMinute ?? 1"
150
+ [stepSecond]="props.stepSecond ?? 1"
151
+ [showSeconds]="props.showSeconds ?? !!props.showTime"
152
+ [showOnFocus]="props.showOnFocus ?? true"
153
+ [showWeek]="props.showWeek"
154
+ [startWeekFromFirstDayOfYear]="!!props.startWeekFromFirstDayOfYear"
155
+ [showClear]="props.showClear"
156
+ [dataType]="props.dataType ?? 'string'"
157
+ [selectionMode]="props.selectionMode ?? 'single'"
158
+ [maxDateCount]="props.maxDateCount"
159
+ [showButtonBar]="props.showButtonBar"
160
+ [todayButtonStyleClass]="props.todayButtonStyleClass"
161
+ [clearButtonStyleClass]="props.clearButtonStyleClass"
162
+ [autofocus]="props.autofocus"
163
+ [autoZIndex]="props.autoZIndex ?? true"
164
+ [baseZIndex]="props.baseZIndex ?? 0"
165
+ [panelStyleClass]="props.panelStyleClass"
166
+ [panelStyle]="props.panelStyle"
167
+ [keepInvalid]="props.keepInvalid"
168
+ [hideOnDateTimeSelect]="props.hideOnDateTimeSelect ?? true"
169
+ [touchUI]="props.touchUI"
170
+ [timeSeparator]="props.timeSeparator ?? ':'"
171
+ [focusTrap]="props.focusTrap ?? true"
172
+ [showTransitionOptions]="props.showTransitionOptions ?? '.12s cubic-bezier(0, 0, 0.2, 1)'"
173
+ [hideTransitionOptions]="props.hideTransitionOptions ?? '.1s linear'"
174
+ [tabindex]="props.tabindex"
175
+ [minDate]="props.minDate"
176
+ [maxDate]="props.maxDate"
177
+ [disabledDates]="props.disabledDates ?? []"
178
+ [disabledDays]="props.disabledDays ?? []"
179
+ [showTime]="!!props.showTime"
180
+ [responsiveOptions]="props.responsiveOptions ?? []"
181
+ [numberOfMonths]="props.numberOfMonths ?? 1"
182
+ [firstDayOfWeek]="props.firstDayOfWeek ?? 7"
183
+ [view]="props.view ?? 'date'"
184
+ [defaultDate]="props.defaultDate!"
185
+ (onInput)="props.onInput?.(field()!, $event)"
186
+ (onFocus)="props.onFocus?.(field()!, $event)"
187
+ (onBlur)="props.onBlur?.(field()!, $event)"
188
+ (onClose)="props.onClose?.(field()!, $event)"
189
+ (onSelect)="props.onSelect?.(field()!, $event)"
190
+ (onClear)="props.onClear?.(field()!, $event)"
191
+ (onTodayClick)="props.onTodayClick?.(field()!, $event)"
192
+ (onClearClick)="props.onClearClick?.(field()!, $event)"
193
+ (onMonthChange)="props.onMonthChange?.(field()!, $event)"
194
+ (onYearChange)="props.onYearChange?.(field()!, $event)"
195
+ (onClickOutside)="props.onClickOutside?.(field()!, $event)"
196
+ (onShow)="props.onShow?.(field()!, $event)"
197
+ [class]="props.class"
198
+ [formControl]="field()!.fieldControl!">
199
+ <ng-template #footer>
200
+ @if (!!props.showTime && !props.timeOnly) {
201
+ <div class="flex flex-row-reverse text-[12px] text-[var(--p-primary-color)] cursor-pointer">
202
+ <i
203
+ class="pi pi-replay"
204
+ (click)="resetTime($event)"></i>
205
+ </div>
206
+ } @else if (!!props.footerTemplate) {
207
+ <!--todo 未来加入自定义区间选项-->
208
+ <ng-container *ngTemplateOutlet="props.footerTemplate"></ng-container>
209
+ }
210
+ </ng-template>
211
+ </p-datepicker>`, isInline: true, styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0 .25rem;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}\n"], dependencies: [{ kind: "component", type: DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
209
212
  }
210
213
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatePickerComponent, decorators: [{
211
214
  type: Component,
212
- args: [{ selector: 'form-datepicker', standalone: true, providers: [DatePipe], imports: [DatePicker, ReactiveFormsModule], template: `<p-datepicker
213
- [id]="field()?.uuid"
214
- [inputId]="field()?.uuid"
215
- [variant]="props.variant ?? 'outlined'"
216
- [fluid]="props.fluid"
217
- [size]="props.size"
218
- [styleClass]="props.styleClass"
219
- [inputStyle]="props.inputStyle"
220
- [inputStyleClass]="props.inputStyleClass"
221
- [name]="props.name"
222
- [placeholder]="props.placeholder"
223
- [ariaLabelledBy]="props.ariaLabelledBy"
224
- [ariaLabel]="props.ariaLabel"
225
- [iconAriaLabel]="props.iconAriaLabel"
226
- [dateFormat]="props.dateFormat ?? 'yy-mm-dd'"
227
- [multipleSeparator]="props.multipleSeparator ?? ','"
228
- [rangeSeparator]="props.rangeSeparator ?? '-'"
229
- [inline]="props.inline"
230
- [showOtherMonths]="props.showOtherMonths ?? true"
231
- [selectOtherMonths]="props.selectOtherMonths"
232
- [showIcon]="props.showIcon"
233
- [fluid]="props.fluid ?? true"
234
- [icon]="props.icon"
235
- [appendTo]="props.appendTo ?? 'body'"
236
- [readonlyInput]="props.readonlyInput"
237
- [shortYearCutoff]="props.shortYearCutoff"
238
- [hourFormat]="props.hourFormat ?? '24'"
239
- [timeOnly]="props.timeOnly"
240
- [stepHour]="props.stepHour ?? 1"
241
- [stepMinute]="props.stepMinute ?? 1"
242
- [stepSecond]="props.stepSecond ?? 1"
243
- [showSeconds]="props.showSeconds ?? !!props.showTime"
244
- [showOnFocus]="props.showOnFocus ?? true"
245
- [showWeek]="props.showWeek"
246
- [startWeekFromFirstDayOfYear]="!!props.startWeekFromFirstDayOfYear"
247
- [showClear]="props.showClear"
248
- [dataType]="props.dataType ?? 'string'"
249
- [selectionMode]="props.selectionMode ?? 'single'"
250
- [maxDateCount]="props.maxDateCount"
251
- [showButtonBar]="props.showButtonBar"
252
- [todayButtonStyleClass]="props.todayButtonStyleClass"
253
- [clearButtonStyleClass]="props.clearButtonStyleClass"
254
- [autofocus]="props.autofocus"
255
- [autoZIndex]="props.autoZIndex ?? true"
256
- [baseZIndex]="props.baseZIndex ?? 0"
257
- [panelStyleClass]="props.panelStyleClass"
258
- [panelStyle]="props.panelStyle"
259
- [keepInvalid]="props.keepInvalid"
260
- [hideOnDateTimeSelect]="props.hideOnDateTimeSelect ?? true"
261
- [touchUI]="props.touchUI"
262
- [timeSeparator]="props.timeSeparator ?? ':'"
263
- [focusTrap]="props.focusTrap ?? true"
264
- [showTransitionOptions]="props.showTransitionOptions ?? '.12s cubic-bezier(0, 0, 0.2, 1)'"
265
- [hideTransitionOptions]="props.hideTransitionOptions ?? '.1s linear'"
266
- [tabindex]="props.tabindex"
267
- [minDate]="props.minDate"
268
- [maxDate]="props.maxDate"
269
- [disabledDates]="props.disabledDates ?? []"
270
- [disabledDays]="props.disabledDays ?? []"
271
- [showTime]="!!props.showTime"
272
- [responsiveOptions]="props.responsiveOptions ?? []"
273
- [numberOfMonths]="props.numberOfMonths ?? 1"
274
- [firstDayOfWeek]="props.firstDayOfWeek ?? 7"
275
- [view]="props.view ?? 'date'"
276
- [defaultDate]="props.defaultDate!"
277
- (onInput)="props.onInput?.(field()!, $event)"
278
- (onFocus)="props.onFocus?.(field()!, $event)"
279
- (onBlur)="props.onBlur?.(field()!, $event)"
280
- (onClose)="props.onClose?.(field()!, $event)"
281
- (onSelect)="props.onSelect?.(field()!, $event)"
282
- (onClear)="props.onClear?.(field()!, $event)"
283
- (onTodayClick)="props.onTodayClick?.(field()!, $event)"
284
- (onClearClick)="props.onClearClick?.(field()!, $event)"
285
- (onMonthChange)="props.onMonthChange?.(field()!, $event)"
286
- (onYearChange)="props.onYearChange?.(field()!, $event)"
287
- (onClickOutside)="props.onClickOutside?.(field()!, $event)"
288
- (onShow)="props.onShow?.(field()!, $event)"
289
- [class]="props.class"
290
- [formControl]="field()!.fieldControl!">
291
- <ng-template #footer>
292
- @if (!!props.showTime && !props.timeOnly) {
293
- <div class="flex flex-row-reverse text-[12px] text-[var(--p-primary-color)] cursor-pointer">
294
- <i
295
- class="pi pi-replay"
296
- (click)="resetTime($event)"></i>
297
- </div>
298
- }
299
- </ng-template>
215
+ args: [{ selector: 'form-datepicker', standalone: true, providers: [DatePipe], imports: [DatePicker, ReactiveFormsModule, NgTemplateOutlet], template: `<p-datepicker
216
+ [id]="field()?.uuid"
217
+ [inputId]="field()?.uuid"
218
+ [variant]="props.variant ?? 'outlined'"
219
+ [fluid]="props.fluid"
220
+ [size]="props.size"
221
+ [styleClass]="props.styleClass"
222
+ [inputStyle]="props.inputStyle"
223
+ [inputStyleClass]="props.inputStyleClass"
224
+ [name]="props.name"
225
+ [placeholder]="props.placeholder"
226
+ [ariaLabelledBy]="props.ariaLabelledBy"
227
+ [ariaLabel]="props.ariaLabel"
228
+ [iconAriaLabel]="props.iconAriaLabel"
229
+ [dateFormat]="props.dateFormat ?? 'yy-mm-dd'"
230
+ [multipleSeparator]="props.multipleSeparator ?? ','"
231
+ [rangeSeparator]="props.rangeSeparator ?? '-'"
232
+ [inline]="props.inline"
233
+ [showOtherMonths]="props.showOtherMonths ?? true"
234
+ [selectOtherMonths]="props.selectOtherMonths"
235
+ [showIcon]="props.showIcon"
236
+ [fluid]="props.fluid ?? true"
237
+ [icon]="props.icon"
238
+ [appendTo]="props.appendTo ?? 'body'"
239
+ [readonlyInput]="props.readonlyInput"
240
+ [shortYearCutoff]="props.shortYearCutoff"
241
+ [hourFormat]="props.hourFormat ?? '24'"
242
+ [timeOnly]="props.timeOnly"
243
+ [stepHour]="props.stepHour ?? 1"
244
+ [stepMinute]="props.stepMinute ?? 1"
245
+ [stepSecond]="props.stepSecond ?? 1"
246
+ [showSeconds]="props.showSeconds ?? !!props.showTime"
247
+ [showOnFocus]="props.showOnFocus ?? true"
248
+ [showWeek]="props.showWeek"
249
+ [startWeekFromFirstDayOfYear]="!!props.startWeekFromFirstDayOfYear"
250
+ [showClear]="props.showClear"
251
+ [dataType]="props.dataType ?? 'string'"
252
+ [selectionMode]="props.selectionMode ?? 'single'"
253
+ [maxDateCount]="props.maxDateCount"
254
+ [showButtonBar]="props.showButtonBar"
255
+ [todayButtonStyleClass]="props.todayButtonStyleClass"
256
+ [clearButtonStyleClass]="props.clearButtonStyleClass"
257
+ [autofocus]="props.autofocus"
258
+ [autoZIndex]="props.autoZIndex ?? true"
259
+ [baseZIndex]="props.baseZIndex ?? 0"
260
+ [panelStyleClass]="props.panelStyleClass"
261
+ [panelStyle]="props.panelStyle"
262
+ [keepInvalid]="props.keepInvalid"
263
+ [hideOnDateTimeSelect]="props.hideOnDateTimeSelect ?? true"
264
+ [touchUI]="props.touchUI"
265
+ [timeSeparator]="props.timeSeparator ?? ':'"
266
+ [focusTrap]="props.focusTrap ?? true"
267
+ [showTransitionOptions]="props.showTransitionOptions ?? '.12s cubic-bezier(0, 0, 0.2, 1)'"
268
+ [hideTransitionOptions]="props.hideTransitionOptions ?? '.1s linear'"
269
+ [tabindex]="props.tabindex"
270
+ [minDate]="props.minDate"
271
+ [maxDate]="props.maxDate"
272
+ [disabledDates]="props.disabledDates ?? []"
273
+ [disabledDays]="props.disabledDays ?? []"
274
+ [showTime]="!!props.showTime"
275
+ [responsiveOptions]="props.responsiveOptions ?? []"
276
+ [numberOfMonths]="props.numberOfMonths ?? 1"
277
+ [firstDayOfWeek]="props.firstDayOfWeek ?? 7"
278
+ [view]="props.view ?? 'date'"
279
+ [defaultDate]="props.defaultDate!"
280
+ (onInput)="props.onInput?.(field()!, $event)"
281
+ (onFocus)="props.onFocus?.(field()!, $event)"
282
+ (onBlur)="props.onBlur?.(field()!, $event)"
283
+ (onClose)="props.onClose?.(field()!, $event)"
284
+ (onSelect)="props.onSelect?.(field()!, $event)"
285
+ (onClear)="props.onClear?.(field()!, $event)"
286
+ (onTodayClick)="props.onTodayClick?.(field()!, $event)"
287
+ (onClearClick)="props.onClearClick?.(field()!, $event)"
288
+ (onMonthChange)="props.onMonthChange?.(field()!, $event)"
289
+ (onYearChange)="props.onYearChange?.(field()!, $event)"
290
+ (onClickOutside)="props.onClickOutside?.(field()!, $event)"
291
+ (onShow)="props.onShow?.(field()!, $event)"
292
+ [class]="props.class"
293
+ [formControl]="field()!.fieldControl!">
294
+ <ng-template #footer>
295
+ @if (!!props.showTime && !props.timeOnly) {
296
+ <div class="flex flex-row-reverse text-[12px] text-[var(--p-primary-color)] cursor-pointer">
297
+ <i
298
+ class="pi pi-replay"
299
+ (click)="resetTime($event)"></i>
300
+ </div>
301
+ } @else if (!!props.footerTemplate) {
302
+ <!--todo 未来加入自定义区间选项-->
303
+ <ng-container *ngTemplateOutlet="props.footerTemplate"></ng-container>
304
+ }
305
+ </ng-template>
300
306
  </p-datepicker>`, styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0 .25rem;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}\n"] }]
301
307
  }], ctorParameters: () => [{ type: i1.ActionService }, { type: i0.Renderer2 }, { type: i2.DatePipe }], propDecorators: { datePicker: [{
302
308
  type: ViewChild,
@@ -305,4 +311,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
305
311
  type: ViewChild,
306
312
  args: [DatePicker, { read: ElementRef, static: false }]
307
313
  }] } });
308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9mb3JtL2Zvcm0tdHlwZS9kYXRlcGlja2VyLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUF1SzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFNL0IsWUFDUyxNQUFxQixFQUNyQixRQUFtQixFQUNuQixRQUFrQjtRQUZsQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQU4zQixVQUFLLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDM0IsVUFBSyxHQUFvQixFQUFFLENBQUM7UUFPM0IsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRyxDQUFDLGVBQWdCLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzdCLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FDTCxHQUFHLEVBQUU7WUFDSixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDNUQsT0FBTztZQUNSLENBQUM7WUFDRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3hFLENBQUM7aUJBQU0sSUFBSSxXQUFXLENBQUMsSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUMzRSxDQUFDO2lCQUFNLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ25DLENBQUM7UUFDRixDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixnQkFBZ0I7UUFDZixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMxRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1osT0FBTztZQUNSLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYztRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxLQUFLLEVBQUcsQ0FBQyxZQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFHLENBQUMsWUFBYSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQy9DLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFHLENBQUMsWUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFlO1FBQy9CLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDdkMsSUFBSSxpQ0FBaUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDckQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1FBQ25FLENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSx1Q0FBdUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDM0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztZQUM1QyxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7SUFDRixDQUFDO0lBRUQsb0JBQW9CO1FBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQ2pDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLEdBQUcsQ0FBQztRQUN0RCxNQUFNLFVBQVUsR0FBRyxLQUFLLGFBQWEsS0FBSyxhQUFhLElBQUksQ0FBQztRQUM1RCxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxhQUFpQztRQUMvRCxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU8sWUFBWSxDQUFDO1FBQ3hDLE1BQU0sU0FBUyxHQUE4QjtZQUM1QyxDQUFDLEVBQUUsR0FBRztZQUNOLEVBQUUsRUFBRSxJQUFJO1lBQ1IsQ0FBQyxFQUFFLEdBQUc7WUFDTixFQUFFLEVBQUUsSUFBSTtZQUNSLENBQUMsRUFBRSxLQUFLO1lBQ1IsRUFBRSxFQUFFLE1BQU07WUFDVixDQUFDLEVBQUUsSUFBSTtZQUNQLEVBQUUsRUFBRSxNQUFNO1NBQ1YsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUE4QjtZQUNoRCxVQUFVLEVBQUUsWUFBWTtZQUN4QixVQUFVLEVBQUUsWUFBWTtZQUN4QixVQUFVLEVBQUUsWUFBWTtZQUN4QixVQUFVLEVBQUUsWUFBWTtZQUN4QixVQUFVLEVBQUUsWUFBWTtTQUN4QixDQUFDO1FBQ0YsSUFBSSxhQUFhLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxPQUFPLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsU0FBUztRQUNULElBQUksTUFBTSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFO1lBQzlELE9BQU8sSUFBSSxFQUFFLEdBQUcsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztRQUNILFNBQVM7UUFDVCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMvQyxPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7K0dBckhXLG1CQUFtQjttR0FBbkIsbUJBQW1CLGtNQTdGcEIsQ0FBQyxRQUFRLENBQUMsc0VBOEZWLFVBQVUsZ0ZBQ1YsVUFBVSwyQkFBVSxVQUFVLDZCQTdGL0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUJBd0ZNLHdzTEF6Rk4sVUFBVSw4eUNBQUUsbUJBQW1COzs0RkE0RjdCLG1CQUFtQjtrQkFoRy9CLFNBQVM7K0JBQ0MsaUJBQWlCLGNBQ2YsSUFBSSxhQUNMLENBQUMsUUFBUSxDQUFDLFdBQ1osQ0FBQyxVQUFVLEVBQUUsbUJBQW1CLENBQUMsWUFDaEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUJBd0ZNO2lJQUkwQixVQUFVO3NCQUFuRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ29CLGFBQWE7c0JBQXhFLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgZWZmZWN0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdGVQaWNrZXIgfSBmcm9tICdwcmltZW5nL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgRm9ybUZpZWxkLCBGaWVsZFByb3BzLCBBdHRyaWJ1dGVFdmVudCB9IGZyb20gJy4uL2Zvcm0tZmllbGQvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVBpY2tlclByb3BzIGV4dGVuZHMgRmllbGRQcm9wcyB7XG5cdGZsdWlkPzogYm9vbGVhbjtcblx0aWNvbkFyaWFMYWJlbD86IHN0cmluZztcblx0ZGF0ZUZvcm1hdD86IHN0cmluZztcblx0ZGF0ZVBpcGVGb3JtYXQ/OiBzdHJpbmc7XG5cdG11bHRpcGxlU2VwYXJhdG9yPzogc3RyaW5nO1xuXHRyYW5nZVNlcGFyYXRvcj86IHN0cmluZztcblx0aW5saW5lPzogYm9vbGVhbjtcblx0c2hvd090aGVyTW9udGhzPzogYm9vbGVhbjtcblx0c2VsZWN0T3RoZXJNb250aHM/OiBib29sZWFuO1xuXHRzaG93SWNvbj86IGJvb2xlYW47XG5cdGljb24/OiBzdHJpbmc7XG5cdGFwcGVuZFRvPzogYW55O1xuXHRyZWFkb25seUlucHV0PzogYm9vbGVhbjtcblx0c2hvcnRZZWFyQ3V0b2ZmPzogYW55O1xuXHRob3VyRm9ybWF0Pzogc3RyaW5nO1xuXHR0aW1lT25seT86IGJvb2xlYW47XG5cdHN0ZXBIb3VyPzogbnVtYmVyO1xuXHRzdGVwTWludXRlPzogbnVtYmVyO1xuXHRzdGVwU2Vjb25kPzogbnVtYmVyO1xuXHRzaG93T25Gb2N1cz86IGJvb2xlYW47XG5cdHNob3dXZWVrPzogYm9vbGVhbjtcblx0c3RhcnRXZWVrRnJvbUZpcnN0RGF5T2ZZZWFyPzogYm9vbGVhbjtcblx0c2hvd0NsZWFyPzogYm9vbGVhbjtcblx0ZGF0YVR5cGU/OiBzdHJpbmc7XG5cdHNlbGVjdGlvbk1vZGU/OiAncmFuZ2UnIHwgJ3NpbmdsZScgfCAnbXVsdGlwbGUnO1xuXHRtYXhEYXRlQ291bnQ/OiBudW1iZXI7XG5cdHNob3dCdXR0b25CYXI/OiBib29sZWFuO1xuXHR0b2RheUJ1dHRvblN0eWxlQ2xhc3M/OiBzdHJpbmc7XG5cdGNsZWFyQnV0dG9uU3R5bGVDbGFzcz86IHN0cmluZztcblx0YmFzZVpJbmRleD86IG51bWJlcjtcblx0cGFuZWxTdHlsZUNsYXNzPzogc3RyaW5nO1xuXHRwYW5lbFN0eWxlPzogYW55O1xuXHRrZWVwSW52YWxpZD86IGJvb2xlYW47XG5cdGhpZGVPbkRhdGVUaW1lU2VsZWN0PzogYm9vbGVhbjtcblx0dG91Y2hVST86IGJvb2xlYW47XG5cdHRpbWVTZXBhcmF0b3I/OiBzdHJpbmc7XG5cdGZvY3VzVHJhcD86IGJvb2xlYW47XG5cdHNob3dUcmFuc2l0aW9uT3B0aW9ucz86IHN0cmluZztcblx0aGlkZVRyYW5zaXRpb25PcHRpb25zPzogc3RyaW5nO1xuXHRtaW5EYXRlPzogRGF0ZTtcblx0bWF4RGF0ZT86IERhdGU7XG5cdGRpc2FibGVkRGF0ZXM/OiBEYXRlW107XG5cdGRpc2FibGVkRGF5cz86IG51bWJlcltdO1xuXHRzaG93VGltZT86IGJvb2xlYW47XG5cdHNob3dTZWNvbmRzPzogYm9vbGVhbjtcblx0cmVzcG9uc2l2ZU9wdGlvbnM/OiBhbnlbXTtcblx0bnVtYmVyT2ZNb250aHM/OiBudW1iZXI7XG5cdGZpcnN0RGF5T2ZXZWVrPzogbnVtYmVyO1xuXHR2aWV3PzogYW55O1xuXHRkZWZhdWx0RGF0ZT86IERhdGU7XG5cdHRhYmluZGV4PzogbnVtYmVyO1xuXHRhdXRvWkluZGV4PzogYm9vbGVhbjtcblxuXHRvbkhvb2tDaGFuZ2U/OiBBdHRyaWJ1dGVFdmVudDtcblx0b25JbnB1dD86IEF0dHJpYnV0ZUV2ZW50O1xuXHRvbkZvY3VzPzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uQmx1cj86IEF0dHJpYnV0ZUV2ZW50O1xuXHRvbkNsb3NlPzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uU2VsZWN0PzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uQ2xlYXI/OiBBdHRyaWJ1dGVFdmVudDtcblx0b25Ub2RheUNsaWNrPzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uQ2xlYXJDbGljaz86IEF0dHJpYnV0ZUV2ZW50O1xuXHRvbk1vbnRoQ2hhbmdlPzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uWWVhckNoYW5nZT86IEF0dHJpYnV0ZUV2ZW50O1xuXHRvbkNsaWNrT3V0c2lkZT86IEF0dHJpYnV0ZUV2ZW50O1xuXHRvblNob3c/OiBBdHRyaWJ1dGVFdmVudDtcbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnZm9ybS1kYXRlcGlja2VyJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0cHJvdmlkZXJzOiBbRGF0ZVBpcGVdLFxuXHRpbXBvcnRzOiBbRGF0ZVBpY2tlciwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG5cdHRlbXBsYXRlOiBgPHAtZGF0ZXBpY2tlclxuXHRcdFtpZF09XCJmaWVsZCgpPy51dWlkXCJcblx0XHRbaW5wdXRJZF09XCJmaWVsZCgpPy51dWlkXCJcblx0XHRbdmFyaWFudF09XCJwcm9wcy52YXJpYW50ID8/ICdvdXRsaW5lZCdcIlxuXHRcdFtmbHVpZF09XCJwcm9wcy5mbHVpZFwiXG5cdFx0W3NpemVdPVwicHJvcHMuc2l6ZVwiXG5cdFx0W3N0eWxlQ2xhc3NdPVwicHJvcHMuc3R5bGVDbGFzc1wiXG5cdFx0W2lucHV0U3R5bGVdPVwicHJvcHMuaW5wdXRTdHlsZVwiXG5cdFx0W2lucHV0U3R5bGVDbGFzc109XCJwcm9wcy5pbnB1dFN0eWxlQ2xhc3NcIlxuXHRcdFtuYW1lXT1cInByb3BzLm5hbWVcIlxuXHRcdFtwbGFjZWhvbGRlcl09XCJwcm9wcy5wbGFjZWhvbGRlclwiXG5cdFx0W2FyaWFMYWJlbGxlZEJ5XT1cInByb3BzLmFyaWFMYWJlbGxlZEJ5XCJcblx0XHRbYXJpYUxhYmVsXT1cInByb3BzLmFyaWFMYWJlbFwiXG5cdFx0W2ljb25BcmlhTGFiZWxdPVwicHJvcHMuaWNvbkFyaWFMYWJlbFwiXG5cdFx0W2RhdGVGb3JtYXRdPVwicHJvcHMuZGF0ZUZvcm1hdCA/PyAneXktbW0tZGQnXCJcblx0XHRbbXVsdGlwbGVTZXBhcmF0b3JdPVwicHJvcHMubXVsdGlwbGVTZXBhcmF0b3IgPz8gJywnXCJcblx0XHRbcmFuZ2VTZXBhcmF0b3JdPVwicHJvcHMucmFuZ2VTZXBhcmF0b3IgPz8gJy0nXCJcblx0XHRbaW5saW5lXT1cInByb3BzLmlubGluZVwiXG5cdFx0W3Nob3dPdGhlck1vbnRoc109XCJwcm9wcy5zaG93T3RoZXJNb250aHMgPz8gdHJ1ZVwiXG5cdFx0W3NlbGVjdE90aGVyTW9udGhzXT1cInByb3BzLnNlbGVjdE90aGVyTW9udGhzXCJcblx0XHRbc2hvd0ljb25dPVwicHJvcHMuc2hvd0ljb25cIlxuXHRcdFtmbHVpZF09XCJwcm9wcy5mbHVpZCA/PyB0cnVlXCJcblx0XHRbaWNvbl09XCJwcm9wcy5pY29uXCJcblx0XHRbYXBwZW5kVG9dPVwicHJvcHMuYXBwZW5kVG8gPz8gJ2JvZHknXCJcblx0XHRbcmVhZG9ubHlJbnB1dF09XCJwcm9wcy5yZWFkb25seUlucHV0XCJcblx0XHRbc2hvcnRZZWFyQ3V0b2ZmXT1cInByb3BzLnNob3J0WWVhckN1dG9mZlwiXG5cdFx0W2hvdXJGb3JtYXRdPVwicHJvcHMuaG91ckZvcm1hdCA/PyAnMjQnXCJcblx0XHRbdGltZU9ubHldPVwicHJvcHMudGltZU9ubHlcIlxuXHRcdFtzdGVwSG91cl09XCJwcm9wcy5zdGVwSG91ciA/PyAxXCJcblx0XHRbc3RlcE1pbnV0ZV09XCJwcm9wcy5zdGVwTWludXRlID8/IDFcIlxuXHRcdFtzdGVwU2Vjb25kXT1cInByb3BzLnN0ZXBTZWNvbmQgPz8gMVwiXG5cdFx0W3Nob3dTZWNvbmRzXT1cInByb3BzLnNob3dTZWNvbmRzID8/ICEhcHJvcHMuc2hvd1RpbWVcIlxuXHRcdFtzaG93T25Gb2N1c109XCJwcm9wcy5zaG93T25Gb2N1cyA/PyB0cnVlXCJcblx0XHRbc2hvd1dlZWtdPVwicHJvcHMuc2hvd1dlZWtcIlxuXHRcdFtzdGFydFdlZWtGcm9tRmlyc3REYXlPZlllYXJdPVwiISFwcm9wcy5zdGFydFdlZWtGcm9tRmlyc3REYXlPZlllYXJcIlxuXHRcdFtzaG93Q2xlYXJdPVwicHJvcHMuc2hvd0NsZWFyXCJcblx0XHRbZGF0YVR5cGVdPVwicHJvcHMuZGF0YVR5cGUgPz8gJ3N0cmluZydcIlxuXHRcdFtzZWxlY3Rpb25Nb2RlXT1cInByb3BzLnNlbGVjdGlvbk1vZGUgPz8gJ3NpbmdsZSdcIlxuXHRcdFttYXhEYXRlQ291bnRdPVwicHJvcHMubWF4RGF0ZUNvdW50XCJcblx0XHRbc2hvd0J1dHRvbkJhcl09XCJwcm9wcy5zaG93QnV0dG9uQmFyXCJcblx0XHRbdG9kYXlCdXR0b25TdHlsZUNsYXNzXT1cInByb3BzLnRvZGF5QnV0dG9uU3R5bGVDbGFzc1wiXG5cdFx0W2NsZWFyQnV0dG9uU3R5bGVDbGFzc109XCJwcm9wcy5jbGVhckJ1dHRvblN0eWxlQ2xhc3NcIlxuXHRcdFthdXRvZm9jdXNdPVwicHJvcHMuYXV0b2ZvY3VzXCJcblx0XHRbYXV0b1pJbmRleF09XCJwcm9wcy5hdXRvWkluZGV4ID8/IHRydWVcIlxuXHRcdFtiYXNlWkluZGV4XT1cInByb3BzLmJhc2VaSW5kZXggPz8gMFwiXG5cdFx0W3BhbmVsU3R5bGVDbGFzc109XCJwcm9wcy5wYW5lbFN0eWxlQ2xhc3NcIlxuXHRcdFtwYW5lbFN0eWxlXT1cInByb3BzLnBhbmVsU3R5bGVcIlxuXHRcdFtrZWVwSW52YWxpZF09XCJwcm9wcy5rZWVwSW52YWxpZFwiXG5cdFx0W2hpZGVPbkRhdGVUaW1lU2VsZWN0XT1cInByb3BzLmhpZGVPbkRhdGVUaW1lU2VsZWN0ID8/IHRydWVcIlxuXHRcdFt0b3VjaFVJXT1cInByb3BzLnRvdWNoVUlcIlxuXHRcdFt0aW1lU2VwYXJhdG9yXT1cInByb3BzLnRpbWVTZXBhcmF0b3IgPz8gJzonXCJcblx0XHRbZm9jdXNUcmFwXT1cInByb3BzLmZvY3VzVHJhcCA/PyB0cnVlXCJcblx0XHRbc2hvd1RyYW5zaXRpb25PcHRpb25zXT1cInByb3BzLnNob3dUcmFuc2l0aW9uT3B0aW9ucyA/PyAnLjEycyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSdcIlxuXHRcdFtoaWRlVHJhbnNpdGlvbk9wdGlvbnNdPVwicHJvcHMuaGlkZVRyYW5zaXRpb25PcHRpb25zID8/ICcuMXMgbGluZWFyJ1wiXG5cdFx0W3RhYmluZGV4XT1cInByb3BzLnRhYmluZGV4XCJcblx0XHRbbWluRGF0ZV09XCJwcm9wcy5taW5EYXRlXCJcblx0XHRbbWF4RGF0ZV09XCJwcm9wcy5tYXhEYXRlXCJcblx0XHRbZGlzYWJsZWREYXRlc109XCJwcm9wcy5kaXNhYmxlZERhdGVzID8/IFtdXCJcblx0XHRbZGlzYWJsZWREYXlzXT1cInByb3BzLmRpc2FibGVkRGF5cyA/PyBbXVwiXG5cdFx0W3Nob3dUaW1lXT1cIiEhcHJvcHMuc2hvd1RpbWVcIlxuXHRcdFtyZXNwb25zaXZlT3B0aW9uc109XCJwcm9wcy5yZXNwb25zaXZlT3B0aW9ucyA/PyBbXVwiXG5cdFx0W251bWJlck9mTW9udGhzXT1cInByb3BzLm51bWJlck9mTW9udGhzID8/IDFcIlxuXHRcdFtmaXJzdERheU9mV2Vla109XCJwcm9wcy5maXJzdERheU9mV2VlayA/PyA3XCJcblx0XHRbdmlld109XCJwcm9wcy52aWV3ID8/ICdkYXRlJ1wiXG5cdFx0W2RlZmF1bHREYXRlXT1cInByb3BzLmRlZmF1bHREYXRlIVwiXG5cdFx0KG9uSW5wdXQpPVwicHJvcHMub25JbnB1dD8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcblx0XHQob25Gb2N1cyk9XCJwcm9wcy5vbkZvY3VzPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvbkJsdXIpPVwicHJvcHMub25CbHVyPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvbkNsb3NlKT1cInByb3BzLm9uQ2xvc2U/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0KG9uU2VsZWN0KT1cInByb3BzLm9uU2VsZWN0Py4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvbkNsZWFyKT1cInByb3BzLm9uQ2xlYXI/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0KG9uVG9kYXlDbGljayk9XCJwcm9wcy5vblRvZGF5Q2xpY2s/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0KG9uQ2xlYXJDbGljayk9XCJwcm9wcy5vbkNsZWFyQ2xpY2s/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0KG9uTW9udGhDaGFuZ2UpPVwicHJvcHMub25Nb250aENoYW5nZT8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcblx0XHQob25ZZWFyQ2hhbmdlKT1cInByb3BzLm9uWWVhckNoYW5nZT8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcblx0XHQob25DbGlja091dHNpZGUpPVwicHJvcHMub25DbGlja091dHNpZGU/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0KG9uU2hvdyk9XCJwcm9wcy5vblNob3c/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0W2NsYXNzXT1cInByb3BzLmNsYXNzXCJcblx0XHRbZm9ybUNvbnRyb2xdPVwiZmllbGQoKSEuZmllbGRDb250cm9sIVwiPlxuXHRcdDxuZy10ZW1wbGF0ZSAjZm9vdGVyPlxuXHRcdFx0QGlmICghIXByb3BzLnNob3dUaW1lICYmICFwcm9wcy50aW1lT25seSkge1xuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdy1yZXZlcnNlIHRleHQtWzEycHhdIHRleHQtW3ZhcigtLXAtcHJpbWFyeS1jb2xvcildIGN1cnNvci1wb2ludGVyXCI+XG5cdFx0XHRcdFx0PGlcblx0XHRcdFx0XHRcdGNsYXNzPVwicGkgcGktcmVwbGF5XCJcblx0XHRcdFx0XHRcdChjbGljayk9XCJyZXNldFRpbWUoJGV2ZW50KVwiPjwvaT5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHR9XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0PC9wLWRhdGVwaWNrZXI+YCxcblx0c3R5bGVVcmw6ICcuLi8uLi9zdHlsZXMvc3R5bGVzLnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyQ29tcG9uZW50IHtcblx0QFZpZXdDaGlsZChEYXRlUGlja2VyLCB7IHN0YXRpYzogZmFsc2UgfSkgZGF0ZVBpY2tlciE6IERhdGVQaWNrZXI7XG5cdEBWaWV3Q2hpbGQoRGF0ZVBpY2tlciwgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIGRhdGVQaWNrZXJSZWYhOiBFbGVtZW50UmVmO1xuXHRmaWVsZCA9IGlucHV0PEZvcm1GaWVsZD4oKTtcblx0cHJvcHM6IERhdGVQaWNrZXJQcm9wcyA9IHt9O1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgYWN0aW9uOiBBY3Rpb25TZXJ2aWNlLFxuXHRcdHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcblx0XHRwcml2YXRlIGRhdGVQaXBlOiBEYXRlUGlwZSxcblx0KSB7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGlmICh0aGlzLmZpZWxkKCkpIHtcblx0XHRcdFx0dGhpcy5wcm9wcyA9IHRoaXMuZmllbGQoKSEuZGF0ZVBpY2tlclByb3BzITtcblx0XHRcdFx0dGhpcy5oYW5kbGVIb29rQ2hhbmdlKCk7XG5cdFx0XHRcdHRoaXMuaGFuZGxlRGlzYWJsZWQoKTtcblx0XHRcdFx0dGhpcy5oYW5kbGVEYXRlUGlwZUZvcm1hdCgpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdGVmZmVjdChcblx0XHRcdCgpID0+IHtcblx0XHRcdFx0Y29uc3QgbGFiZWxBY3Rpb24gPSB0aGlzLmFjdGlvbi5nZXRGaWVsZExhYmVsQWN0aW9uKCk7XG5cdFx0XHRcdGlmICghbGFiZWxBY3Rpb24gfHwgbGFiZWxBY3Rpb24/LmtleSAhPSB0aGlzLmZpZWxkKCk/LnV1aWQpIHtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKGxhYmVsQWN0aW9uLnR5cGUgPT0gJ21vdXNlZW50ZXInKSB7XG5cdFx0XHRcdFx0dGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRhdGVQaWNrZXJSZWYubmF0aXZlRWxlbWVudCwgJ25nLWhvdmVyZWQnKTtcblx0XHRcdFx0fSBlbHNlIGlmIChsYWJlbEFjdGlvbi50eXBlID09ICdtb3VzZWxlYXZlJykge1xuXHRcdFx0XHRcdHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5kYXRlUGlja2VyUmVmLm5hdGl2ZUVsZW1lbnQsICduZy1ob3ZlcmVkJyk7XG5cdFx0XHRcdH0gZWxzZSBpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnY2xpY2snKSB7XG5cdFx0XHRcdFx0dGhpcy5kYXRlUGlja2VyLm92ZXJsYXlWaXNpYmxlID0gdHJ1ZTtcblx0XHRcdFx0XHR0aGlzLmRhdGVQaWNrZXIub25TaG93LmVtaXQoZmFsc2UpO1xuXHRcdFx0XHRcdHRoaXMuZGF0ZVBpY2tlci5jZC5tYXJrRm9yQ2hlY2soKTtcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcblx0XHQpO1xuXHR9XG5cblx0bmdPbkluaXQoKTogdm9pZCB7fVxuXG5cdGhhbmRsZUhvb2tDaGFuZ2UoKSB7XG5cdFx0dGhpcy5maWVsZCgpPy5maWVsZENvbnRyb2w/Lmhvb2tDaGFuZ2Uuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuXHRcdFx0aWYgKCF2YWx1ZSkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHR0aGlzLnByb3BzLm9uSG9va0NoYW5nZT8uKHRoaXMuZmllbGQoKSEsIHsgdmFsdWUgfSk7XG5cdFx0fSk7XG5cdH1cblxuXHRoYW5kbGVEaXNhYmxlZCgpIHtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdGlmICh0aGlzLnByb3BzPy5kaXNhYmxlZCkge1xuXHRcdFx0XHR0aGlzLmZpZWxkKCkhLmZpZWxkQ29udHJvbCEuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRyZXNldFRpbWUoZXZlbnQ6IGFueSkge1xuXHRcdGlmICghdGhpcy5maWVsZCgpIS5maWVsZENvbnRyb2whLnZhbHVlKSByZXR1cm47XG5cdFx0Y29uc3QgY3VycmVudERhdGUgPSB0aGlzLmZvcm1hdFRvTWlkbmlnaHQodGhpcy5maWVsZCgpIS5maWVsZENvbnRyb2whLnZhbHVlKTtcblx0XHR0aGlzLmZpZWxkKCk/LmZpZWxkQ29udHJvbD8uc2V0VmFsdWUoY3VycmVudERhdGUsIHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuXHR9XG5cblx0Zm9ybWF0VG9NaWRuaWdodChkYXRlU3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdGlmICh0aGlzLnByb3BzPy5zaG93U2Vjb25kcyA9PT0gZmFsc2UpIHtcblx0XHRcdGlmICgvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9IFxcZHsyfTpcXGR7Mn0kLy50ZXN0KGRhdGVTdHIpKSB7XG5cdFx0XHRcdHJldHVybiBkYXRlU3RyLnNwbGl0KCcgJylbMF0gKyAnIDAwOjAwJztcblx0XHRcdH1cblx0XHRcdHRocm93IG5ldyBFcnJvcignSW52YWxpZCBkYXRlIGZvcm1hdC4gRXhwZWN0ZWQgeXl5eS1NTS1kZCBoaDptbScpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRpZiAoL15cXGR7NH0tXFxkezJ9LVxcZHsyfSBcXGR7Mn06XFxkezJ9OlxcZHsyfSQvLnRlc3QoZGF0ZVN0cikpIHtcblx0XHRcdFx0cmV0dXJuIGRhdGVTdHIuc3BsaXQoJyAnKVswXSArICcgMDA6MDA6MDAnO1xuXHRcdFx0fVxuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGUgZm9ybWF0LiBFeHBlY3RlZCB5eXl5LU1NLWRkIGhoOm1tOnNzJyk7XG5cdFx0fVxuXHR9XG5cblx0aGFuZGxlRGF0ZVBpcGVGb3JtYXQoKSB7XG5cdFx0dGhpcy5wcm9wcy5kYXRlUGlwZUZvcm1hdCA9IHRoaXMuY29udmVydFByaW1lTmdUb0RhdGVQaXBlRm9ybWF0KHRoaXMucHJvcHMuZGF0ZUZvcm1hdCk7XG5cdFx0aWYgKCF0aGlzLnByb3BzLnNob3dUaW1lKSByZXR1cm47XG5cdFx0Y29uc3QgdGltZVNlcGFyYXRvciA9IHRoaXMucHJvcHMudGltZVNlcGFyYXRvciA/PyAnOic7XG5cdFx0Y29uc3QgdGltZUZvcm1hdCA9IGBISCR7dGltZVNlcGFyYXRvcn1tbSR7dGltZVNlcGFyYXRvcn1zc2A7XG5cdFx0dGhpcy5wcm9wcy5kYXRlUGlwZUZvcm1hdCArPSBgICR7dGltZUZvcm1hdH1gO1xuXHR9XG5cblx0Y29udmVydFByaW1lTmdUb0RhdGVQaXBlRm9ybWF0KHByaW1lTmdGb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG5cdFx0aWYgKCFwcmltZU5nRm9ybWF0KSByZXR1cm4gJ3l5eXktTU0tZGQnO1xuXHRcdGNvbnN0IGZvcm1hdE1hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcblx0XHRcdGQ6ICdkJyxcblx0XHRcdGRkOiAnZGQnLFxuXHRcdFx0bTogJ00nLFxuXHRcdFx0bW06ICdNTScsXG5cdFx0XHRNOiAnTU1NJyxcblx0XHRcdE1NOiAnTU1NTScsXG5cdFx0XHR5OiAneXknLFxuXHRcdFx0eXk6ICd5eXl5Jyxcblx0XHR9O1xuXHRcdGNvbnN0IGNvbW1vbkZvcm1hdHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG5cdFx0XHQnbW0vZGQveXknOiAnTU0vZGQveXl5eScsXG5cdFx0XHQnZGQvbW0veXknOiAnZGQvTU0veXl5eScsXG5cdFx0XHQneXktbW0tZGQnOiAneXl5eS1NTS1kZCcsXG5cdFx0XHQnZGQtbW0teXknOiAnZGQtTU0teXl5eScsXG5cdFx0XHQnbW0tZGQteXknOiAnTU0tZGQteXl5eScsXG5cdFx0fTtcblx0XHRpZiAoY29tbW9uRm9ybWF0c1twcmltZU5nRm9ybWF0XSkge1xuXHRcdFx0cmV0dXJuIGNvbW1vbkZvcm1hdHNbcHJpbWVOZ0Zvcm1hdF07XG5cdFx0fVxuXHRcdC8vIOabv+aNoui9rOS5ieWtl+esplxuXHRcdGxldCByZXN1bHQgPSBwcmltZU5nRm9ybWF0LnJlcGxhY2UoLycoW14nXSopJy9nLCAobWF0Y2gsIHAxKSA9PiB7XG5cdFx0XHRyZXR1cm4gYCcke3AxfSdgO1xuXHRcdH0pO1xuXHRcdC8vIOabv+aNouagvOW8j+agh+iusFxuXHRcdHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKC9bYS16QS1aXSsvZywgKG1hdGNoKSA9PiB7XG5cdFx0XHRyZXR1cm4gZm9ybWF0TWFwW21hdGNoXSB8fCBtYXRjaDtcblx0XHR9KTtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG59XG4iXX0=
314
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9mb3JtL2Zvcm0tdHlwZS9kYXRlcGlja2VyLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQTBCLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBMks3RCxNQUFNLE9BQU8sbUJBQW1CO0lBTS9CLFlBQ1MsTUFBcUIsRUFDckIsUUFBbUIsRUFDbkIsUUFBa0I7UUFGbEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFOM0IsVUFBSyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQzNCLFVBQUssR0FBb0IsRUFBRSxDQUFDO1FBTzNCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUcsQ0FBQyxlQUFnQixDQUFDO2dCQUM1QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM3QixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQ0wsR0FBRyxFQUFFO1lBQ0osTUFB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QUFFLEtBQUssRUFBRTtnQkFDb0IsYUFBYTtzQkFBeEUsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBlZmZlY3QsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEYXRlUGlja2VyIH0gZnJvbSAncHJpbWVuZy9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkLCBGaWVsZFByb3BzLCBBdHRyaWJ1dGVFdmVudCB9IGZyb20gJy4uL2Zvcm0tZmllbGQvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRlUGlja2VyUHJvcHMgZXh0ZW5kcyBGaWVsZFByb3BzIHtcclxuXHRmbHVpZD86IGJvb2xlYW47XHJcblx0aWNvbkFyaWFMYWJlbD86IHN0cmluZztcclxuXHRkYXRlRm9ybWF0Pzogc3RyaW5nO1xyXG5cdGRhdGVQaXBlRm9ybWF0Pzogc3RyaW5nO1xyXG5cdG11bHRpcGxlU2VwYXJhdG9yPzogc3RyaW5nO1xyXG5cdHJhbmdlU2VwYXJhdG9yPzogc3RyaW5nO1xyXG5cdGlubGluZT86IGJvb2xlYW47XHJcblx0c2hvd090aGVyTW9udGhzPzogYm9vbGVhbjtcclxuXHRzZWxlY3RPdGhlck1vbnRocz86IGJvb2xlYW47XHJcblx0c2hvd0ljb24/OiBib29sZWFuO1xyXG5cdGljb24/OiBzdHJpbmc7XHJcblx0YXBwZW5kVG8/OiBhbnk7XHJcblx0cmVhZG9ubHlJbnB1dD86IGJvb2xlYW47XHJcblx0c2hvcnRZZWFyQ3V0b2ZmPzogYW55O1xyXG5cdGhvdXJGb3JtYXQ/OiBzdHJpbmc7XHJcblx0dGltZU9ubHk/OiBib29sZWFuO1xyXG5cdHN0ZXBIb3VyPzogbnVtYmVyO1xyXG5cdHN0ZXBNaW51dGU/OiBudW1iZXI7XHJcblx0c3RlcFNlY29uZD86IG51bWJlcjtcclxuXHRzaG93T25Gb2N1cz86IGJvb2xlYW47XHJcblx0c2hvd1dlZWs/OiBib29sZWFuO1xyXG5cdHN0YXJ0V2Vla0Zyb21GaXJzdERheU9mWWVhcj86IGJvb2xlYW47XHJcblx0c2hvd0NsZWFyPzogYm9vbGVhbjtcclxuXHRkYXRhVHlwZT86IHN0cmluZztcclxuXHRzZWxlY3Rpb25Nb2RlPzogJ3JhbmdlJyB8ICdzaW5nbGUnIHwgJ211bHRpcGxlJztcclxuXHRtYXhEYXRlQ291bnQ/OiBudW1iZXI7XHJcblx0c2hvd0J1dHRvbkJhcj86IGJvb2xlYW47XHJcblx0dG9kYXlCdXR0b25TdHlsZUNsYXNzPzogc3RyaW5nO1xyXG5cdGNsZWFyQnV0dG9uU3R5bGVDbGFzcz86IHN0cmluZztcclxuXHRiYXNlWkluZGV4PzogbnVtYmVyO1xyXG5cdHBhbmVsU3R5bGVDbGFzcz86IHN0cmluZztcclxuXHRwYW5lbFN0eWxlPzogYW55O1xyXG5cdGtlZXBJbnZhbGlkPzogYm9vbGVhbjtcclxuXHRoaWRlT25EYXRlVGltZVNlbGVjdD86IGJvb2xlYW47XHJcblx0dG91Y2hVST86IGJvb2xlYW47XHJcblx0dGltZVNlcGFyYXRvcj86IHN0cmluZztcclxuXHRmb2N1c1RyYXA/OiBib29sZWFuO1xyXG5cdHNob3dUcmFuc2l0aW9uT3B0aW9ucz86IHN0cmluZztcclxuXHRoaWRlVHJhbnNpdGlvbk9wdGlvbnM/OiBzdHJpbmc7XHJcblx0bWluRGF0ZT86IERhdGU7XHJcblx0bWF4RGF0ZT86IERhdGU7XHJcblx0ZGlzYWJsZWREYXRlcz86IERhdGVbXTtcclxuXHRkaXNhYmxlZERheXM/OiBudW1iZXJbXTtcclxuXHRzaG93VGltZT86IGJvb2xlYW47XHJcblx0c2hvd1NlY29uZHM/OiBib29sZWFuO1xyXG5cdHJlc3BvbnNpdmVPcHRpb25zPzogYW55W107XHJcblx0bnVtYmVyT2ZNb250aHM/OiBudW1iZXI7XHJcblx0Zmlyc3REYXlPZldlZWs/OiBudW1iZXI7XHJcblx0dmlldz86IGFueTtcclxuXHRkZWZhdWx0RGF0ZT86IERhdGU7XHJcblx0dGFiaW5kZXg/OiBudW1iZXI7XHJcblx0YXV0b1pJbmRleD86IGJvb2xlYW47XHJcblxyXG5cdG9uSG9va0NoYW5nZT86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uSW5wdXQ/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvbkZvY3VzPzogQXR0cmlidXRlRXZlbnQ7XHJcblx0b25CbHVyPzogQXR0cmlidXRlRXZlbnQ7XHJcblx0b25DbG9zZT86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uU2VsZWN0PzogQXR0cmlidXRlRXZlbnQ7XHJcblx0b25DbGVhcj86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uVG9kYXlDbGljaz86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uQ2xlYXJDbGljaz86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uTW9udGhDaGFuZ2U/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvblllYXJDaGFuZ2U/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvbkNsaWNrT3V0c2lkZT86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uU2hvdz86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdGZvb3RlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdmb3JtLWRhdGVwaWNrZXInLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0cHJvdmlkZXJzOiBbRGF0ZVBpcGVdLFxyXG5cdGltcG9ydHM6IFtEYXRlUGlja2VyLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBOZ1RlbXBsYXRlT3V0bGV0XSxcclxuXHR0ZW1wbGF0ZTogYDxwLWRhdGVwaWNrZXJcclxuXHRcdFtpZF09XCJmaWVsZCgpPy51dWlkXCJcclxuXHRcdFtpbnB1dElkXT1cImZpZWxkKCk/LnV1aWRcIlxyXG5cdFx0W3ZhcmlhbnRdPVwicHJvcHMudmFyaWFudCA/PyAnb3V0bGluZWQnXCJcclxuXHRcdFtmbHVpZF09XCJwcm9wcy5mbHVpZFwiXHJcblx0XHRbc2l6ZV09XCJwcm9wcy5zaXplXCJcclxuXHRcdFtzdHlsZUNsYXNzXT1cInByb3BzLnN0eWxlQ2xhc3NcIlxyXG5cdFx0W2lucHV0U3R5bGVdPVwicHJvcHMuaW5wdXRTdHlsZVwiXHJcblx0XHRbaW5wdXRTdHlsZUNsYXNzXT1cInByb3BzLmlucHV0U3R5bGVDbGFzc1wiXHJcblx0XHRbbmFtZV09XCJwcm9wcy5uYW1lXCJcclxuXHRcdFtwbGFjZWhvbGRlcl09XCJwcm9wcy5wbGFjZWhvbGRlclwiXHJcblx0XHRbYXJpYUxhYmVsbGVkQnldPVwicHJvcHMuYXJpYUxhYmVsbGVkQnlcIlxyXG5cdFx0W2FyaWFMYWJlbF09XCJwcm9wcy5hcmlhTGFiZWxcIlxyXG5cdFx0W2ljb25BcmlhTGFiZWxdPVwicHJvcHMuaWNvbkFyaWFMYWJlbFwiXHJcblx0XHRbZGF0ZUZvcm1hdF09XCJwcm9wcy5kYXRlRm9ybWF0ID8/ICd5eS1tbS1kZCdcIlxyXG5cdFx0W211bHRpcGxlU2VwYXJhdG9yXT1cInByb3BzLm11bHRpcGxlU2VwYXJhdG9yID8/ICcsJ1wiXHJcblx0XHRbcmFuZ2VTZXBhcmF0b3JdPVwicHJvcHMucmFuZ2VTZXBhcmF0b3IgPz8gJy0nXCJcclxuXHRcdFtpbmxpbmVdPVwicHJvcHMuaW5saW5lXCJcclxuXHRcdFtzaG93T3RoZXJNb250aHNdPVwicHJvcHMuc2hvd090aGVyTW9udGhzID8/IHRydWVcIlxyXG5cdFx0W3NlbGVjdE90aGVyTW9udGhzXT1cInByb3BzLnNlbGVjdE90aGVyTW9udGhzXCJcclxuXHRcdFtzaG93SWNvbl09XCJwcm9wcy5zaG93SWNvblwiXHJcblx0XHRbZmx1aWRdPVwicHJvcHMuZmx1aWQgPz8gdHJ1ZVwiXHJcblx0XHRbaWNvbl09XCJwcm9wcy5pY29uXCJcclxuXHRcdFthcHBlbmRUb109XCJwcm9wcy5hcHBlbmRUbyA/PyAnYm9keSdcIlxyXG5cdFx0W3JlYWRvbmx5SW5wdXRdPVwicHJvcHMucmVhZG9ubHlJbnB1dFwiXHJcblx0XHRbc2hvcnRZZWFyQ3V0b2ZmXT1cInByb3BzLnNob3J0WWVhckN1dG9mZlwiXHJcblx0XHRbaG91ckZvcm1hdF09XCJwcm9wcy5ob3VyRm9ybWF0ID8/ICcyNCdcIlxyXG5cdFx0W3RpbWVPbmx5XT1cInByb3BzLnRpbWVPbmx5XCJcclxuXHRcdFtzdGVwSG91cl09XCJwcm9wcy5zdGVwSG91ciA/PyAxXCJcclxuXHRcdFtzdGVwTWludXRlXT1cInByb3BzLnN0ZXBNaW51dGUgPz8gMVwiXHJcblx0XHRbc3RlcFNlY29uZF09XCJwcm9wcy5zdGVwU2Vjb25kID8/IDFcIlxyXG5cdFx0W3Nob3dTZWNvbmRzXT1cInByb3BzLnNob3dTZWNvbmRzID8/ICEhcHJvcHMuc2hvd1RpbWVcIlxyXG5cdFx0W3Nob3dPbkZvY3VzXT1cInByb3BzLnNob3dPbkZvY3VzID8/IHRydWVcIlxyXG5cdFx0W3Nob3dXZWVrXT1cInByb3BzLnNob3dXZWVrXCJcclxuXHRcdFtzdGFydFdlZWtGcm9tRmlyc3REYXlPZlllYXJdPVwiISFwcm9wcy5zdGFydFdlZWtGcm9tRmlyc3REYXlPZlllYXJcIlxyXG5cdFx0W3Nob3dDbGVhcl09XCJwcm9wcy5zaG93Q2xlYXJcIlxyXG5cdFx0W2RhdGFUeXBlXT1cInByb3BzLmRhdGFUeXBlID8/ICdzdHJpbmcnXCJcclxuXHRcdFtzZWxlY3Rpb25Nb2RlXT1cInByb3BzLnNlbGVjdGlvbk1vZGUgPz8gJ3NpbmdsZSdcIlxyXG5cdFx0W21heERhdGVDb3VudF09XCJwcm9wcy5tYXhEYXRlQ291bnRcIlxyXG5cdFx0W3Nob3dCdXR0b25CYXJdPVwicHJvcHMuc2hvd0J1dHRvbkJhclwiXHJcblx0XHRbdG9kYXlCdXR0b25TdHlsZUNsYXNzXT1cInByb3BzLnRvZGF5QnV0dG9uU3R5bGVDbGFzc1wiXHJcblx0XHRbY2xlYXJCdXR0b25TdHlsZUNsYXNzXT1cInByb3BzLmNsZWFyQnV0dG9uU3R5bGVDbGFzc1wiXHJcblx0XHRbYXV0b2ZvY3VzXT1cInByb3BzLmF1dG9mb2N1c1wiXHJcblx0XHRbYXV0b1pJbmRleF09XCJwcm9wcy5hdXRvWkluZGV4ID8/IHRydWVcIlxyXG5cdFx0W2Jhc2VaSW5kZXhdPVwicHJvcHMuYmFzZVpJbmRleCA/PyAwXCJcclxuXHRcdFtwYW5lbFN0eWxlQ2xhc3NdPVwicHJvcHMucGFuZWxTdHlsZUNsYXNzXCJcclxuXHRcdFtwYW5lbFN0eWxlXT1cInByb3BzLnBhbmVsU3R5bGVcIlxyXG5cdFx0W2tlZXBJbnZhbGlkXT1cInByb3BzLmtlZXBJbnZhbGlkXCJcclxuXHRcdFtoaWRlT25EYXRlVGltZVNlbGVjdF09XCJwcm9wcy5oaWRlT25EYXRlVGltZVNlbGVjdCA/PyB0cnVlXCJcclxuXHRcdFt0b3VjaFVJXT1cInByb3BzLnRvdWNoVUlcIlxyXG5cdFx0W3RpbWVTZXBhcmF0b3JdPVwicHJvcHMudGltZVNlcGFyYXRvciA/PyAnOidcIlxyXG5cdFx0W2ZvY3VzVHJhcF09XCJwcm9wcy5mb2N1c1RyYXAgPz8gdHJ1ZVwiXHJcblx0XHRbc2hvd1RyYW5zaXRpb25PcHRpb25zXT1cInByb3BzLnNob3dUcmFuc2l0aW9uT3B0aW9ucyA/PyAnLjEycyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSdcIlxyXG5cdFx0W2hpZGVUcmFuc2l0aW9uT3B0aW9uc109XCJwcm9wcy5oaWRlVHJhbnNpdGlvbk9wdGlvbnMgPz8gJy4xcyBsaW5lYXInXCJcclxuXHRcdFt0YWJpbmRleF09XCJwcm9wcy50YWJpbmRleFwiXHJcblx0XHRbbWluRGF0ZV09XCJwcm9wcy5taW5EYXRlXCJcclxuXHRcdFttYXhEYXRlXT1cInByb3BzLm1heERhdGVcIlxyXG5cdFx0W2Rpc2FibGVkRGF0ZXNdPVwicHJvcHMuZGlzYWJsZWREYXRlcyA/PyBbXVwiXHJcblx0XHRbZGlzYWJsZWREYXlzXT1cInByb3BzLmRpc2FibGVkRGF5cyA/PyBbXVwiXHJcblx0XHRbc2hvd1RpbWVdPVwiISFwcm9wcy5zaG93VGltZVwiXHJcblx0XHRbcmVzcG9uc2l2ZU9wdGlvbnNdPVwicHJvcHMucmVzcG9uc2l2ZU9wdGlvbnMgPz8gW11cIlxyXG5cdFx0W251bWJlck9mTW9udGhzXT1cInByb3BzLm51bWJlck9mTW9udGhzID8/IDFcIlxyXG5cdFx0W2ZpcnN0RGF5T2ZXZWVrXT1cInByb3BzLmZpcnN0RGF5T2ZXZWVrID8/IDdcIlxyXG5cdFx0W3ZpZXddPVwicHJvcHMudmlldyA/PyAnZGF0ZSdcIlxyXG5cdFx0W2RlZmF1bHREYXRlXT1cInByb3BzLmRlZmF1bHREYXRlIVwiXHJcblx0XHQob25JbnB1dCk9XCJwcm9wcy5vbklucHV0Py4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KG9uRm9jdXMpPVwicHJvcHMub25Gb2N1cz8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvbkJsdXIpPVwicHJvcHMub25CbHVyPy4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KG9uQ2xvc2UpPVwicHJvcHMub25DbG9zZT8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvblNlbGVjdCk9XCJwcm9wcy5vblNlbGVjdD8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvbkNsZWFyKT1cInByb3BzLm9uQ2xlYXI/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHQob25Ub2RheUNsaWNrKT1cInByb3BzLm9uVG9kYXlDbGljaz8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvbkNsZWFyQ2xpY2spPVwicHJvcHMub25DbGVhckNsaWNrPy4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KG9uTW9udGhDaGFuZ2UpPVwicHJvcHMub25Nb250aENoYW5nZT8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvblllYXJDaGFuZ2UpPVwicHJvcHMub25ZZWFyQ2hhbmdlPy4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KG9uQ2xpY2tPdXRzaWRlKT1cInByb3BzLm9uQ2xpY2tPdXRzaWRlPy4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KG9uU2hvdyk9XCJwcm9wcy5vblNob3c/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHRbY2xhc3NdPVwicHJvcHMuY2xhc3NcIlxyXG5cdFx0W2Zvcm1Db250cm9sXT1cImZpZWxkKCkhLmZpZWxkQ29udHJvbCFcIj5cclxuXHRcdDxuZy10ZW1wbGF0ZSAjZm9vdGVyPlxyXG5cdFx0XHRAaWYgKCEhcHJvcHMuc2hvd1RpbWUgJiYgIXByb3BzLnRpbWVPbmx5KSB7XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3ctcmV2ZXJzZSB0ZXh0LVsxMnB4XSB0ZXh0LVt2YXIoLS1wLXByaW1hcnktY29sb3IpXSBjdXJzb3ItcG9pbnRlclwiPlxyXG5cdFx0XHRcdFx0PGlcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJwaSBwaS1yZXBsYXlcIlxyXG5cdFx0XHRcdFx0XHQoY2xpY2spPVwicmVzZXRUaW1lKCRldmVudClcIj48L2k+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdH0gQGVsc2UgaWYgKCEhcHJvcHMuZm9vdGVyVGVtcGxhdGUpIHtcclxuXHRcdFx0XHQ8IS0tdG9kbyDmnKrmnaXliqDlhaXoh6rlrprkuYnljLrpl7TpgInpobktLT5cclxuXHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJvcHMuZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHRcdFx0fVxyXG5cdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHQ8L3AtZGF0ZXBpY2tlcj5gLFxyXG5cdHN0eWxlVXJsOiAnLi4vLi4vc3R5bGVzL3N0eWxlcy5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVQaWNrZXJDb21wb25lbnQge1xyXG5cdEBWaWV3Q2hpbGQoRGF0ZVBpY2tlciwgeyBzdGF0aWM6IGZhbHNlIH0pIGRhdGVQaWNrZXIhOiBEYXRlUGlja2VyO1xyXG5cdEBWaWV3Q2hpbGQoRGF0ZVBpY2tlciwgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIGRhdGVQaWNrZXJSZWYhOiBFbGVtZW50UmVmO1xyXG5cdGZpZWxkID0gaW5wdXQ8Rm9ybUZpZWxkPigpO1xyXG5cdHByb3BzOiBEYXRlUGlja2VyUHJvcHMgPSB7fTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIGFjdGlvbjogQWN0aW9uU2VydmljZSxcclxuXHRcdHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuXHRcdHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlLFxyXG5cdCkge1xyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuZmllbGQoKSkge1xyXG5cdFx0XHRcdHRoaXMucHJvcHMgPSB0aGlzLmZpZWxkKCkhLmRhdGVQaWNrZXJQcm9wcyE7XHJcblx0XHRcdFx0dGhpcy5oYW5kbGVIb29rQ2hhbmdlKCk7XHJcblx0XHRcdFx0dGhpcy5oYW5kbGVEaXNhYmxlZCgpO1xyXG5cdFx0XHRcdHRoaXMuaGFuZGxlRGF0ZVBpcGVGb3JtYXQoKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0XHRlZmZlY3QoXHJcblx0XHRcdCgpID0+IHtcclxuXHRcdFx0XHRjb25zdCBsYWJlbEFjdGlvbiA9IHRoaXMuYWN0aW9uLmdldEZpZWxkTGFiZWxBY3Rpb24oKTtcclxuXHRcdFx0XHRpZiAoIWxhYmVsQWN0aW9uIHx8IGxhYmVsQWN0aW9uPy5rZXkgIT0gdGhpcy5maWVsZCgpPy51dWlkKSB7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChsYWJlbEFjdGlvbi50eXBlID09ICdtb3VzZWVudGVyJykge1xyXG5cdFx0XHRcdFx0dGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRhdGVQaWNrZXJSZWYubmF0aXZlRWxlbWVudCwgJ25nLWhvdmVyZWQnKTtcclxuXHRcdFx0XHR9IGVsc2UgaWYgKGxhYmVsQWN0aW9uLnR5cGUgPT0gJ21vdXNlbGVhdmUnKSB7XHJcblx0XHRcdFx0XHR0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZGF0ZVBpY2tlclJlZi5uYXRpdmVFbGVtZW50LCAnbmctaG92ZXJlZCcpO1xyXG5cdFx0XHRcdH0gZWxzZSBpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnY2xpY2snKSB7XHJcblx0XHRcdFx0XHR0aGlzLmRhdGVQaWNrZXIub3ZlcmxheVZpc2libGUgPSB0cnVlO1xyXG5cdFx0XHRcdFx0dGhpcy5kYXRlUGlja2VyLm9uU2hvdy5lbWl0KGZhbHNlKTtcclxuXHRcdFx0XHRcdHRoaXMuZGF0ZVBpY2tlci5jZC5tYXJrRm9yQ2hlY2soKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG5cdGhhbmRsZUhvb2tDaGFuZ2UoKSB7XHJcblx0XHR0aGlzLmZpZWxkKCk/LmZpZWxkQ29udHJvbD8uaG9va0NoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcblx0XHRcdGlmICghdmFsdWUpIHtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5wcm9wcy5vbkhvb2tDaGFuZ2U/Lih0aGlzLmZpZWxkKCkhLCB7IHZhbHVlIH0pO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRoYW5kbGVEaXNhYmxlZCgpIHtcclxuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5wcm9wcz8uZGlzYWJsZWQpIHtcclxuXHRcdFx0XHR0aGlzLmZpZWxkKCkhLmZpZWxkQ29udHJvbCEuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cmVzZXRUaW1lKGV2ZW50OiBhbnkpIHtcclxuXHRcdGlmICghdGhpcy5maWVsZCgpIS5maWVsZENvbnRyb2whLnZhbHVlKSByZXR1cm47XHJcblx0XHRjb25zdCBjdXJyZW50RGF0ZSA9IHRoaXMuZm9ybWF0VG9NaWRuaWdodCh0aGlzLmZpZWxkKCkhLmZpZWxkQ29udHJvbCEudmFsdWUpO1xyXG5cdFx0dGhpcy5maWVsZCgpPy5maWVsZENvbnRyb2w/LnNldFZhbHVlKGN1cnJlbnREYXRlLCB7IGVtaXRFdmVudDogdHJ1ZSB9KTtcclxuXHR9XHJcblxyXG5cdGZvcm1hdFRvTWlkbmlnaHQoZGF0ZVN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuXHRcdGlmICh0aGlzLnByb3BzPy5zaG93U2Vjb25kcyA9PT0gZmFsc2UpIHtcclxuXHRcdFx0aWYgKC9eXFxkezR9LVxcZHsyfS1cXGR7Mn0gXFxkezJ9OlxcZHsyfSQvLnRlc3QoZGF0ZVN0cikpIHtcclxuXHRcdFx0XHRyZXR1cm4gZGF0ZVN0ci5zcGxpdCgnICcpWzBdICsgJyAwMDowMCc7XHJcblx0XHRcdH1cclxuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGUgZm9ybWF0LiBFeHBlY3RlZCB5eXl5LU1NLWRkIGhoOm1tJyk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRpZiAoL15cXGR7NH0tXFxkezJ9LVxcZHsyfSBcXGR7Mn06XFxkezJ9OlxcZHsyfSQvLnRlc3QoZGF0ZVN0cikpIHtcclxuXHRcdFx0XHRyZXR1cm4gZGF0ZVN0ci5zcGxpdCgnICcpWzBdICsgJyAwMDowMDowMCc7XHJcblx0XHRcdH1cclxuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGUgZm9ybWF0LiBFeHBlY3RlZCB5eXl5LU1NLWRkIGhoOm1tOnNzJyk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRoYW5kbGVEYXRlUGlwZUZvcm1hdCgpIHtcclxuXHRcdHRoaXMucHJvcHMuZGF0ZVBpcGVGb3JtYXQgPSB0aGlzLmNvbnZlcnRQcmltZU5nVG9EYXRlUGlwZUZvcm1hdCh0aGlzLnByb3BzLmRhdGVGb3JtYXQpO1xyXG5cdFx0aWYgKCF0aGlzLnByb3BzLnNob3dUaW1lKSByZXR1cm47XHJcblx0XHRjb25zdCB0aW1lU2VwYXJhdG9yID0gdGhpcy5wcm9wcy50aW1lU2VwYXJhdG9yID8/ICc6JztcclxuXHRcdGNvbnN0IHRpbWVGb3JtYXQgPSBgSEgke3RpbWVTZXBhcmF0b3J9bW0ke3RpbWVTZXBhcmF0b3J9c3NgO1xyXG5cdFx0dGhpcy5wcm9wcy5kYXRlUGlwZUZvcm1hdCArPSBgICR7dGltZUZvcm1hdH1gO1xyXG5cdH1cclxuXHJcblx0Y29udmVydFByaW1lTmdUb0RhdGVQaXBlRm9ybWF0KHByaW1lTmdGb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcblx0XHRpZiAoIXByaW1lTmdGb3JtYXQpIHJldHVybiAneXl5eS1NTS1kZCc7XHJcblx0XHRjb25zdCBmb3JtYXRNYXA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XHJcblx0XHRcdGQ6ICdkJyxcclxuXHRcdFx0ZGQ6ICdkZCcsXHJcblx0XHRcdG06ICdNJyxcclxuXHRcdFx0bW06ICdNTScsXHJcblx0XHRcdE06ICdNTU0nLFxyXG5cdFx0XHRNTTogJ01NTU0nLFxyXG5cdFx0XHR5OiAneXknLFxyXG5cdFx0XHR5eTogJ3l5eXknLFxyXG5cdFx0fTtcclxuXHRcdGNvbnN0IGNvbW1vbkZvcm1hdHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XHJcblx0XHRcdCdtbS9kZC95eSc6ICdNTS9kZC95eXl5JyxcclxuXHRcdFx0J2RkL21tL3l5JzogJ2RkL01NL3l5eXknLFxyXG5cdFx0XHQneXktbW0tZGQnOiAneXl5eS1NTS1kZCcsXHJcblx0XHRcdCdkZC1tbS15eSc6ICdkZC1NTS15eXl5JyxcclxuXHRcdFx0J21tLWRkLXl5JzogJ01NLWRkLXl5eXknLFxyXG5cdFx0fTtcclxuXHRcdGlmIChjb21tb25Gb3JtYXRzW3ByaW1lTmdGb3JtYXRdKSB7XHJcblx0XHRcdHJldHVybiBjb21tb25Gb3JtYXRzW3ByaW1lTmdGb3JtYXRdO1xyXG5cdFx0fVxyXG5cdFx0Ly8g5pu/5o2i6L2s5LmJ5a2X56ymXHJcblx0XHRsZXQgcmVzdWx0ID0gcHJpbWVOZ0Zvcm1hdC5yZXBsYWNlKC8nKFteJ10qKScvZywgKG1hdGNoLCBwMSkgPT4ge1xyXG5cdFx0XHRyZXR1cm4gYCcke3AxfSdgO1xyXG5cdFx0fSk7XHJcblx0XHQvLyDmm7/mjaLmoLzlvI/moIforrBcclxuXHRcdHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKC9bYS16QS1aXSsvZywgKG1hdGNoKSA9PiB7XHJcblx0XHRcdHJldHVybiBmb3JtYXRNYXBbbWF0Y2hdIHx8IG1hdGNoO1xyXG5cdFx0fSk7XHJcblx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdH1cclxufVxyXG4iXX0=