aril 0.0.76 → 0.0.77

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 (31) hide show
  1. package/esm2022/theme/layout/app/breadcrumb/app.breadcrumb.component.mjs +3 -3
  2. package/esm2022/theme/layout/app/layout/app.layout.component.mjs +3 -3
  3. package/esm2022/theme/layout/app/menu/app.menu.component.mjs +3 -3
  4. package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +13 -12
  5. package/esm2022/ui/calendar/src/calendar.component.mjs +5 -3
  6. package/esm2022/ui/panel/src/panel.component.mjs +5 -3
  7. package/esm2022/ui/table/src/table.component.mjs +3 -3
  8. package/fesm2022/aril-theme-layout.mjs +18 -17
  9. package/fesm2022/aril-theme-layout.mjs.map +1 -1
  10. package/fesm2022/aril-ui-calendar.mjs +4 -2
  11. package/fesm2022/aril-ui-calendar.mjs.map +1 -1
  12. package/fesm2022/aril-ui-panel.mjs +4 -2
  13. package/fesm2022/aril-ui-panel.mjs.map +1 -1
  14. package/fesm2022/aril-ui-table.mjs +2 -2
  15. package/fesm2022/aril-ui-table.mjs.map +1 -1
  16. package/package.json +126 -126
  17. package/theme/layout/app/breadcrumb/app.breadcrumb.component.html +7 -7
  18. package/theme/layout/app/layout/app.layout.component.html +10 -10
  19. package/theme/layout/app/menu/app.menu.component.ts +5 -3
  20. package/theme/layout/app/topbar/app.topbar.component.html +10 -29
  21. package/theme/layout/app/topbar/app.topbar.component.ts +13 -11
  22. package/theme/styles/layout/_breadcrumb.scss +13 -0
  23. package/theme/styles/layout/_content.scss +6 -0
  24. package/theme/styles/layout/_sidebar_slim_plus.scss +14 -11
  25. package/theme/styles/layout/_sidebar_vertical.scss +3 -0
  26. package/theme/styles/layout/_topbar.scss +18 -19
  27. package/theme/styles/theme/base/components/panel/_panel.scss +1 -0
  28. package/theme/styles/theme/dark/_variables.scss +1 -1
  29. package/theme/styles/theme/light/_variables.scss +3 -2
  30. package/ui/calendar/src/calendar.component.d.ts +3 -1
  31. package/ui/panel/src/panel.component.d.ts +3 -1
@@ -25,6 +25,8 @@ export class CalendarComponent extends BaseInputComponent {
25
25
  this.minDate = input();
26
26
  this.maxDate = input();
27
27
  this.inputStyle = input();
28
+ this.inputStyleClass = input();
29
+ this.autoZIndex = input(false);
28
30
  this.inline = input(false);
29
31
  this.showIcon = input(false);
30
32
  this.showTime = input(false);
@@ -145,10 +147,10 @@ export class CalendarComponent extends BaseInputComponent {
145
147
  });
146
148
  }
147
149
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CalendarComponent, deps: [{ token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component }); }
148
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: CalendarComponent, isStandalone: true, selector: "aril-calendar[ngModel], aril-calendar[formControl], aril-calendar[formControlName]", inputs: { minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, inputStyle: { classPropertyName: "inputStyle", publicName: "inputStyle", isSignal: true, isRequired: false, transformFunction: null }, inline: { classPropertyName: "inline", publicName: "inline", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, showTime: { classPropertyName: "showTime", publicName: "showTime", isSignal: true, isRequired: false, transformFunction: null }, showWeek: { classPropertyName: "showWeek", publicName: "showWeek", isSignal: true, isRequired: false, transformFunction: null }, showSeconds: { classPropertyName: "showSeconds", publicName: "showSeconds", isSignal: true, isRequired: false, transformFunction: null }, disabledDates: { classPropertyName: "disabledDates", publicName: "disabledDates", isSignal: true, isRequired: false, transformFunction: null }, numberOfMonthToShow: { classPropertyName: "numberOfMonthToShow", publicName: "numberOfMonthToShow", isSignal: true, isRequired: false, transformFunction: null }, view: { classPropertyName: "view", publicName: "view", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, showOnFocus: { classPropertyName: "showOnFocus", publicName: "showOnFocus", isSignal: true, isRequired: false, transformFunction: null }, timeOnly: { classPropertyName: "timeOnly", publicName: "timeOnly", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, hostDirectives: [{ directive: i2.ValueAccessorDirective }], ngImport: i0, template: "<div [ngClass]=\"{ invalidCalendar: ngControl.dirty && ngControl.invalid }\">\r\n\t<p-calendar\r\n\t\t[showIcon]=\"true\"\r\n\t\t[iconDisplay]=\"'input'\" \r\n\t\t[dateFormat]=\"_dateFormat()\"\r\n\t\t[showButtonBar]=\"true\"\r\n\t\t[minDate]=\"_minJSDate()\"\r\n\t\t[maxDate]=\"_maxJSDate()\"\r\n\t\t[tabindex]=\"tabindex()\"\r\n\t\t[disabledDates]=\"_selectedDisabledDates()\"\r\n\t\t[selectionMode]=\"selectionMode()\"\r\n\t\t[disabled]=\"ngControl.control.disabled\"\r\n\t\t[readonlyInput]=\"false\"\r\n\t\t[showTime]=\"showTime()\"\r\n\t\t[showSeconds]=\"showSeconds()\"\r\n\t\t[inline]=\"inline()\"\r\n\t\t[showWeek]=\"showWeek()\"\r\n\t\t[showOnFocus]=\"showOnFocus()\"\r\n\t\t[timeOnly]=\"timeOnly()\"\r\n\t\t[view]=\"view()\"\r\n\t\t[inputStyle]='inputStyle()'\r\n\t\t[firstDayOfWeek]=\"1\"\r\n\t\t[pTooltip]=\"ngControl.invalid ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\r\n\t\t[tooltipOptions]=\"tooltipOptions\"\r\n\t\t[numberOfMonths]=\"numberOfMonthToShow()\"\r\n\t\t[(ngModel)]=\"model\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event); setFormCtrl($event)\"\r\n\t\tappendTo=\"body\">\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t</p-calendar>\r\n</div>\r\n", styles: [".invalidCalendar{border:1px solid #e24c4c;border-radius:6px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i4.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "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", "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: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "pipe", type: InputErrorMessagePipe, name: "inputErrorMessage" }] }); }
150
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: CalendarComponent, isStandalone: true, selector: "aril-calendar[ngModel], aril-calendar[formControl], aril-calendar[formControlName]", inputs: { minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, inputStyle: { classPropertyName: "inputStyle", publicName: "inputStyle", isSignal: true, isRequired: false, transformFunction: null }, inputStyleClass: { classPropertyName: "inputStyleClass", publicName: "inputStyleClass", isSignal: true, isRequired: false, transformFunction: null }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: true, isRequired: false, transformFunction: null }, inline: { classPropertyName: "inline", publicName: "inline", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, showTime: { classPropertyName: "showTime", publicName: "showTime", isSignal: true, isRequired: false, transformFunction: null }, showWeek: { classPropertyName: "showWeek", publicName: "showWeek", isSignal: true, isRequired: false, transformFunction: null }, showSeconds: { classPropertyName: "showSeconds", publicName: "showSeconds", isSignal: true, isRequired: false, transformFunction: null }, disabledDates: { classPropertyName: "disabledDates", publicName: "disabledDates", isSignal: true, isRequired: false, transformFunction: null }, numberOfMonthToShow: { classPropertyName: "numberOfMonthToShow", publicName: "numberOfMonthToShow", isSignal: true, isRequired: false, transformFunction: null }, view: { classPropertyName: "view", publicName: "view", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, showOnFocus: { classPropertyName: "showOnFocus", publicName: "showOnFocus", isSignal: true, isRequired: false, transformFunction: null }, timeOnly: { classPropertyName: "timeOnly", publicName: "timeOnly", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, hostDirectives: [{ directive: i2.ValueAccessorDirective }], ngImport: i0, template: "<div [ngClass]=\"{ invalidCalendar: ngControl.dirty && ngControl.invalid }\">\r\n\t<p-calendar\r\n\t\t[showIcon]=\"true\"\r\n\t\t[iconDisplay]=\"'input'\" \r\n\t\t[dateFormat]=\"_dateFormat()\"\r\n\t\t[showButtonBar]=\"true\"\r\n\t\t[minDate]=\"_minJSDate()\"\r\n\t\t[maxDate]=\"_maxJSDate()\"\r\n\t\t[tabindex]=\"tabindex()\"\r\n\t\t[disabledDates]=\"_selectedDisabledDates()\"\r\n\t\t[selectionMode]=\"selectionMode()\"\r\n\t\t[disabled]=\"ngControl.control.disabled\"\r\n\t\t[readonlyInput]=\"false\"\r\n\t\t[showTime]=\"showTime()\"\r\n\t\t[showSeconds]=\"showSeconds()\"\r\n\t\t[inline]=\"inline()\"\r\n\t\t[showWeek]=\"showWeek()\"\r\n\t\t[showOnFocus]=\"showOnFocus()\"\r\n\t\t[timeOnly]=\"timeOnly()\"\r\n\t\t[view]=\"view()\"\r\n\t\t[inputStyle]='inputStyle()'\r\n\t\t[inputStyleClass]=\"inputStyleClass()\"\r\n\t\t[firstDayOfWeek]=\"1\"\r\n\t\t[autoZIndex]=\"autoZIndex()\"\r\n\t\t[pTooltip]=\"ngControl.invalid ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\r\n\t\t[tooltipOptions]=\"tooltipOptions\"\r\n\t\t[numberOfMonths]=\"numberOfMonthToShow()\"\r\n\t\t[(ngModel)]=\"model\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event); setFormCtrl($event)\"\r\n\t\tappendTo=\"body\">\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t</p-calendar>\r\n</div>\r\n", styles: [".invalidCalendar{border:1px solid #e24c4c;border-radius:6px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i4.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "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", "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: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "pipe", type: InputErrorMessagePipe, name: "inputErrorMessage" }] }); }
149
151
  }
150
152
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CalendarComponent, decorators: [{
151
153
  type: Component,
152
- args: [{ standalone: true, selector: 'aril-calendar[ngModel], aril-calendar[formControl], aril-calendar[formControlName]', imports: [ReactiveFormsModule, FormsModule, NgClass, CalendarModule, TooltipModule, InputErrorMessagePipe], hostDirectives: [ValueAccessorDirective], template: "<div [ngClass]=\"{ invalidCalendar: ngControl.dirty && ngControl.invalid }\">\r\n\t<p-calendar\r\n\t\t[showIcon]=\"true\"\r\n\t\t[iconDisplay]=\"'input'\" \r\n\t\t[dateFormat]=\"_dateFormat()\"\r\n\t\t[showButtonBar]=\"true\"\r\n\t\t[minDate]=\"_minJSDate()\"\r\n\t\t[maxDate]=\"_maxJSDate()\"\r\n\t\t[tabindex]=\"tabindex()\"\r\n\t\t[disabledDates]=\"_selectedDisabledDates()\"\r\n\t\t[selectionMode]=\"selectionMode()\"\r\n\t\t[disabled]=\"ngControl.control.disabled\"\r\n\t\t[readonlyInput]=\"false\"\r\n\t\t[showTime]=\"showTime()\"\r\n\t\t[showSeconds]=\"showSeconds()\"\r\n\t\t[inline]=\"inline()\"\r\n\t\t[showWeek]=\"showWeek()\"\r\n\t\t[showOnFocus]=\"showOnFocus()\"\r\n\t\t[timeOnly]=\"timeOnly()\"\r\n\t\t[view]=\"view()\"\r\n\t\t[inputStyle]='inputStyle()'\r\n\t\t[firstDayOfWeek]=\"1\"\r\n\t\t[pTooltip]=\"ngControl.invalid ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\r\n\t\t[tooltipOptions]=\"tooltipOptions\"\r\n\t\t[numberOfMonths]=\"numberOfMonthToShow()\"\r\n\t\t[(ngModel)]=\"model\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event); setFormCtrl($event)\"\r\n\t\tappendTo=\"body\">\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t</p-calendar>\r\n</div>\r\n", styles: [".invalidCalendar{border:1px solid #e24c4c;border-radius:6px}\n"] }]
154
+ args: [{ standalone: true, selector: 'aril-calendar[ngModel], aril-calendar[formControl], aril-calendar[formControlName]', imports: [ReactiveFormsModule, FormsModule, NgClass, CalendarModule, TooltipModule, InputErrorMessagePipe], hostDirectives: [ValueAccessorDirective], template: "<div [ngClass]=\"{ invalidCalendar: ngControl.dirty && ngControl.invalid }\">\r\n\t<p-calendar\r\n\t\t[showIcon]=\"true\"\r\n\t\t[iconDisplay]=\"'input'\" \r\n\t\t[dateFormat]=\"_dateFormat()\"\r\n\t\t[showButtonBar]=\"true\"\r\n\t\t[minDate]=\"_minJSDate()\"\r\n\t\t[maxDate]=\"_maxJSDate()\"\r\n\t\t[tabindex]=\"tabindex()\"\r\n\t\t[disabledDates]=\"_selectedDisabledDates()\"\r\n\t\t[selectionMode]=\"selectionMode()\"\r\n\t\t[disabled]=\"ngControl.control.disabled\"\r\n\t\t[readonlyInput]=\"false\"\r\n\t\t[showTime]=\"showTime()\"\r\n\t\t[showSeconds]=\"showSeconds()\"\r\n\t\t[inline]=\"inline()\"\r\n\t\t[showWeek]=\"showWeek()\"\r\n\t\t[showOnFocus]=\"showOnFocus()\"\r\n\t\t[timeOnly]=\"timeOnly()\"\r\n\t\t[view]=\"view()\"\r\n\t\t[inputStyle]='inputStyle()'\r\n\t\t[inputStyleClass]=\"inputStyleClass()\"\r\n\t\t[firstDayOfWeek]=\"1\"\r\n\t\t[autoZIndex]=\"autoZIndex()\"\r\n\t\t[pTooltip]=\"ngControl.invalid ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\r\n\t\t[tooltipOptions]=\"tooltipOptions\"\r\n\t\t[numberOfMonths]=\"numberOfMonthToShow()\"\r\n\t\t[(ngModel)]=\"model\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event); setFormCtrl($event)\"\r\n\t\tappendTo=\"body\">\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t</p-calendar>\r\n</div>\r\n", styles: [".invalidCalendar{border:1px solid #e24c4c;border-radius:6px}\n"] }]
153
155
  }], ctorParameters: () => [{ type: i1.PrimeNGConfig }] });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZEOztFQUVFO0FBQ0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBVSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hHLE9BQU8sZ0NBQWdDLENBQUM7Ozs7Ozs7QUFheEMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQUN4RCxZQUFvQixhQUE0QjtRQUMvQyxLQUFLLEVBQUUsQ0FBQztRQURXLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBSy9CLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFrRDdDLFlBQU8sR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUMxQixZQUFPLEdBQUcsS0FB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SyxFQUFFLEtBQUssQ0FBQztZQUM5RCxhQUFhLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7WUFDaEUsVUFBVSxFQUFFO2dCQUNYLE1BQU07Z0JBQ04sT0FBTztnQkFDUCxNQUFNO2dCQUNOLE9BQU87Z0JBQ1AsT0FBTztnQkFDUCxTQUFTO2dCQUNULFFBQVE7Z0JBQ1IsU0FBUztnQkFDVCxPQUFPO2dCQUNQLE1BQU07Z0JBQ04sT0FBTztnQkFDUCxRQUFRO2FBQ1I7WUFDRCxlQUFlLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUNyRyxLQUFLLEVBQUUsT0FBTztZQUNkLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLFVBQVUsRUFBRSxPQUFPO1NBQ25CLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBdklXLGlCQUFpQjtrR0FBakIsaUJBQWlCLDJyRUM3QjlCLGc0Q0FvQ0EsdUhEWFcsbUJBQW1CLHNJQUFFLFdBQVcsdVBBQUUsT0FBTyxtRkFBRSxjQUFjLGk2Q0FBRSxhQUFhLGlYQUFFLHFCQUFxQjs7MkZBSTdGLGlCQUFpQjtrQkFSN0IsU0FBUztpQ0FDRyxJQUFJLFlBQ04sb0ZBQW9GLFdBRXJGLENBQUMsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixDQUFDLGtCQUMxRixDQUFDLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuLyogVE9ET1xyXG5cdFx0MS4gQWRqdXN0IGRpZmZlcmVudCBjb2xvciBvciBiYWNrZ3JvdW5kIGZvciB3ZWVrZW5kc1xyXG4qL1xyXG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgT25Jbml0LCBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3RvciwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IFByaW1lTkdDb25maWcgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IENhbGVuZGFyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jYWxlbmRhcic7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUlucHV0Q29tcG9uZW50LCBJbnB1dEVycm9yTWVzc2FnZVBpcGUsIFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICdhcmlsL3VpL2xpYic7XHJcbmltcG9ydCAnYXJpbC91dGlsL3ByaW1pdGl2ZS1leHRlbnNpb25zJztcclxuXHJcbnR5cGUgVmlldyA9ICdkYXRlJyB8ICdtb250aCcgfCAneWVhcic7XHJcbnR5cGUgU2VsZWN0aW9uTW9kZSA9ICdzaW5nbGUnIHwgJ211bHRpcGxlJyB8ICdyYW5nZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnYXJpbC1jYWxlbmRhcltuZ01vZGVsXSwgYXJpbC1jYWxlbmRhcltmb3JtQ29udHJvbF0sIGFyaWwtY2FsZW5kYXJbZm9ybUNvbnRyb2xOYW1lXScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcclxuXHRpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUsIE5nQ2xhc3MsIENhbGVuZGFyTW9kdWxlLCBUb29sdGlwTW9kdWxlLCBJbnB1dEVycm9yTWVzc2FnZVBpcGVdLFxyXG5cdGhvc3REaXJlY3RpdmVzOiBbVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZV0sXHJcblx0c3R5bGVzOiAnLmludmFsaWRDYWxlbmRhciB7IGJvcmRlcjoxcHggc29saWQgI2UyNGM0Yztib3JkZXItcmFkaXVzOiA2cHg7IH0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckNvbXBvbmVudCBleHRlbmRzIEJhc2VJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBwcmltZU5nQ29uZmlnOiBQcmltZU5HQ29uZmlnKSB7XHJcblx0XHRzdXBlcigpO1xyXG5cdFx0dGhpcy5zZXRMb2NhbGUoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdGlmICh0eXBlb2YgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbHVlID09PSAnbnVtYmVyJykgdGhpcy5tb2RlbCA9IHRoaXMubmdDb250cm9sPy5jb250cm9sPy52YWx1ZT8ubG9uZ1RvRGF0ZSgpO1xyXG5cdH1cclxuXHJcblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG5cdFx0cnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuaW5qZWN0b3IsICgpID0+IHtcclxuXHRcdFx0dGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbHVlQ2hhbmdlcz8ucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCh2YWx1ZTogbnVtYmVyKSA9PiB7XHJcblx0XHRcdFx0aWYgKE51bWJlcih2YWx1ZSkpIHRoaXMubW9kZWwgPSB2YWx1ZT8ubG9uZ1RvRGF0ZSgpO1xyXG5cdFx0XHRcdC8qaWYgKE51bWJlcih2YWx1ZSkpIHtcclxuXHRcdFx0XHRcdGNvbnN0IGN1cnJlbnREYXRlID0gdGhpcy5tb2RlbCB8fCBuZXcgRGF0ZSgpO1xyXG5cdFx0XHRcdFx0Y3VycmVudERhdGUuc2V0VGltZSh2YWx1ZSk7XHJcblx0XHRcdFx0XHR0aGlzLm1vZGVsID0gY3VycmVudERhdGU7XHJcblx0XHRcdFx0fSovXHJcblx0XHRcdH0pO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRzZXRGb3JtQ3RybCh2YWx1ZTogYW55KSB7XHJcblxyXG5cdFx0aWYgKHRoaXMuc2VsZWN0aW9uTW9kZSgpID09PSAncmFuZ2UnKSB7XHJcblx0XHRcdGlmICh0aGlzLnNob3dUaW1lKCkpIHtcclxuXHRcdFx0XHR2YWx1ZVswXT8uc2V0U2Vjb25kcygwKTtcclxuXHRcdFx0XHR2YWx1ZVsxXT8uc2V0U2Vjb25kcygwKTtcclxuXHRcdFx0XHR0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUoW3ZhbHVlWzBdPy5kYXRlVG9Mb25nKCd0aW1lJyksIHZhbHVlWzFdPy5kYXRlVG9Mb25nKCd0aW1lJyldKTtcclxuXHRcdFx0fSBlbHNlIGlmICh0aGlzLnZpZXcoKSA9PT0gJ21vbnRoJykge1xyXG5cdFx0XHRcdHRoaXMubmdDb250cm9sPy5jb250cm9sPy5zZXRWYWx1ZShbdmFsdWVbMF0/LmRhdGVUb0xvbmcoJ21vbnRoJyksIHZhbHVlWzFdPy5kYXRlVG9Mb25nKCdtb250aCcpXSk7XHJcblx0XHRcdH0gZWxzZSBpZiAodGhpcy52aWV3KCkgPT09ICd5ZWFyJykge1xyXG5cdFx0XHRcdHRoaXMubmdDb250cm9sPy5jb250cm9sPy5zZXRWYWx1ZShbdmFsdWVbMF0/LmRhdGVUb0xvbmcoJ3llYXInKSwgdmFsdWVbMV0/LmRhdGVUb0xvbmcoJ3llYXInKV0pO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMubmdDb250cm9sPy5jb250cm9sPy5zZXRWYWx1ZShbdmFsdWVbMF0/LmRhdGVUb0xvbmcoKSwgdmFsdWVbMV0/LmRhdGVUb0xvbmcoKV0pO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRpZiAodGhpcy5zaG93VGltZSgpKSB7XHJcblx0XHRcdFx0dmFsdWU/LnNldFNlY29uZHMoMCk7XHJcblx0XHRcdFx0dGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnNldFZhbHVlKHZhbHVlPy5kYXRlVG9Mb25nKCd0aW1lJykpO1xyXG5cdFx0XHR9IGVsc2UgaWYgKHRoaXMudmlldygpID09PSAnbW9udGgnKSB7XHJcblx0XHRcdFx0dGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnNldFZhbHVlKHZhbHVlPy5kYXRlVG9Mb25nKCdtb250aCcpKTtcclxuXHRcdFx0fSBlbHNlIGlmICh0aGlzLnZpZXcoKSA9PT0gJ3llYXInKSB7XHJcblx0XHRcdFx0dGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnNldFZhbHVlKHZhbHVlPy5kYXRlVG9Mb25nKCd5ZWFyJykpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMubmdDb250cm9sPy5jb250cm9sPy5zZXRWYWx1ZSh2YWx1ZT8uZGF0ZVRvTG9uZygpKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0fVxyXG5cclxuXHRtb2RlbCE6IERhdGUgfCB1bmRlZmluZWQ7XHJcblxyXG5cdG1pbkRhdGUgPSBpbnB1dDxudW1iZXI+KCk7XHJcblx0bWF4RGF0ZSA9IGlucHV0PG51bWJlcj4oKTtcclxuXHRpbnB1dFN0eWxlID0gaW5wdXQ8b2JqZWN0PigpO1xyXG5cdGlubGluZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRzaG93SWNvbiA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRzaG93VGltZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRzaG93V2VlayA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRzaG93U2Vjb25kcyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRkaXNhYmxlZERhdGVzID0gaW5wdXQ8bnVtYmVyW10+KFtdKTtcclxuXHRudW1iZXJPZk1vbnRoVG9TaG93ID0gaW5wdXQ8bnVtYmVyPigxKVxyXG5cclxuXHR2aWV3ID0gaW5wdXQ8Vmlldz4oJ2RhdGUnKTtcclxuXHRzZWxlY3Rpb25Nb2RlID0gaW5wdXQ8U2VsZWN0aW9uTW9kZT4oJ3NpbmdsZScpO1xyXG5cdHRhYmluZGV4ID0gaW5wdXQ8bnVtYmVyPigpO1xyXG5cclxuXHRzaG93T25Gb2N1cyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcblx0dGltZU9ubHkgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblxyXG5cdF9taW5KU0RhdGUgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5taW5EYXRlKCk/LmxvbmdUb0RhdGUoKSBhcyBEYXRlO1xyXG5cdH0pO1xyXG5cclxuXHRfbWF4SlNEYXRlID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMubWF4RGF0ZSgpPy5sb25nVG9EYXRlKCkgYXMgRGF0ZTtcclxuXHR9KTtcclxuXHJcblx0X3NlbGVjdGVkRGlzYWJsZWREYXRlcyA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMoKT8ubWFwKCh2YWx1ZTogbnVtYmVyKSA9PiB2YWx1ZS5sb25nVG9EYXRlKCkgYXMgRGF0ZSk7XHJcblx0fSk7XHJcblxyXG5cdF9kYXRlRm9ybWF0ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0c3dpdGNoICh0aGlzLnZpZXcoKSkge1xyXG5cdFx0XHRjYXNlICdtb250aCc6XHJcblx0XHRcdFx0cmV0dXJuICdNTS95eSc7XHJcblx0XHRcdGNhc2UgJ3llYXInOlxyXG5cdFx0XHRcdHJldHVybiAneXknO1xyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdHJldHVybiAnZGQvTU0veXknO1xyXG5cdFx0fVxyXG5cdH0pO1xyXG5cclxuXHQvLyBpc1dlZWtlbmQoZGF0ZTogYW55KTogYm9vbGVhbiB7XHJcblx0Ly8gICBpZiAoIWRhdGUpIHtcclxuXHQvLyAgICAgcmV0dXJuIGZhbHNlO1xyXG5cdC8vICAgfVxyXG5cclxuXHQvLyAgIGlmICh0aGlzLnZpZXcgPT0gJ2RhdGUnKSB7XHJcblx0Ly8gICAgIGNvbnN0IGRheU9mV2VlayA9IGRhdGUuZ2V0RGF5KCk7XHJcblx0Ly8gICAgIHJldHVybiBkYXlPZldlZWsgPT09IDUgfHwgZGF5T2ZXZWVrID09PSA2O1xyXG5cdC8vICAgfVxyXG5cdC8vIH1cclxuXHJcblx0c2V0TG9jYWxlKCkge1xyXG5cdFx0dGhpcy5wcmltZU5nQ29uZmlnLnNldFRyYW5zbGF0aW9uKHtcclxuXHRcdFx0Zmlyc3REYXlPZldlZWs6IDAsXHJcblx0XHRcdGRheU5hbWVzOiBbJ1BhemFyJywgJ1BhemFydGVzaScsICdTYWzEsScsICfDh2FyxZ9hbWJhJywgJ1BlcsWfZW1iZScsICdDdW1hJywgJ0N1bWFydGVzaSddLFxyXG5cdFx0XHRkYXlOYW1lc01pbjogWydQenInLCAnUHp0JywgJ1NhbCcsICfDh2FyJywgJ1BlcicsICdDdW0nLCAnQ210J10sXHJcblx0XHRcdGRheU5hbWVzU2hvcnQ6IFsnUHpyJywgJ1B6dCcsICdTYWwnLCAnw4dhcicsICdQZXInLCAnQ3VtJywgJ0NtdCddLFxyXG5cdFx0XHRtb250aE5hbWVzOiBbXHJcblx0XHRcdFx0J09jYWsnLFxyXG5cdFx0XHRcdCfFnnViYXQnLFxyXG5cdFx0XHRcdCdNYXJ0JyxcclxuXHRcdFx0XHQnTmlzYW4nLFxyXG5cdFx0XHRcdCdNYXnEsXMnLFxyXG5cdFx0XHRcdCdIYXppcmFuJyxcclxuXHRcdFx0XHQnVGVtbXV6JyxcclxuXHRcdFx0XHQnQcSfdXN0b3MnLFxyXG5cdFx0XHRcdCdFeWzDvGwnLFxyXG5cdFx0XHRcdCdFa2ltJyxcclxuXHRcdFx0XHQnS2FzxLFtJyxcclxuXHRcdFx0XHQnQXJhbMSxaydcclxuXHRcdFx0XSxcclxuXHRcdFx0bW9udGhOYW1lc1Nob3J0OiBbJ09jYScsICfFnnViJywgJ01hcicsICdOaXMnLCAnTWF5JywgJ0hheicsICdUZW0nLCAnQcSfdScsICdFeWwnLCAnRWtpJywgJ0thcycsICdBcmEnXSxcclxuXHRcdFx0dG9kYXk6ICdCdWfDvG4nLFxyXG5cdFx0XHRjbGVhcjogJ1RlbWl6bGUnLFxyXG5cdFx0XHRkYXRlRm9ybWF0OiAnZGQvbW0veXknLFxyXG5cdFx0XHR3ZWVrSGVhZGVyOiAnSGFmdGEnXHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBbbmdDbGFzc109XCJ7IGludmFsaWRDYWxlbmRhcjogbmdDb250cm9sLmRpcnR5ICYmIG5nQ29udHJvbC5pbnZhbGlkIH1cIj5cclxuXHQ8cC1jYWxlbmRhclxyXG5cdFx0W3Nob3dJY29uXT1cInRydWVcIlxyXG5cdFx0W2ljb25EaXNwbGF5XT1cIidpbnB1dCdcIiBcclxuXHRcdFtkYXRlRm9ybWF0XT1cIl9kYXRlRm9ybWF0KClcIlxyXG5cdFx0W3Nob3dCdXR0b25CYXJdPVwidHJ1ZVwiXHJcblx0XHRbbWluRGF0ZV09XCJfbWluSlNEYXRlKClcIlxyXG5cdFx0W21heERhdGVdPVwiX21heEpTRGF0ZSgpXCJcclxuXHRcdFt0YWJpbmRleF09XCJ0YWJpbmRleCgpXCJcclxuXHRcdFtkaXNhYmxlZERhdGVzXT1cIl9zZWxlY3RlZERpc2FibGVkRGF0ZXMoKVwiXHJcblx0XHRbc2VsZWN0aW9uTW9kZV09XCJzZWxlY3Rpb25Nb2RlKClcIlxyXG5cdFx0W2Rpc2FibGVkXT1cIm5nQ29udHJvbC5jb250cm9sLmRpc2FibGVkXCJcclxuXHRcdFtyZWFkb25seUlucHV0XT1cImZhbHNlXCJcclxuXHRcdFtzaG93VGltZV09XCJzaG93VGltZSgpXCJcclxuXHRcdFtzaG93U2Vjb25kc109XCJzaG93U2Vjb25kcygpXCJcclxuXHRcdFtpbmxpbmVdPVwiaW5saW5lKClcIlxyXG5cdFx0W3Nob3dXZWVrXT1cInNob3dXZWVrKClcIlxyXG5cdFx0W3Nob3dPbkZvY3VzXT1cInNob3dPbkZvY3VzKClcIlxyXG5cdFx0W3RpbWVPbmx5XT1cInRpbWVPbmx5KClcIlxyXG5cdFx0W3ZpZXddPVwidmlldygpXCJcclxuXHRcdFtpbnB1dFN0eWxlXT0naW5wdXRTdHlsZSgpJ1xyXG5cdFx0W2ZpcnN0RGF5T2ZXZWVrXT1cIjFcIlxyXG5cdFx0W3BUb29sdGlwXT1cIm5nQ29udHJvbC5pbnZhbGlkID8gKG5nQ29udHJvbC5jb250cm9sLnZhbHVlIHwgaW5wdXRFcnJvck1lc3NhZ2U6IG5nQ29udHJvbCkgOiAnJ1wiXHJcblx0XHRbdG9vbHRpcE9wdGlvbnNdPVwidG9vbHRpcE9wdGlvbnNcIlxyXG5cdFx0W251bWJlck9mTW9udGhzXT1cIm51bWJlck9mTW9udGhUb1Nob3coKVwiXHJcblx0XHRbKG5nTW9kZWwpXT1cIm1vZGVsXCJcclxuXHRcdChuZ01vZGVsQ2hhbmdlKT1cIm5nQ29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSgkZXZlbnQpOyBzZXRGb3JtQ3RybCgkZXZlbnQpXCJcclxuXHRcdGFwcGVuZFRvPVwiYm9keVwiPlxyXG5cdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbaGVhZGVyXVwiPjwvbmctY29udGVudD5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XHJcblx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIltmb290ZXJdXCI+PC9uZy1jb250ZW50PlxyXG5cdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHQ8L3AtY2FsZW5kYXI+XHJcbjwvZGl2PlxyXG4iXX0=
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZEOztFQUVFO0FBQ0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBVSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hHLE9BQU8sZ0NBQWdDLENBQUM7Ozs7Ozs7QUFheEMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQUN4RCxZQUFvQixhQUE0QjtRQUMvQyxLQUFLLEVBQUUsQ0FBQztRQURXLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBSy9CLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFrRDdDLFlBQU8sR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUMxQixZQUFPLEdBQUcsS0FB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bGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbi8qIFRPRE9cclxuXHRcdDEuIEFkanVzdCBkaWZmZXJlbnQgY29sb3Igb3IgYmFja2dyb3VuZCBmb3Igd2Vla2VuZHNcclxuKi9cclxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE9uSW5pdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0b3IsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBQcmltZU5HQ29uZmlnIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IEJhc2VJbnB1dENvbXBvbmVudCwgSW5wdXRFcnJvck1lc3NhZ2VQaXBlLCBWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIH0gZnJvbSAnYXJpbC91aS9saWInO1xyXG5pbXBvcnQgJ2FyaWwvdXRpbC9wcmltaXRpdmUtZXh0ZW5zaW9ucyc7XHJcblxyXG50eXBlIFZpZXcgPSAnZGF0ZScgfCAnbW9udGgnIHwgJ3llYXInO1xyXG50eXBlIFNlbGVjdGlvbk1vZGUgPSAnc2luZ2xlJyB8ICdtdWx0aXBsZScgfCAncmFuZ2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FyaWwtY2FsZW5kYXJbbmdNb2RlbF0sIGFyaWwtY2FsZW5kYXJbZm9ybUNvbnRyb2xdLCBhcmlsLWNhbGVuZGFyW2Zvcm1Db250cm9sTmFtZV0nLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXHJcblx0aW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlLCBOZ0NsYXNzLCBDYWxlbmRhck1vZHVsZSwgVG9vbHRpcE1vZHVsZSwgSW5wdXRFcnJvck1lc3NhZ2VQaXBlXSxcclxuXHRob3N0RGlyZWN0aXZlczogW1ZhbHVlQWNjZXNzb3JEaXJlY3RpdmVdLFxyXG5cdHN0eWxlczogJy5pbnZhbGlkQ2FsZW5kYXIgeyBib3JkZXI6MXB4IHNvbGlkICNlMjRjNGM7Ym9yZGVyLXJhZGl1czogNnB4OyB9J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcHJpbWVOZ0NvbmZpZzogUHJpbWVOR0NvbmZpZykge1xyXG5cdFx0c3VwZXIoKTtcclxuXHRcdHRoaXMuc2V0TG9jYWxlKCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHRpZiAodHlwZW9mIHRoaXMubmdDb250cm9sPy5jb250cm9sPy52YWx1ZSA9PT0gJ251bWJlcicpIHRoaXMubW9kZWwgPSB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udmFsdWU/LmxvbmdUb0RhdGUoKTtcclxuXHR9XHJcblxyXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuXHRcdHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiB7XHJcblx0XHRcdHRoaXMubmdDb250cm9sPy5jb250cm9sPy52YWx1ZUNoYW5nZXM/LnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgodmFsdWU6IG51bWJlcikgPT4ge1xyXG5cdFx0XHRcdGlmIChOdW1iZXIodmFsdWUpKSB0aGlzLm1vZGVsID0gdmFsdWU/LmxvbmdUb0RhdGUoKTtcclxuXHRcdFx0XHQvKmlmIChOdW1iZXIodmFsdWUpKSB7XHJcblx0XHRcdFx0XHRjb25zdCBjdXJyZW50RGF0ZSA9IHRoaXMubW9kZWwgfHwgbmV3IERhdGUoKTtcclxuXHRcdFx0XHRcdGN1cnJlbnREYXRlLnNldFRpbWUodmFsdWUpO1xyXG5cdFx0XHRcdFx0dGhpcy5tb2RlbCA9IGN1cnJlbnREYXRlO1xyXG5cdFx0XHRcdH0qL1xyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0c2V0Rm9ybUN0cmwodmFsdWU6IGFueSkge1xyXG5cclxuXHRcdGlmICh0aGlzLnNlbGVjdGlvbk1vZGUoKSA9PT0gJ3JhbmdlJykge1xyXG5cdFx0XHRpZiAodGhpcy5zaG93VGltZSgpKSB7XHJcblx0XHRcdFx0dmFsdWVbMF0/LnNldFNlY29uZHMoMCk7XHJcblx0XHRcdFx0dmFsdWVbMV0/LnNldFNlY29uZHMoMCk7XHJcblx0XHRcdFx0dGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnNldFZhbHVlKFt2YWx1ZVswXT8uZGF0ZVRvTG9uZygndGltZScpLCB2YWx1ZVsxXT8uZGF0ZVRvTG9uZygndGltZScpXSk7XHJcblx0XHRcdH0gZWxzZSBpZiAodGhpcy52aWV3KCkgPT09ICdtb250aCcpIHtcclxuXHRcdFx0XHR0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUoW3ZhbHVlWzBdPy5kYXRlVG9Mb25nKCdtb250aCcpLCB2YWx1ZVsxXT8uZGF0ZVRvTG9uZygnbW9udGgnKV0pO1xyXG5cdFx0XHR9IGVsc2UgaWYgKHRoaXMudmlldygpID09PSAneWVhcicpIHtcclxuXHRcdFx0XHR0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUoW3ZhbHVlWzBdPy5kYXRlVG9Mb25nKCd5ZWFyJyksIHZhbHVlWzFdPy5kYXRlVG9Mb25nKCd5ZWFyJyldKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUoW3ZhbHVlWzBdPy5kYXRlVG9Mb25nKCksIHZhbHVlWzFdPy5kYXRlVG9Mb25nKCldKTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0aWYgKHRoaXMuc2hvd1RpbWUoKSkge1xyXG5cdFx0XHRcdHZhbHVlPy5zZXRTZWNvbmRzKDApO1xyXG5cdFx0XHRcdHRoaXMubmdDb250cm9sPy5jb250cm9sPy5zZXRWYWx1ZSh2YWx1ZT8uZGF0ZVRvTG9uZygndGltZScpKTtcclxuXHRcdFx0fSBlbHNlIGlmICh0aGlzLnZpZXcoKSA9PT0gJ21vbnRoJykge1xyXG5cdFx0XHRcdHRoaXMubmdDb250cm9sPy5jb250cm9sPy5zZXRWYWx1ZSh2YWx1ZT8uZGF0ZVRvTG9uZygnbW9udGgnKSk7XHJcblx0XHRcdH0gZWxzZSBpZiAodGhpcy52aWV3KCkgPT09ICd5ZWFyJykge1xyXG5cdFx0XHRcdHRoaXMubmdDb250cm9sPy5jb250cm9sPy5zZXRWYWx1ZSh2YWx1ZT8uZGF0ZVRvTG9uZygneWVhcicpKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUodmFsdWU/LmRhdGVUb0xvbmcoKSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cdH1cclxuXHJcblx0bW9kZWwhOiBEYXRlIHwgdW5kZWZpbmVkO1xyXG5cclxuXHRtaW5EYXRlID0gaW5wdXQ8bnVtYmVyPigpO1xyXG5cdG1heERhdGUgPSBpbnB1dDxudW1iZXI+KCk7XHJcblx0aW5wdXRTdHlsZSA9IGlucHV0PG9iamVjdD4oKTtcclxuXHRpbnB1dFN0eWxlQ2xhc3MgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblx0YXV0b1pJbmRleCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRpbmxpbmUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0c2hvd0ljb24gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0c2hvd1RpbWUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0c2hvd1dlZWsgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0c2hvd1NlY29uZHMgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0ZGlzYWJsZWREYXRlcyA9IGlucHV0PG51bWJlcltdPihbXSk7XHJcblx0bnVtYmVyT2ZNb250aFRvU2hvdyA9IGlucHV0PG51bWJlcj4oMSlcclxuXHJcblx0dmlldyA9IGlucHV0PFZpZXc+KCdkYXRlJyk7XHJcblx0c2VsZWN0aW9uTW9kZSA9IGlucHV0PFNlbGVjdGlvbk1vZGU+KCdzaW5nbGUnKTtcclxuXHR0YWJpbmRleCA9IGlucHV0PG51bWJlcj4oKTtcclxuXHJcblx0c2hvd09uRm9jdXMgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblxyXG5cdHRpbWVPbmx5ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHRfbWluSlNEYXRlID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMubWluRGF0ZSgpPy5sb25nVG9EYXRlKCkgYXMgRGF0ZTtcclxuXHR9KTtcclxuXHJcblx0X21heEpTRGF0ZSA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdHJldHVybiB0aGlzLm1heERhdGUoKT8ubG9uZ1RvRGF0ZSgpIGFzIERhdGU7XHJcblx0fSk7XHJcblxyXG5cdF9zZWxlY3RlZERpc2FibGVkRGF0ZXMgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5kaXNhYmxlZERhdGVzKCk/Lm1hcCgodmFsdWU6IG51bWJlcikgPT4gdmFsdWUubG9uZ1RvRGF0ZSgpIGFzIERhdGUpO1xyXG5cdH0pO1xyXG5cclxuXHRfZGF0ZUZvcm1hdCA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdHN3aXRjaCAodGhpcy52aWV3KCkpIHtcclxuXHRcdFx0Y2FzZSAnbW9udGgnOlxyXG5cdFx0XHRcdHJldHVybiAnTU0veXknO1xyXG5cdFx0XHRjYXNlICd5ZWFyJzpcclxuXHRcdFx0XHRyZXR1cm4gJ3l5JztcclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRyZXR1cm4gJ2RkL01NL3l5JztcclxuXHRcdH1cclxuXHR9KTtcclxuXHJcblx0Ly8gaXNXZWVrZW5kKGRhdGU6IGFueSk6IGJvb2xlYW4ge1xyXG5cdC8vICAgaWYgKCFkYXRlKSB7XHJcblx0Ly8gICAgIHJldHVybiBmYWxzZTtcclxuXHQvLyAgIH1cclxuXHJcblx0Ly8gICBpZiAodGhpcy52aWV3ID09ICdkYXRlJykge1xyXG5cdC8vICAgICBjb25zdCBkYXlPZldlZWsgPSBkYXRlLmdldERheSgpO1xyXG5cdC8vICAgICByZXR1cm4gZGF5T2ZXZWVrID09PSA1IHx8IGRheU9mV2VlayA9PT0gNjtcclxuXHQvLyAgIH1cclxuXHQvLyB9XHJcblxyXG5cdHNldExvY2FsZSgpIHtcclxuXHRcdHRoaXMucHJpbWVOZ0NvbmZpZy5zZXRUcmFuc2xhdGlvbih7XHJcblx0XHRcdGZpcnN0RGF5T2ZXZWVrOiAwLFxyXG5cdFx0XHRkYXlOYW1lczogWydQYXphcicsICdQYXphcnRlc2knLCAnU2FsxLEnLCAnw4dhcsWfYW1iYScsICdQZXLFn2VtYmUnLCAnQ3VtYScsICdDdW1hcnRlc2knXSxcclxuXHRcdFx0ZGF5TmFtZXNNaW46IFsnUHpyJywgJ1B6dCcsICdTYWwnLCAnw4dhcicsICdQZXInLCAnQ3VtJywgJ0NtdCddLFxyXG5cdFx0XHRkYXlOYW1lc1Nob3J0OiBbJ1B6cicsICdQenQnLCAnU2FsJywgJ8OHYXInLCAnUGVyJywgJ0N1bScsICdDbXQnXSxcclxuXHRcdFx0bW9udGhOYW1lczogW1xyXG5cdFx0XHRcdCdPY2FrJyxcclxuXHRcdFx0XHQnxZ51YmF0JyxcclxuXHRcdFx0XHQnTWFydCcsXHJcblx0XHRcdFx0J05pc2FuJyxcclxuXHRcdFx0XHQnTWF5xLFzJyxcclxuXHRcdFx0XHQnSGF6aXJhbicsXHJcblx0XHRcdFx0J1RlbW11eicsXHJcblx0XHRcdFx0J0HEn3VzdG9zJyxcclxuXHRcdFx0XHQnRXlsw7xsJyxcclxuXHRcdFx0XHQnRWtpbScsXHJcblx0XHRcdFx0J0thc8SxbScsXHJcblx0XHRcdFx0J0FyYWzEsWsnXHJcblx0XHRcdF0sXHJcblx0XHRcdG1vbnRoTmFtZXNTaG9ydDogWydPY2EnLCAnxZ51YicsICdNYXInLCAnTmlzJywgJ01heScsICdIYXonLCAnVGVtJywgJ0HEn3UnLCAnRXlsJywgJ0VraScsICdLYXMnLCAnQXJhJ10sXHJcblx0XHRcdHRvZGF5OiAnQnVnw7xuJyxcclxuXHRcdFx0Y2xlYXI6ICdUZW1pemxlJyxcclxuXHRcdFx0ZGF0ZUZvcm1hdDogJ2RkL21tL3l5JyxcclxuXHRcdFx0d2Vla0hlYWRlcjogJ0hhZnRhJ1xyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgW25nQ2xhc3NdPVwieyBpbnZhbGlkQ2FsZW5kYXI6IG5nQ29udHJvbC5kaXJ0eSAmJiBuZ0NvbnRyb2wuaW52YWxpZCB9XCI+XHJcblx0PHAtY2FsZW5kYXJcclxuXHRcdFtzaG93SWNvbl09XCJ0cnVlXCJcclxuXHRcdFtpY29uRGlzcGxheV09XCInaW5wdXQnXCIgXHJcblx0XHRbZGF0ZUZvcm1hdF09XCJfZGF0ZUZvcm1hdCgpXCJcclxuXHRcdFtzaG93QnV0dG9uQmFyXT1cInRydWVcIlxyXG5cdFx0W21pbkRhdGVdPVwiX21pbkpTRGF0ZSgpXCJcclxuXHRcdFttYXhEYXRlXT1cIl9tYXhKU0RhdGUoKVwiXHJcblx0XHRbdGFiaW5kZXhdPVwidGFiaW5kZXgoKVwiXHJcblx0XHRbZGlzYWJsZWREYXRlc109XCJfc2VsZWN0ZWREaXNhYmxlZERhdGVzKClcIlxyXG5cdFx0W3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZSgpXCJcclxuXHRcdFtkaXNhYmxlZF09XCJuZ0NvbnRyb2wuY29udHJvbC5kaXNhYmxlZFwiXHJcblx0XHRbcmVhZG9ubHlJbnB1dF09XCJmYWxzZVwiXHJcblx0XHRbc2hvd1RpbWVdPVwic2hvd1RpbWUoKVwiXHJcblx0XHRbc2hvd1NlY29uZHNdPVwic2hvd1NlY29uZHMoKVwiXHJcblx0XHRbaW5saW5lXT1cImlubGluZSgpXCJcclxuXHRcdFtzaG93V2Vla109XCJzaG93V2VlaygpXCJcclxuXHRcdFtzaG93T25Gb2N1c109XCJzaG93T25Gb2N1cygpXCJcclxuXHRcdFt0aW1lT25seV09XCJ0aW1lT25seSgpXCJcclxuXHRcdFt2aWV3XT1cInZpZXcoKVwiXHJcblx0XHRbaW5wdXRTdHlsZV09J2lucHV0U3R5bGUoKSdcclxuXHRcdFtpbnB1dFN0eWxlQ2xhc3NdPVwiaW5wdXRTdHlsZUNsYXNzKClcIlxyXG5cdFx0W2ZpcnN0RGF5T2ZXZWVrXT1cIjFcIlxyXG5cdFx0W2F1dG9aSW5kZXhdPVwiYXV0b1pJbmRleCgpXCJcclxuXHRcdFtwVG9vbHRpcF09XCJuZ0NvbnRyb2wuaW52YWxpZCA/IChuZ0NvbnRyb2wuY29udHJvbC52YWx1ZSB8IGlucHV0RXJyb3JNZXNzYWdlOiBuZ0NvbnRyb2wpIDogJydcIlxyXG5cdFx0W3Rvb2x0aXBPcHRpb25zXT1cInRvb2x0aXBPcHRpb25zXCJcclxuXHRcdFtudW1iZXJPZk1vbnRoc109XCJudW1iZXJPZk1vbnRoVG9TaG93KClcIlxyXG5cdFx0WyhuZ01vZGVsKV09XCJtb2RlbFwiXHJcblx0XHQobmdNb2RlbENoYW5nZSk9XCJuZ0NvbnRyb2wudmlld1RvTW9kZWxVcGRhdGUoJGV2ZW50KTsgc2V0Rm9ybUN0cmwoJGV2ZW50KVwiXHJcblx0XHRhcHBlbmRUbz1cImJvZHlcIj5cclxuXHRcdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2hlYWRlcl1cIj48L25nLWNvbnRlbnQ+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPjwvbmctY29udGVudD5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblx0PC9wLWNhbGVuZGFyPlxyXG48L2Rpdj5cclxuIl19
@@ -8,6 +8,8 @@ export class PanelComponent {
8
8
  constructor() {
9
9
  this.toggleable = input(true);
10
10
  this.canFullScreen = input(true);
11
+ this.collapsed = input(false);
12
+ this.styleClass = input();
11
13
  this.showFooter = input(false);
12
14
  this.isFullScreen = false;
13
15
  }
@@ -15,10 +17,10 @@ export class PanelComponent {
15
17
  this.isFullScreen = !this.isFullScreen;
16
18
  }
17
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: PanelComponent, isStandalone: true, selector: "aril-panel", inputs: { toggleable: { classPropertyName: "toggleable", publicName: "toggleable", isSignal: true, isRequired: false, transformFunction: null }, canFullScreen: { classPropertyName: "canFullScreen", publicName: "canFullScreen", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div [ngClass]=\"{ 'full-screen': isFullScreen && canFullScreen }\">\r\n\t<p-panel [toggleable]=\"toggleable()\" [collapseIcon]=\"'pi pi-chevron-up'\" [expandIcon]=\"'pi pi-chevron-down'\">\r\n\t\t<!-- header -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<div class=\"panel-header\">\r\n\t\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- header-tools -->\r\n\t\t<ng-template class=\"flex\" pTemplate=\"icons\">\r\n\t\t\t<div class=\"panel-icons flex\">\r\n\t\t\t\t<ng-content select=\"[tools]\"></ng-content>\r\n\r\n\t\t\t\t@if (canFullScreen()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\trole=\"button\"\r\n\t\t\t\t\t\tclass=\"pi\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'pi-window-maximize': !isFullScreen,\r\n\t\t\t\t\t\t\t'pi-window-minimize': isFullScreen\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(click)=\"toggleFullScreen()\"></i>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- body -->\r\n\t\t<ng-content select=\"[body]\"></ng-content>\r\n\r\n\t\t<!-- footer -->\r\n\t\t@if (showFooter()) {\r\n\t\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t\t</ng-template>\r\n\t\t}\r\n\t</p-panel>\r\n</div>\r\n", styles: [".full-screen{position:fixed;inset:0;z-index:99999999;overflow-y:auto;box-sizing:border-box;width:100%;height:100vh;background:#fff}.panel-header{width:100%;display:flex;justify-content:space-between;align-items:center;color:var(--muted-foreground);font-size:14px;font-style:normal;font-weight:400;line-height:normal}::ng-deep .panel-icons i{cursor:pointer;width:2rem}\n"], dependencies: [{ kind: "ngmodule", type: PanelModule }, { kind: "component", type: i1.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: PanelComponent, isStandalone: true, selector: "aril-panel", inputs: { toggleable: { classPropertyName: "toggleable", publicName: "toggleable", isSignal: true, isRequired: false, transformFunction: null }, canFullScreen: { classPropertyName: "canFullScreen", publicName: "canFullScreen", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div [ngClass]=\"{ 'full-screen': isFullScreen && canFullScreen }\">\r\n\t<p-panel\r\n\t\t[toggleable]=\"toggleable()\"\r\n\t\t[collapsed]=\"collapsed()\"\r\n\t\t[collapseIcon]=\"'pi pi-chevron-down'\"\r\n\t\t[expandIcon]=\"'pi pi-chevron-up'\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t>\r\n\t\t<!-- header -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<div class=\"panel-header\">\r\n\t\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- header-tools -->\r\n\t\t<ng-template class=\"flex\" pTemplate=\"icons\">\r\n\t\t\t<div class=\"panel-icons flex\">\r\n\t\t\t\t<ng-content select=\"[tools]\"></ng-content>\r\n\r\n\t\t\t\t@if (canFullScreen()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\trole=\"button\"\r\n\t\t\t\t\t\tclass=\"pi\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'pi-window-maximize': !isFullScreen,\r\n\t\t\t\t\t\t\t'pi-window-minimize': isFullScreen\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(click)=\"toggleFullScreen()\"></i>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- body -->\r\n\t\t<ng-content select=\"[body]\"></ng-content>\r\n\r\n\t\t<!-- footer -->\r\n\t\t@if (showFooter()) {\r\n\t\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t\t</ng-template>\r\n\t\t}\r\n\t</p-panel>\r\n</div>\r\n", styles: [".full-screen{position:fixed;inset:0;z-index:99999999;overflow-y:auto;box-sizing:border-box;width:100%;height:100vh;background:#fff}.panel-header{width:100%;display:flex;justify-content:space-between;align-items:center;color:var(--muted-foreground);font-size:14px;font-style:normal;font-weight:400;line-height:normal}::ng-deep .panel-icons i{cursor:pointer;width:2rem}\n"], dependencies: [{ kind: "ngmodule", type: PanelModule }, { kind: "component", type: i1.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
21
  }
20
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PanelComponent, decorators: [{
21
23
  type: Component,
22
- args: [{ standalone: true, selector: 'aril-panel', imports: [PanelModule, NgClass], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"{ 'full-screen': isFullScreen && canFullScreen }\">\r\n\t<p-panel [toggleable]=\"toggleable()\" [collapseIcon]=\"'pi pi-chevron-up'\" [expandIcon]=\"'pi pi-chevron-down'\">\r\n\t\t<!-- header -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<div class=\"panel-header\">\r\n\t\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- header-tools -->\r\n\t\t<ng-template class=\"flex\" pTemplate=\"icons\">\r\n\t\t\t<div class=\"panel-icons flex\">\r\n\t\t\t\t<ng-content select=\"[tools]\"></ng-content>\r\n\r\n\t\t\t\t@if (canFullScreen()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\trole=\"button\"\r\n\t\t\t\t\t\tclass=\"pi\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'pi-window-maximize': !isFullScreen,\r\n\t\t\t\t\t\t\t'pi-window-minimize': isFullScreen\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(click)=\"toggleFullScreen()\"></i>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- body -->\r\n\t\t<ng-content select=\"[body]\"></ng-content>\r\n\r\n\t\t<!-- footer -->\r\n\t\t@if (showFooter()) {\r\n\t\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t\t</ng-template>\r\n\t\t}\r\n\t</p-panel>\r\n</div>\r\n", styles: [".full-screen{position:fixed;inset:0;z-index:99999999;overflow-y:auto;box-sizing:border-box;width:100%;height:100vh;background:#fff}.panel-header{width:100%;display:flex;justify-content:space-between;align-items:center;color:var(--muted-foreground);font-size:14px;font-style:normal;font-weight:400;line-height:normal}::ng-deep .panel-icons i{cursor:pointer;width:2rem}\n"] }]
24
+ args: [{ standalone: true, selector: 'aril-panel', imports: [PanelModule, NgClass], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"{ 'full-screen': isFullScreen && canFullScreen }\">\r\n\t<p-panel\r\n\t\t[toggleable]=\"toggleable()\"\r\n\t\t[collapsed]=\"collapsed()\"\r\n\t\t[collapseIcon]=\"'pi pi-chevron-down'\"\r\n\t\t[expandIcon]=\"'pi pi-chevron-up'\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t>\r\n\t\t<!-- header -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<div class=\"panel-header\">\r\n\t\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- header-tools -->\r\n\t\t<ng-template class=\"flex\" pTemplate=\"icons\">\r\n\t\t\t<div class=\"panel-icons flex\">\r\n\t\t\t\t<ng-content select=\"[tools]\"></ng-content>\r\n\r\n\t\t\t\t@if (canFullScreen()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\trole=\"button\"\r\n\t\t\t\t\t\tclass=\"pi\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'pi-window-maximize': !isFullScreen,\r\n\t\t\t\t\t\t\t'pi-window-minimize': isFullScreen\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(click)=\"toggleFullScreen()\"></i>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- body -->\r\n\t\t<ng-content select=\"[body]\"></ng-content>\r\n\r\n\t\t<!-- footer -->\r\n\t\t@if (showFooter()) {\r\n\t\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t\t</ng-template>\r\n\t\t}\r\n\t</p-panel>\r\n</div>\r\n", styles: [".full-screen{position:fixed;inset:0;z-index:99999999;overflow-y:auto;box-sizing:border-box;width:100%;height:100vh;background:#fff}.panel-header{width:100%;display:flex;justify-content:space-between;align-items:center;color:var(--muted-foreground);font-size:14px;font-style:normal;font-weight:400;line-height:normal}::ng-deep .panel-icons i{cursor:pointer;width:2rem}\n"] }]
23
25
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9wYW5lbC9zcmMvcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9wYW5lbC9zcmMvcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFVNUMsTUFBTSxPQUFPLGNBQWM7SUFSM0I7UUFTQyxlQUFVLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQ2xDLGtCQUFhLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQ3JDLGVBQVUsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFbkMsaUJBQVksR0FBRyxLQUFLLENBQUM7S0FLckI7SUFIQSxnQkFBZ0I7UUFDZixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUN4QyxDQUFDOzhHQVRXLGNBQWM7a0dBQWQsY0FBYyxnZkNiM0IseXRDQXNDQSwwYUQ1QlcsV0FBVyxnYUFBRSxPQUFPOzsyRkFHbEIsY0FBYztrQkFSMUIsU0FBUztpQ0FDRyxJQUFJLFlBQ04sWUFBWSxXQUdiLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxtQkFDZCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcGFuZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FyaWwtcGFuZWwnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9wYW5lbC5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmw6ICcuL3BhbmVsLmNvbXBvbmVudC5jc3MnLFxyXG5cdGltcG9ydHM6IFtQYW5lbE1vZHVsZSwgTmdDbGFzc10sXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhbmVsQ29tcG9uZW50IHtcclxuXHR0b2dnbGVhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0Y2FuRnVsbFNjcmVlbiA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdHNob3dGb290ZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblxyXG5cdGlzRnVsbFNjcmVlbiA9IGZhbHNlO1xyXG5cclxuXHR0b2dnbGVGdWxsU2NyZWVuKCkge1xyXG5cdFx0dGhpcy5pc0Z1bGxTY3JlZW4gPSAhdGhpcy5pc0Z1bGxTY3JlZW47XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgW25nQ2xhc3NdPVwieyAnZnVsbC1zY3JlZW4nOiBpc0Z1bGxTY3JlZW4gJiYgY2FuRnVsbFNjcmVlbiB9XCI+XHJcblx0PHAtcGFuZWwgW3RvZ2dsZWFibGVdPVwidG9nZ2xlYWJsZSgpXCIgW2NvbGxhcHNlSWNvbl09XCIncGkgcGktY2hldnJvbi11cCdcIiBbZXhwYW5kSWNvbl09XCIncGkgcGktY2hldnJvbi1kb3duJ1wiPlxyXG5cdFx0PCEtLSBoZWFkZXIgLS0+XHJcblx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJwYW5lbC1oZWFkZXJcIj5cclxuXHRcdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbaGVhZGVyXVwiPjwvbmctY29udGVudD5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cclxuXHRcdDwhLS0gaGVhZGVyLXRvb2xzIC0tPlxyXG5cdFx0PG5nLXRlbXBsYXRlIGNsYXNzPVwiZmxleFwiIHBUZW1wbGF0ZT1cImljb25zXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJwYW5lbC1pY29ucyBmbGV4XCI+XHJcblx0XHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Rvb2xzXVwiPjwvbmctY29udGVudD5cclxuXHJcblx0XHRcdFx0QGlmIChjYW5GdWxsU2NyZWVuKCkpIHtcclxuXHRcdFx0XHRcdDxpXHJcblx0XHRcdFx0XHRcdHJvbGU9XCJidXR0b25cIlxyXG5cdFx0XHRcdFx0XHRjbGFzcz1cInBpXCJcclxuXHRcdFx0XHRcdFx0W25nQ2xhc3NdPVwie1xyXG5cdFx0XHRcdFx0XHRcdCdwaS13aW5kb3ctbWF4aW1pemUnOiAhaXNGdWxsU2NyZWVuLFxyXG5cdFx0XHRcdFx0XHRcdCdwaS13aW5kb3ctbWluaW1pemUnOiBpc0Z1bGxTY3JlZW5cclxuXHRcdFx0XHRcdFx0fVwiXHJcblx0XHRcdFx0XHRcdChjbGljayk9XCJ0b2dnbGVGdWxsU2NyZWVuKClcIj48L2k+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdFx0PCEtLSBib2R5IC0tPlxyXG5cdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvZHldXCI+PC9uZy1jb250ZW50PlxyXG5cclxuXHRcdDwhLS0gZm9vdGVyIC0tPlxyXG5cdFx0QGlmIChzaG93Rm9vdGVyKCkpIHtcclxuXHRcdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG5cdFx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIltmb290ZXJdXCI+PC9uZy1jb250ZW50PlxyXG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0fVxyXG5cdDwvcC1wYW5lbD5cclxuPC9kaXY+XHJcbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9wYW5lbC9zcmMvcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9wYW5lbC9zcmMvcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFVNUMsTUFBTSxPQUFPLGNBQWM7SUFSM0I7UUFTQyxlQUFVLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQ2xDLGtCQUFhLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQ3JDLGNBQVMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbEMsZUFBVSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzdCLGVBQVUsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFbkMsaUJBQVksR0FBRyxLQUFLLENBQUM7S0FLckI7SUFIQSxnQkFBZ0I7UUFDZixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUN4QyxDQUFDOzhHQVhXLGNBQWM7a0dBQWQsY0FBYywydkJDYjNCLDh6Q0E0Q0EsMGFEbENXLFdBQVcsZ2FBQUUsT0FBTzs7MkZBR2xCLGNBQWM7a0JBUjFCLFNBQVM7aUNBQ0csSUFBSSxZQUNOLFlBQVksV0FHYixDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsbUJBQ2QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgUGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL3BhbmVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdhcmlsLXBhbmVsJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsOiAnLi9wYW5lbC5jb21wb25lbnQuY3NzJyxcclxuXHRpbXBvcnRzOiBbUGFuZWxNb2R1bGUsIE5nQ2xhc3NdLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYW5lbENvbXBvbmVudCB7XHJcblx0dG9nZ2xlYWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdGNhbkZ1bGxTY3JlZW4gPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRjb2xsYXBzZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0c3R5bGVDbGFzcyA9IGlucHV0PHN0cmluZz4oKTtcclxuXHRzaG93Rm9vdGVyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHRpc0Z1bGxTY3JlZW4gPSBmYWxzZTtcclxuXHJcblx0dG9nZ2xlRnVsbFNjcmVlbigpIHtcclxuXHRcdHRoaXMuaXNGdWxsU2NyZWVuID0gIXRoaXMuaXNGdWxsU2NyZWVuO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInsgJ2Z1bGwtc2NyZWVuJzogaXNGdWxsU2NyZWVuICYmIGNhbkZ1bGxTY3JlZW4gfVwiPlxyXG5cdDxwLXBhbmVsXHJcblx0XHRbdG9nZ2xlYWJsZV09XCJ0b2dnbGVhYmxlKClcIlxyXG5cdFx0W2NvbGxhcHNlZF09XCJjb2xsYXBzZWQoKVwiXHJcblx0XHRbY29sbGFwc2VJY29uXT1cIidwaSBwaS1jaGV2cm9uLWRvd24nXCJcclxuXHRcdFtleHBhbmRJY29uXT1cIidwaSBwaS1jaGV2cm9uLXVwJ1wiXHJcblx0XHRbc3R5bGVDbGFzc109XCJzdHlsZUNsYXNzKClcIlxyXG5cdFx0PlxyXG5cdFx0PCEtLSBoZWFkZXIgLS0+XHJcblx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJwYW5lbC1oZWFkZXJcIj5cclxuXHRcdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbaGVhZGVyXVwiPjwvbmctY29udGVudD5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cclxuXHRcdDwhLS0gaGVhZGVyLXRvb2xzIC0tPlxyXG5cdFx0PG5nLXRlbXBsYXRlIGNsYXNzPVwiZmxleFwiIHBUZW1wbGF0ZT1cImljb25zXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJwYW5lbC1pY29ucyBmbGV4XCI+XHJcblx0XHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Rvb2xzXVwiPjwvbmctY29udGVudD5cclxuXHJcblx0XHRcdFx0QGlmIChjYW5GdWxsU2NyZWVuKCkpIHtcclxuXHRcdFx0XHRcdDxpXHJcblx0XHRcdFx0XHRcdHJvbGU9XCJidXR0b25cIlxyXG5cdFx0XHRcdFx0XHRjbGFzcz1cInBpXCJcclxuXHRcdFx0XHRcdFx0W25nQ2xhc3NdPVwie1xyXG5cdFx0XHRcdFx0XHRcdCdwaS13aW5kb3ctbWF4aW1pemUnOiAhaXNGdWxsU2NyZWVuLFxyXG5cdFx0XHRcdFx0XHRcdCdwaS13aW5kb3ctbWluaW1pemUnOiBpc0Z1bGxTY3JlZW5cclxuXHRcdFx0XHRcdFx0fVwiXHJcblx0XHRcdFx0XHRcdChjbGljayk9XCJ0b2dnbGVGdWxsU2NyZWVuKClcIj48L2k+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdFx0PCEtLSBib2R5IC0tPlxyXG5cdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvZHldXCI+PC9uZy1jb250ZW50PlxyXG5cclxuXHRcdDwhLS0gZm9vdGVyIC0tPlxyXG5cdFx0QGlmIChzaG93Rm9vdGVyKCkpIHtcclxuXHRcdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG5cdFx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIltmb290ZXJdXCI+PC9uZy1jb250ZW50PlxyXG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0fVxyXG5cdDwvcC1wYW5lbD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -83,11 +83,11 @@ export class TableComponent {
83
83
  this.tableRef.clear();
84
84
  }
85
85
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TableComponent, deps: [{ token: i1.PrimeNGConfig }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
86
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: TableComponent, selector: "aril-table", inputs: { kebabMenuItems: { classPropertyName: "kebabMenuItems", publicName: "kebabMenuItems", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, checkboxSelection: { classPropertyName: "checkboxSelection", publicName: "checkboxSelection", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, proxy: { classPropertyName: "proxy", publicName: "proxy", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, tAlign: { classPropertyName: "tAlign", publicName: "tAlign", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, showSearchTool: { classPropertyName: "showSearchTool", publicName: "showSearchTool", isSignal: true, isRequired: false, transformFunction: null }, showExportTool: { classPropertyName: "showExportTool", publicName: "showExportTool", isSignal: true, isRequired: false, transformFunction: null }, exportFileName: { classPropertyName: "exportFileName", publicName: "exportFileName", isSignal: true, isRequired: false, transformFunction: null }, noDataFoundLabel: { classPropertyName: "noDataFoundLabel", publicName: "noDataFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, tableHeader: { classPropertyName: "tableHeader", publicName: "tableHeader", isSignal: true, isRequired: false, transformFunction: null }, showTableHeader: { classPropertyName: "showTableHeader", publicName: "showTableHeader", isSignal: true, isRequired: false, transformFunction: null }, isFirstRowSelected: { classPropertyName: "isFirstRowSelected", publicName: "isFirstRowSelected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPageEvent: "onPageEvent", selectionEvent: "selectionEvent" }, queries: [{ propertyName: "columns", predicate: TableColumnComponent }], viewQueries: [{ propertyName: "tableRef", first: true, predicate: Table, descendants: true }], ngImport: i0, template: "\r\n<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"true\"\r\n\t[rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n\t[filterDelay]=\"0\"\r\n\tsortMode=\"multiple\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\tcurrentPageReportTemplate=\"Toplam : {totalRecords} kay\u0131t | Sayfa : {currentPage} / {totalPages}\"\r\n\tstyleClass=\"p-datatable-sm\">\r\n\t<!--@if (tableHeader() || showSearchTool() || showExportTool()) {\r\n\t\t<ng-template pTemplate=\"caption\">\r\n\t\t\t<div class=\"flex space-between\">\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t@if (tableHeader().length) {\r\n\t\t\t\t\t\t<div class=\"table-header\">\r\n\t\t\t\t\t\t\t{{ tableHeader() }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t<div class=\"flex justify-content-end align-items-center\">\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-text\r\n\t\t\t\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\t\t\t\ticonPos=\"left\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"filterText\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"ref.filterGlobal($event.target.value, 'contains')\">\r\n\t\t\t\t\t\t\t</aril-text>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_EXCEL\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"XLS\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"excelExport()\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_PDF\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"PDF\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"exportPdf()\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (data() && kebabMenuItems.length > 0 ) {\r\n\t\t\t\t\t\t\t<div tools style=\"padding: 4px;margin-left: 4px;border:1px solid #6366f1;border-radius: 6px;background-color: #6366f1; color: white;\" >\r\n\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t[attr.role]=\"'none'\"\r\n\t\t\t\t\t\t\t\t\tclass=\"pi mr-1 header-icon pi-ellipsis-v\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"bulkOperations.toggle($event);\"></i>\r\n\t\t\t\t\t\t\t\t<p-menu\r\n\t\t\t\t\t\t\t\t\t#bulkOperations\r\n\t\t\t\t\t\t\t\t\t[popup]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[model]=\"kebabMenuItems\"\r\n\t\t\t\t\t\t\t\t\tstyleClass=\"z-index: 9998899;\"\r\n\t\t\t\t\t\t\t\t\tappendTo=\"body\"></p-menu>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t}-->\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t<!--<p-tableHeaderCheckbox></p-tableHeaderCheckbox>-->\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.type() === 'operations') {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">\u0130\u015Flemler</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t<th [pSortableColumn]=\"column.field()\">\r\n\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center\">\r\n\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t<i style=\"color: var(--primary-color); padding-top: 4px; padding-left: 4px;\" class=\"pi pi-question-circle\" [pTooltip]=\"column.tooltipTemplate()\" tooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t<!--<p-columnFilter\r\n\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t[type]=\"column.type()\"\r\n\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t[showMatchModes]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[showOperator]=\"false\"\r\n\t\t\t\t\t\t\t\t\t[showAddButton]=\"true\">\r\n\t\t\t\t\t\t\t\t</p-columnFilter>-->\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<!-- custom filter for (date etc.)-->\r\n\t\t\t\t\t\t\t<!-- <p-columnFilter type=\"text\" [field]=\"col.field\" [matchModeOptions]=\"matchModeOptions\" [matchMode]=\"'custom-equals'\"></p-columnFilter> -->\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\">\r\n\t\t@if (selectionMode()) {\r\n\t\t\t<tr [pSelectableRow]=\"item\">\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t} @else {\r\n\t\t\t<tr>\r\n\t\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t}\r\n\t</ng-template>\r\n\r\n\t@if (showFooter()) {\r\n\t\t<ng-template pTemplate=\"summary\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t}\r\n\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">{{ noDataFoundLabel() }}</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n", styles: [".justify-content-between{justify-content:initial!important}p-sorticon.p-element{padding-left:7px!important}.flex.justify-content-between.align-items-center{//padding: 4px !important}\n"], dependencies: [{ kind: "component", type: i2.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i2.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i2.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "component", type: i2.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i2.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
86
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: TableComponent, selector: "aril-table", inputs: { kebabMenuItems: { classPropertyName: "kebabMenuItems", publicName: "kebabMenuItems", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, checkboxSelection: { classPropertyName: "checkboxSelection", publicName: "checkboxSelection", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, proxy: { classPropertyName: "proxy", publicName: "proxy", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, tAlign: { classPropertyName: "tAlign", publicName: "tAlign", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, showSearchTool: { classPropertyName: "showSearchTool", publicName: "showSearchTool", isSignal: true, isRequired: false, transformFunction: null }, showExportTool: { classPropertyName: "showExportTool", publicName: "showExportTool", isSignal: true, isRequired: false, transformFunction: null }, exportFileName: { classPropertyName: "exportFileName", publicName: "exportFileName", isSignal: true, isRequired: false, transformFunction: null }, noDataFoundLabel: { classPropertyName: "noDataFoundLabel", publicName: "noDataFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, tableHeader: { classPropertyName: "tableHeader", publicName: "tableHeader", isSignal: true, isRequired: false, transformFunction: null }, showTableHeader: { classPropertyName: "showTableHeader", publicName: "showTableHeader", isSignal: true, isRequired: false, transformFunction: null }, isFirstRowSelected: { classPropertyName: "isFirstRowSelected", publicName: "isFirstRowSelected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPageEvent: "onPageEvent", selectionEvent: "selectionEvent" }, queries: [{ propertyName: "columns", predicate: TableColumnComponent }], viewQueries: [{ propertyName: "tableRef", first: true, predicate: Table, descendants: true }], ngImport: i0, template: "\r\n<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"true\"\r\n\t[rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n\t[filterDelay]=\"0\"\r\n\tsortMode=\"multiple\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\tcurrentPageReportTemplate=\"Toplam : {totalRecords} kay\u0131t | Sayfa : {currentPage} / {totalPages}\"\r\n\tstyleClass=\"p-datatable-sm\">\r\n\t<!--@if (tableHeader() || showSearchTool() || showExportTool()) {\r\n\t\t<ng-template pTemplate=\"caption\">\r\n\t\t\t<div class=\"flex space-between\">\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t@if (tableHeader().length) {\r\n\t\t\t\t\t\t<div class=\"table-header\">\r\n\t\t\t\t\t\t\t{{ tableHeader() }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t<div class=\"flex justify-content-end align-items-center\">\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-text\r\n\t\t\t\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\t\t\t\ticonPos=\"left\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"filterText\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"ref.filterGlobal($event.target.value, 'contains')\">\r\n\t\t\t\t\t\t\t</aril-text>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_EXCEL\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"XLS\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"excelExport()\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_PDF\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"PDF\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"exportPdf()\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (data() && kebabMenuItems.length > 0 ) {\r\n\t\t\t\t\t\t\t<div tools style=\"padding: 4px;margin-left: 4px;border:1px solid #6366f1;border-radius: 6px;background-color: #6366f1; color: white;\" >\r\n\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t[attr.role]=\"'none'\"\r\n\t\t\t\t\t\t\t\t\tclass=\"pi mr-1 header-icon pi-ellipsis-v\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"bulkOperations.toggle($event);\"></i>\r\n\t\t\t\t\t\t\t\t<p-menu\r\n\t\t\t\t\t\t\t\t\t#bulkOperations\r\n\t\t\t\t\t\t\t\t\t[popup]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[model]=\"kebabMenuItems\"\r\n\t\t\t\t\t\t\t\t\tstyleClass=\"z-index: 9998899;\"\r\n\t\t\t\t\t\t\t\t\tappendTo=\"body\"></p-menu>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t}-->\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t<!--<p-tableHeaderCheckbox></p-tableHeaderCheckbox>-->\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.type() === 'operations') {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">\u0130\u015Flemler</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t<th [pSortableColumn]=\"column.field()\">\r\n\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center\">\r\n\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t<i style=\"color: var(--primary-color); padding-top: 4px; padding-left: 4px;\" class=\"pi pi-question-circle\" [pTooltip]=\"column.tooltipTemplate()\" tooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t<!--<p-columnFilter\r\n\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t[type]=\"column.type()\"\r\n\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t[showMatchModes]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[showOperator]=\"false\"\r\n\t\t\t\t\t\t\t\t\t[showAddButton]=\"true\">\r\n\t\t\t\t\t\t\t\t</p-columnFilter>-->\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<!-- custom filter for (date etc.)-->\r\n\t\t\t\t\t\t\t<!-- <p-columnFilter type=\"text\" [field]=\"col.field\" [matchModeOptions]=\"matchModeOptions\" [matchMode]=\"'custom-equals'\"></p-columnFilter> -->\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\">\r\n\t\t@if (selectionMode()) {\r\n\t\t\t<tr [pSelectableRow]=\"item\">\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t} @else {\r\n\t\t\t<tr>\r\n\t\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t}\r\n\t</ng-template>\r\n\r\n\t@if (showFooter()) {\r\n\t\t<ng-template pTemplate=\"summary\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t}\r\n\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">{{ noDataFoundLabel() }}</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n", styles: [".justify-content-between{justify-content:initial!important}p-sorticon.p-element{padding-left:7px!important}\n"], dependencies: [{ kind: "component", type: i2.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i2.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i2.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "component", type: i2.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i2.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
87
87
  }
88
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TableComponent, decorators: [{
89
89
  type: Component,
90
- args: [{ selector: 'aril-table', template: "\r\n<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"true\"\r\n\t[rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n\t[filterDelay]=\"0\"\r\n\tsortMode=\"multiple\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\tcurrentPageReportTemplate=\"Toplam : {totalRecords} kay\u0131t | Sayfa : {currentPage} / {totalPages}\"\r\n\tstyleClass=\"p-datatable-sm\">\r\n\t<!--@if (tableHeader() || showSearchTool() || showExportTool()) {\r\n\t\t<ng-template pTemplate=\"caption\">\r\n\t\t\t<div class=\"flex space-between\">\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t@if (tableHeader().length) {\r\n\t\t\t\t\t\t<div class=\"table-header\">\r\n\t\t\t\t\t\t\t{{ tableHeader() }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t<div class=\"flex justify-content-end align-items-center\">\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-text\r\n\t\t\t\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\t\t\t\ticonPos=\"left\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"filterText\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"ref.filterGlobal($event.target.value, 'contains')\">\r\n\t\t\t\t\t\t\t</aril-text>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_EXCEL\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"XLS\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"excelExport()\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_PDF\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"PDF\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"exportPdf()\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (data() && kebabMenuItems.length > 0 ) {\r\n\t\t\t\t\t\t\t<div tools style=\"padding: 4px;margin-left: 4px;border:1px solid #6366f1;border-radius: 6px;background-color: #6366f1; color: white;\" >\r\n\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t[attr.role]=\"'none'\"\r\n\t\t\t\t\t\t\t\t\tclass=\"pi mr-1 header-icon pi-ellipsis-v\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"bulkOperations.toggle($event);\"></i>\r\n\t\t\t\t\t\t\t\t<p-menu\r\n\t\t\t\t\t\t\t\t\t#bulkOperations\r\n\t\t\t\t\t\t\t\t\t[popup]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[model]=\"kebabMenuItems\"\r\n\t\t\t\t\t\t\t\t\tstyleClass=\"z-index: 9998899;\"\r\n\t\t\t\t\t\t\t\t\tappendTo=\"body\"></p-menu>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t}-->\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t<!--<p-tableHeaderCheckbox></p-tableHeaderCheckbox>-->\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.type() === 'operations') {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">\u0130\u015Flemler</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t<th [pSortableColumn]=\"column.field()\">\r\n\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center\">\r\n\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t<i style=\"color: var(--primary-color); padding-top: 4px; padding-left: 4px;\" class=\"pi pi-question-circle\" [pTooltip]=\"column.tooltipTemplate()\" tooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t<!--<p-columnFilter\r\n\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t[type]=\"column.type()\"\r\n\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t[showMatchModes]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[showOperator]=\"false\"\r\n\t\t\t\t\t\t\t\t\t[showAddButton]=\"true\">\r\n\t\t\t\t\t\t\t\t</p-columnFilter>-->\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<!-- custom filter for (date etc.)-->\r\n\t\t\t\t\t\t\t<!-- <p-columnFilter type=\"text\" [field]=\"col.field\" [matchModeOptions]=\"matchModeOptions\" [matchMode]=\"'custom-equals'\"></p-columnFilter> -->\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\">\r\n\t\t@if (selectionMode()) {\r\n\t\t\t<tr [pSelectableRow]=\"item\">\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t} @else {\r\n\t\t\t<tr>\r\n\t\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t}\r\n\t</ng-template>\r\n\r\n\t@if (showFooter()) {\r\n\t\t<ng-template pTemplate=\"summary\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t}\r\n\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">{{ noDataFoundLabel() }}</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n", styles: [".justify-content-between{justify-content:initial!important}p-sorticon.p-element{padding-left:7px!important}.flex.justify-content-between.align-items-center{//padding: 4px !important}\n"] }]
90
+ args: [{ selector: 'aril-table', template: "\r\n<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"true\"\r\n\t[rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n\t[filterDelay]=\"0\"\r\n\tsortMode=\"multiple\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\tcurrentPageReportTemplate=\"Toplam : {totalRecords} kay\u0131t | Sayfa : {currentPage} / {totalPages}\"\r\n\tstyleClass=\"p-datatable-sm\">\r\n\t<!--@if (tableHeader() || showSearchTool() || showExportTool()) {\r\n\t\t<ng-template pTemplate=\"caption\">\r\n\t\t\t<div class=\"flex space-between\">\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t@if (tableHeader().length) {\r\n\t\t\t\t\t\t<div class=\"table-header\">\r\n\t\t\t\t\t\t\t{{ tableHeader() }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t<div class=\"flex justify-content-end align-items-center\">\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-text\r\n\t\t\t\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\t\t\t\ticonPos=\"left\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"filterText\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"ref.filterGlobal($event.target.value, 'contains')\">\r\n\t\t\t\t\t\t\t</aril-text>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_EXCEL\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"XLS\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"excelExport()\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_PDF\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"PDF\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"exportPdf()\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (data() && kebabMenuItems.length > 0 ) {\r\n\t\t\t\t\t\t\t<div tools style=\"padding: 4px;margin-left: 4px;border:1px solid #6366f1;border-radius: 6px;background-color: #6366f1; color: white;\" >\r\n\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t[attr.role]=\"'none'\"\r\n\t\t\t\t\t\t\t\t\tclass=\"pi mr-1 header-icon pi-ellipsis-v\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"bulkOperations.toggle($event);\"></i>\r\n\t\t\t\t\t\t\t\t<p-menu\r\n\t\t\t\t\t\t\t\t\t#bulkOperations\r\n\t\t\t\t\t\t\t\t\t[popup]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[model]=\"kebabMenuItems\"\r\n\t\t\t\t\t\t\t\t\tstyleClass=\"z-index: 9998899;\"\r\n\t\t\t\t\t\t\t\t\tappendTo=\"body\"></p-menu>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t}-->\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t<!--<p-tableHeaderCheckbox></p-tableHeaderCheckbox>-->\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.type() === 'operations') {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">\u0130\u015Flemler</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t<th [pSortableColumn]=\"column.field()\">\r\n\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center\">\r\n\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t<i style=\"color: var(--primary-color); padding-top: 4px; padding-left: 4px;\" class=\"pi pi-question-circle\" [pTooltip]=\"column.tooltipTemplate()\" tooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t<!--<p-columnFilter\r\n\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t[type]=\"column.type()\"\r\n\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t[showMatchModes]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[showOperator]=\"false\"\r\n\t\t\t\t\t\t\t\t\t[showAddButton]=\"true\">\r\n\t\t\t\t\t\t\t\t</p-columnFilter>-->\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<!-- custom filter for (date etc.)-->\r\n\t\t\t\t\t\t\t<!-- <p-columnFilter type=\"text\" [field]=\"col.field\" [matchModeOptions]=\"matchModeOptions\" [matchMode]=\"'custom-equals'\"></p-columnFilter> -->\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\">\r\n\t\t@if (selectionMode()) {\r\n\t\t\t<tr [pSelectableRow]=\"item\">\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t} @else {\r\n\t\t\t<tr>\r\n\t\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t}\r\n\t</ng-template>\r\n\r\n\t@if (showFooter()) {\r\n\t\t<ng-template pTemplate=\"summary\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t}\r\n\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">{{ noDataFoundLabel() }}</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n", styles: [".justify-content-between{justify-content:initial!important}p-sorticon.p-element{padding-left:7px!important}\n"] }]
91
91
  }], ctorParameters: () => [{ type: i1.PrimeNGConfig }, { type: i0.ChangeDetectorRef }], propDecorators: { onPageEvent: [{
92
92
  type: Output
93
93
  }], selectionEvent: [{
@@ -101,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
101
101
  }], kebabMenuItems: [{
102
102
  type: Input
103
103
  }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdOLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0QyxPQUFPLEtBQUssU0FBUyxNQUFNLFlBQVksQ0FBQztBQUN4QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFFeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JDLE9BQU8sRUFBYyxvQkFBb0IsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBRTFGOzs7OztHQUtHO0FBQ0gsTUFBTSxXQUFXLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQVUsQ0FBQztBQTJCL0MsTUFBTSxPQUFPLGNBQWM7SUEwQjFCLFlBQ1MsYUFBNEIsRUFDNUIsR0FBc0I7UUFEdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUEzQnJCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDekQsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUc3RCxtQkFBYyxHQUFlLEVBQUUsQ0FBQztR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dCxcclxuXHRDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRDb21wb25lbnQsXHJcblx0Q29udGVudENoaWxkcmVuLFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRJbnB1dCxcclxuXHRPdXRwdXQsXHJcblx0Vmlld0NoaWxkLFxyXG5cdGVmZmVjdCxcclxuXHRpbnB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWVudUl0ZW0sIFByaW1lTkdDb25maWcgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XHJcblxyXG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCBqc1BERiBmcm9tICdqc3BkZic7XHJcbmltcG9ydCBhdXRvVGFibGUgZnJvbSAnanNwZGYtYXV0b3RhYmxlJztcclxuXHJcbmltcG9ydCB7IFByb3h5VHlwZXMgfSBmcm9tICdhcmlsL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgdHJhbmxhdGlvbnMgfSBmcm9tICcuL2kxOG4nO1xyXG5pbXBvcnQgeyBBbGlnblR5cGVzLCBUYWJsZUNvbHVtbkNvbXBvbmVudCwgVGFibGVDb2x1bW5zIH0gZnJvbSAnLi90YWJsZS1jb2x1bW4uY29tcG9uZW50JztcclxuXHJcbi8qIFRPRE8gOlxyXG4gKiBzZXJ2ZXItc2lkZS1wcm94eSAoUHJveHlUeXBlcy5TZXJ2ZXJTaWRlKVxyXG4gKiBzZWFyY2ggJiBjb2x1bSBmaWx0ZXIgJiBzb3J0XHJcbiAqIHBhZ2luYXRpb24gb3BlcmF0aW9uXHJcbiAqIFF1ZXJ5IFNpZ25hbHNcclxuICovXHJcbmNvbnN0IHBhZ2VPcHRpb25zID0gWzEwLCAyMCwgNTAsIDEwMF0gYXMgY29uc3Q7XHJcblxyXG50eXBlIFNlbGVjdGlvblR5cGVzID0gJ3NpbmdsZScgfCAnbXVsdGlwbGUnO1xyXG5cclxuaW50ZXJmYWNlIElLZWJhYk1lbnVJdGVtIHtcclxuXHRpY29uOiBzdHJpbmc7XHJcblx0bGFiZWw6IHN0cmluZztcclxuXHRvbkNsaWNrOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXJpbC10YWJsZScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZXM6IFtcclxuXHRcdGBcclxuXHRcdFx0Lmp1c3RpZnktY29udGVudC1iZXR3ZWVuIHtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGluaXRpYWwgIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cdFx0XHRwLXNvcnRpY29uLnAtZWxlbWVudCB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OjdweCAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHRcdC5mbGV4Lmp1c3RpZnktY29udGVudC1iZXR3ZWVuLmFsaWduLWl0ZW1zLWNlbnRlciB7XHJcblx0XHRcdFx0Ly9wYWRkaW5nOiA0cHggIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cdFx0YFxyXG5cdF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcblx0QE91dHB1dCgpIG9uUGFnZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdEBPdXRwdXQoKSBzZWxlY3Rpb25FdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRAQ29udGVudENoaWxkcmVuKFRhYmxlQ29sdW1uQ29tcG9uZW50KSBjb2x1bW5zITogVGFibGVDb2x1bW5zO1xyXG5cdEBWaWV3Q2hpbGQoVGFibGUpIHRhYmxlUmVmITogVGFibGU7XHJcblx0QElucHV0KCkga2ViYWJNZW51SXRlbXM6IE1lbnVJdGVtW10gPSBbXTtcclxuXHJcblx0ZGF0YSA9IGlucHV0LnJlcXVpcmVkPGFueVtdPigpO1xyXG5cdGNoZWNrYm94U2VsZWN0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oKTtcclxuXHRwYWdlU2l6ZSA9IGlucHV0PCh0eXBlb2YgcGFnZU9wdGlvbnMpW251bWJlcl0+KDEwKTtcclxuXHRwcm94eSA9IGlucHV0PFByb3h5VHlwZXM+KFByb3h5VHlwZXMuTmF0aXZlKTtcclxuXHRzaG93Rm9vdGVyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHRBbGlnbiA9IGlucHV0PEFsaWduVHlwZXM+KCdsZWZ0Jyk7XHJcblx0c2VsZWN0aW9uTW9kZSA9IGlucHV0PFNlbGVjdGlvblR5cGVzPigpO1xyXG5cdHNob3dTZWFyY2hUb29sID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0c2hvd0V4cG9ydFRvb2wgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRleHBvcnRGaWxlTmFtZSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdG5vRGF0YUZvdW5kTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCdObyBEYXRhIEZvdW5kJyk7XHJcblx0dGFibGVIZWFkZXIgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHRzaG93VGFibGVIZWFkZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0aXNGaXJzdFJvd1NlbGVjdGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGZpbHRlclRleHQhOiBzdHJpbmc7XHJcblx0c2VsZWN0ZWRSb3dzOiBhbnk7XHJcblx0cGFnZU9wdGlvbnMgPSBwYWdlT3B0aW9ucztcclxuXHRleHBvcnRDb2x1bW5zOiBBcnJheTx7IHRpdGxlOiBzdHJpbmc7IGRhdGFLZXk6IHN0cmluZyB9PiA9IFtdO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcHJpbWVuZ0NvbmZpZzogUHJpbWVOR0NvbmZpZyxcclxuXHRcdHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG5cdCkge1xyXG5cdFx0dGhpcy5wcmltZW5nQ29uZmlnLnNldFRyYW5zbGF0aW9uKHRyYW5sYXRpb25zKTtcclxuXHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5pc0ZpcnN0Um93U2VsZWN0ZWQoKSAmJiB0aGlzLmRhdGEoKSkge1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWRSb3dzID0gdGhpcy5kYXRhKClbMF07XHJcblx0XHRcdFx0dGhpcy5zZWxlY3Rpb25FdmVudC5lbWl0KHRoaXMuc2VsZWN0ZWRSb3dzKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5jb2x1bW5zKSB7XHJcblx0XHRcdHRoaXMuZXhwb3J0Q29sdW1ucyA9IHRoaXMuY29sdW1ucy5fcmVzdWx0cy5tYXAoKGNvbCkgPT4gKHsgdGl0bGU6IGNvbC5oZWFkZXIsIGRhdGFLZXk6IGNvbC5maWVsZCB9KSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRleGNlbEV4cG9ydCgpIHtcclxuXHRcdGltcG9ydCgneGxzeCcpLnRoZW4oKHhsc3gpID0+IHtcclxuXHRcdFx0Y29uc3Qgd29ya3NoZWV0ID0geGxzeC51dGlscy5qc29uX3RvX3NoZWV0KHRoaXMuZGF0YSgpKTtcclxuXHRcdFx0Y29uc3Qgd29ya2Jvb2sgPSB7IFNoZWV0czogeyBkYXRhOiB3b3Jrc2hlZXQgfSwgU2hlZXROYW1lczogWydkYXRhJ10gfTtcclxuXHRcdFx0Y29uc3QgZXhjZWxCdWZmZXI6IGFueSA9IHhsc3gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcclxuXHRcdFx0dGhpcy5zYXZlQXNFeGNlbEZpbGUoZXhjZWxCdWZmZXIsICF0aGlzLmV4cG9ydEZpbGVOYW1lID8gdGhpcy5leHBvcnRGaWxlTmFtZSA6ICdleGNlbF93b3Jrc2hlZXQnKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0c2F2ZUFzRXhjZWxGaWxlKGJ1ZmZlcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcblx0XHRjb25zdCBFWENFTF9UWVBFID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2NoYXJzZXQ9VVRGLTgnO1xyXG5cdFx0Y29uc3QgRVhDRUxfRVhURU5TSU9OID0gJy54bHN4JztcclxuXHRcdGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG5cdFx0XHR0eXBlOiBFWENFTF9UWVBFXHJcblx0XHR9KTtcclxuXHRcdEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyAnX2V4cG9ydF8nICsgbmV3IERhdGUoKS5nZXRUaW1lKCkgKyBFWENFTF9FWFRFTlNJT04pO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZXhwb3J0UGRmKCkge1xyXG5cdFx0Y29uc3QgZG9jID0gbmV3IGpzUERGKCdwb3J0cmFpdCcsICdweCcsICdhNCcpO1xyXG5cdFx0YXV0b1RhYmxlKGRvYywge1xyXG5cdFx0XHRjb2x1bW5zOiB0aGlzLmV4cG9ydENvbHVtbnMsXHJcblx0XHRcdGJvZHk6IHRoaXMuZGF0YSgpXHJcblx0XHR9KTtcclxuXHRcdGRvYy5zYXZlKGAke3RoaXMuZXhwb3J0RmlsZU5hbWV9X2V4cG9ydF8ke25ldyBEYXRlKCkuZ2V0VGltZSgpfS5wZGZgKTtcclxuXHR9XHJcblxyXG5cdGNsZWFyKCkge1xyXG5cdFx0dGhpcy50YWJsZVJlZi52YWx1ZSA9IFtdO1xyXG5cdFx0dGhpcy50YWJsZVJlZi5jbGVhcigpO1xyXG5cdH1cclxufVxyXG4iLCJcclxuPHAtdGFibGVcclxuXHQjcmVmXHJcblx0W3ZhbHVlXT1cImRhdGEoKVwiXHJcblx0W2NvbHVtbnNdPVwiY29sdW1ucy5fcmVzdWx0c1wiXHJcblx0W3Jvd3NdPVwicGFnZVNpemUoKVwiXHJcblx0W3Jvd0hvdmVyXT1cInRydWVcIlxyXG5cdFtwYWdpbmF0b3JdPVwidHJ1ZVwiXHJcblx0W3Jvd3NQZXJQYWdlT3B0aW9uc109XCJbMTAsIDIwLCA1MCwgMTAwXVwiXHJcblx0W2ZpbHRlckRlbGF5XT1cIjBcIlxyXG5cdHNvcnRNb2RlPVwibXVsdGlwbGVcIlxyXG5cdFsoc2VsZWN0aW9uKV09XCJzZWxlY3RlZFJvd3NcIlxyXG5cdChvblBhZ2UpPVwib25QYWdlRXZlbnQuZW1pdCgkZXZlbnQpXCJcclxuXHQoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGlvbkV2ZW50LmVtaXQoc2VsZWN0ZWRSb3dzKVwiXHJcblx0W3Nob3dDdXJyZW50UGFnZVJlcG9ydF09XCJ0cnVlXCJcclxuXHRbc2VsZWN0aW9uTW9kZV09XCJzZWxlY3Rpb25Nb2RlKClcIlxyXG5cdGN1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGU9XCJUb3BsYW0gOiB7dG90YWxSZWNvcmRzfSBrYXnEsXQgfCBTYXlmYSA6IHtjdXJyZW50UGFnZX0gLyB7dG90YWxQYWdlc31cIlxyXG5cdHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zbVwiPlxyXG5cdDwhLS1AaWYgKHRhYmxlSGVhZGVyKCkgfHwgc2hvd1NlYXJjaFRvb2woKSB8fCBzaG93RXhwb3J0VG9vbCgpKSB7XHJcblx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBzcGFjZS1iZXR3ZWVuXCI+XHJcblx0XHRcdFx0PGRpdiBzdHlsZT1cImZsZXg6IGF1dG9cIj5cclxuXHRcdFx0XHRcdEBpZiAodGFibGVIZWFkZXIoKS5sZW5ndGgpIHtcclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxyXG5cdFx0XHRcdFx0XHRcdHt7IHRhYmxlSGVhZGVyKCkgfX1cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PGRpdiBzdHlsZT1cImZsZXg6IGF1dG9cIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcblx0XHRcdFx0XHRcdEBpZiAoZmFsc2UpIHtcclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC10ZXh0XHJcblx0XHRcdFx0XHRcdFx0XHRpY29uPVwiU0VBUkNIXCJcclxuXHRcdFx0XHRcdFx0XHRcdGljb25Qb3M9XCJsZWZ0XCJcclxuXHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiQXJhbWFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0W25nTW9kZWxdPVwiZmlsdGVyVGV4dFwiXHJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cIm1yLTFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0KG5nTW9kZWxDaGFuZ2UpPVwicmVmLmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiPlxyXG5cdFx0XHRcdFx0XHRcdDwvYXJpbC10ZXh0PlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdEBpZiAoZmFsc2UpIHtcclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC1idXR0b25cclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbVwiXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uPVwiRklMRV9FWENFTFwiXHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcj1cInByaW1hcnlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0cFRvb2x0aXA9XCJYTFNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuXHRcdFx0XHRcdFx0XHRcdChjbGlja0V2ZW50KT1cImV4Y2VsRXhwb3J0KClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJtci0xXCI+XHJcblx0XHRcdFx0XHRcdFx0PC9hcmlsLWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC1idXR0b25cclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbVwiXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uPVwiRklMRV9QREZcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I9XCJwcmltYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHRcdHBUb29sdGlwPVwiUERGXCJcclxuXHRcdFx0XHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcblx0XHRcdFx0XHRcdFx0XHQoY2xpY2tFdmVudCk9XCJleHBvcnRQZGYoKVwiPlxyXG5cdFx0XHRcdFx0XHRcdDwvYXJpbC1idXR0b24+XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0QGlmIChkYXRhKCkgJiYga2ViYWJNZW51SXRlbXMubGVuZ3RoID4gMCApIHtcclxuXHRcdFx0XHRcdFx0XHQ8ZGl2IHRvb2xzIHN0eWxlPVwicGFkZGluZzogNHB4O21hcmdpbi1sZWZ0OiA0cHg7Ym9yZGVyOjFweCBzb2xpZCAjNjM2NmYxO2JvcmRlci1yYWRpdXM6IDZweDtiYWNrZ3JvdW5kLWNvbG9yOiAjNjM2NmYxOyBjb2xvcjogd2hpdGU7XCIgPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGlcclxuXHRcdFx0XHRcdFx0XHRcdFx0W2F0dHIucm9sZV09XCInbm9uZSdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cInBpIG1yLTEgaGVhZGVyLWljb24gcGktZWxsaXBzaXMtdlwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdChjbGljayk9XCJidWxrT3BlcmF0aW9ucy50b2dnbGUoJGV2ZW50KTtcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0XHQ8cC1tZW51XHJcblx0XHRcdFx0XHRcdFx0XHRcdCNidWxrT3BlcmF0aW9uc1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRbcG9wdXBdPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFttb2RlbF09XCJrZWJhYk1lbnVJdGVtc1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlQ2xhc3M9XCJ6LWluZGV4OiA5OTk4ODk5O1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGFwcGVuZFRvPVwiYm9keVwiPjwvcC1tZW51PlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblx0fS0tPlxyXG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiBsZXQtY29sdW1ucz5cclxuXHRcdDx0cj5cclxuXHRcdFx0QGlmIChjaGVja2JveFNlbGVjdGlvbigpKSB7XHJcblx0XHRcdFx0PHRoPlxyXG5cdFx0XHRcdFx0PCEtLTxwLXRhYmxlSGVhZGVyQ2hlY2tib3g+PC9wLXRhYmxlSGVhZGVyQ2hlY2tib3g+LS0+XHJcblx0XHRcdFx0PC90aD5cclxuXHRcdFx0fVxyXG5cdFx0XHRAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgJGluZGV4KSB7XHJcblx0XHRcdFx0QGlmIChjb2x1bW4udHlwZSgpID09PSAnb3BlcmF0aW9ucycpIHtcclxuXHRcdFx0XHRcdDx0aD5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPsSwxZ9sZW1sZXI8L2Rpdj5cclxuXHRcdFx0XHRcdDwvdGg+XHJcblx0XHRcdFx0fSBAZWxzZSB7XHJcblx0XHRcdFx0XHQ8dGggW3BTb3J0YWJsZUNvbHVtbl09XCJjb2x1bW4uZmllbGQoKVwiPlxyXG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuXHRcdFx0XHRcdFx0XHR7eyBjb2x1bW4uaGVhZGVyKCkgfX1cclxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0QGlmIChjb2x1bW4uaXNTaG93SGVhZGVyVG9vbHRpcCgpKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxpIHN0eWxlPVwiY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpOyBwYWRkaW5nLXRvcDogNHB4OyBwYWRkaW5nLWxlZnQ6IDRweDtcIiBjbGFzcz1cInBpIHBpLXF1ZXN0aW9uLWNpcmNsZVwiIFtwVG9vbHRpcF09XCJjb2x1bW4udG9vbHRpcFRlbXBsYXRlKClcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHQ8cC1zb3J0SWNvbiBbZmllbGRdPVwiY29sdW1uLmZpZWxkKClcIj48L3Atc29ydEljb24+XHJcblx0XHRcdFx0XHRcdFx0XHQ8IS0tPHAtY29sdW1uRmlsdGVyXHJcblx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk9XCJtZW51XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0W3R5cGVdPVwiY29sdW1uLnR5cGUoKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFtmaWVsZF09XCJjb2x1bW4uZmllbGQoKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFtzaG93TWF0Y2hNb2Rlc109XCJ0cnVlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0W3Nob3dPcGVyYXRvcl09XCJmYWxzZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFtzaG93QWRkQnV0dG9uXT1cInRydWVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvcC1jb2x1bW5GaWx0ZXI+LS0+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0PCEtLSBjdXN0b20gZmlsdGVyIGZvciAoZGF0ZSBldGMuKS0tPlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0gPHAtY29sdW1uRmlsdGVyIHR5cGU9XCJ0ZXh0XCIgW2ZpZWxkXT1cImNvbC5maWVsZFwiIFttYXRjaE1vZGVPcHRpb25zXT1cIm1hdGNoTW9kZU9wdGlvbnNcIiBbbWF0Y2hNb2RlXT1cIidjdXN0b20tZXF1YWxzJ1wiPjwvcC1jb2x1bW5GaWx0ZXI+IC0tPlxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDwvdGg+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHQ8L3RyPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtaXRlbSBsZXQtY29sdW1ucz1cImNvbHVtbnNcIj5cclxuXHRcdEBpZiAoc2VsZWN0aW9uTW9kZSgpKSB7XHJcblx0XHRcdDx0ciBbcFNlbGVjdGFibGVSb3ddPVwiaXRlbVwiPlxyXG5cdFx0XHRcdEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFjayAkaW5kZXgpIHtcclxuXHRcdFx0XHRcdDx0ZCBbbmdTdHlsZV09XCJ7ICd0ZXh0LWFsaWduJzogY29sdW1uLnR5cGUoKSA9PT0gJ29wZXJhdGlvbnMnID8gJ2NlbnRlcicgOiBjb2x1bW4udEFsaWduKCkgfHwgdEFsaWduKCkgfVwiPlxyXG5cdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgbmdGb3IgW25nRm9yT2ZdPVwiW2l0ZW1dXCIgW25nRm9yVGVtcGxhdGVdPVwiY29sdW1uLnRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdDwvdGQ+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L3RyPlxyXG5cdFx0fSBAZWxzZSB7XHJcblx0XHRcdDx0cj5cclxuXHRcdFx0XHRAaWYgKGNoZWNrYm94U2VsZWN0aW9uKCkpIHtcclxuXHRcdFx0XHRcdDx0ZD5cclxuXHRcdFx0XHRcdFx0PHAtdGFibGVDaGVja2JveCBbdmFsdWVdPVwiaXRlbVwiPjwvcC10YWJsZUNoZWNrYm94PlxyXG5cdFx0XHRcdFx0PC90ZD5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFjayAkaW5kZXgpIHtcclxuXHRcdFx0XHRcdDx0ZCBbbmdTdHlsZV09XCJ7ICd0ZXh0LWFsaWduJzogY29sdW1uLnR5cGUoKSA9PT0gJ29wZXJhdGlvbnMnID8gJ2NlbnRlcicgOiBjb2x1bW4udEFsaWduKCkgfHwgdEFsaWduKCkgfVwiPlxyXG5cdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgbmdGb3IgW25nRm9yT2ZdPVwiW2l0ZW1dXCIgW25nRm9yVGVtcGxhdGVdPVwiY29sdW1uLnRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdDwvdGQ+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L3RyPlxyXG5cdFx0fVxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdEBpZiAoc2hvd0Zvb3RlcigpKSB7XHJcblx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwic3VtbWFyeVwiPlxyXG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPjwvbmctY29udGVudD5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblx0fVxyXG5cclxuXHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZW1wdHltZXNzYWdlXCI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZCBbYXR0ci5jb2xzcGFuXT1cImNvbHVtbnMuX3Jlc3VsdHMubGVuZ3RoXCI+e3sgbm9EYXRhRm91bmRMYWJlbCgpIH19PC90ZD5cclxuXHRcdDwvdHI+XHJcblx0PC9uZy10ZW1wbGF0ZT5cclxuPC9wLXRhYmxlPlxyXG4iXX0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdOLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0QyxPQUFPLEtBQUssU0FBUyxNQUFNLFlBQVksQ0FBQztBQUN4QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFFeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JDLE9BQU8sRUFBYyxvQkFBb0IsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBRTFGOzs7OztHQUtHO0FBQ0gsTUFBTSxXQUFXLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQVUsQ0FBQztBQXdCL0MsTUFBTSxPQUFPLGNBQWM7SUEwQjFCLFlBQ1MsYUFBNEIsRUFDNUIsR0FBc0I7UUFEdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUEzQnJCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDekQsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUc3RCxtQkFBYyxHQUFlLEVBQUUsQ0FBQztR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XHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0Q29tcG9uZW50LFxyXG5cdENvbnRlbnRDaGlsZHJlbixcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0SW5wdXQsXHJcblx0T3V0cHV0LFxyXG5cdFZpZXdDaGlsZCxcclxuXHRlZmZlY3QsXHJcblx0aW5wdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE1lbnVJdGVtLCBQcmltZU5HQ29uZmlnIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xyXG5cclxuaW1wb3J0ICogYXMgRmlsZVNhdmVyIGZyb20gJ2ZpbGUtc2F2ZXInO1xyXG5pbXBvcnQganNQREYgZnJvbSAnanNwZGYnO1xyXG5pbXBvcnQgYXV0b1RhYmxlIGZyb20gJ2pzcGRmLWF1dG90YWJsZSc7XHJcblxyXG5pbXBvcnQgeyBQcm94eVR5cGVzIH0gZnJvbSAnYXJpbC9odHRwJztcclxuXHJcbmltcG9ydCB7IHRyYW5sYXRpb25zIH0gZnJvbSAnLi9pMThuJztcclxuaW1wb3J0IHsgQWxpZ25UeXBlcywgVGFibGVDb2x1bW5Db21wb25lbnQsIFRhYmxlQ29sdW1ucyB9IGZyb20gJy4vdGFibGUtY29sdW1uLmNvbXBvbmVudCc7XHJcblxyXG4vKiBUT0RPIDpcclxuICogc2VydmVyLXNpZGUtcHJveHkgKFByb3h5VHlwZXMuU2VydmVyU2lkZSlcclxuICogc2VhcmNoICYgY29sdW0gZmlsdGVyICYgc29ydFxyXG4gKiBwYWdpbmF0aW9uIG9wZXJhdGlvblxyXG4gKiBRdWVyeSBTaWduYWxzXHJcbiAqL1xyXG5jb25zdCBwYWdlT3B0aW9ucyA9IFsxMCwgMjAsIDUwLCAxMDBdIGFzIGNvbnN0O1xyXG5cclxudHlwZSBTZWxlY3Rpb25UeXBlcyA9ICdzaW5nbGUnIHwgJ211bHRpcGxlJztcclxuXHJcbmludGVyZmFjZSBJS2ViYWJNZW51SXRlbSB7XHJcblx0aWNvbjogc3RyaW5nO1xyXG5cdGxhYmVsOiBzdHJpbmc7XHJcblx0b25DbGljazogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FyaWwtdGFibGUnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVzOiBbXHJcblx0XHRgXHJcblx0XHRcdC5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBpbml0aWFsICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHRcdFx0cC1zb3J0aWNvbi5wLWVsZW1lbnQge1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDo3cHggIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cdFx0YFxyXG5cdF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcblx0QE91dHB1dCgpIG9uUGFnZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdEBPdXRwdXQoKSBzZWxlY3Rpb25FdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRAQ29udGVudENoaWxkcmVuKFRhYmxlQ29sdW1uQ29tcG9uZW50KSBjb2x1bW5zITogVGFibGVDb2x1bW5zO1xyXG5cdEBWaWV3Q2hpbGQoVGFibGUpIHRhYmxlUmVmITogVGFibGU7XHJcblx0QElucHV0KCkga2ViYWJNZW51SXRlbXM6IE1lbnVJdGVtW10gPSBbXTtcclxuXHJcblx0ZGF0YSA9IGlucHV0LnJlcXVpcmVkPGFueVtdPigpO1xyXG5cdGNoZWNrYm94U2VsZWN0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oKTtcclxuXHRwYWdlU2l6ZSA9IGlucHV0PCh0eXBlb2YgcGFnZU9wdGlvbnMpW251bWJlcl0+KDEwKTtcclxuXHRwcm94eSA9IGlucHV0PFByb3h5VHlwZXM+KFByb3h5VHlwZXMuTmF0aXZlKTtcclxuXHRzaG93Rm9vdGVyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHRBbGlnbiA9IGlucHV0PEFsaWduVHlwZXM+KCdsZWZ0Jyk7XHJcblx0c2VsZWN0aW9uTW9kZSA9IGlucHV0PFNlbGVjdGlvblR5cGVzPigpO1xyXG5cdHNob3dTZWFyY2hUb29sID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0c2hvd0V4cG9ydFRvb2wgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRleHBvcnRGaWxlTmFtZSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdG5vRGF0YUZvdW5kTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCdObyBEYXRhIEZvdW5kJyk7XHJcblx0dGFibGVIZWFkZXIgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHRzaG93VGFibGVIZWFkZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0aXNGaXJzdFJvd1NlbGVjdGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGZpbHRlclRleHQhOiBzdHJpbmc7XHJcblx0c2VsZWN0ZWRSb3dzOiBhbnk7XHJcblx0cGFnZU9wdGlvbnMgPSBwYWdlT3B0aW9ucztcclxuXHRleHBvcnRDb2x1bW5zOiBBcnJheTx7IHRpdGxlOiBzdHJpbmc7IGRhdGFLZXk6IHN0cmluZyB9PiA9IFtdO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcHJpbWVuZ0NvbmZpZzogUHJpbWVOR0NvbmZpZyxcclxuXHRcdHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG5cdCkge1xyXG5cdFx0dGhpcy5wcmltZW5nQ29uZmlnLnNldFRyYW5zbGF0aW9uKHRyYW5sYXRpb25zKTtcclxuXHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5pc0ZpcnN0Um93U2VsZWN0ZWQoKSAmJiB0aGlzLmRhdGEoKSkge1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWRSb3dzID0gdGhpcy5kYXRhKClbMF07XHJcblx0XHRcdFx0dGhpcy5zZWxlY3Rpb25FdmVudC5lbWl0KHRoaXMuc2VsZWN0ZWRSb3dzKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5jb2x1bW5zKSB7XHJcblx0XHRcdHRoaXMuZXhwb3J0Q29sdW1ucyA9IHRoaXMuY29sdW1ucy5fcmVzdWx0cy5tYXAoKGNvbCkgPT4gKHsgdGl0bGU6IGNvbC5oZWFkZXIsIGRhdGFLZXk6IGNvbC5maWVsZCB9KSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRleGNlbEV4cG9ydCgpIHtcclxuXHRcdGltcG9ydCgneGxzeCcpLnRoZW4oKHhsc3gpID0+IHtcclxuXHRcdFx0Y29uc3Qgd29ya3NoZWV0ID0geGxzeC51dGlscy5qc29uX3RvX3NoZWV0KHRoaXMuZGF0YSgpKTtcclxuXHRcdFx0Y29uc3Qgd29ya2Jvb2sgPSB7IFNoZWV0czogeyBkYXRhOiB3b3Jrc2hlZXQgfSwgU2hlZXROYW1lczogWydkYXRhJ10gfTtcclxuXHRcdFx0Y29uc3QgZXhjZWxCdWZmZXI6IGFueSA9IHhsc3gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcclxuXHRcdFx0dGhpcy5zYXZlQXNFeGNlbEZpbGUoZXhjZWxCdWZmZXIsICF0aGlzLmV4cG9ydEZpbGVOYW1lID8gdGhpcy5leHBvcnRGaWxlTmFtZSA6ICdleGNlbF93b3Jrc2hlZXQnKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0c2F2ZUFzRXhjZWxGaWxlKGJ1ZmZlcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcblx0XHRjb25zdCBFWENFTF9UWVBFID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2NoYXJzZXQ9VVRGLTgnO1xyXG5cdFx0Y29uc3QgRVhDRUxfRVhURU5TSU9OID0gJy54bHN4JztcclxuXHRcdGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG5cdFx0XHR0eXBlOiBFWENFTF9UWVBFXHJcblx0XHR9KTtcclxuXHRcdEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyAnX2V4cG9ydF8nICsgbmV3IERhdGUoKS5nZXRUaW1lKCkgKyBFWENFTF9FWFRFTlNJT04pO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZXhwb3J0UGRmKCkge1xyXG5cdFx0Y29uc3QgZG9jID0gbmV3IGpzUERGKCdwb3J0cmFpdCcsICdweCcsICdhNCcpO1xyXG5cdFx0YXV0b1RhYmxlKGRvYywge1xyXG5cdFx0XHRjb2x1bW5zOiB0aGlzLmV4cG9ydENvbHVtbnMsXHJcblx0XHRcdGJvZHk6IHRoaXMuZGF0YSgpXHJcblx0XHR9KTtcclxuXHRcdGRvYy5zYXZlKGAke3RoaXMuZXhwb3J0RmlsZU5hbWV9X2V4cG9ydF8ke25ldyBEYXRlKCkuZ2V0VGltZSgpfS5wZGZgKTtcclxuXHR9XHJcblxyXG5cdGNsZWFyKCkge1xyXG5cdFx0dGhpcy50YWJsZVJlZi52YWx1ZSA9IFtdO1xyXG5cdFx0dGhpcy50YWJsZVJlZi5jbGVhcigpO1xyXG5cdH1cclxufVxyXG4iLCJcclxuPHAtdGFibGVcclxuXHQjcmVmXHJcblx0W3ZhbHVlXT1cImRhdGEoKVwiXHJcblx0W2NvbHVtbnNdPVwiY29sdW1ucy5fcmVzdWx0c1wiXHJcblx0W3Jvd3NdPVwicGFnZVNpemUoKVwiXHJcblx0W3Jvd0hvdmVyXT1cInRydWVcIlxyXG5cdFtwYWdpbmF0b3JdPVwidHJ1ZVwiXHJcblx0W3Jvd3NQZXJQYWdlT3B0aW9uc109XCJbMTAsIDIwLCA1MCwgMTAwXVwiXHJcblx0W2ZpbHRlckRlbGF5XT1cIjBcIlxyXG5cdHNvcnRNb2RlPVwibXVsdGlwbGVcIlxyXG5cdFsoc2VsZWN0aW9uKV09XCJzZWxlY3RlZFJvd3NcIlxyXG5cdChvblBhZ2UpPVwib25QYWdlRXZlbnQuZW1pdCgkZXZlbnQpXCJcclxuXHQoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGlvbkV2ZW50LmVtaXQoc2VsZWN0ZWRSb3dzKVwiXHJcblx0W3Nob3dDdXJyZW50UGFnZVJlcG9ydF09XCJ0cnVlXCJcclxuXHRbc2VsZWN0aW9uTW9kZV09XCJzZWxlY3Rpb25Nb2RlKClcIlxyXG5cdGN1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGU9XCJUb3BsYW0gOiB7dG90YWxSZWNvcmRzfSBrYXnEsXQgfCBTYXlmYSA6IHtjdXJyZW50UGFnZX0gLyB7dG90YWxQYWdlc31cIlxyXG5cdHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zbVwiPlxyXG5cdDwhLS1AaWYgKHRhYmxlSGVhZGVyKCkgfHwgc2hvd1NlYXJjaFRvb2woKSB8fCBzaG93RXhwb3J0VG9vbCgpKSB7XHJcblx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBzcGFjZS1iZXR3ZWVuXCI+XHJcblx0XHRcdFx0PGRpdiBzdHlsZT1cImZsZXg6IGF1dG9cIj5cclxuXHRcdFx0XHRcdEBpZiAodGFibGVIZWFkZXIoKS5sZW5ndGgpIHtcclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxyXG5cdFx0XHRcdFx0XHRcdHt7IHRhYmxlSGVhZGVyKCkgfX1cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PGRpdiBzdHlsZT1cImZsZXg6IGF1dG9cIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcblx0XHRcdFx0XHRcdEBpZiAoZmFsc2UpIHtcclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC10ZXh0XHJcblx0XHRcdFx0XHRcdFx0XHRpY29uPVwiU0VBUkNIXCJcclxuXHRcdFx0XHRcdFx0XHRcdGljb25Qb3M9XCJsZWZ0XCJcclxuXHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiQXJhbWFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0W25nTW9kZWxdPVwiZmlsdGVyVGV4dFwiXHJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cIm1yLTFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0KG5nTW9kZWxDaGFuZ2UpPVwicmVmLmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiPlxyXG5cdFx0XHRcdFx0XHRcdDwvYXJpbC10ZXh0PlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdEBpZiAoZmFsc2UpIHtcclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC1idXR0b25cclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbVwiXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uPVwiRklMRV9FWENFTFwiXHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcj1cInByaW1hcnlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0cFRvb2x0aXA9XCJYTFNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuXHRcdFx0XHRcdFx0XHRcdChjbGlja0V2ZW50KT1cImV4Y2VsRXhwb3J0KClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJtci0xXCI+XHJcblx0XHRcdFx0XHRcdFx0PC9hcmlsLWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC1idXR0b25cclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbVwiXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uPVwiRklMRV9QREZcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I9XCJwcmltYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHRcdHBUb29sdGlwPVwiUERGXCJcclxuXHRcdFx0XHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcblx0XHRcdFx0XHRcdFx0XHQoY2xpY2tFdmVudCk9XCJleHBvcnRQZGYoKVwiPlxyXG5cdFx0XHRcdFx0XHRcdDwvYXJpbC1idXR0b24+XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0QGlmIChkYXRhKCkgJiYga2ViYWJNZW51SXRlbXMubGVuZ3RoID4gMCApIHtcclxuXHRcdFx0XHRcdFx0XHQ8ZGl2IHRvb2xzIHN0eWxlPVwicGFkZGluZzogNHB4O21hcmdpbi1sZWZ0OiA0cHg7Ym9yZGVyOjFweCBzb2xpZCAjNjM2NmYxO2JvcmRlci1yYWRpdXM6IDZweDtiYWNrZ3JvdW5kLWNvbG9yOiAjNjM2NmYxOyBjb2xvcjogd2hpdGU7XCIgPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGlcclxuXHRcdFx0XHRcdFx0XHRcdFx0W2F0dHIucm9sZV09XCInbm9uZSdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cInBpIG1yLTEgaGVhZGVyLWljb24gcGktZWxsaXBzaXMtdlwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdChjbGljayk9XCJidWxrT3BlcmF0aW9ucy50b2dnbGUoJGV2ZW50KTtcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0XHQ8cC1tZW51XHJcblx0XHRcdFx0XHRcdFx0XHRcdCNidWxrT3BlcmF0aW9uc1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRbcG9wdXBdPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFttb2RlbF09XCJrZWJhYk1lbnVJdGVtc1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlQ2xhc3M9XCJ6LWluZGV4OiA5OTk4ODk5O1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGFwcGVuZFRvPVwiYm9keVwiPjwvcC1tZW51PlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblx0fS0tPlxyXG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiBsZXQtY29sdW1ucz5cclxuXHRcdDx0cj5cclxuXHRcdFx0QGlmIChjaGVja2JveFNlbGVjdGlvbigpKSB7XHJcblx0XHRcdFx0PHRoPlxyXG5cdFx0XHRcdFx0PCEtLTxwLXRhYmxlSGVhZGVyQ2hlY2tib3g+PC9wLXRhYmxlSGVhZGVyQ2hlY2tib3g+LS0+XHJcblx0XHRcdFx0PC90aD5cclxuXHRcdFx0fVxyXG5cdFx0XHRAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgJGluZGV4KSB7XHJcblx0XHRcdFx0QGlmIChjb2x1bW4udHlwZSgpID09PSAnb3BlcmF0aW9ucycpIHtcclxuXHRcdFx0XHRcdDx0aD5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPsSwxZ9sZW1sZXI8L2Rpdj5cclxuXHRcdFx0XHRcdDwvdGg+XHJcblx0XHRcdFx0fSBAZWxzZSB7XHJcblx0XHRcdFx0XHQ8dGggW3BTb3J0YWJsZUNvbHVtbl09XCJjb2x1bW4uZmllbGQoKVwiPlxyXG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuXHRcdFx0XHRcdFx0XHR7eyBjb2x1bW4uaGVhZGVyKCkgfX1cclxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0QGlmIChjb2x1bW4uaXNTaG93SGVhZGVyVG9vbHRpcCgpKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxpIHN0eWxlPVwiY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpOyBwYWRkaW5nLXRvcDogNHB4OyBwYWRkaW5nLWxlZnQ6IDRweDtcIiBjbGFzcz1cInBpIHBpLXF1ZXN0aW9uLWNpcmNsZVwiIFtwVG9vbHRpcF09XCJjb2x1bW4udG9vbHRpcFRlbXBsYXRlKClcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHQ8cC1zb3J0SWNvbiBbZmllbGRdPVwiY29sdW1uLmZpZWxkKClcIj48L3Atc29ydEljb24+XHJcblx0XHRcdFx0XHRcdFx0XHQ8IS0tPHAtY29sdW1uRmlsdGVyXHJcblx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk9XCJtZW51XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0W3R5cGVdPVwiY29sdW1uLnR5cGUoKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFtmaWVsZF09XCJjb2x1bW4uZmllbGQoKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFtzaG93TWF0Y2hNb2Rlc109XCJ0cnVlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0W3Nob3dPcGVyYXRvcl09XCJmYWxzZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFtzaG93QWRkQnV0dG9uXT1cInRydWVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvcC1jb2x1bW5GaWx0ZXI+LS0+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0PCEtLSBjdXN0b20gZmlsdGVyIGZvciAoZGF0ZSBldGMuKS0tPlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0gPHAtY29sdW1uRmlsdGVyIHR5cGU9XCJ0ZXh0XCIgW2ZpZWxkXT1cImNvbC5maWVsZFwiIFttYXRjaE1vZGVPcHRpb25zXT1cIm1hdGNoTW9kZU9wdGlvbnNcIiBbbWF0Y2hNb2RlXT1cIidjdXN0b20tZXF1YWxzJ1wiPjwvcC1jb2x1bW5GaWx0ZXI+IC0tPlxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDwvdGg+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHQ8L3RyPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtaXRlbSBsZXQtY29sdW1ucz1cImNvbHVtbnNcIj5cclxuXHRcdEBpZiAoc2VsZWN0aW9uTW9kZSgpKSB7XHJcblx0XHRcdDx0ciBbcFNlbGVjdGFibGVSb3ddPVwiaXRlbVwiPlxyXG5cdFx0XHRcdEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFjayAkaW5kZXgpIHtcclxuXHRcdFx0XHRcdDx0ZCBbbmdTdHlsZV09XCJ7ICd0ZXh0LWFsaWduJzogY29sdW1uLnR5cGUoKSA9PT0gJ29wZXJhdGlvbnMnID8gJ2NlbnRlcicgOiBjb2x1bW4udEFsaWduKCkgfHwgdEFsaWduKCkgfVwiPlxyXG5cdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgbmdGb3IgW25nRm9yT2ZdPVwiW2l0ZW1dXCIgW25nRm9yVGVtcGxhdGVdPVwiY29sdW1uLnRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdDwvdGQ+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L3RyPlxyXG5cdFx0fSBAZWxzZSB7XHJcblx0XHRcdDx0cj5cclxuXHRcdFx0XHRAaWYgKGNoZWNrYm94U2VsZWN0aW9uKCkpIHtcclxuXHRcdFx0XHRcdDx0ZD5cclxuXHRcdFx0XHRcdFx0PHAtdGFibGVDaGVja2JveCBbdmFsdWVdPVwiaXRlbVwiPjwvcC10YWJsZUNoZWNrYm94PlxyXG5cdFx0XHRcdFx0PC90ZD5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFjayAkaW5kZXgpIHtcclxuXHRcdFx0XHRcdDx0ZCBbbmdTdHlsZV09XCJ7ICd0ZXh0LWFsaWduJzogY29sdW1uLnR5cGUoKSA9PT0gJ29wZXJhdGlvbnMnID8gJ2NlbnRlcicgOiBjb2x1bW4udEFsaWduKCkgfHwgdEFsaWduKCkgfVwiPlxyXG5cdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgbmdGb3IgW25nRm9yT2ZdPVwiW2l0ZW1dXCIgW25nRm9yVGVtcGxhdGVdPVwiY29sdW1uLnRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdDwvdGQ+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L3RyPlxyXG5cdFx0fVxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdEBpZiAoc2hvd0Zvb3RlcigpKSB7XHJcblx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwic3VtbWFyeVwiPlxyXG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPjwvbmctY29udGVudD5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblx0fVxyXG5cclxuXHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZW1wdHltZXNzYWdlXCI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZCBbYXR0ci5jb2xzcGFuXT1cImNvbHVtbnMuX3Jlc3VsdHMubGVuZ3RoXCI+e3sgbm9EYXRhRm91bmRMYWJlbCgpIH19PC90ZD5cclxuXHRcdDwvdHI+XHJcblx0PC9uZy10ZW1wbGF0ZT5cclxuPC9wLXRhYmxlPlxyXG4iXX0=