mmhglobal-dynamicform 1.3.12 → 1.3.13

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 (68) hide show
  1. package/README.md +8 -4
  2. package/esm2020/lib/directives/elementcontainer.directive.mjs +4 -4
  3. package/esm2020/lib/directives/fieldelement.directive.mjs +4 -4
  4. package/esm2020/lib/directives/scrollbar.theme.directive.mjs +4 -4
  5. package/esm2020/lib/mmhglobal-dynamicform.module.mjs +5 -5
  6. package/esm2020/lib/services/main.service.mjs +4 -4
  7. package/esm2020/lib/services/zcomponent.debug.service.mjs +4 -4
  8. package/esm2020/lib/services/zcomponent.service.mjs +4 -4
  9. package/esm2020/lib/uiactionbutton/uiactionbutton.component.mjs +4 -4
  10. package/esm2020/lib/uiappmenucontent/uiappmenucontent.component.mjs +4 -4
  11. package/esm2020/lib/uicontainer/uicontainer.component.mjs +4 -4
  12. package/esm2020/lib/uicontent/uicontent.component.mjs +4 -4
  13. package/esm2020/lib/uiheader/uiheader.component.mjs +4 -4
  14. package/esm2020/lib/uimenubutton/uimenubutton.component.mjs +4 -4
  15. package/esm2020/lib/uimenucontent/uimenucontent.component.mjs +4 -4
  16. package/esm2020/lib/uipage/uipage.component.mjs +4 -4
  17. package/esm2020/lib/uivalidationmessage/uivalidationmessage.component.mjs +4 -4
  18. package/esm2020/lib/zbullet/zbullet.component.mjs +4 -4
  19. package/esm2020/lib/zbuttons/zbuttons.component.mjs +4 -4
  20. package/esm2020/lib/zcard/zcard.component.mjs +4 -4
  21. package/esm2020/lib/zchart/zchart.component.mjs +4 -4
  22. package/esm2020/lib/zcheckbox/zcheckbox.component.mjs +4 -4
  23. package/esm2020/lib/zchip/zchip.component.mjs +4 -4
  24. package/esm2020/lib/zcodeeditor/zcodeeditor.component.mjs +4 -4
  25. package/esm2020/lib/zcodeeditor/zcodeeditor.pipe.mjs +4 -4
  26. package/esm2020/lib/zdaterange/zdaterange.component.mjs +4 -4
  27. package/esm2020/lib/zdatetime/dateParser.pipe.mjs +4 -4
  28. package/esm2020/lib/zdatetime/zdatetime.component.mjs +4 -4
  29. package/esm2020/lib/zdiv/zdiv.component.mjs +4 -4
  30. package/esm2020/lib/zdiv/zdiv.pipe.mjs +4 -4
  31. package/esm2020/lib/zform/zform.component.mjs +4 -4
  32. package/esm2020/lib/zformcontrol/zformcontrol.component.mjs +4 -4
  33. package/esm2020/lib/zgauge/zgauge.component.mjs +4 -4
  34. package/esm2020/lib/zgrid/date-range-cell-filter.component.mjs +4 -4
  35. package/esm2020/lib/zgrid/zgrid.binding.directive.mjs +4 -4
  36. package/esm2020/lib/zgrid/zgrid.component.mjs +4 -4
  37. package/esm2020/lib/zgrid/zgrid.popup.anchor-target.directive.mjs +4 -4
  38. package/esm2020/lib/zimg/zimg.component.mjs +4 -4
  39. package/esm2020/lib/zkcard/zkcard.component.mjs +4 -4
  40. package/esm2020/lib/zlabel/zlabel.component.mjs +4 -4
  41. package/esm2020/lib/zmfb/zmfb.component.mjs +4 -4
  42. package/esm2020/lib/zmodal/zmodal-mobile.component.mjs +4 -4
  43. package/esm2020/lib/zmodal/zmodal.component.mjs +4 -4
  44. package/esm2020/lib/znumeric/znumeric.component.mjs +4 -4
  45. package/esm2020/lib/zpostselectinput/zpostselectinput.component.mjs +4 -4
  46. package/esm2020/lib/zquerybuilder/zquerybuilder.component.mjs +4 -4
  47. package/esm2020/lib/zreport/zreport.component.mjs +21 -19
  48. package/esm2020/lib/zscheduler/zscheduler.component.mjs +4 -4
  49. package/esm2020/lib/zscheduler/zscheduler.toolbar.component.mjs +4 -4
  50. package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +4 -4
  51. package/esm2020/lib/zselectmultiple/zselectmultiple.directive.mjs +4 -4
  52. package/esm2020/lib/ztab/ztab.component.mjs +4 -4
  53. package/esm2020/lib/ztab/ztab.pipe.mjs +4 -4
  54. package/esm2020/lib/ztext/ztext.component.mjs +4 -4
  55. package/esm2020/lib/ztextarea/ztextarea.component.mjs +4 -4
  56. package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +4 -4
  57. package/esm2020/lib/ztree/ztree.component.mjs +4 -4
  58. package/esm2020/lib/ztreelist/ztreelist.component.mjs +4 -4
  59. package/esm2020/lib/ztrendcard/ztrendcard.component.mjs +4 -4
  60. package/esm2020/lib/zudf/zudf.component.mjs +4 -4
  61. package/esm2020/lib/zunknown/zunknown.component.mjs +4 -4
  62. package/esm2020/lib/zupload/zupload.component.mjs +4 -4
  63. package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +4 -4
  64. package/fesm2015/mmhglobal-dynamicform.mjs +204 -202
  65. package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
  66. package/fesm2020/mmhglobal-dynamicform.mjs +204 -202
  67. package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
  68. package/package.json +1 -1
@@ -270,9 +270,9 @@ export class ZdatetimeComponent {
270
270
  }, 500);
271
271
  }
272
272
  }
273
- ZdatetimeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZdatetimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
274
- ZdatetimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZdatetimeComponent, selector: "app-zdatetime", inputs: { data: "data", group: "group", form: "form" }, ngImport: i0, template: "<ion-item [ngClass]=\"data.Class\" [formGroup]=\"form\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <ion-label [attr.for]=\"data.Value\" *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}} <ion-text *ngIf=\"componentProperties.isRequired\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n <div class=\"ion-row\" style=\"justify-content: space-between; width: 100%\">\r\n <span style=\"flex: 1;\">\r\n <ion-datetime *ngIf=\"isMobileScreen()\"\r\n style=\"padding: 8px 0px;\"\r\n [required]=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [id]=\"data.Value\"\r\n [displayFormat]=\"dateFormat\"\r\n [pickerFormat]=\"dateFormat\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [formControlName]=\"data.Value\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\">\r\n </ion-datetime>\r\n <kendo-datepicker *ngIf=\"!isMobileScreen() && dateFormat==='MMM-YYYY'\"\r\n [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser\"\r\n (valueChange)=\"onChange($event)\"\r\n [min]=\"data.MinDate\"\r\n [max]=\"data.MaxDate\"\r\n [activeView]=\"'year'\"\r\n [bottomView]=\"'year'\"\r\n style=\"margin-top: 7px; width: 100%;\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"toKendoDateFormat()\"\r\n [placeholder]=\"data.PlaceHolder\">\r\n </kendo-datepicker>\r\n <kendo-datepicker *ngIf=\"!isMobileScreen() && dateFormat==='DD-MMM-YYYY'\"\r\n [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser\"\r\n (valueChange)=\"onChange($event)\"\r\n [min]=\"data.MinDate\"\r\n [max]=\"data.MaxDate\"\r\n style=\"margin-top: 7px; width: 100%;\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"toKendoDateFormat()\"\r\n [placeholder]=\"data.PlaceHolder\"></kendo-datepicker>\r\n <kendo-datetimepicker *ngIf=\"!isMobileScreen() && dateFormat==='DD-MMM-YYYY h:mm A'\"\r\n [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser\"\r\n (valueChange)=\"onChange($event)\"\r\n (open)=\"handlePreventableEvent($event, 'open', false)\"\r\n style=\"margin-top: 7px; width: 100%;\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"toKendoDateFormat()\"\r\n [placeholder]=\"data.PlaceHolder\">\r\n <ng-template kendoCalendarMonthCellTemplate let-date>\r\n <span (click)=\"GetDate(date)\">{{date.getDate()}}</span>\r\n </ng-template>\r\n </kendo-datetimepicker>\r\n <kendo-timepicker *ngIf=\"!isMobileScreen() && (dateFormat==='HH:mm:ss' || dateFormat==='HH:mm')\"\r\n [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser\"\r\n (valueChange)=\"onChange($event)\"\r\n style=\"margin-top: 7px; width: 100%;\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"toKendoDateFormat()\"\r\n [placeholder]=\"data.PlaceHolder\"></kendo-timepicker>\r\n </span>\r\n <app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"></app-uivalidationmessage>\r\n </div>\r\n</ion-item>\r\n", styles: [".gridInlineEdit{--background: transparent}.item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.k-datepicker{color:var(--z-text-color)}\n"], components: [{ type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { type: i1.IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "name", "presentation", "readonly", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "value", "yearValues"] }, { type: i2.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "navigation", "min", "max", "incompleteDateValidation", "focusedDate", "format", "twoDigitYearMax", "placeholder", "tabindex", "title", "rangeValidation", "disabledDatesValidation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "popupSettings", "value", "tabIndex", "disabledDates", "size", "rounded", "fillMode", "formatPlaceholder"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }, { type: i2.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["twoDigitYearMax", "focusableId", "title", "disabled", "readonly", "readOnlyInput", "cancelButton", "steps", "calendarType", "animateCalendarNavigation", "weekNumber", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "value", "format", "tabindex", "disabledDates", "popupSettings", "min", "max", "defaultTab", "size", "rounded", "fillMode", "formatPlaceholder", "placeholder", "focusedDate"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { type: i2.TimePickerComponent, selector: "kendo-timepicker", inputs: ["focusableId", "disabled", "readonly", "readOnlyInput", "format", "placeholder", "incompleteDateValidation", "cancelButton", "nowButton", "tabindex", "title", "rangeValidation", "min", "max", "steps", "popupSettings", "tabIndex", "value", "size", "rounded", "fillMode", "formatPlaceholder"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-timepicker"] }, { type: i3.UivalidationmessageComponent, selector: "app-uivalidationmessage", inputs: ["group", "data", "form"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.SelectValueAccessor, selector: "ion-range, ion-select, ion-radio-group, ion-segment, ion-datetime" }, { type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i2.MonthCellTemplateDirective, selector: "[kendoCalendarMonthCellTemplate]" }], pipes: { "dateParser": i6.DateParserFilter } });
275
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZdatetimeComponent, decorators: [{
273
+ ZdatetimeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZdatetimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
274
+ ZdatetimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ZdatetimeComponent, selector: "app-zdatetime", inputs: { data: "data", group: "group", form: "form" }, ngImport: i0, template: "<ion-item [ngClass]=\"data.Class\" [formGroup]=\"form\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <ion-label [attr.for]=\"data.Value\" *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}} <ion-text *ngIf=\"componentProperties.isRequired\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n <div class=\"ion-row\" style=\"justify-content: space-between; width: 100%\">\r\n <span style=\"flex: 1;\">\r\n <ion-datetime *ngIf=\"isMobileScreen()\"\r\n style=\"padding: 8px 0px;\"\r\n [required]=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [id]=\"data.Value\"\r\n [displayFormat]=\"dateFormat\"\r\n [pickerFormat]=\"dateFormat\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [formControlName]=\"data.Value\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\">\r\n </ion-datetime>\r\n <kendo-datepicker *ngIf=\"!isMobileScreen() && dateFormat==='MMM-YYYY'\"\r\n [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser\"\r\n (valueChange)=\"onChange($event)\"\r\n [min]=\"data.MinDate\"\r\n [max]=\"data.MaxDate\"\r\n [activeView]=\"'year'\"\r\n [bottomView]=\"'year'\"\r\n style=\"margin-top: 7px; width: 100%;\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"toKendoDateFormat()\"\r\n [placeholder]=\"data.PlaceHolder\">\r\n </kendo-datepicker>\r\n <kendo-datepicker *ngIf=\"!isMobileScreen() && dateFormat==='DD-MMM-YYYY'\"\r\n [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser\"\r\n (valueChange)=\"onChange($event)\"\r\n [min]=\"data.MinDate\"\r\n [max]=\"data.MaxDate\"\r\n style=\"margin-top: 7px; width: 100%;\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"toKendoDateFormat()\"\r\n [placeholder]=\"data.PlaceHolder\"></kendo-datepicker>\r\n <kendo-datetimepicker *ngIf=\"!isMobileScreen() && dateFormat==='DD-MMM-YYYY h:mm A'\"\r\n [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser\"\r\n (valueChange)=\"onChange($event)\"\r\n (open)=\"handlePreventableEvent($event, 'open', false)\"\r\n style=\"margin-top: 7px; width: 100%;\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"toKendoDateFormat()\"\r\n [placeholder]=\"data.PlaceHolder\">\r\n <ng-template kendoCalendarMonthCellTemplate let-date>\r\n <span (click)=\"GetDate(date)\">{{date.getDate()}}</span>\r\n </ng-template>\r\n </kendo-datetimepicker>\r\n <kendo-timepicker *ngIf=\"!isMobileScreen() && (dateFormat==='HH:mm:ss' || dateFormat==='HH:mm')\"\r\n [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser\"\r\n (valueChange)=\"onChange($event)\"\r\n style=\"margin-top: 7px; width: 100%;\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"toKendoDateFormat()\"\r\n [placeholder]=\"data.PlaceHolder\"></kendo-timepicker>\r\n </span>\r\n <app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"></app-uivalidationmessage>\r\n </div>\r\n</ion-item>\r\n", styles: [".gridInlineEdit{--background: transparent}.item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.k-datepicker{color:var(--z-text-color)}\n"], components: [{ type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { type: i1.IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "name", "presentation", "readonly", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "value", "yearValues"] }, { type: i2.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "navigation", "min", "max", "incompleteDateValidation", "focusedDate", "format", "twoDigitYearMax", "placeholder", "tabindex", "title", "rangeValidation", "disabledDatesValidation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "popupSettings", "value", "tabIndex", "disabledDates", "size", "rounded", "fillMode", "formatPlaceholder"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }, { type: i2.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["twoDigitYearMax", "focusableId", "title", "disabled", "readonly", "readOnlyInput", "cancelButton", "steps", "calendarType", "animateCalendarNavigation", "weekNumber", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "value", "format", "tabindex", "disabledDates", "popupSettings", "min", "max", "defaultTab", "size", "rounded", "fillMode", "formatPlaceholder", "placeholder", "focusedDate"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { type: i2.TimePickerComponent, selector: "kendo-timepicker", inputs: ["focusableId", "disabled", "readonly", "readOnlyInput", "format", "placeholder", "incompleteDateValidation", "cancelButton", "nowButton", "tabindex", "title", "rangeValidation", "min", "max", "steps", "popupSettings", "tabIndex", "value", "size", "rounded", "fillMode", "formatPlaceholder"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-timepicker"] }, { type: i3.UivalidationmessageComponent, selector: "app-uivalidationmessage", inputs: ["group", "data", "form"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.SelectValueAccessor, selector: "ion-range, ion-select, ion-radio-group, ion-segment, ion-datetime" }, { type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i2.MonthCellTemplateDirective, selector: "[kendoCalendarMonthCellTemplate]" }], pipes: { "dateParser": i6.DateParserFilter } });
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZdatetimeComponent, decorators: [{
276
276
  type: Component,
277
277
  args: [{ selector: "app-zdatetime", template: "<ion-item [ngClass]=\"data.Class\" [formGroup]=\"form\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <ion-label [attr.for]=\"data.Value\" *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}} <ion-text *ngIf=\"componentProperties.isRequired\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n <div class=\"ion-row\" style=\"justify-content: space-between; width: 100%\">\r\n <span style=\"flex: 1;\">\r\n <ion-datetime *ngIf=\"isMobileScreen()\"\r\n style=\"padding: 8px 0px;\"\r\n [required]=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [id]=\"data.Value\"\r\n [displayFormat]=\"dateFormat\"\r\n [pickerFormat]=\"dateFormat\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [formControlName]=\"data.Value\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\">\r\n </ion-datetime>\r\n <kendo-datepicker *ngIf=\"!isMobileScreen() && dateFormat==='MMM-YYYY'\"\r\n [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser\"\r\n (valueChange)=\"onChange($event)\"\r\n [min]=\"data.MinDate\"\r\n [max]=\"data.MaxDate\"\r\n [activeView]=\"'year'\"\r\n [bottomView]=\"'year'\"\r\n style=\"margin-top: 7px; width: 100%;\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"toKendoDateFormat()\"\r\n [placeholder]=\"data.PlaceHolder\">\r\n </kendo-datepicker>\r\n <kendo-datepicker *ngIf=\"!isMobileScreen() && dateFormat==='DD-MMM-YYYY'\"\r\n [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser\"\r\n (valueChange)=\"onChange($event)\"\r\n [min]=\"data.MinDate\"\r\n [max]=\"data.MaxDate\"\r\n style=\"margin-top: 7px; width: 100%;\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"toKendoDateFormat()\"\r\n [placeholder]=\"data.PlaceHolder\"></kendo-datepicker>\r\n <kendo-datetimepicker *ngIf=\"!isMobileScreen() && dateFormat==='DD-MMM-YYYY h:mm A'\"\r\n [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser\"\r\n (valueChange)=\"onChange($event)\"\r\n (open)=\"handlePreventableEvent($event, 'open', false)\"\r\n style=\"margin-top: 7px; width: 100%;\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"toKendoDateFormat()\"\r\n [placeholder]=\"data.PlaceHolder\">\r\n <ng-template kendoCalendarMonthCellTemplate let-date>\r\n <span (click)=\"GetDate(date)\">{{date.getDate()}}</span>\r\n </ng-template>\r\n </kendo-datetimepicker>\r\n <kendo-timepicker *ngIf=\"!isMobileScreen() && (dateFormat==='HH:mm:ss' || dateFormat==='HH:mm')\"\r\n [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser\"\r\n (valueChange)=\"onChange($event)\"\r\n style=\"margin-top: 7px; width: 100%;\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"toKendoDateFormat()\"\r\n [placeholder]=\"data.PlaceHolder\"></kendo-timepicker>\r\n </span>\r\n <app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"></app-uivalidationmessage>\r\n </div>\r\n</ion-item>\r\n", styles: [".gridInlineEdit{--background: transparent}.item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.k-datepicker{color:var(--z-text-color)}\n"] }]
278
278
  }], ctorParameters: function () { return []; }, propDecorators: { data: [{
@@ -282,4 +282,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
282
282
  }], form: [{
283
283
  type: Input
284
284
  }] } });
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemRhdGV0aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3pkYXRldGltZS96ZGF0ZXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemRhdGV0aW1lL3pkYXRldGltZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT3ZELDJDQUEyQztBQUMzQyxPQUFPLEVBQ08sZ0JBQWdCLEVBQ1osb0JBQW9CLEVBQ3JDLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBV3pCLE1BQU0sT0FBTyxrQkFBa0I7SUFTN0I7UUFMQSxlQUFVLEdBQUcsYUFBYSxDQUFDO1FBQzNCLG9CQUFvQjtRQUVwQix3QkFBbUIsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFtRzFDLGNBQVMsR0FBRyxDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQ3JDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDLENBQUE7UUFFTSxlQUFVLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUN0QyxJQUFJ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QWEsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOzsrR0FuVVUsa0JBQWtCO21HQUFsQixrQkFBa0IsNkdDeEIvQix3M0tBdUVBOzJGRC9DYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZUFBZTswRUFLaEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBQcmV2ZW50YWJsZUV2ZW50IH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZGF0ZWlucHV0cyc7XHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7XHJcbiAgWkNvbXBvbmVudCwgWkNvbXBvbmVudEhlbHBlciwgWkNvbXBvbmVudE91dHB1dEV2ZW50LFxyXG4gIFpGaWVsZCwgWkdyb3VwLCBaQ29tcG9uZW50UHJvcGVydGllc1xyXG59IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuXHJcblxyXG4vLyBpbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmRlY2xhcmUgdmFyICQ6IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC16ZGF0ZXRpbWVcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3pkYXRldGltZS5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi96ZGF0ZXRpbWUuY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZGF0ZXRpbWVDb21wb25lbnQgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGRhdGE6IFpGaWVsZDtcclxuICBASW5wdXQoKSBncm91cDogWkdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cDtcclxuICBkYXRlRm9ybWF0ID0gXCJERC1NTU0tWVlZWVwiO1xyXG4gIC8vIGRhdGVWYWx1ZSA9IG51bGw7XHJcblxyXG4gIGNvbXBvbmVudFByb3BlcnRpZXMgPSBuZXcgWkNvbXBvbmVudFByb3BlcnRpZXMoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldENvbXBvbmVudFByb3BlcnRpZXModGhpcyk7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnJlZ2lzdGVyQ29tcG9uZW50KHRoaXMpO1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGEuVHlwZSA9PT0gXCJ6dGltZVwiKSB7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9IFwiSEg6bW1cIjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRhdGEuVHlwZSA9PT0gXCJ6dWlkYXRldGltZVwiKSB7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9IFwiREQtTU1NLVlZWVkgaDptbSBBXCI7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kYXRhLlR5cGUgPT09IFwienVpdGltZVwiKSB7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9IFwiSEg6bW06c3NcIjtcclxuICAgIH1cclxuXHRpZiAodGhpcy5kYXRhLlR5cGUgPT09IFwienNob3J0ZGF0ZVwiKSB7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9IFwiTU1NLVlZWVlcIjtcclxuICAgIH1cclxuICAgIC8vIGlmICh0aGlzLmdyb3VwLnpNb2RlbFt0aGlzLmRhdGEuVmFsdWVdKSB7XHJcbiAgICAvLyAgIHRoaXMuZGF0ZVZhbHVlID0gbmV3IERhdGUodGhpcy5ncm91cC56TW9kZWxbdGhpcy5kYXRhLlZhbHVlXSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICB0b0tlbmRvRGF0ZUZvcm1hdCgpIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGVGb3JtYXRcclxuICAgICAgLnJlcGxhY2UoXCJERFwiLCBcImRkXCIpXHJcbiAgICAgIC5yZXBsYWNlKFwiWVlZWVwiLCBcInl5eXlcIilcclxuICAgICAgLnJlcGxhY2UoXCJoXCIsIFwiSFwiKVxyXG4gICAgICAucmVwbGFjZShcIkFcIiwgXCJhXCIpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVhZE9ubHlWYWx1ZSgpIHtcclxuICAgIGNvbnN0IHJlYWRPbmx5VmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwoXHJcbiAgICAgIHRoaXMsXHJcbiAgICAgIHRoaXMuZGF0YS5SZWFkT25seSxcclxuICAgICAgdGhpcy5ncm91cFxyXG4gICAgKTtcclxuICAgIGlmICh0eXBlb2YgcmVhZE9ubHlWYWx1ZSA9PT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgIHJldHVybiByZWFkT25seVZhbHVlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVhZE9ubHlWYWx1ZTtcclxuICB9XHJcblxyXG4gIGlzTW9iaWxlU2NyZWVuKCkge1xyXG4gICAgY29uc3QgdiA9IFpDb21wb25lbnRIZWxwZXIuaXNNb2JpbGVTY3JlZW4oKTtcclxuICAgIHJldHVybiB2O1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0ZVZhbHVlKCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXS52YWx1ZTtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0RGF0ZShkYXRlOiBEYXRlKSB7XHJcbiAgICAvLyBjb252ZXJ0IHRoZSBkYXRlIHRvIElTT1N0cmluZ1xyXG4gICAgY29uc3QgbXlEYXRlID0gbmV3IERhdGUoZGF0ZSkudG9JU09TdHJpbmcoKTtcclxuICAgIC8vIGFzc2lnbiB0byB0aGUgek1vZGVsXHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldE1vZGVsVmFsdWUodGhpcy5kYXRhLlZhbHVlLCBteURhdGUsIHRoaXMuZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlKHZhbHVlOiBEYXRlKTogdm9pZCB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcclxuICAgIC8vICAgXCJkYXRlIGNoYW5nZSBcIixcclxuICAgIC8vICAgdmFsdWUudG9JU09TdHJpbmcoKSxcclxuICAgIC8vICAgXCIgZGF0ZSB2YWx1ZTogXCIsXHJcbiAgICAvLyAgIG5ldyBEYXRlKHZhbHVlLnRvSVNPU3RyaW5nKCkpXHJcbiAgICAvLyApO1xyXG4gICAgLy8gLy8gdGhpcy5ncm91cC56TW9kZWxbdGhpcy5kYXRhLlZhbHVlXSA9IHZhbHVlLnRvSVNPU3RyaW5nKCk7XHJcbiAgICAvLyBjb25zdCB2ID0gdmFsdWUudG9JU09TdHJpbmcoKTtcclxuICAgIC8vIHRoaXMuZGF0ZVZhbHVlID0gbmV3IERhdGUodmFsdWUudG9JU09TdHJpbmcoKSk7XHJcbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcclxuICAgICAgWkNvbXBvbmVudEhlbHBlci5zZXRNb2RlbFZhbHVlKFxyXG4gICAgICAgIHRoaXMuZGF0YS5WYWx1ZSxcclxuICAgICAgICB2YWx1ZSxcclxuICAgICAgICB0aGlzLmdyb3VwXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBaQ29tcG9uZW50SGVscGVyLnNldE1vZGVsVmFsdWUoXHJcbiAgICAgICAgdGhpcy5kYXRhLlZhbHVlLFxyXG4gICAgICAgIHZhbHVlLnRvSVNPU3RyaW5nKCksXHJcbiAgICAgICAgdGhpcy5ncm91cFxyXG4gICAgICApO1xyXG5cclxuICAgICAgY29uc3QgZmMgPSB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXTtcclxuICAgICAgZmMuc2V0VmFsdWUodmFsdWUudG9JU09TdHJpbmcoKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdyb3VwLnN1YmplY3QubmV4dCh7XHJcbiAgICAgIHR5cGU6IFwib25DaGFuZ2VcIixcclxuICAgICAgdGFyZ2V0OiB0aGlzLmRhdGEuT25DaGFuZ2UsXHJcbiAgICAgIGRhdGE6IHZhbHVlLFxyXG4gICAgfSBhcyBaQ29tcG9uZW50T3V0cHV0RXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEVuYWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIGNvbnN0IGZjID0gdGhpcy5ncm91cC5mb3JtLmNvbnRyb2xzW3RoaXMuZGF0YS5WYWx1ZV07XHJcbiAgICBzdGF0dXMgPyBmYy5lbmFibGUoKSA6IGZjLmRpc2FibGUoKTtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5ID0gIXN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRWaXNpYmxlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSA9IHN0YXR1cztcclxuICAgIHRoaXMuZGF0YS5WaXNpYmxlID0gc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFJlcXVpcmUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZCA9IHN0YXR1cztcclxuICAgIFpDb21wb25lbnRIZWxwZXIuY2hhbmdlVmFsaWRhdG9yKHN0YXR1cywgdGhpcy5ncm91cCwgdGhpcy5kYXRhLlZhbHVlLCB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNldERhdGVSYW5nZSA9IChNaW5EYXRlOiBzdHJpbmcsTWF4RGF0ZTogc3RyaW5nKTogYW55ID0+XHJcbiAge1xyXG4gICAgdmFyIHRoaXNDb21wb25lbnQgPSB0aGlzO1xyXG5cclxuICAgIGlmICghaXNOYU4oRGF0ZS5wYXJzZShNaW5EYXRlKSkpXHJcbiAgICB7XHJcbiAgICAgIHRoaXMuZGF0YS5NaW5EYXRlID0gbmV3IERhdGUoTWluRGF0ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWlzTmFOKERhdGUucGFyc2UoTWF4RGF0ZSkpKVxyXG4gICAge1xyXG4gICAgICB0aGlzLmRhdGEuTWF4RGF0ZSA9IG5ldyBEYXRlKE1heERhdGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVByZXZlbnRhYmxlRXZlbnQoZXZlbnQ6IFByZXZlbnRhYmxlRXZlbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBwcmV2ZW50RGVmYXVsdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy8ga2VlcCBcInRoaXNcIiB0byB1c2UgaW4gYmluZGluZy5cclxuICAgIHZhciB0aGlzQ29tcG9uZW50ID0gdGhpcztcclxuXHJcbiAgICAvLyBuZWVkIGEgdGltZW91dCBmb3IgdWkgdG8gZGlzcGxheSB0aGUgY2FsZW5kZXIgcG9wdXBcclxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xyXG4gICAgICAvLyBvbmx5IGF2YWlsYWJsZSB3aGVuIHBvcHVwIGlzIHNob3duLCBnZXQgdGhlIGVsZW1lbnQgYnkgY2xhc3NcclxuICAgICAgLy8gZm9yIGRhdGVcclxuICAgICAgdGhpc0NvbXBvbmVudC5kYXRlQXBwZW5kRXZlbnQodGhpc0NvbXBvbmVudCk7XHJcblxyXG4gICAgICAvLyBmb3IgdGltZVxyXG4gICAgICB0aGlzQ29tcG9uZW50LnRpbWVBcHBlbmRFdmVudCh0aGlzQ29tcG9uZW50KTtcclxuICAgIH0sIDUwMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRhdGVBcHBlbmRFdmVudCh0aGlzQ29tcG9uZW50OiBhbnkpIHtcclxuICAgIGxldCBkYXRlQ2VsbCA9ICQoXCJ0Ym9keS5rLWNhbGVuZGFyLXRib2R5XCIpLmZpbmQoXCJ0ZC5rLWNhbGVuZGFyLXRkXCIpO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkYXRlQ2VsbC5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBub2RlID0gZGF0ZUNlbGxbaV07XHJcblxyXG4gICAgICBpZiAobm9kZS50aXRsZSAhPSBcIlwiKSB7XHJcbiAgICAgICAgLy8gd2hlbiBkYXRlIGNsaWNrZWRcclxuICAgICAgICBub2RlLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICBpZiAoIWlzTmFOKERhdGUucGFyc2Uobm9kZS50aXRsZSkpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5vZGVEYXRlID0gbmV3IERhdGUobm9kZS50aXRsZSkudG9JU09TdHJpbmcoKTtcclxuICAgICAgICAgICAgLy8gYXNzaWduIHRvIHRoZSB6TW9kZWxcclxuICAgICAgICAgICAgWkNvbXBvbmVudEhlbHBlci5zZXRNb2RlbFZhbHVlKHRoaXNDb21wb25lbnQuZGF0YS5WYWx1ZSwgbm9kZURhdGUsIHRoaXNDb21wb25lbnQuZ3JvdXApO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIHRpbWVvdXQgYXBwZW5kIHRpbWUgY2xpY2sgZXZlbnRcclxuICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB0aGlzQ29tcG9uZW50LmhvdXJzT25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgICAgICAgICAgdGhpc0NvbXBvbmVudC5taW51dGVzT25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgICAgICAgICAgdGhpc0NvbXBvbmVudC5hbXBtT25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgICAgICAgICAgdGhpc0NvbXBvbmVudC5ub3dPbkNsaWNrKHRoaXNDb21wb25lbnQpO1xyXG4gICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFRvZGF5IGNsaWNrZWRcclxuICAgIGNvbnN0IHRvZGF5RGF0ZSA9ICQoXCJzcGFuLmstdG9kYXlcIilbMF07XHJcbiAgICB0b2RheURhdGUuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgY29uc3QgZGF0ZU5vdyA9IG5ldyBEYXRlKCkudG9KU09OKCkuc2xpY2UoMCwgMTApLnJlcGxhY2UoLy0vZywgJy8nKTtcclxuICAgICAgLy8gc2V0IHRvIE1vZGVsXHJcbiAgICAgIHRoaXNDb21wb25lbnQuc2V0RGF0ZVRpbWVUb01vZGVsKHRoaXNDb21wb25lbnQsIGRhdGVOb3cpO1xyXG5cclxuICAgICAgdGhpc0NvbXBvbmVudC5ob3Vyc09uQ2xpY2sodGhpc0NvbXBvbmVudCk7XHJcbiAgICAgIHRoaXNDb21wb25lbnQubWludXRlc09uQ2xpY2sodGhpc0NvbXBvbmVudCk7XHJcbiAgICAgIHRoaXNDb21wb25lbnQuYW1wbU9uQ2xpY2sodGhpc0NvbXBvbmVudCk7XHJcbiAgICAgIHRoaXNDb21wb25lbnQubm93T25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0aW1lQXBwZW5kRXZlbnQodGhpc0NvbXBvbmVudDogYW55KSB7XHJcbiAgICB2YXIgdGltZVRhYiA9ICQoXCJidXR0b24uay1idXR0b24uay10aW1lLXRhYlwiKVswXTtcclxuICAgIHRpbWVUYWIuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgdGhpc0NvbXBvbmVudC5ob3Vyc09uQ2xpY2sodGhpc0NvbXBvbmVudCk7XHJcbiAgICAgIHRoaXNDb21wb25lbnQubWludXRlc09uQ2xpY2sodGhpc0NvbXBvbmVudCk7XHJcbiAgICAgIHRoaXNDb21wb25lbnQuYW1wbU9uQ2xpY2sodGhpc0NvbXBvbmVudCk7XHJcbiAgICAgIHRoaXNDb21wb25lbnQubm93T25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBub3dPbkNsaWNrKHRoaXNDb21wb25lbnQ6IGFueSkge1xyXG4gICAgY29uc3Qgbm93VGltZSA9ICQoXCJidXR0b24uay1idXR0b24uay1iYXJlLmstdGltZS1ub3dcIilbMF07XHJcbiAgICBpZiAobm93VGltZSkge1xyXG4gICAgICBub3dUaW1lLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgIC8vIGdldCBtb2RlbCBjdXJyZW50IHZhbHVlXHJcbiAgICAgICAgbGV0IHZhbHVlRGF0ZVRpbWUgPSB0aGlzQ29tcG9uZW50LmN1cnJlbnREYXRlVGltZVZhbHVlKHRoaXNDb21wb25lbnQpO1xyXG4gICAgICAgIGNvbnN0IGRhdGVUaW1lTm93ID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICAgICAgLy8gY29udmVydCBjdXJyZW50IHZhbHVlIHRvIGRhdGV0aW1lXHJcbiAgICAgICAgdmFsdWVEYXRlVGltZS5zZXRIb3VycyhkYXRlVGltZU5vdy5nZXRIb3VycygpKTtcclxuICAgICAgICB2YWx1ZURhdGVUaW1lLnNldE1pbnV0ZXMoZGF0ZVRpbWVOb3cuZ2V0TWludXRlcygpKTtcclxuICAgICAgICB2YWx1ZURhdGVUaW1lLnNldFNlY29uZHMoZGF0ZVRpbWVOb3cuZ2V0U2Vjb25kcygpKTtcclxuXHJcbiAgICAgICAgLy8gc2V0IHRvIE1vZGVsXHJcbiAgICAgICAgdGhpc0NvbXBvbmVudC5zZXREYXRlVGltZVRvTW9kZWwodGhpc0NvbXBvbmVudCwgdmFsdWVEYXRlVGltZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBob3Vyc09uQ2xpY2sodGhpc0NvbXBvbmVudDogYW55KSB7XHJcbiAgICBjb25zdCB0aW1lV3JhcHBlciA9ICQoXCJkaXYuay10aW1lLWxpc3Qtd3JhcHBlclwiKS5maW5kKFwidWxcIik7XHJcbiAgICBpZiAodGltZVdyYXBwZXIubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBob3VyID0gdGltZVdyYXBwZXJbMF0uY2hpbGRyZW47XHJcblxyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGhvdXIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBob3VyW2ldLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgLy8gZ2V0IGNsaWNrZWQgbm9kZSB2YWx1ZVxyXG4gICAgICAgICAgY29uc3Qgbm9kZVZhbHVlID0gZS5jdXJyZW50VGFyZ2V0LnRleHRDb250ZW50O1xyXG5cclxuICAgICAgICAgIC8vIGdldCBtb2RlbCBjdXJyZW50IHZhbHVlXHJcbiAgICAgICAgICBsZXQgdmFsdWVEYXRlVGltZSA9IHRoaXNDb21wb25lbnQuY3VycmVudERhdGVUaW1lVmFsdWUodGhpc0NvbXBvbmVudCk7XHJcblxyXG4gICAgICAgICAgLy8gc2V0IG5ldyBob3VyXHJcbiAgICAgICAgICB2YWx1ZURhdGVUaW1lLnNldEhvdXJzKG5vZGVWYWx1ZSk7XHJcblxyXG4gICAgICAgICAgLy8gc2V0IHRvIE1vZGVsXHJcbiAgICAgICAgICB0aGlzQ29tcG9uZW50LnNldERhdGVUaW1lVG9Nb2RlbCh0aGlzQ29tcG9uZW50LCB2YWx1ZURhdGVUaW1lKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtaW51dGVzT25DbGljayh0aGlzQ29tcG9uZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHRpbWVXcmFwcGVyID0gJChcImRpdi5rLXRpbWUtbGlzdC13cmFwcGVyXCIpLmZpbmQoXCJ1bFwiKTtcclxuICAgIGlmICh0aW1lV3JhcHBlci5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IG1pbnV0ZXMgPSB0aW1lV3JhcHBlclsxXS5jaGlsZHJlbjtcclxuXHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWludXRlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIG1pbnV0ZXNbaV0uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAvLyBnZXQgY2xpY2tlZCBub2RlIHZhbHVlXHJcbiAgICAgICAgICBjb25zdCBub2RlVmFsdWUgPSBlLmN1cnJlbnRUYXJnZXQudGV4dENvbnRlbnQ7XHJcblxyXG4gICAgICAgICAgLy8gZ2V0IG1vZGVsIGN1cnJlbnQgdmFsdWVcclxuICAgICAgICAgIGNvbnN0IHZhbHVlRGF0ZVRpbWUgPSB0aGlzQ29tcG9uZW50LmN1cnJlbnREYXRlVGltZVZhbHVlKHRoaXNDb21wb25lbnQpO1xyXG5cclxuICAgICAgICAgIC8vIHNldCBuZXcgbWludXRlXHJcbiAgICAgICAgICB2YWx1ZURhdGVUaW1lLnNldE1pbnV0ZXMobm9kZVZhbHVlKTtcclxuXHJcbiAgICAgICAgICAvLyBzZXQgdG8gTW9kZWxcclxuICAgICAgICAgIHRoaXNDb21wb25lbnQuc2V0RGF0ZVRpbWVUb01vZGVsKHRoaXNDb21wb25lbnQsIHZhbHVlRGF0ZVRpbWUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFtcG1PbkNsaWNrKHRoaXNDb21wb25lbnQ6IGFueSkge1xyXG4gICAgY29uc3QgdGltZVdyYXBwZXIgPSAkKFwiZGl2LmstdGltZS1saXN0LXdyYXBwZXJcIikuZmluZChcInVsXCIpO1xyXG4gICAgaWYgKHRpbWVXcmFwcGVyLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgYW1wbSA9IHRpbWVXcmFwcGVyWzJdLmNoaWxkcmVuO1xyXG5cclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhbXBtLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgYW1wbVtpXS5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICAgIC8vIGdldCBjbGlja2VkIG5vZGUgdmFsdWVcclxuICAgICAgICAgIGNvbnN0IG5vZGVWYWx1ZSA9IGUuY3VycmVudFRhcmdldC50ZXh0Q29udGVudDtcclxuXHJcbiAgICAgICAgICAvLyBnZXQgbW9kZWwgY3VycmVudCB2YWx1ZVxyXG4gICAgICAgICAgY29uc3QgdmFsdWVEYXRlVGltZSA9IHRoaXNDb21wb25lbnQuY3VycmVudERhdGVUaW1lVmFsdWUodGhpc0NvbXBvbmVudCk7XHJcblxyXG4gICAgICAgICAgLy8gc2V0IG5ldyBtaW51dGVzXHJcbiAgICAgICAgICB2YXIgX2hvdXIgPSB2YWx1ZURhdGVUaW1lLmdldEhvdXJzKCk7XHJcbiAgICAgICAgICBpZiAobm9kZVZhbHVlLnRvTG93ZXJDYXNlKCkgPT0gXCJhbVwiKSB7XHJcbiAgICAgICAgICAgIF9ob3VyIC09IDEyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIF9ob3VyICs9IDEyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdmFsdWVEYXRlVGltZS5zZXRIb3VycyhfaG91cik7XHJcblxyXG4gICAgICAgICAgLy8gc2V0IHRvIE1vZGVsXHJcbiAgICAgICAgICB0aGlzQ29tcG9uZW50LnNldERhdGVUaW1lVG9Nb2RlbCh0aGlzQ29tcG9uZW50LCB2YWx1ZURhdGVUaW1lKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjdXJyZW50RGF0ZVRpbWVWYWx1ZSh0aGlzQ29tcG9uZW50OiBhbnkpIHtcclxuICAgIC8vIGdldCBjdXJyZW50IHZhbHVlXHJcbiAgICBjb25zdCB6TW9kZWxWYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0Wk1vZGVsVmFsdWUodGhpc0NvbXBvbmVudC5kYXRhLlZhbHVlLCB0aGlzQ29tcG9uZW50Lmdyb3VwLCB0aGlzQ29tcG9uZW50Lmdyb3VwLnpNb2RlbCk7XHJcblxyXG4gICAgbGV0IHZhbHVlRGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgIGlmICh6TW9kZWxWYWx1ZSAhPSBcIlwiICYmIHpNb2RlbFZhbHVlICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAvLyBjb252ZXJ0IGN1cnJlbnQgdmFsdWUgdG8gZGF0ZXRpbWVcclxuICAgICAgdmFsdWVEYXRlVGltZSA9IG5ldyBEYXRlKHpNb2RlbFZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdmFsdWVEYXRlVGltZVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRlVGltZVRvTW9kZWwodGhpc0NvbXBvbmVudDogYW55LCB2YWx1ZURhdGVUaW1lOiBhbnkpIHtcclxuICAgIC8vIGNvbnZlcnQgdGhlIGRhdGUgdG8gSVNPU3RyaW5nXHJcbiAgICBjb25zdCBuZXdEYXRlVGltZSA9IG5ldyBEYXRlKHZhbHVlRGF0ZVRpbWUpLnRvSVNPU3RyaW5nKCk7XHJcblxyXG4gICAgLy8gYXNzaWduIHRvIHRoZSB6TW9kZWxcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0TW9kZWxWYWx1ZSh0aGlzQ29tcG9uZW50LmRhdGEuVmFsdWUsIG5ld0RhdGVUaW1lLCB0aGlzQ29tcG9uZW50Lmdyb3VwKTtcclxuXHJcbiAgICAvLyBzZXQgdGltZW91dCBkbyBhZGQgZXZlbnQgYWdhaW4gYWZ0ZXIgbm9kZSBjbGlja2VkLiBpZiBub3QgaXQgb25seSB3b3JrIDEgdGltZS5cclxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xyXG4gICAgICB0aGlzQ29tcG9uZW50LmhvdXJzT25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgICAgdGhpc0NvbXBvbmVudC5taW51dGVzT25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgICAgdGhpc0NvbXBvbmVudC5hbXBtT25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgICAgdGhpc0NvbXBvbmVudC5ub3dPbkNsaWNrKHRoaXNDb21wb25lbnQpO1xyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcbn1cclxuIiwiPGlvbi1pdGVtIFtuZ0NsYXNzXT1cImRhdGEuQ2xhc3NcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiPlxyXG4gIDxpb24tbGFiZWwgW2F0dHIuZm9yXT1cImRhdGEuVmFsdWVcIiAqbmdJZj1cImRhdGEuU2hvd0xhYmVsID09PSB1bmRlZmluZWQgfHwgZGF0YS5TaG93TGFiZWxcIiBwb3NpdGlvbj1cInN0YWNrZWRcIj5cclxuICAgIHt7ZGF0YS5MYWJlbH19IDxpb24tdGV4dCAqbmdJZj1cImNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZFwiIGNvbG9yPVwiZGFuZ2VyXCI+KjwvaW9uLXRleHQ+XHJcbiAgPC9pb24tbGFiZWw+XHJcbiAgPGRpdiBjbGFzcz1cImlvbi1yb3dcIiBzdHlsZT1cImp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjsgd2lkdGg6IDEwMCVcIj5cclxuICAgIDxzcGFuIHN0eWxlPVwiZmxleDogMTtcIj5cclxuICAgICAgPGlvbi1kYXRldGltZSAqbmdJZj1cImlzTW9iaWxlU2NyZWVuKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwicGFkZGluZzogOHB4IDBweDtcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWRGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZEZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkYXRhLlBsYWNlSG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiZGF0YS5WYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGb3JtYXRdPVwiZGF0ZUZvcm1hdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BpY2tlckZvcm1hdF09XCJkYXRlRm9ybWF0XCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImRhdGEuVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIj5cclxuICAgICAgPC9pb24tZGF0ZXRpbWU+XHJcbiAgICAgIDxrZW5kby1kYXRlcGlja2VyICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKCkgJiYgZGF0ZUZvcm1hdD09PSdNTU0tWVlZWSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiZGF0YS5WYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmb3JtLmdldChkYXRhLlZhbHVlKS52YWx1ZSB8IGRhdGVQYXJzZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwiZGF0YS5NaW5EYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJkYXRhLk1heERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZlVmlld109XCIneWVhcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYm90dG9tVmlld109XCIneWVhcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDdweDsgd2lkdGg6IDEwMCU7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0XT1cInRvS2VuZG9EYXRlRm9ybWF0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGF0YS5QbGFjZUhvbGRlclwiPlxyXG4gICAgICA8L2tlbmRvLWRhdGVwaWNrZXI+XHJcbiAgICAgIDxrZW5kby1kYXRlcGlja2VyICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKCkgJiYgZGF0ZUZvcm1hdD09PSdERC1NTU0tWVlZWSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiZGF0YS5WYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmb3JtLmdldChkYXRhLlZhbHVlKS52YWx1ZSB8IGRhdGVQYXJzZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwiZGF0YS5NaW5EYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJkYXRhLk1heERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDdweDsgd2lkdGg6IDEwMCU7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0XT1cInRvS2VuZG9EYXRlRm9ybWF0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGF0YS5QbGFjZUhvbGRlclwiPjwva2VuZG8tZGF0ZXBpY2tlcj5cclxuICAgICAgPGtlbmRvLWRhdGV0aW1lcGlja2VyICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKCkgJiYgZGF0ZUZvcm1hdD09PSdERC1NTU0tWVlZWSBoOm1tIEEnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJkYXRhLlZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmb3JtLmdldChkYXRhLlZhbHVlKS52YWx1ZSB8IGRhdGVQYXJzZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wZW4pPVwiaGFuZGxlUHJldmVudGFibGVFdmVudCgkZXZlbnQsICdvcGVuJywgZmFsc2UpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogN3B4OyB3aWR0aDogMTAwJTtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtYXRdPVwidG9LZW5kb0RhdGVGb3JtYXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGF0YS5QbGFjZUhvbGRlclwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0NhbGVuZGFyTW9udGhDZWxsVGVtcGxhdGUgbGV0LWRhdGU+XHJcbiAgICAgICAgICA8c3BhbiAoY2xpY2spPVwiR2V0RGF0ZShkYXRlKVwiPnt7ZGF0ZS5nZXREYXRlKCl9fTwvc3Bhbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2tlbmRvLWRhdGV0aW1lcGlja2VyPlxyXG4gICAgICA8a2VuZG8tdGltZXBpY2tlciAqbmdJZj1cIiFpc01vYmlsZVNjcmVlbigpICYmIChkYXRlRm9ybWF0PT09J0hIOm1tOnNzJyB8fCBkYXRlRm9ybWF0PT09J0hIOm1tJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiZGF0YS5WYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmb3JtLmdldChkYXRhLlZhbHVlKS52YWx1ZSB8IGRhdGVQYXJzZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogN3B4OyB3aWR0aDogMTAwJTtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtYXRdPVwidG9LZW5kb0RhdGVGb3JtYXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkYXRhLlBsYWNlSG9sZGVyXCI+PC9rZW5kby10aW1lcGlja2VyPlxyXG4gICAgPC9zcGFuPlxyXG4gICAgPGFwcC11aXZhbGlkYXRpb25tZXNzYWdlIFtncm91cF09XCJncm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiPjwvYXBwLXVpdmFsaWRhdGlvbm1lc3NhZ2U+XHJcbiAgPC9kaXY+XHJcbjwvaW9uLWl0ZW0+XHJcbiJdfQ==
285
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemRhdGV0aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3pkYXRldGltZS96ZGF0ZXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemRhdGV0aW1lL3pkYXRldGltZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT3ZELDJDQUEyQztBQUMzQyxPQUFPLEVBQ08sZ0JBQWdCLEVBQ1osb0JBQW9CLEVBQ3JDLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBV3pCLE1BQU0sT0FBTyxrQkFBa0I7SUFTN0I7UUFMQSxlQUFVLEdBQUcsYUFBYSxDQUFDO1FBQzNCLG9CQUFvQjtRQUVwQix3QkFBbUIsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFtRzFDLGNBQVMsR0FBRyxDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQ3JDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDLENBQUE7UUFFTSxlQUFVLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUN0QyxJQUFJ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QWEsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOztnSEFuVVUsa0JBQWtCO29HQUFsQixrQkFBa0IsNkdDeEIvQix3M0tBdUVBOzRGRC9DYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZUFBZTswRUFLaEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBQcmV2ZW50YWJsZUV2ZW50IH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZGF0ZWlucHV0cyc7XHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7XHJcbiAgWkNvbXBvbmVudCwgWkNvbXBvbmVudEhlbHBlciwgWkNvbXBvbmVudE91dHB1dEV2ZW50LFxyXG4gIFpGaWVsZCwgWkdyb3VwLCBaQ29tcG9uZW50UHJvcGVydGllc1xyXG59IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuXHJcblxyXG4vLyBpbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmRlY2xhcmUgdmFyICQ6IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC16ZGF0ZXRpbWVcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3pkYXRldGltZS5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi96ZGF0ZXRpbWUuY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZGF0ZXRpbWVDb21wb25lbnQgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGRhdGE6IFpGaWVsZDtcclxuICBASW5wdXQoKSBncm91cDogWkdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cDtcclxuICBkYXRlRm9ybWF0ID0gXCJERC1NTU0tWVlZWVwiO1xyXG4gIC8vIGRhdGVWYWx1ZSA9IG51bGw7XHJcblxyXG4gIGNvbXBvbmVudFByb3BlcnRpZXMgPSBuZXcgWkNvbXBvbmVudFByb3BlcnRpZXMoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldENvbXBvbmVudFByb3BlcnRpZXModGhpcyk7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnJlZ2lzdGVyQ29tcG9uZW50KHRoaXMpO1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGEuVHlwZSA9PT0gXCJ6dGltZVwiKSB7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9IFwiSEg6bW1cIjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRhdGEuVHlwZSA9PT0gXCJ6dWlkYXRldGltZVwiKSB7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9IFwiREQtTU1NLVlZWVkgaDptbSBBXCI7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kYXRhLlR5cGUgPT09IFwienVpdGltZVwiKSB7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9IFwiSEg6bW06c3NcIjtcclxuICAgIH1cclxuXHRpZiAodGhpcy5kYXRhLlR5cGUgPT09IFwienNob3J0ZGF0ZVwiKSB7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9IFwiTU1NLVlZWVlcIjtcclxuICAgIH1cclxuICAgIC8vIGlmICh0aGlzLmdyb3VwLnpNb2RlbFt0aGlzLmRhdGEuVmFsdWVdKSB7XHJcbiAgICAvLyAgIHRoaXMuZGF0ZVZhbHVlID0gbmV3IERhdGUodGhpcy5ncm91cC56TW9kZWxbdGhpcy5kYXRhLlZhbHVlXSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICB0b0tlbmRvRGF0ZUZvcm1hdCgpIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGVGb3JtYXRcclxuICAgICAgLnJlcGxhY2UoXCJERFwiLCBcImRkXCIpXHJcbiAgICAgIC5yZXBsYWNlKFwiWVlZWVwiLCBcInl5eXlcIilcclxuICAgICAgLnJlcGxhY2UoXCJoXCIsIFwiSFwiKVxyXG4gICAgICAucmVwbGFjZShcIkFcIiwgXCJhXCIpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVhZE9ubHlWYWx1ZSgpIHtcclxuICAgIGNvbnN0IHJlYWRPbmx5VmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwoXHJcbiAgICAgIHRoaXMsXHJcbiAgICAgIHRoaXMuZGF0YS5SZWFkT25seSxcclxuICAgICAgdGhpcy5ncm91cFxyXG4gICAgKTtcclxuICAgIGlmICh0eXBlb2YgcmVhZE9ubHlWYWx1ZSA9PT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgIHJldHVybiByZWFkT25seVZhbHVlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVhZE9ubHlWYWx1ZTtcclxuICB9XHJcblxyXG4gIGlzTW9iaWxlU2NyZWVuKCkge1xyXG4gICAgY29uc3QgdiA9IFpDb21wb25lbnRIZWxwZXIuaXNNb2JpbGVTY3JlZW4oKTtcclxuICAgIHJldHVybiB2O1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0ZVZhbHVlKCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXS52YWx1ZTtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0RGF0ZShkYXRlOiBEYXRlKSB7XHJcbiAgICAvLyBjb252ZXJ0IHRoZSBkYXRlIHRvIElTT1N0cmluZ1xyXG4gICAgY29uc3QgbXlEYXRlID0gbmV3IERhdGUoZGF0ZSkudG9JU09TdHJpbmcoKTtcclxuICAgIC8vIGFzc2lnbiB0byB0aGUgek1vZGVsXHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldE1vZGVsVmFsdWUodGhpcy5kYXRhLlZhbHVlLCBteURhdGUsIHRoaXMuZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlKHZhbHVlOiBEYXRlKTogdm9pZCB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcclxuICAgIC8vICAgXCJkYXRlIGNoYW5nZSBcIixcclxuICAgIC8vICAgdmFsdWUudG9JU09TdHJpbmcoKSxcclxuICAgIC8vICAgXCIgZGF0ZSB2YWx1ZTogXCIsXHJcbiAgICAvLyAgIG5ldyBEYXRlKHZhbHVlLnRvSVNPU3RyaW5nKCkpXHJcbiAgICAvLyApO1xyXG4gICAgLy8gLy8gdGhpcy5ncm91cC56TW9kZWxbdGhpcy5kYXRhLlZhbHVlXSA9IHZhbHVlLnRvSVNPU3RyaW5nKCk7XHJcbiAgICAvLyBjb25zdCB2ID0gdmFsdWUudG9JU09TdHJpbmcoKTtcclxuICAgIC8vIHRoaXMuZGF0ZVZhbHVlID0gbmV3IERhdGUodmFsdWUudG9JU09TdHJpbmcoKSk7XHJcbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcclxuICAgICAgWkNvbXBvbmVudEhlbHBlci5zZXRNb2RlbFZhbHVlKFxyXG4gICAgICAgIHRoaXMuZGF0YS5WYWx1ZSxcclxuICAgICAgICB2YWx1ZSxcclxuICAgICAgICB0aGlzLmdyb3VwXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBaQ29tcG9uZW50SGVscGVyLnNldE1vZGVsVmFsdWUoXHJcbiAgICAgICAgdGhpcy5kYXRhLlZhbHVlLFxyXG4gICAgICAgIHZhbHVlLnRvSVNPU3RyaW5nKCksXHJcbiAgICAgICAgdGhpcy5ncm91cFxyXG4gICAgICApO1xyXG5cclxuICAgICAgY29uc3QgZmMgPSB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXTtcclxuICAgICAgZmMuc2V0VmFsdWUodmFsdWUudG9JU09TdHJpbmcoKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdyb3VwLnN1YmplY3QubmV4dCh7XHJcbiAgICAgIHR5cGU6IFwib25DaGFuZ2VcIixcclxuICAgICAgdGFyZ2V0OiB0aGlzLmRhdGEuT25DaGFuZ2UsXHJcbiAgICAgIGRhdGE6IHZhbHVlLFxyXG4gICAgfSBhcyBaQ29tcG9uZW50T3V0cHV0RXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEVuYWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIGNvbnN0IGZjID0gdGhpcy5ncm91cC5mb3JtLmNvbnRyb2xzW3RoaXMuZGF0YS5WYWx1ZV07XHJcbiAgICBzdGF0dXMgPyBmYy5lbmFibGUoKSA6IGZjLmRpc2FibGUoKTtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5ID0gIXN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRWaXNpYmxlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSA9IHN0YXR1cztcclxuICAgIHRoaXMuZGF0YS5WaXNpYmxlID0gc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFJlcXVpcmUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZCA9IHN0YXR1cztcclxuICAgIFpDb21wb25lbnRIZWxwZXIuY2hhbmdlVmFsaWRhdG9yKHN0YXR1cywgdGhpcy5ncm91cCwgdGhpcy5kYXRhLlZhbHVlLCB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNldERhdGVSYW5nZSA9IChNaW5EYXRlOiBzdHJpbmcsTWF4RGF0ZTogc3RyaW5nKTogYW55ID0+XHJcbiAge1xyXG4gICAgdmFyIHRoaXNDb21wb25lbnQgPSB0aGlzO1xyXG5cclxuICAgIGlmICghaXNOYU4oRGF0ZS5wYXJzZShNaW5EYXRlKSkpXHJcbiAgICB7XHJcbiAgICAgIHRoaXMuZGF0YS5NaW5EYXRlID0gbmV3IERhdGUoTWluRGF0ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWlzTmFOKERhdGUucGFyc2UoTWF4RGF0ZSkpKVxyXG4gICAge1xyXG4gICAgICB0aGlzLmRhdGEuTWF4RGF0ZSA9IG5ldyBEYXRlKE1heERhdGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVByZXZlbnRhYmxlRXZlbnQoZXZlbnQ6IFByZXZlbnRhYmxlRXZlbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBwcmV2ZW50RGVmYXVsdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy8ga2VlcCBcInRoaXNcIiB0byB1c2UgaW4gYmluZGluZy5cclxuICAgIHZhciB0aGlzQ29tcG9uZW50ID0gdGhpcztcclxuXHJcbiAgICAvLyBuZWVkIGEgdGltZW91dCBmb3IgdWkgdG8gZGlzcGxheSB0aGUgY2FsZW5kZXIgcG9wdXBcclxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xyXG4gICAgICAvLyBvbmx5IGF2YWlsYWJsZSB3aGVuIHBvcHVwIGlzIHNob3duLCBnZXQgdGhlIGVsZW1lbnQgYnkgY2xhc3NcclxuICAgICAgLy8gZm9yIGRhdGVcclxuICAgICAgdGhpc0NvbXBvbmVudC5kYXRlQXBwZW5kRXZlbnQodGhpc0NvbXBvbmVudCk7XHJcblxyXG4gICAgICAvLyBmb3IgdGltZVxyXG4gICAgICB0aGlzQ29tcG9uZW50LnRpbWVBcHBlbmRFdmVudCh0aGlzQ29tcG9uZW50KTtcclxuICAgIH0sIDUwMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRhdGVBcHBlbmRFdmVudCh0aGlzQ29tcG9uZW50OiBhbnkpIHtcclxuICAgIGxldCBkYXRlQ2VsbCA9ICQoXCJ0Ym9keS5rLWNhbGVuZGFyLXRib2R5XCIpLmZpbmQoXCJ0ZC5rLWNhbGVuZGFyLXRkXCIpO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkYXRlQ2VsbC5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBub2RlID0gZGF0ZUNlbGxbaV07XHJcblxyXG4gICAgICBpZiAobm9kZS50aXRsZSAhPSBcIlwiKSB7XHJcbiAgICAgICAgLy8gd2hlbiBkYXRlIGNsaWNrZWRcclxuICAgICAgICBub2RlLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICBpZiAoIWlzTmFOKERhdGUucGFyc2Uobm9kZS50aXRsZSkpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5vZGVEYXRlID0gbmV3IERhdGUobm9kZS50aXRsZSkudG9JU09TdHJpbmcoKTtcclxuICAgICAgICAgICAgLy8gYXNzaWduIHRvIHRoZSB6TW9kZWxcclxuICAgICAgICAgICAgWkNvbXBvbmVudEhlbHBlci5zZXRNb2RlbFZhbHVlKHRoaXNDb21wb25lbnQuZGF0YS5WYWx1ZSwgbm9kZURhdGUsIHRoaXNDb21wb25lbnQuZ3JvdXApO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIHRpbWVvdXQgYXBwZW5kIHRpbWUgY2xpY2sgZXZlbnRcclxuICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB0aGlzQ29tcG9uZW50LmhvdXJzT25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgICAgICAgICAgdGhpc0NvbXBvbmVudC5taW51dGVzT25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgICAgICAgICAgdGhpc0NvbXBvbmVudC5hbXBtT25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgICAgICAgICAgdGhpc0NvbXBvbmVudC5ub3dPbkNsaWNrKHRoaXNDb21wb25lbnQpO1xyXG4gICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFRvZGF5IGNsaWNrZWRcclxuICAgIGNvbnN0IHRvZGF5RGF0ZSA9ICQoXCJzcGFuLmstdG9kYXlcIilbMF07XHJcbiAgICB0b2RheURhdGUuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgY29uc3QgZGF0ZU5vdyA9IG5ldyBEYXRlKCkudG9KU09OKCkuc2xpY2UoMCwgMTApLnJlcGxhY2UoLy0vZywgJy8nKTtcclxuICAgICAgLy8gc2V0IHRvIE1vZGVsXHJcbiAgICAgIHRoaXNDb21wb25lbnQuc2V0RGF0ZVRpbWVUb01vZGVsKHRoaXNDb21wb25lbnQsIGRhdGVOb3cpO1xyXG5cclxuICAgICAgdGhpc0NvbXBvbmVudC5ob3Vyc09uQ2xpY2sodGhpc0NvbXBvbmVudCk7XHJcbiAgICAgIHRoaXNDb21wb25lbnQubWludXRlc09uQ2xpY2sodGhpc0NvbXBvbmVudCk7XHJcbiAgICAgIHRoaXNDb21wb25lbnQuYW1wbU9uQ2xpY2sodGhpc0NvbXBvbmVudCk7XHJcbiAgICAgIHRoaXNDb21wb25lbnQubm93T25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0aW1lQXBwZW5kRXZlbnQodGhpc0NvbXBvbmVudDogYW55KSB7XHJcbiAgICB2YXIgdGltZVRhYiA9ICQoXCJidXR0b24uay1idXR0b24uay10aW1lLXRhYlwiKVswXTtcclxuICAgIHRpbWVUYWIuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgdGhpc0NvbXBvbmVudC5ob3Vyc09uQ2xpY2sodGhpc0NvbXBvbmVudCk7XHJcbiAgICAgIHRoaXNDb21wb25lbnQubWludXRlc09uQ2xpY2sodGhpc0NvbXBvbmVudCk7XHJcbiAgICAgIHRoaXNDb21wb25lbnQuYW1wbU9uQ2xpY2sodGhpc0NvbXBvbmVudCk7XHJcbiAgICAgIHRoaXNDb21wb25lbnQubm93T25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBub3dPbkNsaWNrKHRoaXNDb21wb25lbnQ6IGFueSkge1xyXG4gICAgY29uc3Qgbm93VGltZSA9ICQoXCJidXR0b24uay1idXR0b24uay1iYXJlLmstdGltZS1ub3dcIilbMF07XHJcbiAgICBpZiAobm93VGltZSkge1xyXG4gICAgICBub3dUaW1lLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgIC8vIGdldCBtb2RlbCBjdXJyZW50IHZhbHVlXHJcbiAgICAgICAgbGV0IHZhbHVlRGF0ZVRpbWUgPSB0aGlzQ29tcG9uZW50LmN1cnJlbnREYXRlVGltZVZhbHVlKHRoaXNDb21wb25lbnQpO1xyXG4gICAgICAgIGNvbnN0IGRhdGVUaW1lTm93ID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICAgICAgLy8gY29udmVydCBjdXJyZW50IHZhbHVlIHRvIGRhdGV0aW1lXHJcbiAgICAgICAgdmFsdWVEYXRlVGltZS5zZXRIb3VycyhkYXRlVGltZU5vdy5nZXRIb3VycygpKTtcclxuICAgICAgICB2YWx1ZURhdGVUaW1lLnNldE1pbnV0ZXMoZGF0ZVRpbWVOb3cuZ2V0TWludXRlcygpKTtcclxuICAgICAgICB2YWx1ZURhdGVUaW1lLnNldFNlY29uZHMoZGF0ZVRpbWVOb3cuZ2V0U2Vjb25kcygpKTtcclxuXHJcbiAgICAgICAgLy8gc2V0IHRvIE1vZGVsXHJcbiAgICAgICAgdGhpc0NvbXBvbmVudC5zZXREYXRlVGltZVRvTW9kZWwodGhpc0NvbXBvbmVudCwgdmFsdWVEYXRlVGltZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBob3Vyc09uQ2xpY2sodGhpc0NvbXBvbmVudDogYW55KSB7XHJcbiAgICBjb25zdCB0aW1lV3JhcHBlciA9ICQoXCJkaXYuay10aW1lLWxpc3Qtd3JhcHBlclwiKS5maW5kKFwidWxcIik7XHJcbiAgICBpZiAodGltZVdyYXBwZXIubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBob3VyID0gdGltZVdyYXBwZXJbMF0uY2hpbGRyZW47XHJcblxyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGhvdXIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBob3VyW2ldLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgLy8gZ2V0IGNsaWNrZWQgbm9kZSB2YWx1ZVxyXG4gICAgICAgICAgY29uc3Qgbm9kZVZhbHVlID0gZS5jdXJyZW50VGFyZ2V0LnRleHRDb250ZW50O1xyXG5cclxuICAgICAgICAgIC8vIGdldCBtb2RlbCBjdXJyZW50IHZhbHVlXHJcbiAgICAgICAgICBsZXQgdmFsdWVEYXRlVGltZSA9IHRoaXNDb21wb25lbnQuY3VycmVudERhdGVUaW1lVmFsdWUodGhpc0NvbXBvbmVudCk7XHJcblxyXG4gICAgICAgICAgLy8gc2V0IG5ldyBob3VyXHJcbiAgICAgICAgICB2YWx1ZURhdGVUaW1lLnNldEhvdXJzKG5vZGVWYWx1ZSk7XHJcblxyXG4gICAgICAgICAgLy8gc2V0IHRvIE1vZGVsXHJcbiAgICAgICAgICB0aGlzQ29tcG9uZW50LnNldERhdGVUaW1lVG9Nb2RlbCh0aGlzQ29tcG9uZW50LCB2YWx1ZURhdGVUaW1lKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtaW51dGVzT25DbGljayh0aGlzQ29tcG9uZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHRpbWVXcmFwcGVyID0gJChcImRpdi5rLXRpbWUtbGlzdC13cmFwcGVyXCIpLmZpbmQoXCJ1bFwiKTtcclxuICAgIGlmICh0aW1lV3JhcHBlci5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IG1pbnV0ZXMgPSB0aW1lV3JhcHBlclsxXS5jaGlsZHJlbjtcclxuXHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWludXRlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIG1pbnV0ZXNbaV0uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAvLyBnZXQgY2xpY2tlZCBub2RlIHZhbHVlXHJcbiAgICAgICAgICBjb25zdCBub2RlVmFsdWUgPSBlLmN1cnJlbnRUYXJnZXQudGV4dENvbnRlbnQ7XHJcblxyXG4gICAgICAgICAgLy8gZ2V0IG1vZGVsIGN1cnJlbnQgdmFsdWVcclxuICAgICAgICAgIGNvbnN0IHZhbHVlRGF0ZVRpbWUgPSB0aGlzQ29tcG9uZW50LmN1cnJlbnREYXRlVGltZVZhbHVlKHRoaXNDb21wb25lbnQpO1xyXG5cclxuICAgICAgICAgIC8vIHNldCBuZXcgbWludXRlXHJcbiAgICAgICAgICB2YWx1ZURhdGVUaW1lLnNldE1pbnV0ZXMobm9kZVZhbHVlKTtcclxuXHJcbiAgICAgICAgICAvLyBzZXQgdG8gTW9kZWxcclxuICAgICAgICAgIHRoaXNDb21wb25lbnQuc2V0RGF0ZVRpbWVUb01vZGVsKHRoaXNDb21wb25lbnQsIHZhbHVlRGF0ZVRpbWUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFtcG1PbkNsaWNrKHRoaXNDb21wb25lbnQ6IGFueSkge1xyXG4gICAgY29uc3QgdGltZVdyYXBwZXIgPSAkKFwiZGl2LmstdGltZS1saXN0LXdyYXBwZXJcIikuZmluZChcInVsXCIpO1xyXG4gICAgaWYgKHRpbWVXcmFwcGVyLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgYW1wbSA9IHRpbWVXcmFwcGVyWzJdLmNoaWxkcmVuO1xyXG5cclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhbXBtLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgYW1wbVtpXS5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICAgIC8vIGdldCBjbGlja2VkIG5vZGUgdmFsdWVcclxuICAgICAgICAgIGNvbnN0IG5vZGVWYWx1ZSA9IGUuY3VycmVudFRhcmdldC50ZXh0Q29udGVudDtcclxuXHJcbiAgICAgICAgICAvLyBnZXQgbW9kZWwgY3VycmVudCB2YWx1ZVxyXG4gICAgICAgICAgY29uc3QgdmFsdWVEYXRlVGltZSA9IHRoaXNDb21wb25lbnQuY3VycmVudERhdGVUaW1lVmFsdWUodGhpc0NvbXBvbmVudCk7XHJcblxyXG4gICAgICAgICAgLy8gc2V0IG5ldyBtaW51dGVzXHJcbiAgICAgICAgICB2YXIgX2hvdXIgPSB2YWx1ZURhdGVUaW1lLmdldEhvdXJzKCk7XHJcbiAgICAgICAgICBpZiAobm9kZVZhbHVlLnRvTG93ZXJDYXNlKCkgPT0gXCJhbVwiKSB7XHJcbiAgICAgICAgICAgIF9ob3VyIC09IDEyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIF9ob3VyICs9IDEyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdmFsdWVEYXRlVGltZS5zZXRIb3VycyhfaG91cik7XHJcblxyXG4gICAgICAgICAgLy8gc2V0IHRvIE1vZGVsXHJcbiAgICAgICAgICB0aGlzQ29tcG9uZW50LnNldERhdGVUaW1lVG9Nb2RlbCh0aGlzQ29tcG9uZW50LCB2YWx1ZURhdGVUaW1lKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjdXJyZW50RGF0ZVRpbWVWYWx1ZSh0aGlzQ29tcG9uZW50OiBhbnkpIHtcclxuICAgIC8vIGdldCBjdXJyZW50IHZhbHVlXHJcbiAgICBjb25zdCB6TW9kZWxWYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0Wk1vZGVsVmFsdWUodGhpc0NvbXBvbmVudC5kYXRhLlZhbHVlLCB0aGlzQ29tcG9uZW50Lmdyb3VwLCB0aGlzQ29tcG9uZW50Lmdyb3VwLnpNb2RlbCk7XHJcblxyXG4gICAgbGV0IHZhbHVlRGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgIGlmICh6TW9kZWxWYWx1ZSAhPSBcIlwiICYmIHpNb2RlbFZhbHVlICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAvLyBjb252ZXJ0IGN1cnJlbnQgdmFsdWUgdG8gZGF0ZXRpbWVcclxuICAgICAgdmFsdWVEYXRlVGltZSA9IG5ldyBEYXRlKHpNb2RlbFZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdmFsdWVEYXRlVGltZVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRlVGltZVRvTW9kZWwodGhpc0NvbXBvbmVudDogYW55LCB2YWx1ZURhdGVUaW1lOiBhbnkpIHtcclxuICAgIC8vIGNvbnZlcnQgdGhlIGRhdGUgdG8gSVNPU3RyaW5nXHJcbiAgICBjb25zdCBuZXdEYXRlVGltZSA9IG5ldyBEYXRlKHZhbHVlRGF0ZVRpbWUpLnRvSVNPU3RyaW5nKCk7XHJcblxyXG4gICAgLy8gYXNzaWduIHRvIHRoZSB6TW9kZWxcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0TW9kZWxWYWx1ZSh0aGlzQ29tcG9uZW50LmRhdGEuVmFsdWUsIG5ld0RhdGVUaW1lLCB0aGlzQ29tcG9uZW50Lmdyb3VwKTtcclxuXHJcbiAgICAvLyBzZXQgdGltZW91dCBkbyBhZGQgZXZlbnQgYWdhaW4gYWZ0ZXIgbm9kZSBjbGlja2VkLiBpZiBub3QgaXQgb25seSB3b3JrIDEgdGltZS5cclxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xyXG4gICAgICB0aGlzQ29tcG9uZW50LmhvdXJzT25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgICAgdGhpc0NvbXBvbmVudC5taW51dGVzT25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgICAgdGhpc0NvbXBvbmVudC5hbXBtT25DbGljayh0aGlzQ29tcG9uZW50KTtcclxuICAgICAgdGhpc0NvbXBvbmVudC5ub3dPbkNsaWNrKHRoaXNDb21wb25lbnQpO1xyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcbn1cclxuIiwiPGlvbi1pdGVtIFtuZ0NsYXNzXT1cImRhdGEuQ2xhc3NcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiPlxyXG4gIDxpb24tbGFiZWwgW2F0dHIuZm9yXT1cImRhdGEuVmFsdWVcIiAqbmdJZj1cImRhdGEuU2hvd0xhYmVsID09PSB1bmRlZmluZWQgfHwgZGF0YS5TaG93TGFiZWxcIiBwb3NpdGlvbj1cInN0YWNrZWRcIj5cclxuICAgIHt7ZGF0YS5MYWJlbH19IDxpb24tdGV4dCAqbmdJZj1cImNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZFwiIGNvbG9yPVwiZGFuZ2VyXCI+KjwvaW9uLXRleHQ+XHJcbiAgPC9pb24tbGFiZWw+XHJcbiAgPGRpdiBjbGFzcz1cImlvbi1yb3dcIiBzdHlsZT1cImp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjsgd2lkdGg6IDEwMCVcIj5cclxuICAgIDxzcGFuIHN0eWxlPVwiZmxleDogMTtcIj5cclxuICAgICAgPGlvbi1kYXRldGltZSAqbmdJZj1cImlzTW9iaWxlU2NyZWVuKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwicGFkZGluZzogOHB4IDBweDtcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWRGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZEZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkYXRhLlBsYWNlSG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiZGF0YS5WYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGb3JtYXRdPVwiZGF0ZUZvcm1hdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BpY2tlckZvcm1hdF09XCJkYXRlRm9ybWF0XCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImRhdGEuVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIj5cclxuICAgICAgPC9pb24tZGF0ZXRpbWU+XHJcbiAgICAgIDxrZW5kby1kYXRlcGlja2VyICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKCkgJiYgZGF0ZUZvcm1hdD09PSdNTU0tWVlZWSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiZGF0YS5WYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmb3JtLmdldChkYXRhLlZhbHVlKS52YWx1ZSB8IGRhdGVQYXJzZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwiZGF0YS5NaW5EYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJkYXRhLk1heERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZlVmlld109XCIneWVhcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYm90dG9tVmlld109XCIneWVhcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDdweDsgd2lkdGg6IDEwMCU7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0XT1cInRvS2VuZG9EYXRlRm9ybWF0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGF0YS5QbGFjZUhvbGRlclwiPlxyXG4gICAgICA8L2tlbmRvLWRhdGVwaWNrZXI+XHJcbiAgICAgIDxrZW5kby1kYXRlcGlja2VyICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKCkgJiYgZGF0ZUZvcm1hdD09PSdERC1NTU0tWVlZWSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiZGF0YS5WYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmb3JtLmdldChkYXRhLlZhbHVlKS52YWx1ZSB8IGRhdGVQYXJzZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwiZGF0YS5NaW5EYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJkYXRhLk1heERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDdweDsgd2lkdGg6IDEwMCU7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0XT1cInRvS2VuZG9EYXRlRm9ybWF0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGF0YS5QbGFjZUhvbGRlclwiPjwva2VuZG8tZGF0ZXBpY2tlcj5cclxuICAgICAgPGtlbmRvLWRhdGV0aW1lcGlja2VyICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKCkgJiYgZGF0ZUZvcm1hdD09PSdERC1NTU0tWVlZWSBoOm1tIEEnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJkYXRhLlZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmb3JtLmdldChkYXRhLlZhbHVlKS52YWx1ZSB8IGRhdGVQYXJzZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wZW4pPVwiaGFuZGxlUHJldmVudGFibGVFdmVudCgkZXZlbnQsICdvcGVuJywgZmFsc2UpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogN3B4OyB3aWR0aDogMTAwJTtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtYXRdPVwidG9LZW5kb0RhdGVGb3JtYXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGF0YS5QbGFjZUhvbGRlclwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0NhbGVuZGFyTW9udGhDZWxsVGVtcGxhdGUgbGV0LWRhdGU+XHJcbiAgICAgICAgICA8c3BhbiAoY2xpY2spPVwiR2V0RGF0ZShkYXRlKVwiPnt7ZGF0ZS5nZXREYXRlKCl9fTwvc3Bhbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2tlbmRvLWRhdGV0aW1lcGlja2VyPlxyXG4gICAgICA8a2VuZG8tdGltZXBpY2tlciAqbmdJZj1cIiFpc01vYmlsZVNjcmVlbigpICYmIChkYXRlRm9ybWF0PT09J0hIOm1tOnNzJyB8fCBkYXRlRm9ybWF0PT09J0hIOm1tJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiZGF0YS5WYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmb3JtLmdldChkYXRhLlZhbHVlKS52YWx1ZSB8IGRhdGVQYXJzZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogN3B4OyB3aWR0aDogMTAwJTtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtYXRdPVwidG9LZW5kb0RhdGVGb3JtYXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkYXRhLlBsYWNlSG9sZGVyXCI+PC9rZW5kby10aW1lcGlja2VyPlxyXG4gICAgPC9zcGFuPlxyXG4gICAgPGFwcC11aXZhbGlkYXRpb25tZXNzYWdlIFtncm91cF09XCJncm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiPjwvYXBwLXVpdmFsaWRhdGlvbm1lc3NhZ2U+XHJcbiAgPC9kaXY+XHJcbjwvaW9uLWl0ZW0+XHJcbiJdfQ==
@@ -35,9 +35,9 @@ export class ZdivComponent {
35
35
  return ZComponentHelper.ComponentIsVisible(field, this.group);
36
36
  }
37
37
  }
38
- ZdivComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZdivComponent, deps: [{ token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Component });
39
- ZdivComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZdivComponent, selector: "app-zdiv", inputs: { data: "data", group: "group", form: "form" }, ngImport: i0, template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"ion-row\">\r\n <app-zformcontrol \r\n [ngClass]=\"group[field.isVisibleField] ? field.DivClass : \r\n ((field.Visible === true) ? field.DivClass : 'flex-hide')\" \r\n *ngFor=\"let field of data.Value | divzlayout: data.zlayout\" [field]=\"field\"\r\n [group]=\"group\" [form]=\"form\" id=\"{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n</div>", styles: [""], components: [{ type: i2.ZformcontrolComponent, selector: "app-zformcontrol", inputs: ["field", "group", "form"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "divzlayout": i4.DivzLayout } });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZdivComponent, decorators: [{
38
+ ZdivComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZdivComponent, deps: [{ token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Component });
39
+ ZdivComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ZdivComponent, selector: "app-zdiv", inputs: { data: "data", group: "group", form: "form" }, ngImport: i0, template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"ion-row\">\r\n <app-zformcontrol \r\n [ngClass]=\"group[field.isVisibleField] ? field.DivClass : \r\n ((field.Visible === true) ? field.DivClass : 'flex-hide')\" \r\n *ngFor=\"let field of data.Value | divzlayout: data.zlayout\" [field]=\"field\"\r\n [group]=\"group\" [form]=\"form\" id=\"{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n</div>", styles: [""], components: [{ type: i2.ZformcontrolComponent, selector: "app-zformcontrol", inputs: ["field", "group", "form"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "divzlayout": i4.DivzLayout } });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZdivComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ selector: 'app-zdiv', template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"ion-row\">\r\n <app-zformcontrol \r\n [ngClass]=\"group[field.isVisibleField] ? field.DivClass : \r\n ((field.Visible === true) ? field.DivClass : 'flex-hide')\" \r\n *ngFor=\"let field of data.Value | divzlayout: data.zlayout\" [field]=\"field\"\r\n [group]=\"group\" [form]=\"form\" id=\"{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n</div>", styles: [""] }]
43
43
  }], ctorParameters: function () { return [{ type: i1.AuthService }]; }, propDecorators: { data: [{
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
47
47
  }], form: [{
48
48
  type: Input
49
49
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemRpdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96ZGl2L3pkaXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemRpdi96ZGl2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUU5QiwyQ0FBMkM7QUFDM0MsT0FBTyxFQUNPLGdCQUFnQixFQUNaLG9CQUFvQixHQUNyQyxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFRekIsTUFBTSxPQUFPLGFBQWE7SUFPeEIsWUFDVSxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUhsQyx3QkFBbUIsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFpQjFDLGNBQVMsR0FBRyxDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDaEQsQ0FBQyxDQUFBO1FBRU0sZUFBVSxHQUFHLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7WUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQzdCLENBQUMsQ0FBQTtRQUVNLGVBQVUsR0FBRyxDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1lBQzdDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZILENBQUMsQ0FBQTtJQXpCRyxDQUFDO0lBRUwsUUFBUTtRQUNOLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFHRCxrQkFBa0IsQ0FBQyxLQUFhO1FBQzlCLE9BQU8sZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRSxDQUFDOzswR0FwQlUsYUFBYTs4RkFBYixhQUFhLHdHQ3BCMUIsaWdCQU9NOzJGRGFPLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsVUFBVTtrR0FLWCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IFxyXG4gIFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIsXHJcbiAgWkZpZWxkLCBaR3JvdXAsIFpDb21wb25lbnRQcm9wZXJ0aWVzLCBBdXRoU2VydmljZSxcclxufSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXpkaXYnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi96ZGl2LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi96ZGl2LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZGl2Q29tcG9uZW50IGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBASW5wdXQoKSBkYXRhOiBaRmllbGQ7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIGNvbXBvbmVudFByb3BlcnRpZXMgPSBuZXcgWkNvbXBvbmVudFByb3BlcnRpZXMoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5zZXRDb21wb25lbnRQcm9wZXJ0aWVzKHRoaXMpO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5yZWdpc3RlckNvbXBvbmVudCh0aGlzKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0RmllbGRzRGl2Q2xhc3ModGhpcy5ncm91cC5fcHJvamVjdE5hbWUsIHRoaXMuZ3JvdXAuZmllbGROYW1lLCB0aGlzLmRhdGEsIHRoaXMuYXV0aFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcblxyXG4gIENvbXBvbmVudElzVmlzaWJsZShmaWVsZDogWkZpZWxkKTogYW55IHtcclxuICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLkNvbXBvbmVudElzVmlzaWJsZShmaWVsZCwgdGhpcy5ncm91cCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RW5hYmxlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkgPSAhc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFZpc2libGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlID0gc3RhdHVzO1xyXG4gICAgdGhpcy5kYXRhLlZpc2libGUgPSBzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0UmVxdWlyZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkID0gc3RhdHVzO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5jaGFuZ2VWYWxpZGF0b3Ioc3RhdHVzLCB0aGlzLmdyb3VwLCB0aGlzLmRhdGEuVmFsdWUsIHRoaXMuY29tcG9uZW50UHJvcGVydGllcywgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUpXCIgY2xhc3M9XCJpb24tcm93XCI+XHJcbiAgPGFwcC16Zm9ybWNvbnRyb2wgXHJcbiAgICBbbmdDbGFzc109XCJncm91cFtmaWVsZC5pc1Zpc2libGVGaWVsZF0gPyBmaWVsZC5EaXZDbGFzcyA6IFxyXG4gICAgICAoKGZpZWxkLlZpc2libGUgPT09IHRydWUpID8gIGZpZWxkLkRpdkNsYXNzIDogJ2ZsZXgtaGlkZScpXCIgXHJcbiAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZGF0YS5WYWx1ZSB8IGRpdnpsYXlvdXQ6IGRhdGEuemxheW91dFwiIFtmaWVsZF09XCJmaWVsZFwiXHJcbiAgICBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCIgaWQ9XCJ7e2ZpZWxkLlR5cGV9fS17e2ZpZWxkLk5hbWV9fVwiPlxyXG4gIDwvYXBwLXpmb3JtY29udHJvbD5cclxuPC9kaXY+Il19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemRpdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96ZGl2L3pkaXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemRpdi96ZGl2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUU5QiwyQ0FBMkM7QUFDM0MsT0FBTyxFQUNPLGdCQUFnQixFQUNaLG9CQUFvQixHQUNyQyxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFRekIsTUFBTSxPQUFPLGFBQWE7SUFPeEIsWUFDVSxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUhsQyx3QkFBbUIsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFpQjFDLGNBQVMsR0FBRyxDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDaEQsQ0FBQyxDQUFBO1FBRU0sZUFBVSxHQUFHLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7WUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQzdCLENBQUMsQ0FBQTtRQUVNLGVBQVUsR0FBRyxDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1lBQzdDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZILENBQUMsQ0FBQTtJQXpCRyxDQUFDO0lBRUwsUUFBUTtRQUNOLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFHRCxrQkFBa0IsQ0FBQyxLQUFhO1FBQzlCLE9BQU8sZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRSxDQUFDOzsyR0FwQlUsYUFBYTsrRkFBYixhQUFhLHdHQ3BCMUIsaWdCQU9NOzRGRGFPLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsVUFBVTtrR0FLWCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IFxyXG4gIFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIsXHJcbiAgWkZpZWxkLCBaR3JvdXAsIFpDb21wb25lbnRQcm9wZXJ0aWVzLCBBdXRoU2VydmljZSxcclxufSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXpkaXYnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi96ZGl2LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi96ZGl2LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZGl2Q29tcG9uZW50IGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBASW5wdXQoKSBkYXRhOiBaRmllbGQ7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIGNvbXBvbmVudFByb3BlcnRpZXMgPSBuZXcgWkNvbXBvbmVudFByb3BlcnRpZXMoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5zZXRDb21wb25lbnRQcm9wZXJ0aWVzKHRoaXMpO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5yZWdpc3RlckNvbXBvbmVudCh0aGlzKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0RmllbGRzRGl2Q2xhc3ModGhpcy5ncm91cC5fcHJvamVjdE5hbWUsIHRoaXMuZ3JvdXAuZmllbGROYW1lLCB0aGlzLmRhdGEsIHRoaXMuYXV0aFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcblxyXG4gIENvbXBvbmVudElzVmlzaWJsZShmaWVsZDogWkZpZWxkKTogYW55IHtcclxuICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLkNvbXBvbmVudElzVmlzaWJsZShmaWVsZCwgdGhpcy5ncm91cCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RW5hYmxlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkgPSAhc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFZpc2libGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlID0gc3RhdHVzO1xyXG4gICAgdGhpcy5kYXRhLlZpc2libGUgPSBzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0UmVxdWlyZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkID0gc3RhdHVzO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5jaGFuZ2VWYWxpZGF0b3Ioc3RhdHVzLCB0aGlzLmdyb3VwLCB0aGlzLmRhdGEuVmFsdWUsIHRoaXMuY29tcG9uZW50UHJvcGVydGllcywgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUpXCIgY2xhc3M9XCJpb24tcm93XCI+XHJcbiAgPGFwcC16Zm9ybWNvbnRyb2wgXHJcbiAgICBbbmdDbGFzc109XCJncm91cFtmaWVsZC5pc1Zpc2libGVGaWVsZF0gPyBmaWVsZC5EaXZDbGFzcyA6IFxyXG4gICAgICAoKGZpZWxkLlZpc2libGUgPT09IHRydWUpID8gIGZpZWxkLkRpdkNsYXNzIDogJ2ZsZXgtaGlkZScpXCIgXHJcbiAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZGF0YS5WYWx1ZSB8IGRpdnpsYXlvdXQ6IGRhdGEuemxheW91dFwiIFtmaWVsZF09XCJmaWVsZFwiXHJcbiAgICBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCIgaWQ9XCJ7e2ZpZWxkLlR5cGV9fS17e2ZpZWxkLk5hbWV9fVwiPlxyXG4gIDwvYXBwLXpmb3JtY29udHJvbD5cclxuPC9kaXY+Il19
@@ -19,13 +19,13 @@ export class DivzLayout {
19
19
  return items;
20
20
  }
21
21
  }
22
- DivzLayout.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: DivzLayout, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
23
- DivzLayout.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: DivzLayout, name: "divzlayout" });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: DivzLayout, decorators: [{
22
+ DivzLayout.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DivzLayout, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
23
+ DivzLayout.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DivzLayout, name: "divzlayout" });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DivzLayout, decorators: [{
25
25
  type: Pipe,
26
26
  args: [{
27
27
  name: 'divzlayout',
28
28
  pure: true
29
29
  }]
30
30
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemRpdi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemRpdi96ZGl2LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsT0FBZTtRQUNuQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxpRUFBaUU7UUFDakUsSUFBSSxPQUFPLElBQUksR0FBRyxFQUFFO1lBQ2xCLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNuQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFDSSxJQUFJLE9BQU8sSUFBSSxHQUFHLEVBQUU7WUFDdkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ25DLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxXQUFXLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7dUdBbkJVLFVBQVU7cUdBQVYsVUFBVTsyRkFBVixVQUFVO2tCQUp0QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO29CQUNsQixJQUFJLEVBQUUsSUFBSTtpQkFDWCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZGl2emxheW91dCcsXHJcbiAgcHVyZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGl2ekxheW91dCBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShpdGVtczogYW55LCB6bGF5b3V0OiBzdHJpbmcpOiBhbnkge1xyXG4gICAgaWYgKCFpdGVtcyB8fCAhemxheW91dCkge1xyXG4gICAgICByZXR1cm4gaXRlbXM7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gaWYgZ290IHpsYXlvdXQsIGluIGRpdjogMiA9IDIgY29sIHBlciByb3c7IDMgPSAxIGNvbCBwZXIgcm93OyBcclxuICAgIGlmICh6bGF5b3V0ID09IFwiMlwiKSB7XHJcbiAgICAgIE9iamVjdC52YWx1ZXMoaXRlbXMpLmZvckVhY2godmFsdWUgPT4ge1xyXG4gICAgICAgIHZhbHVlWydEaXZDbGFzcyddID0gXCJjb2wtc20tNlwiO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHpsYXlvdXQgPT0gJzMnKSB7XHJcbiAgICAgIE9iamVjdC52YWx1ZXMoaXRlbXMpLmZvckVhY2godmFsdWUgPT4ge1xyXG4gICAgICAgIHZhbHVlWydEaXZDbGFzcyddID0gXCJjb2wtc20tMTJcIjtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGl0ZW1zO1xyXG4gIH1cclxufSJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemRpdi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemRpdi96ZGl2LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsT0FBZTtRQUNuQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxpRUFBaUU7UUFDakUsSUFBSSxPQUFPLElBQUksR0FBRyxFQUFFO1lBQ2xCLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNuQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFDSSxJQUFJLE9BQU8sSUFBSSxHQUFHLEVBQUU7WUFDdkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ25DLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxXQUFXLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7d0dBbkJVLFVBQVU7c0dBQVYsVUFBVTs0RkFBVixVQUFVO2tCQUp0QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO29CQUNsQixJQUFJLEVBQUUsSUFBSTtpQkFDWCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZGl2emxheW91dCcsXHJcbiAgcHVyZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGl2ekxheW91dCBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShpdGVtczogYW55LCB6bGF5b3V0OiBzdHJpbmcpOiBhbnkge1xyXG4gICAgaWYgKCFpdGVtcyB8fCAhemxheW91dCkge1xyXG4gICAgICByZXR1cm4gaXRlbXM7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gaWYgZ290IHpsYXlvdXQsIGluIGRpdjogMiA9IDIgY29sIHBlciByb3c7IDMgPSAxIGNvbCBwZXIgcm93OyBcclxuICAgIGlmICh6bGF5b3V0ID09IFwiMlwiKSB7XHJcbiAgICAgIE9iamVjdC52YWx1ZXMoaXRlbXMpLmZvckVhY2godmFsdWUgPT4ge1xyXG4gICAgICAgIHZhbHVlWydEaXZDbGFzcyddID0gXCJjb2wtc20tNlwiO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHpsYXlvdXQgPT0gJzMnKSB7XHJcbiAgICAgIE9iamVjdC52YWx1ZXMoaXRlbXMpLmZvckVhY2godmFsdWUgPT4ge1xyXG4gICAgICAgIHZhbHVlWydEaXZDbGFzcyddID0gXCJjb2wtc20tMTJcIjtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGl0ZW1zO1xyXG4gIH1cclxufSJdfQ==
@@ -134,9 +134,9 @@ export class ZformComponent {
134
134
  return index;
135
135
  }
136
136
  }
137
- ZformComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZformComponent, deps: [{ token: i1.AuthService }, { token: i1.FieldService }, { token: i2.ZComponentDebugService }], target: i0.ɵɵFactoryTarget.Component });
138
- ZformComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZformComponent, selector: "app-zform", inputs: { group: "group", fieldName: "fieldName" }, ngImport: i0, template: "<div class=\"e1-form\">\r\n <!--<div class=\"k-overlay\" *ngIf=\"isLoading\"></div>-->\r\n <form [formGroup]=\"form\" autocomplete=\"off\" *ngIf=\"!isLoading\">\r\n <ion-grid>\r\n <ion-row id=\"dynamic-form-host\" class=\"ion-align-items-start\">\r\n <app-zformcontrol *ngFor=\"let field of fields; trackBy: trackByFn\"\r\n [ngClass]=\"group[field['isVisibleField']] ? field.DivClass :\r\n ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n [field]=\"field\"\r\n [group]=\"getGroup()\"\r\n [form]=\"form\"\r\n id=\"{{field.Type}}-{{field.Name}}\"></app-zformcontrol>\r\n </ion-row>\r\n </ion-grid>\r\n </form>\r\n</div>\r\n", styles: ["#dynamic-form-host app-zformcontrol{overflow-x:auto;overflow-y:hidden}\n"], components: [{ type: i3.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { type: i3.IonRow, selector: "ion-row" }, { type: i4.ZformcontrolComponent, selector: "app-zformcontrol", inputs: ["field", "group", "form"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZformComponent, decorators: [{
137
+ ZformComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZformComponent, deps: [{ token: i1.AuthService }, { token: i1.FieldService }, { token: i2.ZComponentDebugService }], target: i0.ɵɵFactoryTarget.Component });
138
+ ZformComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ZformComponent, selector: "app-zform", inputs: { group: "group", fieldName: "fieldName" }, ngImport: i0, template: "<div class=\"e1-form\">\r\n <!--<div class=\"k-overlay\" *ngIf=\"isLoading\"></div>-->\r\n <form [formGroup]=\"form\" autocomplete=\"off\" *ngIf=\"!isLoading\">\r\n <ion-grid>\r\n <ion-row id=\"dynamic-form-host\" class=\"ion-align-items-start\">\r\n <app-zformcontrol *ngFor=\"let field of fields; trackBy: trackByFn\"\r\n [ngClass]=\"group[field['isVisibleField']] ? field.DivClass :\r\n ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n [field]=\"field\"\r\n [group]=\"getGroup()\"\r\n [form]=\"form\"\r\n id=\"{{field.Type}}-{{field.Name}}\"></app-zformcontrol>\r\n </ion-row>\r\n </ion-grid>\r\n </form>\r\n</div>\r\n", styles: ["#dynamic-form-host app-zformcontrol{overflow-x:auto;overflow-y:hidden}\n"], components: [{ type: i3.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { type: i3.IonRow, selector: "ion-row" }, { type: i4.ZformcontrolComponent, selector: "app-zformcontrol", inputs: ["field", "group", "form"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZformComponent, decorators: [{
140
140
  type: Component,
141
141
  args: [{ selector: "app-zform", template: "<div class=\"e1-form\">\r\n <!--<div class=\"k-overlay\" *ngIf=\"isLoading\"></div>-->\r\n <form [formGroup]=\"form\" autocomplete=\"off\" *ngIf=\"!isLoading\">\r\n <ion-grid>\r\n <ion-row id=\"dynamic-form-host\" class=\"ion-align-items-start\">\r\n <app-zformcontrol *ngFor=\"let field of fields; trackBy: trackByFn\"\r\n [ngClass]=\"group[field['isVisibleField']] ? field.DivClass :\r\n ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n [field]=\"field\"\r\n [group]=\"getGroup()\"\r\n [form]=\"form\"\r\n id=\"{{field.Type}}-{{field.Name}}\"></app-zformcontrol>\r\n </ion-row>\r\n </ion-grid>\r\n </form>\r\n</div>\r\n", styles: ["#dynamic-form-host app-zformcontrol{overflow-x:auto;overflow-y:hidden}\n"] }]
142
142
  }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i1.FieldService }, { type: i2.ZComponentDebugService }]; }, propDecorators: { group: [{
@@ -144,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
144
144
  }], fieldName: [{
145
145
  type: Input
146
146
  }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemZvcm0vemZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemZvcm0vemZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUM5QixPQUFPLEVBQUUsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWxELE9BQU8sRUFBNkIsZ0JBQWdCLEVBQWtCLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBUTlGLE1BQU0sT0FBTyxjQUFjO0lBUXpCLGtEQUFrRDtJQUVsRCxZQUNVLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLFlBQW9DO0lBQzVDLHNDQUFzQztJQUN0Qyx5QkFBeUI7O1FBSmpCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGlCQUFZLEdBQVosWUFBWSxDQUF3QjtRQVI5QyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLGVBQVUsR0FBRyxFQUFFLENBQUM7SUFTWixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixtREFBbUQ7WUFDbkQsK0JBQStCO1lBQy9C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QUNELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLElBQUk7UUFDM0IsMkNBQTJDO1FBQzNDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7MkdBN0lVLGNBQWM7K0ZBQWQsY0FBYyxxR0NwQjNCLCt5QkFnQkE7MkZESWEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxXQUFXO2tLQUtaLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc3dpdGNoTWFwLCBkZWxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgWkNvbXBvbmVudERlYnVnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3pjb21wb25lbnQuZGVidWcuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBGaWVsZFNlcnZpY2UsIFpDb21wb25lbnRIZWxwZXIsIFpHcm91cCwgWkZpZWxkIH0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtemZvcm1cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3pmb3JtLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3pmb3JtLmNvbXBvbmVudC5zY3NzXCJdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBncm91cDogWkdyb3VwO1xyXG4gIEBJbnB1dCgpIGZpZWxkTmFtZTogc3RyaW5nO1xyXG4gIGZvcm06IEZvcm1Hcm91cDtcclxuICBmaWVsZHM6IEFycmF5PFpGaWVsZD47XHJcbiAgaXNMb2FkaW5nID0gdHJ1ZTtcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBmaWVsZEluZGV4ID0gW107XHJcbiAgLy8gQFZpZXdDaGlsZCgnZnJtJywge3N0YXRpYzogdHJ1ZX0pIGZvcm06IE5nRm9ybTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgZmllbGRTZXJ2aWNlOiBGaWVsZFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRlYnVnU2VydmljZTogWkNvbXBvbmVudERlYnVnU2VydmljZVxyXG4gICAgLy8gcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcclxuICAgIC8vIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5maWVsZE5hbWUpIHtcclxuICAgICAgdGhpcy5vbkluaXROb3JtYWwoKTtcclxuICAgICAgLy8gdGhpcy5mb3JtID0gdGhpcy50b0Zvcm1Hcm91cCh0aGlzLmdyb3VwLmZpZWxkcyk7XHJcbiAgICAgIC8vIHRoaXMuZ3JvdXAuZm9ybSA9IHRoaXMuZm9ybTtcclxuICAgICAgLy8gdGhpcy5maWVsZHMgPSB0aGlzLmdyb3VwLmZpZWxkcztcclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmllbGRTZXJ2aWNlLmdldEZvcm1GaWVsZENvZGUodGhpcy5maWVsZE5hbWUsICdGb3JtRmllbGQnLCB0aGlzLCAnZmllbGRzJykucGlwZShcclxuICAgICAgICBzd2l0Y2hNYXAoZmllbGRFbGVtZW50cyA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5maWVsZE5hbWUgPT09ICdkZWJ1ZycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVidWdTZXJ2aWNlLm9uU3RhcnREZWJ1Z2dlcihmaWVsZEVsZW1lbnRzLCB0aGlzKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ3JvdXAuZmllbGRzID0gZmllbGRFbGVtZW50cztcclxuICAgICAgICAgICAgdGhpcy5vbkluaXROb3JtYWwoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSxcclxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIGlmICh0aGlzLmdyb3VwLl9pc0RlYnVnZ2luZyAmJiB0aGlzLmdyb3VwLl9kZWJ1Zy5pc0xvYWRpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5ncm91cC5fZGVidWcuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gb2YoW10pO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGRlbGF5KDUwMCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRlYnVnU2VydmljZS5Mb2FkR3JpZERhdGEoKTtcclxuICAgICAgICAgIHRoaXMuZGVidWdTZXJ2aWNlLmxvYWRXb3JrZmxvd0RhdGEoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7ICAvLyBmb3IgZGVidWdnZXIgc3Vic2NyaXB0aW9uXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRHcm91cCgpIHtcclxuICAgIGlmICh0aGlzLmZpZWxkTmFtZSAhPT0gJ2RlYnVnJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5ncm91cDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdyb3VwLl9kZWJ1ZztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25Jbml0Tm9ybWFsKCkge1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy50b0Zvcm1Hcm91cCh0aGlzLmdyb3VwLmZpZWxkcyk7XHJcbiAgICB0aGlzLmdyb3VwLmZvcm0gPSB0aGlzLmZvcm07XHJcbiAgICB0aGlzLmZpZWxkcyA9IHRoaXMuZ3JvdXAuZmllbGRzO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5zZXRGaWVsZHNEaXZDbGFzcyh0aGlzLmdyb3VwLl9wcm9qZWN0TmFtZSwgdGhpcy5ncm91cC5maWVsZE5hbWUsIHRoaXMuZmllbGRzLCB0aGlzLmF1dGhTZXJ2aWNlKTtcclxuICB9XHJcblxyXG5cclxuICBDb21wb25lbnRJc1Zpc2libGUoZmllbGQ6IFpGaWVsZCk6IGFueSB7XHJcbiAgICByZXR1cm4gWkNvbXBvbmVudEhlbHBlci5Db21wb25lbnRJc1Zpc2libGUoZmllbGQsIHRoaXMuZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b0Zvcm1Hcm91cChmaWVsZEVsZW1lbnRzOiBBcnJheTxaRmllbGQ+KSB7XHJcbiAgICBjb25zdCBmb3JtQ29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogRm9ybUNvbnRyb2wgfSA9IHt9O1xyXG4gICAgdGhpcy5nZXRGb3JtQ29udHJvbHMoZmllbGRFbGVtZW50cywgZm9ybUNvbnRyb2xzKTtcclxuICAgIGNvbnN0IG5ld0Zvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoZm9ybUNvbnRyb2xzKTtcclxuICAgIHJldHVybiBuZXdGb3JtR3JvdXA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFRvRmllbGRJbmRleChmaWVsZDogWkZpZWxkKSB7XHJcbiAgICBpZiAoIWZpZWxkLk5hbWUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignRmllbGQgTmFtZSB1bmRlZmluZWQ6ICcsIGZpZWxkKTtcclxuICAgIH1cclxuICAgIGlmIChmaWVsZC5OYW1lICYmICF0aGlzLmZpZWxkSW5kZXguaW5jbHVkZXMoZmllbGQuTmFtZSkpIHtcclxuICAgICAgdGhpcy5maWVsZEluZGV4LnB1c2goZmllbGQuTmFtZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdGaWVsZCBOYW1lIER1cGxpY2F0aW9uOiAnICsgZmllbGQuTmFtZSArICc7ICAnLCBmaWVsZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBnZXRGb3JtQ29udHJvbHMoXHJcbiAgICBmaWVsZEFycmF5OiBBcnJheTxaRmllbGQ+LFxyXG4gICAgZm9ybUNvbnRyb2xzOiB7IFtrZXk6IHN0cmluZ106IEZvcm1Db250cm9sIH1cclxuICApIHtcclxuICAgIGZpZWxkQXJyYXkuZm9yRWFjaChmaWVsZCA9PiB7XHJcbiAgICAgIHRoaXMuYWRkVG9GaWVsZEluZGV4KGZpZWxkKTtcclxuICAgICAgaWYgKHR5cGVvZiBmaWVsZC5WYWx1ZSA9PT0gXCJzdHJpbmdcIiAmJiBmaWVsZC5WYWx1ZS5pbmRleE9mKFwiLlwiKSAhPT0gLTEpIHtcclxuICAgICAgICBpZiAoWyd6Z3JpZCcsICd6dHJlZScsICd6aW1nJywgJ3RleHRhcmVhanNvbiddLmluZGV4T2YoZmllbGQuVHlwZSkgPT09IC0xKSB7XHJcbiAgICAgICAgICBjb25zb2xlLndhcm4oXCJGb3JtQ29udHJvbCAtIGludmFsaWQgZmllbGQgdmFsdWVcIiwgZmllbGQuVmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZC5WYWx1ZSkpIHtcclxuICAgICAgICAgIHRoaXMuZ2V0Rm9ybUNvbnRyb2xzKGZpZWxkLlZhbHVlLCBmb3JtQ29udHJvbHMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBpc0Zvcm1Db250cm9sID0gWkNvbXBvbmVudEhlbHBlci5pc0Zvcm1Db250cm9sKGZpZWxkKTtcclxuICAgICAgICAgIGNvbnN0IGlzVmlzaWJsZSA9IFpDb21wb25lbnRIZWxwZXIuaXNWaXNpYmxlRm9ybUNvbnRyb2wodGhpcywgZmllbGQpO1xyXG4gICAgICAgICAgY29uc3QgaXNSZXF1aXJlZCA9IFpDb21wb25lbnRIZWxwZXIuaXNSZXF1aXJlZEZvcm1Db250cm9sKHRoaXMsIGZpZWxkKTtcclxuICAgICAgICAgIGlmIChpc0Zvcm1Db250cm9sID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBaQ29tcG9uZW50SGVscGVyLmdldFZhbGlkYXRvcnMoZmllbGQsIGlzVmlzaWJsZSwgaXNSZXF1aXJlZCk7XHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sc1tmaWVsZC5WYWx1ZV0gPSBuZXcgRm9ybUNvbnRyb2woXHJcbiAgICAgICAgICAgICAgdGhpcy5ncm91cC56TW9kZWxbZmllbGQuVmFsdWVdLCB2YWxpZGF0b3JzXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGlmIChaQ29tcG9uZW50SGVscGVyLmhhc0NDRmllbGQoZmllbGQuVHlwZSkpIHtcclxuICAgICAgICAgICAgICBjb25zdCBjY1ZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBaQ29tcG9uZW50SGVscGVyLmdldENDVmFsaWRhdG9ycyhmaWVsZCwgaXNWaXNpYmxlLCBpc1JlcXVpcmVkKTtcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbHNbZmllbGQuQ0NWYWx1ZV0gPSBuZXcgRm9ybUNvbnRyb2woXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3VwLnpNb2RlbFtmaWVsZC5DQ1ZhbHVlXSxcclxuICAgICAgICAgICAgICAgIGNjVmFsaWRhdG9yc1xyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRSZWFkT25seVZhbHVlKGZpZWxkOiBaRmllbGQpIHtcclxuICAgIGNvbnN0IHJlYWRPbmx5VmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgZmllbGQuUmVhZE9ubHkpO1xyXG4gICAgaWYgKHR5cGVvZiByZWFkT25seVZhbHVlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiByZWFkT25seVZhbHVlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVhZE9ubHlWYWx1ZTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtKTogbnVtYmVyIHtcclxuICAgIC8vcmV0dXJuIGl0ZW1bJ1R5cGUnXSArICctJyArIGl0ZW1bJ05hbWUnXTtcclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcblxyXG4gIC8vIHByaXZhdGUgZ2V0VmFsdWUoZmllbGQ6IFpGaWVsZCkge1xyXG4gIC8vICAgaWYgKGZpZWxkLlR5cGUuaW5kZXhPZignZGF0ZScpICE9PSAtMSkge1xyXG4gIC8vICAgICByZXR1cm4gbmV3IERhdGUodGhpcy5ncm91cC56TW9kZWxbZmllbGQuVmFsdWVdKTtcclxuICAvLyAgIH0gZWxzZSB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmdyb3VwLnpNb2RlbFtmaWVsZC5WYWx1ZV07XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJlMS1mb3JtXCI+XHJcbiAgPCEtLTxkaXYgY2xhc3M9XCJrLW92ZXJsYXlcIiAqbmdJZj1cImlzTG9hZGluZ1wiPjwvZGl2Pi0tPlxyXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxyXG4gICAgPGlvbi1ncmlkPlxyXG4gICAgICA8aW9uLXJvdyBpZD1cImR5bmFtaWMtZm9ybS1ob3N0XCIgY2xhc3M9XCJpb24tYWxpZ24taXRlbXMtc3RhcnRcIj5cclxuICAgICAgICA8YXBwLXpmb3JtY29udHJvbCAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmllbGRzOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdyb3VwW2ZpZWxkWydpc1Zpc2libGVGaWVsZCddXSA/IGZpZWxkLkRpdkNsYXNzIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAoKGZpZWxkLlZpc2libGUgPT09IHRydWUpID8gIGZpZWxkLkRpdkNsYXNzIDogJ2ZsZXgtaGlkZScpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZmllbGRdPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtncm91cF09XCJnZXRHcm91cCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInt7ZmllbGQuVHlwZX19LXt7ZmllbGQuTmFtZX19XCI+PC9hcHAtemZvcm1jb250cm9sPlxyXG4gICAgICA8L2lvbi1yb3c+XHJcbiAgICA8L2lvbi1ncmlkPlxyXG4gIDwvZm9ybT5cclxuPC9kaXY+XHJcbiJdfQ==
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemZvcm0vemZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemZvcm0vemZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUM5QixPQUFPLEVBQUUsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWxELE9BQU8sRUFBNkIsZ0JBQWdCLEVBQWtCLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBUTlGLE1BQU0sT0FBTyxjQUFjO0lBUXpCLGtEQUFrRDtJQUVsRCxZQUNVLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLFlBQW9DO0lBQzVDLHNDQUFzQztJQUN0Qyx5QkFBeUI7O1FBSmpCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGlCQUFZLEdBQVosWUFBWSxDQUF3QjtRQVI5QyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLGVBQVUsR0FBRyxFQUFFLENBQUM7SUFTWixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixtREFBbUQ7WUFDbkQsK0JBQStCO1lBQy9C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QUNELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLElBQUk7UUFDM0IsMkNBQTJDO1FBQzNDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7NEdBN0lVLGNBQWM7Z0dBQWQsY0FBYyxxR0NwQjNCLCt5QkFnQkE7NEZESWEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxXQUFXO2tLQUtaLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc3dpdGNoTWFwLCBkZWxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgWkNvbXBvbmVudERlYnVnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3pjb21wb25lbnQuZGVidWcuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBGaWVsZFNlcnZpY2UsIFpDb21wb25lbnRIZWxwZXIsIFpHcm91cCwgWkZpZWxkIH0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtemZvcm1cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3pmb3JtLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3pmb3JtLmNvbXBvbmVudC5zY3NzXCJdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBncm91cDogWkdyb3VwO1xyXG4gIEBJbnB1dCgpIGZpZWxkTmFtZTogc3RyaW5nO1xyXG4gIGZvcm06IEZvcm1Hcm91cDtcclxuICBmaWVsZHM6IEFycmF5PFpGaWVsZD47XHJcbiAgaXNMb2FkaW5nID0gdHJ1ZTtcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBmaWVsZEluZGV4ID0gW107XHJcbiAgLy8gQFZpZXdDaGlsZCgnZnJtJywge3N0YXRpYzogdHJ1ZX0pIGZvcm06IE5nRm9ybTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgZmllbGRTZXJ2aWNlOiBGaWVsZFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRlYnVnU2VydmljZTogWkNvbXBvbmVudERlYnVnU2VydmljZVxyXG4gICAgLy8gcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcclxuICAgIC8vIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5maWVsZE5hbWUpIHtcclxuICAgICAgdGhpcy5vbkluaXROb3JtYWwoKTtcclxuICAgICAgLy8gdGhpcy5mb3JtID0gdGhpcy50b0Zvcm1Hcm91cCh0aGlzLmdyb3VwLmZpZWxkcyk7XHJcbiAgICAgIC8vIHRoaXMuZ3JvdXAuZm9ybSA9IHRoaXMuZm9ybTtcclxuICAgICAgLy8gdGhpcy5maWVsZHMgPSB0aGlzLmdyb3VwLmZpZWxkcztcclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmllbGRTZXJ2aWNlLmdldEZvcm1GaWVsZENvZGUodGhpcy5maWVsZE5hbWUsICdGb3JtRmllbGQnLCB0aGlzLCAnZmllbGRzJykucGlwZShcclxuICAgICAgICBzd2l0Y2hNYXAoZmllbGRFbGVtZW50cyA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5maWVsZE5hbWUgPT09ICdkZWJ1ZycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVidWdTZXJ2aWNlLm9uU3RhcnREZWJ1Z2dlcihmaWVsZEVsZW1lbnRzLCB0aGlzKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ3JvdXAuZmllbGRzID0gZmllbGRFbGVtZW50cztcclxuICAgICAgICAgICAgdGhpcy5vbkluaXROb3JtYWwoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSxcclxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIGlmICh0aGlzLmdyb3VwLl9pc0RlYnVnZ2luZyAmJiB0aGlzLmdyb3VwLl9kZWJ1Zy5pc0xvYWRpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5ncm91cC5fZGVidWcuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gb2YoW10pO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGRlbGF5KDUwMCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRlYnVnU2VydmljZS5Mb2FkR3JpZERhdGEoKTtcclxuICAgICAgICAgIHRoaXMuZGVidWdTZXJ2aWNlLmxvYWRXb3JrZmxvd0RhdGEoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7ICAvLyBmb3IgZGVidWdnZXIgc3Vic2NyaXB0aW9uXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRHcm91cCgpIHtcclxuICAgIGlmICh0aGlzLmZpZWxkTmFtZSAhPT0gJ2RlYnVnJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5ncm91cDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdyb3VwLl9kZWJ1ZztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25Jbml0Tm9ybWFsKCkge1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy50b0Zvcm1Hcm91cCh0aGlzLmdyb3VwLmZpZWxkcyk7XHJcbiAgICB0aGlzLmdyb3VwLmZvcm0gPSB0aGlzLmZvcm07XHJcbiAgICB0aGlzLmZpZWxkcyA9IHRoaXMuZ3JvdXAuZmllbGRzO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5zZXRGaWVsZHNEaXZDbGFzcyh0aGlzLmdyb3VwLl9wcm9qZWN0TmFtZSwgdGhpcy5ncm91cC5maWVsZE5hbWUsIHRoaXMuZmllbGRzLCB0aGlzLmF1dGhTZXJ2aWNlKTtcclxuICB9XHJcblxyXG5cclxuICBDb21wb25lbnRJc1Zpc2libGUoZmllbGQ6IFpGaWVsZCk6IGFueSB7XHJcbiAgICByZXR1cm4gWkNvbXBvbmVudEhlbHBlci5Db21wb25lbnRJc1Zpc2libGUoZmllbGQsIHRoaXMuZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b0Zvcm1Hcm91cChmaWVsZEVsZW1lbnRzOiBBcnJheTxaRmllbGQ+KSB7XHJcbiAgICBjb25zdCBmb3JtQ29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogRm9ybUNvbnRyb2wgfSA9IHt9O1xyXG4gICAgdGhpcy5nZXRGb3JtQ29udHJvbHMoZmllbGRFbGVtZW50cywgZm9ybUNvbnRyb2xzKTtcclxuICAgIGNvbnN0IG5ld0Zvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoZm9ybUNvbnRyb2xzKTtcclxuICAgIHJldHVybiBuZXdGb3JtR3JvdXA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFRvRmllbGRJbmRleChmaWVsZDogWkZpZWxkKSB7XHJcbiAgICBpZiAoIWZpZWxkLk5hbWUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignRmllbGQgTmFtZSB1bmRlZmluZWQ6ICcsIGZpZWxkKTtcclxuICAgIH1cclxuICAgIGlmIChmaWVsZC5OYW1lICYmICF0aGlzLmZpZWxkSW5kZXguaW5jbHVkZXMoZmllbGQuTmFtZSkpIHtcclxuICAgICAgdGhpcy5maWVsZEluZGV4LnB1c2goZmllbGQuTmFtZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdGaWVsZCBOYW1lIER1cGxpY2F0aW9uOiAnICsgZmllbGQuTmFtZSArICc7ICAnLCBmaWVsZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBnZXRGb3JtQ29udHJvbHMoXHJcbiAgICBmaWVsZEFycmF5OiBBcnJheTxaRmllbGQ+LFxyXG4gICAgZm9ybUNvbnRyb2xzOiB7IFtrZXk6IHN0cmluZ106IEZvcm1Db250cm9sIH1cclxuICApIHtcclxuICAgIGZpZWxkQXJyYXkuZm9yRWFjaChmaWVsZCA9PiB7XHJcbiAgICAgIHRoaXMuYWRkVG9GaWVsZEluZGV4KGZpZWxkKTtcclxuICAgICAgaWYgKHR5cGVvZiBmaWVsZC5WYWx1ZSA9PT0gXCJzdHJpbmdcIiAmJiBmaWVsZC5WYWx1ZS5pbmRleE9mKFwiLlwiKSAhPT0gLTEpIHtcclxuICAgICAgICBpZiAoWyd6Z3JpZCcsICd6dHJlZScsICd6aW1nJywgJ3RleHRhcmVhanNvbiddLmluZGV4T2YoZmllbGQuVHlwZSkgPT09IC0xKSB7XHJcbiAgICAgICAgICBjb25zb2xlLndhcm4oXCJGb3JtQ29udHJvbCAtIGludmFsaWQgZmllbGQgdmFsdWVcIiwgZmllbGQuVmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZC5WYWx1ZSkpIHtcclxuICAgICAgICAgIHRoaXMuZ2V0Rm9ybUNvbnRyb2xzKGZpZWxkLlZhbHVlLCBmb3JtQ29udHJvbHMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBpc0Zvcm1Db250cm9sID0gWkNvbXBvbmVudEhlbHBlci5pc0Zvcm1Db250cm9sKGZpZWxkKTtcclxuICAgICAgICAgIGNvbnN0IGlzVmlzaWJsZSA9IFpDb21wb25lbnRIZWxwZXIuaXNWaXNpYmxlRm9ybUNvbnRyb2wodGhpcywgZmllbGQpO1xyXG4gICAgICAgICAgY29uc3QgaXNSZXF1aXJlZCA9IFpDb21wb25lbnRIZWxwZXIuaXNSZXF1aXJlZEZvcm1Db250cm9sKHRoaXMsIGZpZWxkKTtcclxuICAgICAgICAgIGlmIChpc0Zvcm1Db250cm9sID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBaQ29tcG9uZW50SGVscGVyLmdldFZhbGlkYXRvcnMoZmllbGQsIGlzVmlzaWJsZSwgaXNSZXF1aXJlZCk7XHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sc1tmaWVsZC5WYWx1ZV0gPSBuZXcgRm9ybUNvbnRyb2woXHJcbiAgICAgICAgICAgICAgdGhpcy5ncm91cC56TW9kZWxbZmllbGQuVmFsdWVdLCB2YWxpZGF0b3JzXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGlmIChaQ29tcG9uZW50SGVscGVyLmhhc0NDRmllbGQoZmllbGQuVHlwZSkpIHtcclxuICAgICAgICAgICAgICBjb25zdCBjY1ZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBaQ29tcG9uZW50SGVscGVyLmdldENDVmFsaWRhdG9ycyhmaWVsZCwgaXNWaXNpYmxlLCBpc1JlcXVpcmVkKTtcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbHNbZmllbGQuQ0NWYWx1ZV0gPSBuZXcgRm9ybUNvbnRyb2woXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3VwLnpNb2RlbFtmaWVsZC5DQ1ZhbHVlXSxcclxuICAgICAgICAgICAgICAgIGNjVmFsaWRhdG9yc1xyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRSZWFkT25seVZhbHVlKGZpZWxkOiBaRmllbGQpIHtcclxuICAgIGNvbnN0IHJlYWRPbmx5VmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgZmllbGQuUmVhZE9ubHkpO1xyXG4gICAgaWYgKHR5cGVvZiByZWFkT25seVZhbHVlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiByZWFkT25seVZhbHVlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVhZE9ubHlWYWx1ZTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtKTogbnVtYmVyIHtcclxuICAgIC8vcmV0dXJuIGl0ZW1bJ1R5cGUnXSArICctJyArIGl0ZW1bJ05hbWUnXTtcclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcblxyXG4gIC8vIHByaXZhdGUgZ2V0VmFsdWUoZmllbGQ6IFpGaWVsZCkge1xyXG4gIC8vICAgaWYgKGZpZWxkLlR5cGUuaW5kZXhPZignZGF0ZScpICE9PSAtMSkge1xyXG4gIC8vICAgICByZXR1cm4gbmV3IERhdGUodGhpcy5ncm91cC56TW9kZWxbZmllbGQuVmFsdWVdKTtcclxuICAvLyAgIH0gZWxzZSB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmdyb3VwLnpNb2RlbFtmaWVsZC5WYWx1ZV07XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJlMS1mb3JtXCI+XHJcbiAgPCEtLTxkaXYgY2xhc3M9XCJrLW92ZXJsYXlcIiAqbmdJZj1cImlzTG9hZGluZ1wiPjwvZGl2Pi0tPlxyXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxyXG4gICAgPGlvbi1ncmlkPlxyXG4gICAgICA8aW9uLXJvdyBpZD1cImR5bmFtaWMtZm9ybS1ob3N0XCIgY2xhc3M9XCJpb24tYWxpZ24taXRlbXMtc3RhcnRcIj5cclxuICAgICAgICA8YXBwLXpmb3JtY29udHJvbCAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmllbGRzOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdyb3VwW2ZpZWxkWydpc1Zpc2libGVGaWVsZCddXSA/IGZpZWxkLkRpdkNsYXNzIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAoKGZpZWxkLlZpc2libGUgPT09IHRydWUpID8gIGZpZWxkLkRpdkNsYXNzIDogJ2ZsZXgtaGlkZScpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZmllbGRdPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtncm91cF09XCJnZXRHcm91cCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInt7ZmllbGQuVHlwZX19LXt7ZmllbGQuTmFtZX19XCI+PC9hcHAtemZvcm1jb250cm9sPlxyXG4gICAgICA8L2lvbi1yb3c+XHJcbiAgICA8L2lvbi1ncmlkPlxyXG4gIDwvZm9ybT5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -31,9 +31,9 @@ export class ZformcontrolComponent {
31
31
  // this.componentRef.destroy();
32
32
  }
33
33
  }
34
- ZformcontrolComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZformcontrolComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
35
- ZformcontrolComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZformcontrolComponent, selector: "app-zformcontrol", inputs: { field: "field", group: "group", form: "form" }, viewQueries: [{ propertyName: "fieldElement", first: true, predicate: FieldElementDirective, descendants: true, static: true }], ngImport: i0, template: "<!-- <ion-col size=12 sizeSm=\"12\" sizeMd=\"6\" sizeLg=\"4\" sizeXl=\"3\" fieldelement></ion-col> -->\r\n<span fieldelement></span>", styles: [""], directives: [{ type: i2.FieldElementDirective, selector: "[fieldelement]" }] });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZformcontrolComponent, decorators: [{
34
+ ZformcontrolComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZformcontrolComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
35
+ ZformcontrolComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ZformcontrolComponent, selector: "app-zformcontrol", inputs: { field: "field", group: "group", form: "form" }, viewQueries: [{ propertyName: "fieldElement", first: true, predicate: FieldElementDirective, descendants: true, static: true }], ngImport: i0, template: "<!-- <ion-col size=12 sizeSm=\"12\" sizeMd=\"6\" sizeLg=\"4\" sizeXl=\"3\" fieldelement></ion-col> -->\r\n<span fieldelement></span>", styles: [""], directives: [{ type: i2.FieldElementDirective, selector: "[fieldelement]" }] });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZformcontrolComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{ selector: "app-zformcontrol", template: "<!-- <ion-col size=12 sizeSm=\"12\" sizeMd=\"6\" sizeLg=\"4\" sizeXl=\"3\" fieldelement></ion-col> -->\r\n<span fieldelement></span>", styles: [""] }]
39
39
  }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.ZComponentService }]; }, propDecorators: { field: [{
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
46
46
  type: ViewChild,
47
47
  args: [FieldElementDirective, { static: true }]
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemZvcm1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3pmb3JtY29udHJvbC96Zm9ybWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemZvcm1jb250cm9sL3pmb3JtY29udHJvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBcUIsS0FBSyxFQUFFLFNBQVMsRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFHekcsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUU5QiwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7QUFVN0UsTUFBTSxPQUFPLHFCQUFxQjtJQVNoQyxZQUNVLHdCQUFrRCxFQUNsRCxpQkFBb0M7SUFDNUMsa0NBQWtDO0lBQ2xDLDhCQUE4Qjs7UUFIdEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBRzNDLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFILHFFQUFxRTtRQUNyRSxtQ0FBbUM7UUFDbkMsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixLQUFLO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxzREFBc0Q7UUFDdEQsK0JBQStCO0lBQ2pDLENBQUM7O2tIQS9CVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixnS0FNckIscUJBQXFCLDhEQ3pCbEMsc0lBQzBCOzJGRGtCYixxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCOytJQU1uQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFOEMsWUFBWTtzQkFBL0QsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIElucHV0LCBWaWV3Q2hpbGQsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgRmllbGRFbGVtZW50RGlyZWN0aXZlIH0gZnJvbSBcIi4uL2RpcmVjdGl2ZXMvZmllbGRlbGVtZW50LmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFpGaWVsZCwgWkdyb3VwIH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC16Zm9ybWNvbnRyb2xcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3pmb3JtY29udHJvbC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi96Zm9ybWNvbnRyb2wuY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFpmb3JtY29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgQElucHV0KCkgZmllbGQ6IFpGaWVsZDtcclxuICBASW5wdXQoKSBncm91cDogWkdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cDtcclxuICAvLyBASW5wdXQoKSBjb250YWluZXJpZDogc3RyaW5nO1xyXG4gIEBWaWV3Q2hpbGQoRmllbGRFbGVtZW50RGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSBmaWVsZEVsZW1lbnQ6IEZpZWxkRWxlbWVudERpcmVjdGl2ZTtcclxuICBjb21wb25lbnRSZWY6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSB6Y29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2VcclxuICAgIC8vIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICAgIC8vIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnpjb21wb25lbnRTZXJ2aWNlLmxvYWRDb21wb25lbnQodGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIHRoaXMuZmllbGRFbGVtZW50LCB0aGlzLmZpZWxkLCB0aGlzLmdyb3VwLCB0aGlzLmZvcm0pO1xyXG4gICAgLy8gdGhpcy5jb21wb25lbnRSZWYgPSBaQ29tcG9uZW50SGVscGVyLmFwcGVuZENvbXBvbmVudFRvRHluYW1pY0Zvcm0oXHJcbiAgICAvLyAgIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgLy8gICB0aGlzLmluamVjdG9yLFxyXG4gICAgLy8gICB0aGlzLmFwcFJlZixcclxuICAgIC8vICAgdGhpcy5maWVsZCxcclxuICAgIC8vICAgdGhpcy5ncm91cCxcclxuICAgIC8vICAgdGhpcy5jb250YWluZXJpZFxyXG4gICAgLy8gKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgLy8gdGhpcy5hcHBSZWYuZGV0YWNoVmlldyh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcbiAgICAvLyB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPGlvbi1jb2wgc2l6ZT0xMiBzaXplU209XCIxMlwiIHNpemVNZD1cIjZcIiBzaXplTGc9XCI0XCIgc2l6ZVhsPVwiM1wiIGZpZWxkZWxlbWVudD48L2lvbi1jb2w+IC0tPlxyXG48c3BhbiBmaWVsZGVsZW1lbnQ+PC9zcGFuPiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemZvcm1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3pmb3JtY29udHJvbC96Zm9ybWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemZvcm1jb250cm9sL3pmb3JtY29udHJvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBcUIsS0FBSyxFQUFFLFNBQVMsRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFHekcsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUU5QiwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7QUFVN0UsTUFBTSxPQUFPLHFCQUFxQjtJQVNoQyxZQUNVLHdCQUFrRCxFQUNsRCxpQkFBb0M7SUFDNUMsa0NBQWtDO0lBQ2xDLDhCQUE4Qjs7UUFIdEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBRzNDLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFILHFFQUFxRTtRQUNyRSxtQ0FBbUM7UUFDbkMsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixLQUFLO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxzREFBc0Q7UUFDdEQsK0JBQStCO0lBQ2pDLENBQUM7O21IQS9CVSxxQkFBcUI7dUdBQXJCLHFCQUFxQixnS0FNckIscUJBQXFCLDhEQ3pCbEMsc0lBQzBCOzRGRGtCYixxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCOytJQU1uQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFOEMsWUFBWTtzQkFBL0QsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIElucHV0LCBWaWV3Q2hpbGQsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgRmllbGRFbGVtZW50RGlyZWN0aXZlIH0gZnJvbSBcIi4uL2RpcmVjdGl2ZXMvZmllbGRlbGVtZW50LmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFpGaWVsZCwgWkdyb3VwIH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC16Zm9ybWNvbnRyb2xcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3pmb3JtY29udHJvbC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi96Zm9ybWNvbnRyb2wuY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFpmb3JtY29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgQElucHV0KCkgZmllbGQ6IFpGaWVsZDtcclxuICBASW5wdXQoKSBncm91cDogWkdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cDtcclxuICAvLyBASW5wdXQoKSBjb250YWluZXJpZDogc3RyaW5nO1xyXG4gIEBWaWV3Q2hpbGQoRmllbGRFbGVtZW50RGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSBmaWVsZEVsZW1lbnQ6IEZpZWxkRWxlbWVudERpcmVjdGl2ZTtcclxuICBjb21wb25lbnRSZWY6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSB6Y29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2VcclxuICAgIC8vIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICAgIC8vIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnpjb21wb25lbnRTZXJ2aWNlLmxvYWRDb21wb25lbnQodGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIHRoaXMuZmllbGRFbGVtZW50LCB0aGlzLmZpZWxkLCB0aGlzLmdyb3VwLCB0aGlzLmZvcm0pO1xyXG4gICAgLy8gdGhpcy5jb21wb25lbnRSZWYgPSBaQ29tcG9uZW50SGVscGVyLmFwcGVuZENvbXBvbmVudFRvRHluYW1pY0Zvcm0oXHJcbiAgICAvLyAgIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgLy8gICB0aGlzLmluamVjdG9yLFxyXG4gICAgLy8gICB0aGlzLmFwcFJlZixcclxuICAgIC8vICAgdGhpcy5maWVsZCxcclxuICAgIC8vICAgdGhpcy5ncm91cCxcclxuICAgIC8vICAgdGhpcy5jb250YWluZXJpZFxyXG4gICAgLy8gKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgLy8gdGhpcy5hcHBSZWYuZGV0YWNoVmlldyh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcbiAgICAvLyB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPGlvbi1jb2wgc2l6ZT0xMiBzaXplU209XCIxMlwiIHNpemVNZD1cIjZcIiBzaXplTGc9XCI0XCIgc2l6ZVhsPVwiM1wiIGZpZWxkZWxlbWVudD48L2lvbi1jb2w+IC0tPlxyXG48c3BhbiBmaWVsZGVsZW1lbnQ+PC9zcGFuPiJdfQ==