mmhglobal-dynamicform 2.3.2 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/esm2020/lib/components/buttonfieldbase.component.mjs +4 -4
- package/esm2020/lib/components/containerfieldbase.component.mjs +4 -4
- package/esm2020/lib/components/datalistingfieldbase.component.mjs +4 -4
- package/esm2020/lib/components/fieldbase.component.mjs +6 -6
- package/esm2020/lib/components/inputfieldbase.component.mjs +4 -4
- package/esm2020/lib/directives/elementcontainer.directive.mjs +4 -4
- package/esm2020/lib/directives/fieldelement.directive.mjs +4 -4
- package/esm2020/lib/directives/scrollbar.theme.directive.mjs +4 -4
- package/esm2020/lib/embed-components/input-field-addons/input-field-addons.component.mjs +8 -7
- package/esm2020/lib/embed-components/page-loader/page-loader.component.mjs +4 -4
- package/esm2020/lib/embed-components/processing-record-loader/processing-record-loader.component.mjs +4 -4
- package/esm2020/lib/input-error-message/input-error-message.component.mjs +9 -8
- package/esm2020/lib/kcard/kcard.component.mjs +17 -15
- package/esm2020/lib/mmhglobal-dynamicform.module.mjs +5 -5
- package/esm2020/lib/pipe/htmlSanitize.pipe.mjs +4 -4
- package/esm2020/lib/services/component-error-handler.service.mjs +4 -4
- package/esm2020/lib/services/main.service.mjs +4 -4
- package/esm2020/lib/services/zcomponent.debug.service.mjs +4 -4
- package/esm2020/lib/services/zcomponent.service.mjs +4 -4
- package/esm2020/lib/sfquerybuilder/sfquerybuilder.component.mjs +4 -4
- package/esm2020/lib/uiactionbutton/uiactionbutton.component.mjs +5 -5
- package/esm2020/lib/uiappmenucontent/uiappmenucontent.component.mjs +4 -4
- package/esm2020/lib/uibulletin/uibulletin.component.mjs +4 -4
- package/esm2020/lib/uicontainer/uicontainer.component.mjs +4 -4
- package/esm2020/lib/uicontent/uicontent.component.mjs +4 -4
- package/esm2020/lib/uiheader/uiheader.component.mjs +4 -4
- package/esm2020/lib/uimenubutton/uimenubutton.component.mjs +5 -5
- package/esm2020/lib/uimenucontent/uimenucontent.component.mjs +4 -4
- package/esm2020/lib/uipage/uipage.component.mjs +4 -4
- package/esm2020/lib/uivalidationmessage/uivalidationmessage.component.mjs +4 -4
- package/esm2020/lib/zbullet/zbullet.component.mjs +4 -4
- package/esm2020/lib/zbuttons/zbuttons.component.mjs +8 -7
- package/esm2020/lib/zcard/zcard.component.mjs +4 -4
- package/esm2020/lib/zchart/zchart.component.mjs +4 -4
- package/esm2020/lib/zcheckbox/zcheckbox.component.mjs +4 -4
- package/esm2020/lib/zchip/zchip.component.mjs +4 -4
- package/esm2020/lib/zcodeeditor/zcodeeditor.component.mjs +4 -4
- package/esm2020/lib/zcodeeditor/zcodeeditor.pipe.mjs +4 -4
- package/esm2020/lib/zdaterange/zdaterange.component.mjs +4 -4
- package/esm2020/lib/zdatetime/dateIonicFormatParser.pipe.mjs +4 -4
- package/esm2020/lib/zdatetime/dateIonicMinMaxDate.pipe.mjs +4 -4
- package/esm2020/lib/zdatetime/dateKendoFormatParser.pipe.mjs +4 -4
- package/esm2020/lib/zdatetime/dateParser.pipe.mjs +4 -4
- package/esm2020/lib/zdatetime/zdatetime.component.mjs +4 -4
- package/esm2020/lib/zdiv/zdiv.component.mjs +4 -4
- package/esm2020/lib/zdiv/zdiv.pipe.mjs +4 -4
- package/esm2020/lib/zform/zform.component.mjs +4 -4
- package/esm2020/lib/zformcontrol/zformcontrol.component.mjs +4 -4
- package/esm2020/lib/zgauge/zgauge.component.mjs +4 -4
- package/esm2020/lib/zgrid/container/zgrid-container.component.mjs +4 -4
- package/esm2020/lib/zgrid/date-range-cell-filter.component.mjs +4 -4
- package/esm2020/lib/zgrid/zgrid.binding.directive.mjs +4 -4
- package/esm2020/lib/zgrid/zgrid.component.mjs +17 -10
- package/esm2020/lib/zgrid/zgrid.popup.anchor-target.directive.mjs +4 -4
- package/esm2020/lib/zimg/zimg.component.mjs +4 -4
- package/esm2020/lib/zinput-container/zinput-container.component.mjs +4 -4
- package/esm2020/lib/zinput-container/zinput-container.pipe.mjs +4 -4
- package/esm2020/lib/zkcard/zkcard.component.mjs +12 -11
- package/esm2020/lib/zlabel/zlabel.component.mjs +15 -13
- package/esm2020/lib/zmfb/zmfb.component.mjs +4 -4
- package/esm2020/lib/zmodal/zmodal-mobile.component.mjs +4 -4
- package/esm2020/lib/zmodal/zmodal.component.mjs +4 -4
- package/esm2020/lib/znumeric/znumeric.component.mjs +4 -4
- package/esm2020/lib/znumeric/znumeric.component.pipe.mjs +4 -4
- package/esm2020/lib/zpostselectinput/zpostselectinput.component.mjs +4 -4
- package/esm2020/lib/zprogressbar/zprogressbar.component.mjs +4 -4
- package/esm2020/lib/zquerybuilder/zquerybuilder.component.mjs +4 -4
- package/esm2020/lib/zreport/zreport.component.mjs +9 -8
- package/esm2020/lib/zscheduler/zscheduler.component.mjs +4 -4
- package/esm2020/lib/zscheduler/zscheduler.toolbar.component.mjs +4 -4
- package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +4 -4
- package/esm2020/lib/zselectmultiple/zselectmultiple.directive.mjs +4 -4
- package/esm2020/lib/zselectmultiple/zselectmultiple.pipe.mjs +4 -4
- package/esm2020/lib/ztab/ztab.component.mjs +8 -7
- package/esm2020/lib/ztab/ztab.pipe.mjs +4 -4
- package/esm2020/lib/ztext/ztext.component.mjs +4 -4
- package/esm2020/lib/ztextarea/ztextarea.component.mjs +4 -4
- package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +4 -4
- package/esm2020/lib/ztree/ztree.component.mjs +4 -4
- package/esm2020/lib/ztreelist/ztreelist.component.mjs +4 -4
- package/esm2020/lib/ztrendcard/ztrendcard.component.mjs +4 -4
- package/esm2020/lib/zudf/zudf.component.mjs +5 -5
- package/esm2020/lib/zunknown/zunknown.component.mjs +4 -4
- package/esm2020/lib/zupload/zupload.component.mjs +4 -4
- package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +9 -7
- package/fesm2015/mmhglobal-dynamicform.mjs +359 -342
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
- package/fesm2020/mmhglobal-dynamicform.mjs +359 -342
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
- package/lib/components/fieldbase.component.d.ts +2 -2
- package/lib/embed-components/input-field-addons/input-field-addons.component.d.ts +3 -2
- package/lib/input-error-message/input-error-message.component.d.ts +3 -2
- package/lib/kcard/kcard.component.d.ts +3 -2
- package/lib/zbuttons/zbuttons.component.d.ts +3 -2
- package/lib/zgrid/zgrid.component.d.ts +4 -2
- package/lib/zkcard/zkcard.component.d.ts +4 -3
- package/lib/zlabel/zlabel.component.d.ts +3 -2
- package/lib/zreport/zreport.component.d.ts +4 -3
- package/lib/ztab/ztab.component.d.ts +3 -2
- package/lib/zworkflowbuttons/zworkflowbuttons.component.d.ts +4 -2
- package/package.json +1 -1
|
@@ -14,8 +14,9 @@ import * as i7 from "../zdiv/zdiv.component";
|
|
|
14
14
|
import * as i8 from "@angular/common";
|
|
15
15
|
import * as i9 from "./ztab.pipe";
|
|
16
16
|
export class ZtabComponent extends ContainerFieldBase {
|
|
17
|
-
constructor(compService, translationService, storageService, mainService) {
|
|
17
|
+
constructor(compService, fontAweSomeService, translationService, storageService, mainService) {
|
|
18
18
|
super(compService);
|
|
19
|
+
this.fontAweSomeService = fontAweSomeService;
|
|
19
20
|
this.translationService = translationService;
|
|
20
21
|
this.storageService = storageService;
|
|
21
22
|
this.mainService = mainService;
|
|
@@ -189,13 +190,13 @@ export class ZtabComponent extends ContainerFieldBase {
|
|
|
189
190
|
}
|
|
190
191
|
}
|
|
191
192
|
}
|
|
192
|
-
ZtabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
193
|
-
ZtabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
194
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
193
|
+
ZtabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZtabComponent, deps: [{ token: i1.ZComponentService }, { token: i2.FontAweSomeService }, { token: i2.TranslationService }, { token: i2.StorageSessionService }, { token: i3.MainService }], target: i0.ɵɵFactoryTarget.Component });
|
|
194
|
+
ZtabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZtabComponent, selector: "app-ztab", viewQueries: [{ propertyName: "tabstrip", first: true, predicate: ["kendoTabStripInstance"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"container e1tag-container-style\"\r\n [style]=\"componentProperties.containerStyle.style\">\r\n <kendo-tabstrip class=\"ztab e1tag-container-style1\" #kendoTabStripInstance [keepTabContent]=\"true\" (tabSelect)=\"onTabSelect($event)\"\r\n [style]=\"componentProperties.containerStyle.style1\" [class]=\"data.ComponentStyleType\">\r\n <kendo-tabstrip-tab *ngFor=\"let tab of state.currentTabs; let i = index\" [selected]=\"getSelectedTab(i)\" [disabled]=\"!tab.Visible\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2\">\r\n <ng-template kendoTabTitle *ngIf=\"tab.Visible\" >\r\n <div class=\"tab-content e1tag-container-style3\" [style]=\"componentProperties.containerStyle.style3\">\r\n <fa-icon *ngIf=\"!!tab.Icon\" [icon]=\"getFontAwesome(tab.Icon, fontAweSomeService)\" [style]=\"componentProperties.containerStyle.style4\" class=\"e1tag-container-style4\"></fa-icon>\r\n {{tab.Label}}\r\n <ion-badge class=\"tab-item-counter e1tag-container-style5\" color=\"danger\" *ngIf=\"!!tab.Counter\" [style]=\"componentProperties.containerStyle.style5\">{{tab.Counter}}</ion-badge>\r\n </div>\r\n </ng-template>\r\n <ng-template kendoTabContent>\r\n <app-zdiv [style]=\"componentProperties.containerStyle.style6\" class=\"e1tag-container-style6\" [data]=\"data | tabfilter: tab.Index + ''\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </ng-template>\r\n </kendo-tabstrip-tab>\r\n </kendo-tabstrip>\r\n</div>\r\n", styles: [".container{margin:var(--container-margin-top) 0px 6px 0px}.tab-item-counter{margin-left:4px;position:relative;top:4px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper{border-color:rgba(var(--ion-color-primary-rgb),.5)}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item{box-shadow:none;font-weight:600;color:gray;font-size:calc(var(--content-subtitle1-font-size) - 1px);background:rgba(var(--ion-color-primary-rgb),.1);border:1px solid rgba(var(--ion-color-primary-rgb),.2);padding:5px 1px 3px;margin-right:2px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item:hover{color:rgba(var(--ion-color-dark-rgb),.8)}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-active,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-active,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-selected{color:var(--ion-color-primary);background:white;border:1px solid rgba(var(--ion-color-primary-rgb),.5);border-bottom:none}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-selected>.k-link{cursor:default}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-disabled,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-disabled{display:none}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-link{padding:6px 20px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-link fa-icon{padding-right:10px}:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content{padding:5px;background:white;border-color:rgba(var(--ion-color-primary-rgb),.5)}:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content:focus,:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content.k-focused,:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content.k-state-focused{outline:none}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items{background:transparent;padding-left:10px;border-bottom:2px solid var(--ion-app-seperator-line-color)}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item{font-weight:600;color:rgba(var(--ion-color-dark-rgb),.6);font-size:calc(var(--content-subtitle1-font-size) - 1px);padding-bottom:5px;box-shadow:none!important;background:transparent!important}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item:hover{color:rgba(var(--ion-color-dark-rgb),.8)}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-active,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-active,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-selected{padding:0;color:var(--ion-color-dark);font-size:var(--content-subtitle1-font-size);border:none;border-radius:4px;border-bottom:5px solid var(--ion-color-primary);background:transparent}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-selected>.k-link{cursor:default}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-disabled,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-disabled{display:none}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-link{padding:6px 20px}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-link fa-icon{padding-right:10px}:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content{padding:0;border:none;background:transparent}:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content:focus,:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content.k-focus,:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content.k-state-focused{outline:none}\n"], components: [{ type: i4.TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { type: i4.TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon"], exportAs: ["kendoTabStripTab"] }, { type: i5.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i6.IonBadge, selector: "ion-badge", inputs: ["color", "mode"] }, { type: i7.ZdivComponent, selector: "app-zdiv" }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.TabTitleDirective, selector: "[kendoTabTitle]" }, { type: i4.TabContentDirective, selector: "[kendoTabContent]" }], pipes: { "tabfilter": i9.TabFilter } });
|
|
195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZtabComponent, decorators: [{
|
|
195
196
|
type: Component,
|
|
196
|
-
args: [{ selector: 'app-ztab', template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"container e1tag-container-style\"\r\n [style]=\"componentProperties.containerStyle.style\">\r\n <kendo-tabstrip class=\"ztab e1tag-container-style1\" #kendoTabStripInstance [keepTabContent]=\"true\" (tabSelect)=\"onTabSelect($event)\"\r\n [style]=\"componentProperties.containerStyle.style1\" [class]=\"data.ComponentStyleType\">\r\n <kendo-tabstrip-tab *ngFor=\"let tab of state.currentTabs; let i = index\" [selected]=\"getSelectedTab(i)\" [disabled]=\"!tab.Visible\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2\">\r\n <ng-template kendoTabTitle *ngIf=\"tab.Visible\" >\r\n <div class=\"tab-content e1tag-container-style3\" [style]=\"componentProperties.containerStyle.style3\">\r\n <fa-icon *ngIf=\"!!tab.Icon\" [icon]=\"getFontAwesome(tab.Icon)\" [style]=\"componentProperties.containerStyle.style4\" class=\"e1tag-container-style4\"></fa-icon>\r\n {{tab.Label}}\r\n <ion-badge class=\"tab-item-counter e1tag-container-style5\" color=\"danger\" *ngIf=\"!!tab.Counter\" [style]=\"componentProperties.containerStyle.style5\">{{tab.Counter}}</ion-badge>\r\n </div>\r\n </ng-template>\r\n <ng-template kendoTabContent>\r\n <app-zdiv [style]=\"componentProperties.containerStyle.style6\" class=\"e1tag-container-style6\" [data]=\"data | tabfilter: tab.Index + ''\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </ng-template>\r\n </kendo-tabstrip-tab>\r\n </kendo-tabstrip>\r\n</div>\r\n", styles: [".container{margin:var(--container-margin-top) 0px 6px 0px}.tab-item-counter{margin-left:4px;position:relative;top:4px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper{border-color:rgba(var(--ion-color-primary-rgb),.5)}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item{box-shadow:none;font-weight:600;color:gray;font-size:calc(var(--content-subtitle1-font-size) - 1px);background:rgba(var(--ion-color-primary-rgb),.1);border:1px solid rgba(var(--ion-color-primary-rgb),.2);padding:5px 1px 3px;margin-right:2px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item:hover{color:rgba(var(--ion-color-dark-rgb),.8)}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-active,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-active,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-selected{color:var(--ion-color-primary);background:white;border:1px solid rgba(var(--ion-color-primary-rgb),.5);border-bottom:none}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-selected>.k-link{cursor:default}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-disabled,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-disabled{display:none}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-link{padding:6px 20px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-link fa-icon{padding-right:10px}:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content{padding:5px;background:white;border-color:rgba(var(--ion-color-primary-rgb),.5)}:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content:focus,:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content.k-focused,:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content.k-state-focused{outline:none}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items{background:transparent;padding-left:10px;border-bottom:2px solid var(--ion-app-seperator-line-color)}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item{font-weight:600;color:rgba(var(--ion-color-dark-rgb),.6);font-size:calc(var(--content-subtitle1-font-size) - 1px);padding-bottom:5px;box-shadow:none!important;background:transparent!important}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item:hover{color:rgba(var(--ion-color-dark-rgb),.8)}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-active,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-active,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-selected{padding:0;color:var(--ion-color-dark);font-size:var(--content-subtitle1-font-size);border:none;border-radius:4px;border-bottom:5px solid var(--ion-color-primary);background:transparent}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-selected>.k-link{cursor:default}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-disabled,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-disabled{display:none}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-link{padding:6px 20px}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-link fa-icon{padding-right:10px}:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content{padding:0;border:none;background:transparent}:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content:focus,:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content.k-focus,:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content.k-state-focused{outline:none}\n"] }]
|
|
197
|
-
}], ctorParameters: function () { return [{ type: i1.ZComponentService }, { type: i2.TranslationService }, { type: i2.StorageSessionService }, { type: i3.MainService }]; }, propDecorators: { tabstrip: [{
|
|
197
|
+
args: [{ selector: 'app-ztab', template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"container e1tag-container-style\"\r\n [style]=\"componentProperties.containerStyle.style\">\r\n <kendo-tabstrip class=\"ztab e1tag-container-style1\" #kendoTabStripInstance [keepTabContent]=\"true\" (tabSelect)=\"onTabSelect($event)\"\r\n [style]=\"componentProperties.containerStyle.style1\" [class]=\"data.ComponentStyleType\">\r\n <kendo-tabstrip-tab *ngFor=\"let tab of state.currentTabs; let i = index\" [selected]=\"getSelectedTab(i)\" [disabled]=\"!tab.Visible\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2\">\r\n <ng-template kendoTabTitle *ngIf=\"tab.Visible\" >\r\n <div class=\"tab-content e1tag-container-style3\" [style]=\"componentProperties.containerStyle.style3\">\r\n <fa-icon *ngIf=\"!!tab.Icon\" [icon]=\"getFontAwesome(tab.Icon, fontAweSomeService)\" [style]=\"componentProperties.containerStyle.style4\" class=\"e1tag-container-style4\"></fa-icon>\r\n {{tab.Label}}\r\n <ion-badge class=\"tab-item-counter e1tag-container-style5\" color=\"danger\" *ngIf=\"!!tab.Counter\" [style]=\"componentProperties.containerStyle.style5\">{{tab.Counter}}</ion-badge>\r\n </div>\r\n </ng-template>\r\n <ng-template kendoTabContent>\r\n <app-zdiv [style]=\"componentProperties.containerStyle.style6\" class=\"e1tag-container-style6\" [data]=\"data | tabfilter: tab.Index + ''\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </ng-template>\r\n </kendo-tabstrip-tab>\r\n </kendo-tabstrip>\r\n</div>\r\n", styles: [".container{margin:var(--container-margin-top) 0px 6px 0px}.tab-item-counter{margin-left:4px;position:relative;top:4px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper{border-color:rgba(var(--ion-color-primary-rgb),.5)}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item{box-shadow:none;font-weight:600;color:gray;font-size:calc(var(--content-subtitle1-font-size) - 1px);background:rgba(var(--ion-color-primary-rgb),.1);border:1px solid rgba(var(--ion-color-primary-rgb),.2);padding:5px 1px 3px;margin-right:2px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item:hover{color:rgba(var(--ion-color-dark-rgb),.8)}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-active,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-active,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-selected{color:var(--ion-color-primary);background:white;border:1px solid rgba(var(--ion-color-primary-rgb),.5);border-bottom:none}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-selected>.k-link{cursor:default}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-disabled,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-disabled{display:none}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-link{padding:6px 20px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-link fa-icon{padding-right:10px}:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content{padding:5px;background:white;border-color:rgba(var(--ion-color-primary-rgb),.5)}:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content:focus,:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content.k-focused,:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content.k-state-focused{outline:none}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items{background:transparent;padding-left:10px;border-bottom:2px solid var(--ion-app-seperator-line-color)}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item{font-weight:600;color:rgba(var(--ion-color-dark-rgb),.6);font-size:calc(var(--content-subtitle1-font-size) - 1px);padding-bottom:5px;box-shadow:none!important;background:transparent!important}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item:hover{color:rgba(var(--ion-color-dark-rgb),.8)}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-active,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-active,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-selected{padding:0;color:var(--ion-color-dark);font-size:var(--content-subtitle1-font-size);border:none;border-radius:4px;border-bottom:5px solid var(--ion-color-primary);background:transparent}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-selected>.k-link{cursor:default}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-disabled,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-disabled{display:none}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-link{padding:6px 20px}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-link fa-icon{padding-right:10px}:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content{padding:0;border:none;background:transparent}:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content:focus,:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content.k-focus,:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content.k-state-focused{outline:none}\n"] }]
|
|
198
|
+
}], ctorParameters: function () { return [{ type: i1.ZComponentService }, { type: i2.FontAweSomeService }, { type: i2.TranslationService }, { type: i2.StorageSessionService }, { type: i3.MainService }]; }, propDecorators: { tabstrip: [{
|
|
198
199
|
type: ViewChild,
|
|
199
200
|
args: ['kendoTabStripInstance']
|
|
200
201
|
}] } });
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96dGFiL3p0YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenRhYi96dGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBeUQsZ0JBQWdCLEVBQVksTUFBTSxpQkFBaUIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7O0FBU2hGLE1BQU0sT0FBTyxhQUFjLFNBQVEsa0JBQWtCO0lBUW5ELFlBQ0UsV0FBOEIsRUFDdEIsa0JBQXNDLEVBQ3RDLGNBQXFDLEVBQ3JDLFdBQXdCO1FBRWhDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUpWLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBVjNCLFVBQUssR0FBRztZQUNiLG9CQUFvQixFQUFFLENBQUM7WUFDdkIsV0FBVyxFQUFFLEtBQUssRUFBWTtZQUM5QixPQUFPLEVBQUUsS0FBSyxFQUFZO1NBQzNCLENBQUM7UUFrR0ssY0FBUyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDMUMsQ0FBQyxDQUFB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QUMsZUFBZSxDQUFDLENBQUMsQ0FBQztTQUN0RTtJQUVILENBQUM7OzJHQWpOVSxhQUFhOytGQUFiLGFBQWEsMExDZDFCLHdxREFvQkE7NEZETmEsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxVQUFVO3VNQUt1QixRQUFRO3NCQUFsRCxTQUFTO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGFiU3RyaXBDb21wb25lbnQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1sYXlvdXQnO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2Vzc2lvblNlcnZpY2UsIFRyYW5zbGF0aW9uU2VydmljZSwgWkNvbXBvbmVudCwgWkNvbXBvbmVudEhlbHBlciwgWlRhYkl0ZW0gfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29udGFpbmVyRmllbGRCYXNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb250YWluZXJmaWVsZGJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYWluU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21haW4uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC16dGFiJyxcclxuICB0ZW1wbGF0ZVVybDogJy4venRhYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4venRhYi5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWnRhYkNvbXBvbmVudCBleHRlbmRzIENvbnRhaW5lckZpZWxkQmFzZSBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgna2VuZG9UYWJTdHJpcEluc3RhbmNlJykgcHVibGljIHRhYnN0cmlwOiBUYWJTdHJpcENvbXBvbmVudDtcclxuICBwdWJsaWMgc3RhdGUgPSB7XHJcbiAgICBsYXN0U2VsZWN0ZWRUYWJJbmRleDogMCxcclxuICAgIGN1cnJlbnRUYWJzOiBBcnJheTxaVGFiSXRlbT4oKSxcclxuICAgIGFsbFRhYnM6IEFycmF5PFpUYWJJdGVtPigpXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtYWluU2VydmljZTogTWFpblNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBTZXJ2aWNlKVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5pbml0Q29tcG9uZW50KCkucGlwZShcclxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5kYXRhLlRhYkl0ZW1zICYmIHRoaXMuZGF0YS5UYWJJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuJHRyYW5zbGF0ZUl0ZW1MaXN0KHRoaXMuZGF0YS5UYWJJdGVtcywgXCJMYWJlbFwiLCB7IGVsZW1lbnROYW1lOiB0aGlzLmdyb3VwLmZpZWxkTmFtZSwgZ3JvdXA6IHRoaXMuZ3JvdXAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZih7fSk7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0Q3VycmVudFRhYnMoKTtcclxuICAgICAgICB0aGlzLnJlc3RvcmVUYWJTZWxlY3Rpb24oKTtcclxuICAgICAgfSlcclxuICAgICkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEN1cnJlbnRUYWJzKCkge1xyXG4gICAgdGhpcy5zdGF0ZS5jdXJyZW50VGFicyA9IG5ldyBBcnJheTxaVGFiSXRlbT4oKTtcclxuXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEuTGFiZWwpKSB7XHJcbiAgICAgIGxldCB2YWxpZEljb24gPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMuZGF0YS5JY29uICYmIEFycmF5LmlzQXJyYXkodGhpcy5kYXRhLkljb24pICYmIHRoaXMuZGF0YS5JY29uLmxlbmd0aCA9PT0gdGhpcy5kYXRhLkxhYmVsLmxlbmd0aCkge1xyXG4gICAgICAgIHZhbGlkSWNvbiA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBndWFyZC1mb3ItaW5cclxuICAgICAgZm9yIChjb25zdCBpbmRleCBpbiB0aGlzLmRhdGEuTGFiZWwpIHtcclxuICAgICAgICB0aGlzLnN0YXRlLmN1cnJlbnRUYWJzLnB1c2goXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIExhYmVsOiB0aGlzLmRhdGEuTGFiZWxbaW5kZXhdLFxyXG4gICAgICAgICAgICBJY29uOiB2YWxpZEljb24gPyB0aGlzLmRhdGEuSWNvbltpbmRleF0gOiBudWxsLFxyXG4gICAgICAgICAgICBWaXNpYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICBJbmRleDogcGFyc2VJbnQoaW5kZXgpXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0YXRlLmFsbFRhYnMgPSB0aGlzLnN0YXRlLmN1cnJlbnRUYWJzO1xyXG5cclxuICAgICAgaWYgKHRoaXMuZGF0YS5UYWJWaXNpYmxlRmFsc2VJbmRleCkge1xyXG4gICAgICAgIHRoaXMuc2V0VGFic1Zpc2libGUodGhpcy5kYXRhLlRhYlZpc2libGVGYWxzZUluZGV4LCBmYWxzZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YS5UYWJJdGVtcykge1xyXG4gICAgICBsZXQgaW5kID0gMDtcclxuICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiB0aGlzLmRhdGEuVGFiSXRlbXMpIHtcclxuICAgICAgICB0aGlzLnN0YXRlLmN1cnJlbnRUYWJzLnB1c2goXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIExhYmVsOiBmaWVsZC5MYWJlbCBhcyBzdHJpbmcsXHJcbiAgICAgICAgICAgIEljb246IGZpZWxkLkljb24gPyBmaWVsZC5JY29uIGFzIHN0cmluZyA6IG51bGwsXHJcbiAgICAgICAgICAgIFZpc2libGU6IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShmaWVsZC5WaXNpYmxlIGFzIHN0cmluZywgdGhpcy5ncm91cCksXHJcbiAgICAgICAgICAgIENvdW50ZXI6IHR5cGVvZiAoZmllbGRbXCJDb3VudGVyXCJdKSA9PT0gXCJzdHJpbmdcIiA/IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShmaWVsZFtcIkNvdW50ZXJcIl0gYXMgc3RyaW5nLCB0aGlzLmdyb3VwKSA6IGZpZWxkW1wiQ291bnRlclwiXSxcclxuICAgICAgICAgICAgSW5kZXg6IGluZCsrXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0YXRlLmFsbFRhYnMgPSB0aGlzLnN0YXRlLmN1cnJlbnRUYWJzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWZyZXNoQ3VycmVudFRhYnMoKSB7XHJcbiAgICBjb25zdCBwcmV2aW91c1N0YXRlVGFicyA9IHRoaXMuc3RhdGUuYWxsVGFicztcclxuXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEuTGFiZWwpKSB7XHJcbiAgICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnMgPSBuZXcgQXJyYXk8WlRhYkl0ZW0+KCk7XHJcbiAgICAgIGxldCB2YWxpZEljb24gPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMuZGF0YS5JY29uICYmIEFycmF5LmlzQXJyYXkodGhpcy5kYXRhLkljb24pICYmIHRoaXMuZGF0YS5JY29uLmxlbmd0aCA9PT0gdGhpcy5kYXRhLkxhYmVsLmxlbmd0aCkge1xyXG4gICAgICAgIHZhbGlkSWNvbiA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBndWFyZC1mb3ItaW5cclxuICAgICAgZm9yIChjb25zdCBpbmRleCBpbiB0aGlzLmRhdGEuTGFiZWwpIHtcclxuICAgICAgICBjb25zdCBwcmV2aW91c1RhYiA9IHByZXZpb3VzU3RhdGVUYWJzLmZpbHRlcih4ID0+IHguTGFiZWwgPT0gdGhpcy5kYXRhLkxhYmVsW2luZGV4XSk7XHJcbiAgICAgICAgY29uc3QgcHJldmlvdXNUYWJWaXNpYmxlID0gcHJldmlvdXNUYWIubGVuZ3RoID4gMCA/IHByZXZpb3VzVGFiWzBdLlZpc2libGUgOiBmYWxzZTtcclxuXHJcbiAgICAgICAgY29uc3QgaXNWaXNpYmxlID0gcHJldmlvdXNUYWJWaXNpYmxlO1xyXG4gICAgICAgIGlmIChpc1Zpc2libGUpIHtcclxuICAgICAgICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnMucHVzaChcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIExhYmVsOiB0aGlzLmRhdGEuTGFiZWxbaW5kZXhdLFxyXG4gICAgICAgICAgICAgIEljb246IHZhbGlkSWNvbiA/IHRoaXMuZGF0YS5JY29uW2luZGV4XSA6IG51bGwsXHJcbiAgICAgICAgICAgICAgVmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICBJbmRleDogcGFyc2VJbnQoaW5kZXgpXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLnN0YXRlLmN1cnJlbnRUYWJzLCB0aGlzLnN0YXRlLmFsbFRhYnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdFRhYiA9IChpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICB0aGlzLnN0YXRlLmxhc3RTZWxlY3RlZFRhYkluZGV4ID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZFRhYih0YWJJbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5sYXN0U2VsZWN0ZWRUYWJJbmRleCA9PT0gdGFiSW5kZXg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0U2VsZWN0VGFiKHRhYkluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuc3RvcmVUYWJTZWxlY3RJbmRleFRvU3RvcmFnZSh0YWJJbmRleCk7XHJcbiAgICB0aGlzLnN0YXRlLmxhc3RTZWxlY3RlZFRhYkluZGV4ID0gdGFiSW5kZXg7XHJcbiAgfVxyXG5cclxuICByZXN0b3JlVGFiU2VsZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5BbGxvd1NhdmVTdGF0ZSA9PT0gZmFsc2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRyeSByZXRyaWV2ZSBmcm9tIHNlc3Npb25zdG9yYWdlXHJcbiAgICBpZiAodGhpcy5ncm91cC5jdHJsU2NvcGUpIHtcclxuICAgICAgY29uc3QgdXJsUGF0aCA9IHRoaXMuZ3JvdXAuY3RybFNjb3BlLmFjdGl2YXRlZFJvdXRlLl9yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmw7XHJcbiAgICAgIGNvbnN0IHVybFBhdGhTZWdtZW50ID0gdXJsUGF0aC5zcGxpdCgnLycpO1xyXG4gICAgICBjb25zdCBzdG9yYWdlS2V5ID0gdXJsUGF0aFNlZ21lbnRbdXJsUGF0aFNlZ21lbnQubGVuZ3RoIC0gMV0gKyB0aGlzLmRhdGEuTmFtZTtcclxuICAgICAgbGV0IHNhdmVkVGFiU2VsZWN0aW9uID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShzdG9yYWdlS2V5KTtcclxuICAgICAgaWYgKHNhdmVkVGFiU2VsZWN0aW9uKSB7XHJcbiAgICAgICAgc2F2ZWRUYWJTZWxlY3Rpb24gPSBKU09OLnBhcnNlKHNhdmVkVGFiU2VsZWN0aW9uKTtcclxuICAgICAgICBjb25zdCBhY3RpdmF0ZWRSb3V0ZVVybCA9IHRoaXMuZ3JvdXAuY3RybFNjb3BlLmFjdGl2YXRlZFJvdXRlLl9yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmw7XHJcbiAgICAgICAgaWYgKHNhdmVkVGFiU2VsZWN0aW9uWyd1cmwnXSA9PSBhY3RpdmF0ZWRSb3V0ZVVybCAmJiBzYXZlZFRhYlNlbGVjdGlvblsncGFnZVBhcmFtJ10gPT0gdGhpcy5tYWluU2VydmljZS5nZXROYXZpZ2F0aW9uQ3VycmVudFBhcmFtKCkpIHtcclxuICAgICAgICAgIHRoaXMuZ3JvdXBbJ3RhYlNlbGVjdGlvbnMnXSA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XHJcbiAgICAgICAgICB0aGlzLmdyb3VwWyd0YWJTZWxlY3Rpb25zJ10uc2V0KHRoaXMuZGF0YS5OYW1lLCBzYXZlZFRhYlNlbGVjdGlvblsndGFiSW5kZXgnXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHRhYlNlbGVjdGlvbnM6IE1hcDxzdHJpbmcsIG51bWJlcj4gPSBcInRhYlNlbGVjdGlvbnNcIiBpbiB0aGlzLmdyb3VwID8gdGhpcy5ncm91cFsndGFiU2VsZWN0aW9ucyddIDogbnVsbDtcclxuICAgIGlmICh0YWJTZWxlY3Rpb25zICE9PSBudWxsICYmIHRhYlNlbGVjdGlvbnMuaGFzKHRoaXMuZGF0YS5OYW1lKSkgeyAvLyBzdWJzZXF1ZW50IGxvYWRzXHJcbiAgICAgIHRoaXMuc3RhdGUubGFzdFNlbGVjdGVkVGFiSW5kZXggPSB0YWJTZWxlY3Rpb25zLmdldCh0aGlzLmRhdGEuTmFtZSk7XHJcblxyXG4gICAgfSBlbHNlIGlmICh0YWJTZWxlY3Rpb25zID09PSBudWxsKSB7IC8vIGZpcnN0IGxvYWQgb2YgZmlyc3QgdGFiXHJcbiAgICAgIHRhYlNlbGVjdGlvbnMgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xyXG4gICAgICB0aGlzLmdyb3VwWyd0YWJTZWxlY3Rpb25zJ10gPSB0YWJTZWxlY3Rpb25zO1xyXG4gICAgICB0YWJTZWxlY3Rpb25zLnNldCh0aGlzLmRhdGEuTmFtZSwgMCk7XHJcblxyXG4gICAgfSBlbHNlIGlmICghdGFiU2VsZWN0aW9ucy5oYXModGhpcy5kYXRhLk5hbWUpKSB7IC8vIGZpcnN0IGxvYWQgb2YgcmVzdCB0YWJzXHJcbiAgICAgIHRhYlNlbGVjdGlvbnMuc2V0KHRoaXMuZGF0YS5OYW1lLCAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblRhYlNlbGVjdChlKSB7XHJcbiAgICB0aGlzLnN0YXRlLmxhc3RTZWxlY3RlZFRhYkluZGV4ID0gZS5pbmRleDtcclxuICAgIHRoaXMuc2F2ZVN0YXRlKGUpO1xyXG5cclxuICAgIGNvbnN0IGZ1bmMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgdGhpcy5kYXRhLkNsaWNrRXZlbnQpO1xyXG4gICAgaWYgKHR5cGVvZiBmdW5jID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGNvbnN0IGNhbGxGdW5jID0gZnVuYy5iaW5kKHRoaXMuZ3JvdXAuY3RybFNjb3BlKTtcclxuICAgICAgY2FsbEZ1bmMoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhdmVTdGF0ZShlKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLkFsbG93U2F2ZVN0YXRlID09PSBmYWxzZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnN0b3JlVGFiU2VsZWN0SW5kZXhUb1N0b3JhZ2UoZS5pbmRleCk7XHJcblxyXG4gICAgY29uc3QgdGFiU2VsZWN0aW9ucyA9IHRoaXMuZ3JvdXBbJ3RhYlNlbGVjdGlvbnMnXSBhcyBNYXA8c3RyaW5nLCBudW1iZXI+O1xyXG4gICAgdGFiU2VsZWN0aW9ucy5zZXQodGhpcy5kYXRhLk5hbWUsIGUuaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFRhYnNWaXNpYmxlID0gKHRhYkluZGV4ZXM6IG51bWJlcltdLCBzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIGlmICh0aGlzLnN0YXRlLmFsbFRhYnMubGVuZ3RoIDw9IE1hdGgubWF4LmFwcGx5KG51bGwsIHRhYkluZGV4ZXMpIHx8IE1hdGgubWluLmFwcGx5KG51bGwsIHRhYkluZGV4ZXMpIDwgMCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIkludmFsaWQgVGFiIGluZGV4IDogXCIgKyB0YWJJbmRleGVzLmpvaW4oXCIsXCIpKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYkluZGV4ZXMuZm9yRWFjaChpbmRleCA9PiB7XHJcbiAgICAgIHRoaXMuc3RhdGUuYWxsVGFic1tpbmRleF0uVmlzaWJsZSA9IHN0YXR1cztcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZWZyZXNoQ3VycmVudFRhYnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRUYWJDb3VudGVyID0gKHRhYkluZGV4OiBudW1iZXIsIGNvdW50ZXI6IG51bWJlciB8IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgbGFiZWxzID0gdGhpcy5kYXRhLkxhYmVsID8gdGhpcy5kYXRhLkxhYmVsIDogdGhpcy5kYXRhLlRhYkl0ZW1zO1xyXG4gICAgaWYgKGxhYmVscy5sZW5ndGggPD0gdGFiSW5kZXggfHwgdGFiSW5kZXggPCAwKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiSW52YWxpZCBUYWIgaW5kZXggOiBcIiArIHRhYkluZGV4KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnNbdGFiSW5kZXhdLkNvdW50ZXIgPSBjb3VudGVyO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdG9yZVRhYlNlbGVjdEluZGV4VG9TdG9yYWdlKHRhYkluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmRhdGEuQWxsb3dTYXZlU3RhdGUpIHtcclxuICAgICAgY29uc3QgdXJsUGF0aCA9IHRoaXMuZ3JvdXAuY3RybFNjb3BlLmFjdGl2YXRlZFJvdXRlLl9yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmw7XHJcbiAgICAgIGNvbnN0IHVybFBhdGhTZWdtZW50ID0gdXJsUGF0aC5zcGxpdCgnLycpO1xyXG4gICAgICBjb25zdCBzdG9yYWdlS2V5ID0gdXJsUGF0aFNlZ21lbnRbdXJsUGF0aFNlZ21lbnQubGVuZ3RoIC0gMV0gKyB0aGlzLmRhdGEuTmFtZTtcclxuXHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkVGFiSnNvbiA9IHtcclxuICAgICAgICB1cmw6IHVybFBhdGgsXHJcbiAgICAgICAgcGFnZVBhcmFtOiB0aGlzLm1haW5TZXJ2aWNlLmdldE5hdmlnYXRpb25DdXJyZW50UGFyYW0oKSxcclxuICAgICAgICB0YWJJbmRleDogdGFiSW5kZXhcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldChzdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShzZWxlY3RlZFRhYkpzb24pKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIiBjbGFzcz1cImNvbnRhaW5lciBlMXRhZy1jb250YWluZXItc3R5bGVcIlxyXG4gIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlXCI+XHJcbiAgPGtlbmRvLXRhYnN0cmlwIGNsYXNzPVwienRhYiBlMXRhZy1jb250YWluZXItc3R5bGUxXCIgI2tlbmRvVGFiU3RyaXBJbnN0YW5jZSBba2VlcFRhYkNvbnRlbnRdPVwidHJ1ZVwiICh0YWJTZWxlY3QpPVwib25UYWJTZWxlY3QoJGV2ZW50KVwiXHJcbiAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUxXCIgW2NsYXNzXT1cImRhdGEuQ29tcG9uZW50U3R5bGVUeXBlXCI+XHJcbiAgICA8a2VuZG8tdGFic3RyaXAtdGFiICpuZ0Zvcj1cImxldCB0YWIgb2Ygc3RhdGUuY3VycmVudFRhYnM7IGxldCBpID0gaW5kZXhcIiBbc2VsZWN0ZWRdPVwiZ2V0U2VsZWN0ZWRUYWIoaSlcIiBbZGlzYWJsZWRdPVwiIXRhYi5WaXNpYmxlXCJcclxuICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlMlwiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlMlwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUga2VuZG9UYWJUaXRsZSAqbmdJZj1cInRhYi5WaXNpYmxlXCIgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudCBlMXRhZy1jb250YWluZXItc3R5bGUzXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUzXCI+XHJcbiAgICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cIiEhdGFiLkljb25cIiBbaWNvbl09XCJnZXRGb250QXdlc29tZSh0YWIuSWNvbilcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTRcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTRcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICB7e3RhYi5MYWJlbH19XHJcbiAgICAgICAgICA8aW9uLWJhZGdlIGNsYXNzPVwidGFiLWl0ZW0tY291bnRlciBlMXRhZy1jb250YWluZXItc3R5bGU1XCIgY29sb3I9XCJkYW5nZXJcIiAqbmdJZj1cIiEhdGFiLkNvdW50ZXJcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIj57e3RhYi5Db3VudGVyfX08L2lvbi1iYWRnZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvVGFiQ29udGVudD5cclxuICAgICAgICA8YXBwLXpkaXYgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU2XCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU2XCIgW2RhdGFdPVwiZGF0YSB8IHRhYmZpbHRlcjogdGFiLkluZGV4ICsgJydcIiBbZm9ybV09XCJmb3JtXCIgW2dyb3VwXT1cImdyb3VwXCIgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCI+XHJcbiAgICAgICAgPC9hcHAtemRpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwva2VuZG8tdGFic3RyaXAtdGFiPlxyXG4gIDwva2VuZG8tdGFic3RyaXA+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96dGFiL3p0YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenRhYi96dGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBNkUsZ0JBQWdCLEVBQVksTUFBTSxpQkFBaUIsQ0FBQztBQUN4SSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7O0FBU2hGLE1BQU0sT0FBTyxhQUFjLFNBQVEsa0JBQWtCO0lBUW5ELFlBQ0UsV0FBOEIsRUFDdkIsa0JBQXNDLEVBQ3JDLGtCQUFzQyxFQUN0QyxjQUFxQyxFQUNyQyxXQUF3QjtRQUVoQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7UUFMWCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3JDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBWDNCLFVBQUssR0FBRztZQUNiLG9CQUFvQixFQUFFLENBQUM7WUFDdkIsV0FBVyxFQUFFLEtBQUssRUFBWTtZQUM5QixPQUFPLEVBQUUsS0FBSyxFQUFZO1NBQzNCLENBQUM7UUFtR0ssY0FBUyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLEtB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QWMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztTQUN0RTtJQUVILENBQUM7OzBHQWxOVSxhQUFhOzhGQUFiLGFBQWEsMExDZDFCLDRyREFvQkE7MkZETmEsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxVQUFVO3dPQUt1QixRQUFRO3NCQUFsRCxTQUFTO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGFiU3RyaXBDb21wb25lbnQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1sYXlvdXQnO1xyXG5pbXBvcnQgeyBGb250QXdlU29tZVNlcnZpY2UsIFN0b3JhZ2VTZXNzaW9uU2VydmljZSwgVHJhbnNsYXRpb25TZXJ2aWNlLCBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaVGFiSXRlbSB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb250YWluZXJGaWVsZEJhc2UgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbnRhaW5lcmZpZWxkYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IE1haW5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFpbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXp0YWInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi96dGFiLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi96dGFiLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBadGFiQ29tcG9uZW50IGV4dGVuZHMgQ29udGFpbmVyRmllbGRCYXNlIGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKCdrZW5kb1RhYlN0cmlwSW5zdGFuY2UnKSBwdWJsaWMgdGFic3RyaXA6IFRhYlN0cmlwQ29tcG9uZW50O1xyXG4gIHB1YmxpYyBzdGF0ZSA9IHtcclxuICAgIGxhc3RTZWxlY3RlZFRhYkluZGV4OiAwLFxyXG4gICAgY3VycmVudFRhYnM6IEFycmF5PFpUYWJJdGVtPigpLFxyXG4gICAgYWxsVGFiczogQXJyYXk8WlRhYkl0ZW0+KClcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGNvbXBTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBmb250QXdlU29tZVNlcnZpY2U6IEZvbnRBd2VTb21lU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1haW5TZXJ2aWNlOiBNYWluU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcFNlcnZpY2UpXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLmluaXRDb21wb25lbnQoKS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGEuVGFiSXRlbXMgJiYgdGhpcy5kYXRhLlRhYkl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS4kdHJhbnNsYXRlSXRlbUxpc3QodGhpcy5kYXRhLlRhYkl0ZW1zLCBcIkxhYmVsXCIsIHsgZWxlbWVudE5hbWU6IHRoaXMuZ3JvdXAuZmllbGROYW1lLCBncm91cDogdGhpcy5ncm91cCB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG9mKHt9KTtcclxuICAgICAgfSksXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRDdXJyZW50VGFicygpO1xyXG4gICAgICAgIHRoaXMucmVzdG9yZVRhYlNlbGVjdGlvbigpO1xyXG4gICAgICB9KVxyXG4gICAgKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudFRhYnMoKSB7XHJcbiAgICB0aGlzLnN0YXRlLmN1cnJlbnRUYWJzID0gbmV3IEFycmF5PFpUYWJJdGVtPigpO1xyXG5cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZGF0YS5MYWJlbCkpIHtcclxuICAgICAgbGV0IHZhbGlkSWNvbiA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5kYXRhLkljb24gJiYgQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEuSWNvbikgJiYgdGhpcy5kYXRhLkljb24ubGVuZ3RoID09PSB0aGlzLmRhdGEuTGFiZWwubGVuZ3RoKSB7XHJcbiAgICAgICAgdmFsaWRJY29uID0gdHJ1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGd1YXJkLWZvci1pblxyXG4gICAgICBmb3IgKGNvbnN0IGluZGV4IGluIHRoaXMuZGF0YS5MYWJlbCkge1xyXG4gICAgICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnMucHVzaChcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgTGFiZWw6IHRoaXMuZGF0YS5MYWJlbFtpbmRleF0sXHJcbiAgICAgICAgICAgIEljb246IHZhbGlkSWNvbiA/IHRoaXMuZGF0YS5JY29uW2luZGV4XSA6IG51bGwsXHJcbiAgICAgICAgICAgIFZpc2libGU6IHRydWUsXHJcbiAgICAgICAgICAgIEluZGV4OiBwYXJzZUludChpbmRleClcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RhdGUuYWxsVGFicyA9IHRoaXMuc3RhdGUuY3VycmVudFRhYnM7XHJcblxyXG4gICAgICBpZiAodGhpcy5kYXRhLlRhYlZpc2libGVGYWxzZUluZGV4KSB7XHJcbiAgICAgICAgdGhpcy5zZXRUYWJzVmlzaWJsZSh0aGlzLmRhdGEuVGFiVmlzaWJsZUZhbHNlSW5kZXgsIGZhbHNlKTtcclxuICAgICAgfVxyXG5cclxuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLlRhYkl0ZW1zKSB7XHJcbiAgICAgIGxldCBpbmQgPSAwO1xyXG4gICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHRoaXMuZGF0YS5UYWJJdGVtcykge1xyXG4gICAgICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnMucHVzaChcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgTGFiZWw6IGZpZWxkLkxhYmVsIGFzIHN0cmluZyxcclxuICAgICAgICAgICAgSWNvbjogZmllbGQuSWNvbiA/IGZpZWxkLkljb24gYXMgc3RyaW5nIDogbnVsbCxcclxuICAgICAgICAgICAgVmlzaWJsZTogWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKGZpZWxkLlZpc2libGUgYXMgc3RyaW5nLCB0aGlzLmdyb3VwKSxcclxuICAgICAgICAgICAgQ291bnRlcjogdHlwZW9mIChmaWVsZFtcIkNvdW50ZXJcIl0pID09PSBcInN0cmluZ1wiID8gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKGZpZWxkW1wiQ291bnRlclwiXSBhcyBzdHJpbmcsIHRoaXMuZ3JvdXApIDogZmllbGRbXCJDb3VudGVyXCJdLFxyXG4gICAgICAgICAgICBJbmRleDogaW5kKytcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RhdGUuYWxsVGFicyA9IHRoaXMuc3RhdGUuY3VycmVudFRhYnM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlZnJlc2hDdXJyZW50VGFicygpIHtcclxuICAgIGNvbnN0IHByZXZpb3VzU3RhdGVUYWJzID0gdGhpcy5zdGF0ZS5hbGxUYWJzO1xyXG5cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZGF0YS5MYWJlbCkpIHtcclxuICAgICAgdGhpcy5zdGF0ZS5jdXJyZW50VGFicyA9IG5ldyBBcnJheTxaVGFiSXRlbT4oKTtcclxuICAgICAgbGV0IHZhbGlkSWNvbiA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5kYXRhLkljb24gJiYgQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEuSWNvbikgJiYgdGhpcy5kYXRhLkljb24ubGVuZ3RoID09PSB0aGlzLmRhdGEuTGFiZWwubGVuZ3RoKSB7XHJcbiAgICAgICAgdmFsaWRJY29uID0gdHJ1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGd1YXJkLWZvci1pblxyXG4gICAgICBmb3IgKGNvbnN0IGluZGV4IGluIHRoaXMuZGF0YS5MYWJlbCkge1xyXG4gICAgICAgIGNvbnN0IHByZXZpb3VzVGFiID0gcHJldmlvdXNTdGF0ZVRhYnMuZmlsdGVyKHggPT4geC5MYWJlbCA9PSB0aGlzLmRhdGEuTGFiZWxbaW5kZXhdKTtcclxuICAgICAgICBjb25zdCBwcmV2aW91c1RhYlZpc2libGUgPSBwcmV2aW91c1RhYi5sZW5ndGggPiAwID8gcHJldmlvdXNUYWJbMF0uVmlzaWJsZSA6IGZhbHNlO1xyXG5cclxuICAgICAgICBjb25zdCBpc1Zpc2libGUgPSBwcmV2aW91c1RhYlZpc2libGU7XHJcbiAgICAgICAgaWYgKGlzVmlzaWJsZSkge1xyXG4gICAgICAgICAgdGhpcy5zdGF0ZS5jdXJyZW50VGFicy5wdXNoKFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgTGFiZWw6IHRoaXMuZGF0YS5MYWJlbFtpbmRleF0sXHJcbiAgICAgICAgICAgICAgSWNvbjogdmFsaWRJY29uID8gdGhpcy5kYXRhLkljb25baW5kZXhdIDogbnVsbCxcclxuICAgICAgICAgICAgICBWaXNpYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgIEluZGV4OiBwYXJzZUludChpbmRleClcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuc3RhdGUuY3VycmVudFRhYnMsIHRoaXMuc3RhdGUuYWxsVGFicyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0VGFiID0gKGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgIHRoaXMuc3RhdGUubGFzdFNlbGVjdGVkVGFiSW5kZXggPSBpbmRleDtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkVGFiKHRhYkluZGV4OiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmxhc3RTZWxlY3RlZFRhYkluZGV4ID09PSB0YWJJbmRleDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRTZWxlY3RUYWIodGFiSW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5zdG9yZVRhYlNlbGVjdEluZGV4VG9TdG9yYWdlKHRhYkluZGV4KTtcclxuICAgIHRoaXMuc3RhdGUubGFzdFNlbGVjdGVkVGFiSW5kZXggPSB0YWJJbmRleDtcclxuICB9XHJcblxyXG4gIHJlc3RvcmVUYWJTZWxlY3Rpb24oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kYXRhLkFsbG93U2F2ZVN0YXRlID09PSBmYWxzZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdHJ5IHJldHJpZXZlIGZyb20gc2Vzc2lvbnN0b3JhZ2VcclxuICAgIGlmICh0aGlzLmdyb3VwLmN0cmxTY29wZSkge1xyXG4gICAgICBjb25zdCB1cmxQYXRoID0gdGhpcy5ncm91cC5jdHJsU2NvcGUuYWN0aXZhdGVkUm91dGUuX3JvdXRlclN0YXRlLnNuYXBzaG90LnVybDtcclxuICAgICAgY29uc3QgdXJsUGF0aFNlZ21lbnQgPSB1cmxQYXRoLnNwbGl0KCcvJyk7XHJcbiAgICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSB1cmxQYXRoU2VnbWVudFt1cmxQYXRoU2VnbWVudC5sZW5ndGggLSAxXSArIHRoaXMuZGF0YS5OYW1lO1xyXG4gICAgICBsZXQgc2F2ZWRUYWJTZWxlY3Rpb24gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHN0b3JhZ2VLZXkpO1xyXG4gICAgICBpZiAoc2F2ZWRUYWJTZWxlY3Rpb24pIHtcclxuICAgICAgICBzYXZlZFRhYlNlbGVjdGlvbiA9IEpTT04ucGFyc2Uoc2F2ZWRUYWJTZWxlY3Rpb24pO1xyXG4gICAgICAgIGNvbnN0IGFjdGl2YXRlZFJvdXRlVXJsID0gdGhpcy5ncm91cC5jdHJsU2NvcGUuYWN0aXZhdGVkUm91dGUuX3JvdXRlclN0YXRlLnNuYXBzaG90LnVybDtcclxuICAgICAgICBpZiAoc2F2ZWRUYWJTZWxlY3Rpb25bJ3VybCddID09IGFjdGl2YXRlZFJvdXRlVXJsICYmIHNhdmVkVGFiU2VsZWN0aW9uWydwYWdlUGFyYW0nXSA9PSB0aGlzLm1haW5TZXJ2aWNlLmdldE5hdmlnYXRpb25DdXJyZW50UGFyYW0oKSkge1xyXG4gICAgICAgICAgdGhpcy5ncm91cFsndGFiU2VsZWN0aW9ucyddID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcclxuICAgICAgICAgIHRoaXMuZ3JvdXBbJ3RhYlNlbGVjdGlvbnMnXS5zZXQodGhpcy5kYXRhLk5hbWUsIHNhdmVkVGFiU2VsZWN0aW9uWyd0YWJJbmRleCddKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsZXQgdGFiU2VsZWN0aW9uczogTWFwPHN0cmluZywgbnVtYmVyPiA9IFwidGFiU2VsZWN0aW9uc1wiIGluIHRoaXMuZ3JvdXAgPyB0aGlzLmdyb3VwWyd0YWJTZWxlY3Rpb25zJ10gOiBudWxsO1xyXG4gICAgaWYgKHRhYlNlbGVjdGlvbnMgIT09IG51bGwgJiYgdGFiU2VsZWN0aW9ucy5oYXModGhpcy5kYXRhLk5hbWUpKSB7IC8vIHN1YnNlcXVlbnQgbG9hZHNcclxuICAgICAgdGhpcy5zdGF0ZS5sYXN0U2VsZWN0ZWRUYWJJbmRleCA9IHRhYlNlbGVjdGlvbnMuZ2V0KHRoaXMuZGF0YS5OYW1lKTtcclxuXHJcbiAgICB9IGVsc2UgaWYgKHRhYlNlbGVjdGlvbnMgPT09IG51bGwpIHsgLy8gZmlyc3QgbG9hZCBvZiBmaXJzdCB0YWJcclxuICAgICAgdGFiU2VsZWN0aW9ucyA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XHJcbiAgICAgIHRoaXMuZ3JvdXBbJ3RhYlNlbGVjdGlvbnMnXSA9IHRhYlNlbGVjdGlvbnM7XHJcbiAgICAgIHRhYlNlbGVjdGlvbnMuc2V0KHRoaXMuZGF0YS5OYW1lLCAwKTtcclxuXHJcbiAgICB9IGVsc2UgaWYgKCF0YWJTZWxlY3Rpb25zLmhhcyh0aGlzLmRhdGEuTmFtZSkpIHsgLy8gZmlyc3QgbG9hZCBvZiByZXN0IHRhYnNcclxuICAgICAgdGFiU2VsZWN0aW9ucy5zZXQodGhpcy5kYXRhLk5hbWUsIDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uVGFiU2VsZWN0KGUpIHtcclxuICAgIHRoaXMuc3RhdGUubGFzdFNlbGVjdGVkVGFiSW5kZXggPSBlLmluZGV4O1xyXG4gICAgdGhpcy5zYXZlU3RhdGUoZSk7XHJcblxyXG4gICAgY29uc3QgZnVuYyA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuQ2xpY2tFdmVudCk7XHJcbiAgICBpZiAodHlwZW9mIGZ1bmMgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgY2FsbEZ1bmMgPSBmdW5jLmJpbmQodGhpcy5ncm91cC5jdHJsU2NvcGUpO1xyXG4gICAgICBjYWxsRnVuYyhlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F2ZVN0YXRlKGUpIHtcclxuICAgIGlmICh0aGlzLmRhdGEuQWxsb3dTYXZlU3RhdGUgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc3RvcmVUYWJTZWxlY3RJbmRleFRvU3RvcmFnZShlLmluZGV4KTtcclxuXHJcbiAgICBjb25zdCB0YWJTZWxlY3Rpb25zID0gdGhpcy5ncm91cFsndGFiU2VsZWN0aW9ucyddIGFzIE1hcDxzdHJpbmcsIG51bWJlcj47XHJcbiAgICB0YWJTZWxlY3Rpb25zLnNldCh0aGlzLmRhdGEuTmFtZSwgZS5pbmRleCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VGFic1Zpc2libGUgPSAodGFiSW5kZXhlczogbnVtYmVyW10sIHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgaWYgKHRoaXMuc3RhdGUuYWxsVGFicy5sZW5ndGggPD0gTWF0aC5tYXguYXBwbHkobnVsbCwgdGFiSW5kZXhlcykgfHwgTWF0aC5taW4uYXBwbHkobnVsbCwgdGFiSW5kZXhlcykgPCAwKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiSW52YWxpZCBUYWIgaW5kZXggOiBcIiArIHRhYkluZGV4ZXMuam9pbihcIixcIikpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGFiSW5kZXhlcy5mb3JFYWNoKGluZGV4ID0+IHtcclxuICAgICAgdGhpcy5zdGF0ZS5hbGxUYWJzW2luZGV4XS5WaXNpYmxlID0gc3RhdHVzO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJlZnJlc2hDdXJyZW50VGFicygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFRhYkNvdW50ZXIgPSAodGFiSW5kZXg6IG51bWJlciwgY291bnRlcjogbnVtYmVyIHwgc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBsYWJlbHMgPSB0aGlzLmRhdGEuTGFiZWwgPyB0aGlzLmRhdGEuTGFiZWwgOiB0aGlzLmRhdGEuVGFiSXRlbXM7XHJcbiAgICBpZiAobGFiZWxzLmxlbmd0aCA8PSB0YWJJbmRleCB8fCB0YWJJbmRleCA8IDApIHtcclxuICAgICAgY29uc29sZS5sb2coXCJJbnZhbGlkIFRhYiBpbmRleCA6IFwiICsgdGFiSW5kZXgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdGF0ZS5jdXJyZW50VGFic1t0YWJJbmRleF0uQ291bnRlciA9IGNvdW50ZXI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0b3JlVGFiU2VsZWN0SW5kZXhUb1N0b3JhZ2UodGFiSW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5BbGxvd1NhdmVTdGF0ZSkge1xyXG4gICAgICBjb25zdCB1cmxQYXRoID0gdGhpcy5ncm91cC5jdHJsU2NvcGUuYWN0aXZhdGVkUm91dGUuX3JvdXRlclN0YXRlLnNuYXBzaG90LnVybDtcclxuICAgICAgY29uc3QgdXJsUGF0aFNlZ21lbnQgPSB1cmxQYXRoLnNwbGl0KCcvJyk7XHJcbiAgICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSB1cmxQYXRoU2VnbWVudFt1cmxQYXRoU2VnbWVudC5sZW5ndGggLSAxXSArIHRoaXMuZGF0YS5OYW1lO1xyXG5cclxuICAgICAgY29uc3Qgc2VsZWN0ZWRUYWJKc29uID0ge1xyXG4gICAgICAgIHVybDogdXJsUGF0aCxcclxuICAgICAgICBwYWdlUGFyYW06IHRoaXMubWFpblNlcnZpY2UuZ2V0TmF2aWdhdGlvbkN1cnJlbnRQYXJhbSgpLFxyXG4gICAgICAgIHRhYkluZGV4OiB0YWJJbmRleFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KHN0b3JhZ2VLZXksIEpTT04uc3RyaW5naWZ5KHNlbGVjdGVkVGFiSnNvbikpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiIGNsYXNzPVwiY29udGFpbmVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZVwiXHJcbiAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGVcIj5cclxuICA8a2VuZG8tdGFic3RyaXAgY2xhc3M9XCJ6dGFiIGUxdGFnLWNvbnRhaW5lci1zdHlsZTFcIiAja2VuZG9UYWJTdHJpcEluc3RhbmNlIFtrZWVwVGFiQ29udGVudF09XCJ0cnVlXCIgKHRhYlNlbGVjdCk9XCJvblRhYlNlbGVjdCgkZXZlbnQpXCJcclxuICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTFcIiBbY2xhc3NdPVwiZGF0YS5Db21wb25lbnRTdHlsZVR5cGVcIj5cclxuICAgIDxrZW5kby10YWJzdHJpcC10YWIgKm5nRm9yPVwibGV0IHRhYiBvZiBzdGF0ZS5jdXJyZW50VGFiczsgbGV0IGkgPSBpbmRleFwiIFtzZWxlY3RlZF09XCJnZXRTZWxlY3RlZFRhYihpKVwiIFtkaXNhYmxlZF09XCIhdGFiLlZpc2libGVcIlxyXG4gICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUyXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGUyXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1RhYlRpdGxlICpuZ0lmPVwidGFiLlZpc2libGVcIiA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYi1jb250ZW50IGUxdGFnLWNvbnRhaW5lci1zdHlsZTNcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTNcIj5cclxuICAgICAgICAgIDxmYS1pY29uICpuZ0lmPVwiISF0YWIuSWNvblwiIFtpY29uXT1cImdldEZvbnRBd2Vzb21lKHRhYi5JY29uLCBmb250QXdlU29tZVNlcnZpY2UpXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU0XCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU0XCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAge3t0YWIuTGFiZWx9fVxyXG4gICAgICAgICAgPGlvbi1iYWRnZSBjbGFzcz1cInRhYi1pdGVtLWNvdW50ZXIgZTF0YWctY29udGFpbmVyLXN0eWxlNVwiIGNvbG9yPVwiZGFuZ2VyXCIgKm5nSWY9XCIhIXRhYi5Db3VudGVyXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCI+e3t0YWIuQ291bnRlcn19PC9pb24tYmFkZ2U+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1RhYkNvbnRlbnQ+XHJcbiAgICAgICAgPGFwcC16ZGl2IFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNlwiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNlwiIFtkYXRhXT1cImRhdGEgfCB0YWJmaWx0ZXI6IHRhYi5JbmRleCArICcnXCIgW2Zvcm1dPVwiZm9ybVwiIFtncm91cF09XCJncm91cFwiIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiPlxyXG4gICAgICAgIDwvYXBwLXpkaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2tlbmRvLXRhYnN0cmlwLXRhYj5cclxuICA8L2tlbmRvLXRhYnN0cmlwPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -16,13 +16,13 @@ export class TabFilter {
|
|
|
16
16
|
return newTabItem;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
TabFilter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
20
|
-
TabFilter.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
19
|
+
TabFilter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TabFilter, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
20
|
+
TabFilter.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TabFilter, name: "tabfilter" });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TabFilter, decorators: [{
|
|
22
22
|
type: Pipe,
|
|
23
23
|
args: [{
|
|
24
24
|
name: 'tabfilter',
|
|
25
25
|
pure: true
|
|
26
26
|
}]
|
|
27
27
|
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienRhYi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenRhYi96dGFiLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxTQUFTO0lBQ3BCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsTUFBYztRQUNsQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxnRUFBZ0U7UUFDaEUsbUNBQW1DO1FBQ25DLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7O3NHQWRVLFNBQVM7b0dBQVQsU0FBUzsyRkFBVCxTQUFTO2tCQUpyQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxXQUFXO29CQUNqQixJQUFJLEVBQUUsSUFBSTtpQkFDWCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAndGFiZmlsdGVyJyxcclxuICBwdXJlOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJGaWx0ZXIgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0oaXRlbXM6IGFueSwgZmlsdGVyOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgaWYgKCFpdGVtcyB8fCAhZmlsdGVyIHx8ICFpdGVtcy5WYWx1ZSB8fCAhQXJyYXkuaXNBcnJheShpdGVtcy5WYWx1ZSkpIHtcclxuICAgICAgcmV0dXJuIGl0ZW1zO1xyXG4gICAgfVxyXG4gICAgLy8gZmlsdGVyIGl0ZW1zIGFycmF5LCBpdGVtcyB3aGljaCBtYXRjaCBhbmQgcmV0dXJuIHRydWUgd2lsbCBiZVxyXG4gICAgLy8ga2VwdCwgZmFsc2Ugd2lsbCBiZSBmaWx0ZXJlZCBvdXRcclxuICAgIGNvbnN0IHZhbHVlID0gaXRlbXMuVmFsdWUuZmlsdGVyKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBpdGVtLlRhYkFyZWEgKyAnJztcclxuICAgICAgcmV0dXJuIHRhcmdldC5pbmRleE9mKGZpbHRlcikgIT09IC0xO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBuZXdUYWJJdGVtID0gT2JqZWN0LmFzc2lnbih7fSwgaXRlbXMpO1xyXG4gICAgbmV3VGFiSXRlbS5WYWx1ZSA9IHZhbHVlO1xyXG4gICAgcmV0dXJuIG5ld1RhYkl0ZW07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -136,13 +136,13 @@ export class ZtextComponent extends InputFieldBase {
|
|
|
136
136
|
return false;
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
|
-
ZtextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
140
|
-
ZtextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
139
|
+
ZtextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZtextComponent, deps: [{ token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
140
|
+
ZtextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZtextComponent, selector: "app-ztext", viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textbox"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"form\" class=\"ztext-container e1tag-style\" [style]=\"componentProperties.style.style\">\r\n <ion-input *ngIf=\"isMobileScreen()\" [id]=\"data.Value\" [formControlName]=\"data.Value\" [type]=\"mapInputType(data.Type)\"\r\n [placeholder]=\"data.PlaceHolder\" clearOnEdit [minlength]=\"data.MinLength\" [maxlength]=\"data.MaxLength\"\r\n [attr.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [style.text-align]=\"data.RightAlign ? 'right' : 'left'\" [inputmode]=\"mapInputMode(data.Type)\"\r\n [style]=\"componentProperties.style.style1\" (click)='onClick($event)'\r\n (ionChange)=\"onChange($event, $event.target.value)\" class=\"e1tag-style1\">\r\n </ion-input>\r\n <kendo-textbox *ngIf=\"!isMobileScreen()\" class=\"input-field e1tag-style1\" [id]=\"data.Value\"\r\n [formControlName]=\"data.Value\" [style]=\"componentProperties.style.style1\" [type]=\"mapInputType(data.Type)\"\r\n [placeholder]=\"data.PlaceHolder\" [clearButton]=\"showClearButton\" [minlength]=\"data.MinLength\"\r\n [maxlength]=\"data.MaxLength\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [style.text-align]=\"data.RightAlign ? 'right' : 'left'\" (input)=\"onChange($event, $event.target.value)\"\r\n (click)=\"onClick($event, $event.target.value)\" #textbox>\r\n <ng-template kendoTextBoxSuffixTemplate *ngIf=\"adornmentList\">\r\n <button kendoButton *ngIf=\"data.OnClick\" look=\"clear\" icon=\"close-circle\" class=\"textbox-clearbutton e1tag-style2\"\r\n [style]=\"componentProperties.style.style2\" (click)=\"readOnlyOnClear()\"></button>\r\n <!-- For Adornments feature -->\r\n <div *ngFor=\"let adornment of adornmentList\" [style]=\"componentProperties.style.style3\" class=\"e1tag-style3\">\r\n <kendo-textbox-separator *ngIf=\"!adornment.HideSeperator\" class=\"textbox-separator e1tag-style4\"\r\n [style]=\"componentProperties.style.style4\">\r\n </kendo-textbox-separator>\r\n <button kendoButton [look]=\"adornmentLook(adornment)\" [icon]=\"adornment.Icon\"\r\n (click)=\"onAdornmentClick(adornment)\" class=\"e1tag-style5\" [style]=\"componentProperties.style.style5\"\r\n [style.background-color]=\"getAdornmentBackgroundColor(adornment)\"></button>\r\n </div>\r\n </ng-template>\r\n </kendo-textbox>\r\n</div>\r\n", styles: [".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)}.divtextbox{justify-content:space-between;width:99%}.k-textbox{color:var(--z-text-color)}.textbox-separator{margin-top:0}.textbox-clearbutton{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;outline:0;cursor:pointer;opacity:.5}.textbox-clearbutton:hover{opacity:100!important}.icon-button{text-align:center;padding-top:10px}.adornments-icon-mobile{margin-bottom:0;margin-left:5px;width:28px;height:28px}\n"], components: [{ type: i2.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { type: i3.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "errorIcon", "clearButtonIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i3.InputSeparatorComponent, selector: "kendo-input-separator, kendo-textbox-separator" }], directives: [{ type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i3.TextBoxSuffixTemplateDirective, selector: "[kendoTextBoxSuffixTemplate]" }, { type: i6.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZtextComponent, decorators: [{
|
|
142
142
|
type: Component,
|
|
143
143
|
args: [{ selector: "app-ztext", template: "<div [formGroup]=\"form\" class=\"ztext-container e1tag-style\" [style]=\"componentProperties.style.style\">\r\n <ion-input *ngIf=\"isMobileScreen()\" [id]=\"data.Value\" [formControlName]=\"data.Value\" [type]=\"mapInputType(data.Type)\"\r\n [placeholder]=\"data.PlaceHolder\" clearOnEdit [minlength]=\"data.MinLength\" [maxlength]=\"data.MaxLength\"\r\n [attr.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [style.text-align]=\"data.RightAlign ? 'right' : 'left'\" [inputmode]=\"mapInputMode(data.Type)\"\r\n [style]=\"componentProperties.style.style1\" (click)='onClick($event)'\r\n (ionChange)=\"onChange($event, $event.target.value)\" class=\"e1tag-style1\">\r\n </ion-input>\r\n <kendo-textbox *ngIf=\"!isMobileScreen()\" class=\"input-field e1tag-style1\" [id]=\"data.Value\"\r\n [formControlName]=\"data.Value\" [style]=\"componentProperties.style.style1\" [type]=\"mapInputType(data.Type)\"\r\n [placeholder]=\"data.PlaceHolder\" [clearButton]=\"showClearButton\" [minlength]=\"data.MinLength\"\r\n [maxlength]=\"data.MaxLength\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [style.text-align]=\"data.RightAlign ? 'right' : 'left'\" (input)=\"onChange($event, $event.target.value)\"\r\n (click)=\"onClick($event, $event.target.value)\" #textbox>\r\n <ng-template kendoTextBoxSuffixTemplate *ngIf=\"adornmentList\">\r\n <button kendoButton *ngIf=\"data.OnClick\" look=\"clear\" icon=\"close-circle\" class=\"textbox-clearbutton e1tag-style2\"\r\n [style]=\"componentProperties.style.style2\" (click)=\"readOnlyOnClear()\"></button>\r\n <!-- For Adornments feature -->\r\n <div *ngFor=\"let adornment of adornmentList\" [style]=\"componentProperties.style.style3\" class=\"e1tag-style3\">\r\n <kendo-textbox-separator *ngIf=\"!adornment.HideSeperator\" class=\"textbox-separator e1tag-style4\"\r\n [style]=\"componentProperties.style.style4\">\r\n </kendo-textbox-separator>\r\n <button kendoButton [look]=\"adornmentLook(adornment)\" [icon]=\"adornment.Icon\"\r\n (click)=\"onAdornmentClick(adornment)\" class=\"e1tag-style5\" [style]=\"componentProperties.style.style5\"\r\n [style.background-color]=\"getAdornmentBackgroundColor(adornment)\"></button>\r\n </div>\r\n </ng-template>\r\n </kendo-textbox>\r\n</div>\r\n", styles: [".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)}.divtextbox{justify-content:space-between;width:99%}.k-textbox{color:var(--z-text-color)}.textbox-separator{margin-top:0}.textbox-clearbutton{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;outline:0;cursor:pointer;opacity:.5}.textbox-clearbutton:hover{opacity:100!important}.icon-button{text-align:center;padding-top:10px}.adornments-icon-mobile{margin-bottom:0;margin-left:5px;width:28px;height:28px}\n"] }]
|
|
144
144
|
}], ctorParameters: function () { return [{ type: i1.ZComponentService }]; }, propDecorators: { textbox: [{
|
|
145
145
|
type: ViewChild,
|
|
146
146
|
args: ["textbox"]
|
|
147
147
|
}] } });
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenRleHQvenRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenRleHQvenRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFFOUIsMkNBQTJDO0FBQzNDLE9BQU8sRUFBYyxnQkFBZ0IsRUFBOEQsTUFBTSxpQkFBaUIsQ0FBQztBQUMzSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7O0FBU3hFLE1BQU0sT0FBTyxjQUFlLFNBQVEsY0FBYztJQU9oRCxZQUFZLFdBQThCLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUVsRSxRQUFRO1FBQ04sS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFFN0MsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzVDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQzVDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUM5QztRQUVELElBQUksQ0FBQyxzQkFBc0Is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QUFDO1NBQ2pEO1FBRUQsT0FBTyx3QkFBd0IsQ0FBQztJQUNsQyxDQUFDO0lBRU0sYUFBYSxDQUFDLFNBQThCO1FBQ2pELElBQUksU0FBUyxDQUFDLGFBQWEsRUFBRTtZQUMzQixPQUFPLFNBQVMsQ0FBQyxhQUFhLENBQUM7U0FDaEM7UUFFRCxPQUFPLE9BQU8sQ0FBQTtJQUNoQixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsU0FBOEI7UUFDcEQsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDdEIsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPO2dCQUN6QixJQUFJLEVBQUUsU0FBUzthQUNTLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFTSxlQUFlO1FBQ3BCLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7NEdBOUlVLGNBQWM7Z0dBQWQsY0FBYyw0S0NsQjNCLHFuRkErQkE7NEZEYmEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxXQUFXO3dHQUtDLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIsIFpDb21wb25lbnRPdXRwdXRFdmVudCwgQ2xpY2thYmxlSWNvbnMsIEFkb3JubWVudFByb3BlcnRpZXMgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL2lucHV0ZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVGV4dEJveENvbXBvbmVudCB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1pbnB1dHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC16dGV4dFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4venRleHQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4venRleHQuY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFp0ZXh0Q29tcG9uZW50IGV4dGVuZHMgSW5wdXRGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoXCJ0ZXh0Ym94XCIpIHRleHRib3g6IFRleHRCb3hDb21wb25lbnQ7XHJcblxyXG4gIHB1YmxpYyBpY29uTGlzdDogQ2xpY2thYmxlSWNvbnNbXTtcclxuICBwdWJsaWMgYWRvcm5tZW50TGlzdDogYW55W107XHJcbiAgcHVibGljIHNob3dDbGVhckJ1dHRvbjogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UpIHsgc3VwZXIoY29tcFNlcnZpY2UpIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5zZXR1cElubmVyRmllbGQoKTtcclxuICAgIHRoaXMuYWRvcm5tZW50TGlzdCA9IHRoaXMuZGF0YS5BZG9ybm1lbnRMaXN0O1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGEuT25DbGljayAmJiAhdGhpcy5kYXRhLlJlYWRPbmx5KSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5ID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KSB7XHJcbiAgICAgIHRoaXMuc2hvd0NsZWFyQnV0dG9uID0gdGhpcy5kYXRhLkNsZWFyQnV0dG9uO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2V0dXBDbGlja2FibGVJY29uTGlzdCgpO1xyXG4gICAgc3VwZXIuZm9jdXNPbkRlZmF1bHQodGhpcy5mb2N1cy5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBDbGlja2FibGVJY29uTGlzdCgpIHtcclxuICAgIHRoaXMuaWNvbkxpc3QgPSB0aGlzLmRhdGEuQ2xpY2thYmxlSWNvbnM7XHJcbiAgICBpZiAodGhpcy5pY29uTGlzdCkge1xyXG4gICAgICBpZiAodGhpcy5pY29uTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5pY29uTGlzdC5mb3JFYWNoKChpOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChpLlRvb2x0aXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBpLlRvb2x0aXAgPSBcIlwiO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGkuVG9vbHRpcC5pbmRleE9mKFwiZ3JvdXAuXCIpICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgIGkuVG9vbHRpcCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCBpLlRvb2x0aXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvLyBEZWZhdWx0IHBvc2l0aW9uIHRvcC4gcmlnaHQgfCBib3R0b20gfCB0b3AgfCBsZWZ0XHJcbiAgICAgICAgICBpZiAoaS5Qb3NpdGlvbiA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGkuUG9zaXRpb24gPSBcInRvcFwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtYXBJbnB1dFR5cGUoZmllbGRUeXBlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChmaWVsZFR5cGUpIHtcclxuICAgICAgY2FzZSBcImRhdGVcIjpcclxuICAgICAgICByZXR1cm4gXCJkYXRlXCI7XHJcbiAgICAgIGNhc2UgXCJ6dGV4dFwiOlxyXG4gICAgICAgIHJldHVybiBcInRleHRcIjtcclxuICAgICAgY2FzZSBcIm51bWJlclwiOlxyXG4gICAgICAgIHJldHVybiBcIm51bWJlclwiO1xyXG4gICAgICBjYXNlIFwiY3VycmVuY3lcIjpcclxuICAgICAgICByZXR1cm4gXCJudW1iZXJcIjtcclxuICAgICAgY2FzZSBcImVtYWlsXCI6XHJcbiAgICAgICAgcmV0dXJuIFwiZW1haWxcIjtcclxuICAgICAgY2FzZSBcInBhc3N3b3JkXCI6XHJcbiAgICAgICAgcmV0dXJuIFwicGFzc3dvcmRcIjtcclxuICAgICAgY2FzZSBcInNlYXJjaFwiOlxyXG4gICAgICAgIHJldHVybiBcInNlYXJjaFwiO1xyXG4gICAgICBjYXNlIFwidGVsXCI6XHJcbiAgICAgICAgcmV0dXJuIFwidGVsXCI7XHJcbiAgICAgIGNhc2UgXCJ0ZXh0XCI6XHJcbiAgICAgICAgcmV0dXJuIFwidGV4dFwiO1xyXG4gICAgICBjYXNlIFwidGltZVwiOlxyXG4gICAgICAgIHJldHVybiBcInRpbWVcIjtcclxuICAgICAgY2FzZSBcInVybFwiOlxyXG4gICAgICAgIHJldHVybiBcInVybFwiO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBcInRleHRcIjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1hcElucHV0TW9kZShmaWVsZFR5cGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKGZpZWxkVHlwZSkge1xyXG4gICAgICBjYXNlIFwiZGF0ZVwiOlxyXG4gICAgICAgIHJldHVybiBcIm5vbmVcIjtcclxuICAgICAgY2FzZSBcInp0ZXh0XCI6XHJcbiAgICAgICAgcmV0dXJuIFwidGV4dFwiO1xyXG4gICAgICBjYXNlIFwibnVtYmVyXCI6XHJcbiAgICAgICAgcmV0dXJuIFwiZGVjaW1hbFwiO1xyXG4gICAgICBjYXNlIFwiY3VycmVuY3lcIjpcclxuICAgICAgICByZXR1cm4gXCJkZWNpbWFsXCI7XHJcbiAgICAgIGNhc2UgXCJlbWFpbFwiOlxyXG4gICAgICAgIHJldHVybiBcImVtYWlsXCI7XHJcbiAgICAgIGNhc2UgXCJwYXNzd29yZFwiOlxyXG4gICAgICAgIHJldHVybiBcInRleHRcIjtcclxuICAgICAgY2FzZSBcInNlYXJjaFwiOlxyXG4gICAgICAgIHJldHVybiBcInNlYXJjaFwiO1xyXG4gICAgICBjYXNlIFwidGVsXCI6XHJcbiAgICAgICAgcmV0dXJuIFwidGVsXCI7XHJcbiAgICAgIGNhc2UgXCJ0ZXh0XCI6XHJcbiAgICAgICAgcmV0dXJuIFwidGV4dFwiO1xyXG4gICAgICBjYXNlIFwidGltZVwiOlxyXG4gICAgICAgIHJldHVybiBcIm5vbmVcIjtcclxuICAgICAgY2FzZSBcInVybFwiOlxyXG4gICAgICAgIHJldHVybiBcInVybFwiO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBcInRleHRcIjtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvKioqKioqKioqKiBBZG9ybm1lbnQgKioqKioqKioqKi9cclxuICBwdWJsaWMgZ2V0QWRvcm5tZW50QmFja2dyb3VuZENvbG9yKGFkb3JubWVudDogQWRvcm5tZW50UHJvcGVydGllcykge1xyXG4gICAgaWYgKGFkb3JubWVudC5CYWNrZ3JvdW5kQ29sb3IpIHtcclxuICAgICAgcmV0dXJuIGFkb3JubWVudC5CYWNrZ3JvdW5kQ29sb3IgKyBcIiFpbXBvcnRhbnRcIjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gXCJ0cmFuc3BhcmVudCAhaW1wb3J0YW50XCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRvcm5tZW50TG9vayhhZG9ybm1lbnQ6IEFkb3JubWVudFByb3BlcnRpZXMpIHtcclxuICAgIGlmIChhZG9ybm1lbnQuQWRvcm5tZW50TG9vaykge1xyXG4gICAgICByZXR1cm4gYWRvcm5tZW50LkFkb3JubWVudExvb2s7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICdjbGVhcidcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkFkb3JubWVudENsaWNrKGFkb3JubWVudDogQWRvcm5tZW50UHJvcGVydGllcykge1xyXG4gICAgaWYgKGFkb3JubWVudC5PbkNsaWNrKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuc3ViamVjdC5uZXh0KHtcclxuICAgICAgICB0eXBlOiAnenRleHQtYWRvcm5tZW50JyxcclxuICAgICAgICB0YXJnZXQ6IGFkb3JubWVudC5PbkNsaWNrLFxyXG4gICAgICAgIGRhdGE6IGFkb3JubWVudFxyXG4gICAgICB9IGFzIFpDb21wb25lbnRPdXRwdXRFdmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVhZE9ubHlPbkNsZWFyKCkge1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5zZXRNb2RlbFZhbHVlKHRoaXMuZGF0YS5WYWx1ZSwgbnVsbCwgdGhpcy5ncm91cCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZm9jdXMoKSB7XHJcbiAgICBpZiAodGhpcy50ZXh0Ym94KSB7XHJcbiAgICAgIHRoaXMudGV4dGJveC5mb2N1cygpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cInp0ZXh0LWNvbnRhaW5lciBlMXRhZy1zdHlsZVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlXCI+XHJcbiAgPGlvbi1pbnB1dCAqbmdJZj1cImlzTW9iaWxlU2NyZWVuKClcIiBbaWRdPVwiZGF0YS5WYWx1ZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZGF0YS5WYWx1ZVwiIFt0eXBlXT1cIm1hcElucHV0VHlwZShkYXRhLlR5cGUpXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJkYXRhLlBsYWNlSG9sZGVyXCIgY2xlYXJPbkVkaXQgW21pbmxlbmd0aF09XCJkYXRhLk1pbkxlbmd0aFwiIFttYXhsZW5ndGhdPVwiZGF0YS5NYXhMZW5ndGhcIlxyXG4gICAgW2F0dHIuZGlzYWJsZWRdPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgIFtzdHlsZS50ZXh0LWFsaWduXT1cImRhdGEuUmlnaHRBbGlnbiA/ICdyaWdodCcgOiAnbGVmdCdcIiBbaW5wdXRtb2RlXT1cIm1hcElucHV0TW9kZShkYXRhLlR5cGUpXCJcclxuICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMVwiIChjbGljayk9J29uQ2xpY2soJGV2ZW50KSdcclxuICAgIChpb25DaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50LCAkZXZlbnQudGFyZ2V0LnZhbHVlKVwiIGNsYXNzPVwiZTF0YWctc3R5bGUxXCI+XHJcbiAgPC9pb24taW5wdXQ+XHJcbiAgPGtlbmRvLXRleHRib3ggKm5nSWY9XCIhaXNNb2JpbGVTY3JlZW4oKVwiIGNsYXNzPVwiaW5wdXQtZmllbGQgZTF0YWctc3R5bGUxXCIgW2lkXT1cImRhdGEuVmFsdWVcIlxyXG4gICAgW2Zvcm1Db250cm9sTmFtZV09XCJkYXRhLlZhbHVlXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUxXCIgW3R5cGVdPVwibWFwSW5wdXRUeXBlKGRhdGEuVHlwZSlcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cImRhdGEuUGxhY2VIb2xkZXJcIiBbY2xlYXJCdXR0b25dPVwic2hvd0NsZWFyQnV0dG9uXCIgW21pbmxlbmd0aF09XCJkYXRhLk1pbkxlbmd0aFwiXHJcbiAgICBbbWF4bGVuZ3RoXT1cImRhdGEuTWF4TGVuZ3RoXCJcclxuICAgIFtyZWFkb25seV09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgW2NsYXNzLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICBbc3R5bGUudGV4dC1hbGlnbl09XCJkYXRhLlJpZ2h0QWxpZ24gPyAncmlnaHQnIDogJ2xlZnQnXCIgKGlucHV0KT1cIm9uQ2hhbmdlKCRldmVudCwgJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxyXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50LCAkZXZlbnQudGFyZ2V0LnZhbHVlKVwiICN0ZXh0Ym94PlxyXG4gICAgPG5nLXRlbXBsYXRlIGtlbmRvVGV4dEJveFN1ZmZpeFRlbXBsYXRlICpuZ0lmPVwiYWRvcm5tZW50TGlzdFwiPlxyXG4gICAgICA8YnV0dG9uIGtlbmRvQnV0dG9uICpuZ0lmPVwiZGF0YS5PbkNsaWNrXCIgbG9vaz1cImNsZWFyXCIgaWNvbj1cImNsb3NlLWNpcmNsZVwiIGNsYXNzPVwidGV4dGJveC1jbGVhcmJ1dHRvbiBlMXRhZy1zdHlsZTJcIlxyXG4gICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMlwiIChjbGljayk9XCJyZWFkT25seU9uQ2xlYXIoKVwiPjwvYnV0dG9uPlxyXG4gICAgICA8IS0tIEZvciBBZG9ybm1lbnRzIGZlYXR1cmUgLS0+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGFkb3JubWVudCBvZiBhZG9ybm1lbnRMaXN0XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUzXCIgY2xhc3M9XCJlMXRhZy1zdHlsZTNcIj5cclxuICAgICAgICA8a2VuZG8tdGV4dGJveC1zZXBhcmF0b3IgKm5nSWY9XCIhYWRvcm5tZW50LkhpZGVTZXBlcmF0b3JcIiBjbGFzcz1cInRleHRib3gtc2VwYXJhdG9yIGUxdGFnLXN0eWxlNFwiXHJcbiAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTRcIj5cclxuICAgICAgICA8L2tlbmRvLXRleHRib3gtc2VwYXJhdG9yPlxyXG4gICAgICAgIDxidXR0b24ga2VuZG9CdXR0b24gW2xvb2tdPVwiYWRvcm5tZW50TG9vayhhZG9ybm1lbnQpXCIgW2ljb25dPVwiYWRvcm5tZW50Lkljb25cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWRvcm5tZW50Q2xpY2soYWRvcm5tZW50KVwiIGNsYXNzPVwiZTF0YWctc3R5bGU1XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGU1XCJcclxuICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImdldEFkb3JubWVudEJhY2tncm91bmRDb2xvcihhZG9ybm1lbnQpXCI+PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2tlbmRvLXRleHRib3g+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenRleHQvenRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenRleHQvenRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFFOUIsMkNBQTJDO0FBQzNDLE9BQU8sRUFBYyxnQkFBZ0IsRUFBOEQsTUFBTSxpQkFBaUIsQ0FBQztBQUMzSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7O0FBU3hFLE1BQU0sT0FBTyxjQUFlLFNBQVEsY0FBYztJQU9oRCxZQUFZLFdBQThCLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUVsRSxRQUFRO1FBQ04sS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFFN0MsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzVDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQzVDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUM5QztRQUVELElBQUksQ0FBQyxzQkFBc0Is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QUFDO1NBQ2pEO1FBRUQsT0FBTyx3QkFBd0IsQ0FBQztJQUNsQyxDQUFDO0lBRU0sYUFBYSxDQUFDLFNBQThCO1FBQ2pELElBQUksU0FBUyxDQUFDLGFBQWEsRUFBRTtZQUMzQixPQUFPLFNBQVMsQ0FBQyxhQUFhLENBQUM7U0FDaEM7UUFFRCxPQUFPLE9BQU8sQ0FBQTtJQUNoQixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsU0FBOEI7UUFDcEQsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDdEIsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPO2dCQUN6QixJQUFJLEVBQUUsU0FBUzthQUNTLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFTSxlQUFlO1FBQ3BCLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7MkdBOUlVLGNBQWM7K0ZBQWQsY0FBYyw0S0NsQjNCLHFuRkErQkE7MkZEYmEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxXQUFXO3dHQUtDLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIsIFpDb21wb25lbnRPdXRwdXRFdmVudCwgQ2xpY2thYmxlSWNvbnMsIEFkb3JubWVudFByb3BlcnRpZXMgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL2lucHV0ZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVGV4dEJveENvbXBvbmVudCB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1pbnB1dHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC16dGV4dFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4venRleHQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4venRleHQuY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFp0ZXh0Q29tcG9uZW50IGV4dGVuZHMgSW5wdXRGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoXCJ0ZXh0Ym94XCIpIHRleHRib3g6IFRleHRCb3hDb21wb25lbnQ7XHJcblxyXG4gIHB1YmxpYyBpY29uTGlzdDogQ2xpY2thYmxlSWNvbnNbXTtcclxuICBwdWJsaWMgYWRvcm5tZW50TGlzdDogYW55W107XHJcbiAgcHVibGljIHNob3dDbGVhckJ1dHRvbjogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UpIHsgc3VwZXIoY29tcFNlcnZpY2UpIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5zZXR1cElubmVyRmllbGQoKTtcclxuICAgIHRoaXMuYWRvcm5tZW50TGlzdCA9IHRoaXMuZGF0YS5BZG9ybm1lbnRMaXN0O1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGEuT25DbGljayAmJiAhdGhpcy5kYXRhLlJlYWRPbmx5KSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5ID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KSB7XHJcbiAgICAgIHRoaXMuc2hvd0NsZWFyQnV0dG9uID0gdGhpcy5kYXRhLkNsZWFyQnV0dG9uO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2V0dXBDbGlja2FibGVJY29uTGlzdCgpO1xyXG4gICAgc3VwZXIuZm9jdXNPbkRlZmF1bHQodGhpcy5mb2N1cy5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBDbGlja2FibGVJY29uTGlzdCgpIHtcclxuICAgIHRoaXMuaWNvbkxpc3QgPSB0aGlzLmRhdGEuQ2xpY2thYmxlSWNvbnM7XHJcbiAgICBpZiAodGhpcy5pY29uTGlzdCkge1xyXG4gICAgICBpZiAodGhpcy5pY29uTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5pY29uTGlzdC5mb3JFYWNoKChpOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChpLlRvb2x0aXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBpLlRvb2x0aXAgPSBcIlwiO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGkuVG9vbHRpcC5pbmRleE9mKFwiZ3JvdXAuXCIpICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgIGkuVG9vbHRpcCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCBpLlRvb2x0aXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvLyBEZWZhdWx0IHBvc2l0aW9uIHRvcC4gcmlnaHQgfCBib3R0b20gfCB0b3AgfCBsZWZ0XHJcbiAgICAgICAgICBpZiAoaS5Qb3NpdGlvbiA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGkuUG9zaXRpb24gPSBcInRvcFwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtYXBJbnB1dFR5cGUoZmllbGRUeXBlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChmaWVsZFR5cGUpIHtcclxuICAgICAgY2FzZSBcImRhdGVcIjpcclxuICAgICAgICByZXR1cm4gXCJkYXRlXCI7XHJcbiAgICAgIGNhc2UgXCJ6dGV4dFwiOlxyXG4gICAgICAgIHJldHVybiBcInRleHRcIjtcclxuICAgICAgY2FzZSBcIm51bWJlclwiOlxyXG4gICAgICAgIHJldHVybiBcIm51bWJlclwiO1xyXG4gICAgICBjYXNlIFwiY3VycmVuY3lcIjpcclxuICAgICAgICByZXR1cm4gXCJudW1iZXJcIjtcclxuICAgICAgY2FzZSBcImVtYWlsXCI6XHJcbiAgICAgICAgcmV0dXJuIFwiZW1haWxcIjtcclxuICAgICAgY2FzZSBcInBhc3N3b3JkXCI6XHJcbiAgICAgICAgcmV0dXJuIFwicGFzc3dvcmRcIjtcclxuICAgICAgY2FzZSBcInNlYXJjaFwiOlxyXG4gICAgICAgIHJldHVybiBcInNlYXJjaFwiO1xyXG4gICAgICBjYXNlIFwidGVsXCI6XHJcbiAgICAgICAgcmV0dXJuIFwidGVsXCI7XHJcbiAgICAgIGNhc2UgXCJ0ZXh0XCI6XHJcbiAgICAgICAgcmV0dXJuIFwidGV4dFwiO1xyXG4gICAgICBjYXNlIFwidGltZVwiOlxyXG4gICAgICAgIHJldHVybiBcInRpbWVcIjtcclxuICAgICAgY2FzZSBcInVybFwiOlxyXG4gICAgICAgIHJldHVybiBcInVybFwiO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBcInRleHRcIjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1hcElucHV0TW9kZShmaWVsZFR5cGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKGZpZWxkVHlwZSkge1xyXG4gICAgICBjYXNlIFwiZGF0ZVwiOlxyXG4gICAgICAgIHJldHVybiBcIm5vbmVcIjtcclxuICAgICAgY2FzZSBcInp0ZXh0XCI6XHJcbiAgICAgICAgcmV0dXJuIFwidGV4dFwiO1xyXG4gICAgICBjYXNlIFwibnVtYmVyXCI6XHJcbiAgICAgICAgcmV0dXJuIFwiZGVjaW1hbFwiO1xyXG4gICAgICBjYXNlIFwiY3VycmVuY3lcIjpcclxuICAgICAgICByZXR1cm4gXCJkZWNpbWFsXCI7XHJcbiAgICAgIGNhc2UgXCJlbWFpbFwiOlxyXG4gICAgICAgIHJldHVybiBcImVtYWlsXCI7XHJcbiAgICAgIGNhc2UgXCJwYXNzd29yZFwiOlxyXG4gICAgICAgIHJldHVybiBcInRleHRcIjtcclxuICAgICAgY2FzZSBcInNlYXJjaFwiOlxyXG4gICAgICAgIHJldHVybiBcInNlYXJjaFwiO1xyXG4gICAgICBjYXNlIFwidGVsXCI6XHJcbiAgICAgICAgcmV0dXJuIFwidGVsXCI7XHJcbiAgICAgIGNhc2UgXCJ0ZXh0XCI6XHJcbiAgICAgICAgcmV0dXJuIFwidGV4dFwiO1xyXG4gICAgICBjYXNlIFwidGltZVwiOlxyXG4gICAgICAgIHJldHVybiBcIm5vbmVcIjtcclxuICAgICAgY2FzZSBcInVybFwiOlxyXG4gICAgICAgIHJldHVybiBcInVybFwiO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBcInRleHRcIjtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvKioqKioqKioqKiBBZG9ybm1lbnQgKioqKioqKioqKi9cclxuICBwdWJsaWMgZ2V0QWRvcm5tZW50QmFja2dyb3VuZENvbG9yKGFkb3JubWVudDogQWRvcm5tZW50UHJvcGVydGllcykge1xyXG4gICAgaWYgKGFkb3JubWVudC5CYWNrZ3JvdW5kQ29sb3IpIHtcclxuICAgICAgcmV0dXJuIGFkb3JubWVudC5CYWNrZ3JvdW5kQ29sb3IgKyBcIiFpbXBvcnRhbnRcIjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gXCJ0cmFuc3BhcmVudCAhaW1wb3J0YW50XCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRvcm5tZW50TG9vayhhZG9ybm1lbnQ6IEFkb3JubWVudFByb3BlcnRpZXMpIHtcclxuICAgIGlmIChhZG9ybm1lbnQuQWRvcm5tZW50TG9vaykge1xyXG4gICAgICByZXR1cm4gYWRvcm5tZW50LkFkb3JubWVudExvb2s7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICdjbGVhcidcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkFkb3JubWVudENsaWNrKGFkb3JubWVudDogQWRvcm5tZW50UHJvcGVydGllcykge1xyXG4gICAgaWYgKGFkb3JubWVudC5PbkNsaWNrKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuc3ViamVjdC5uZXh0KHtcclxuICAgICAgICB0eXBlOiAnenRleHQtYWRvcm5tZW50JyxcclxuICAgICAgICB0YXJnZXQ6IGFkb3JubWVudC5PbkNsaWNrLFxyXG4gICAgICAgIGRhdGE6IGFkb3JubWVudFxyXG4gICAgICB9IGFzIFpDb21wb25lbnRPdXRwdXRFdmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVhZE9ubHlPbkNsZWFyKCkge1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5zZXRNb2RlbFZhbHVlKHRoaXMuZGF0YS5WYWx1ZSwgbnVsbCwgdGhpcy5ncm91cCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZm9jdXMoKSB7XHJcbiAgICBpZiAodGhpcy50ZXh0Ym94KSB7XHJcbiAgICAgIHRoaXMudGV4dGJveC5mb2N1cygpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cInp0ZXh0LWNvbnRhaW5lciBlMXRhZy1zdHlsZVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlXCI+XHJcbiAgPGlvbi1pbnB1dCAqbmdJZj1cImlzTW9iaWxlU2NyZWVuKClcIiBbaWRdPVwiZGF0YS5WYWx1ZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZGF0YS5WYWx1ZVwiIFt0eXBlXT1cIm1hcElucHV0VHlwZShkYXRhLlR5cGUpXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJkYXRhLlBsYWNlSG9sZGVyXCIgY2xlYXJPbkVkaXQgW21pbmxlbmd0aF09XCJkYXRhLk1pbkxlbmd0aFwiIFttYXhsZW5ndGhdPVwiZGF0YS5NYXhMZW5ndGhcIlxyXG4gICAgW2F0dHIuZGlzYWJsZWRdPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgIFtzdHlsZS50ZXh0LWFsaWduXT1cImRhdGEuUmlnaHRBbGlnbiA/ICdyaWdodCcgOiAnbGVmdCdcIiBbaW5wdXRtb2RlXT1cIm1hcElucHV0TW9kZShkYXRhLlR5cGUpXCJcclxuICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMVwiIChjbGljayk9J29uQ2xpY2soJGV2ZW50KSdcclxuICAgIChpb25DaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50LCAkZXZlbnQudGFyZ2V0LnZhbHVlKVwiIGNsYXNzPVwiZTF0YWctc3R5bGUxXCI+XHJcbiAgPC9pb24taW5wdXQ+XHJcbiAgPGtlbmRvLXRleHRib3ggKm5nSWY9XCIhaXNNb2JpbGVTY3JlZW4oKVwiIGNsYXNzPVwiaW5wdXQtZmllbGQgZTF0YWctc3R5bGUxXCIgW2lkXT1cImRhdGEuVmFsdWVcIlxyXG4gICAgW2Zvcm1Db250cm9sTmFtZV09XCJkYXRhLlZhbHVlXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUxXCIgW3R5cGVdPVwibWFwSW5wdXRUeXBlKGRhdGEuVHlwZSlcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cImRhdGEuUGxhY2VIb2xkZXJcIiBbY2xlYXJCdXR0b25dPVwic2hvd0NsZWFyQnV0dG9uXCIgW21pbmxlbmd0aF09XCJkYXRhLk1pbkxlbmd0aFwiXHJcbiAgICBbbWF4bGVuZ3RoXT1cImRhdGEuTWF4TGVuZ3RoXCJcclxuICAgIFtyZWFkb25seV09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgW2NsYXNzLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICBbc3R5bGUudGV4dC1hbGlnbl09XCJkYXRhLlJpZ2h0QWxpZ24gPyAncmlnaHQnIDogJ2xlZnQnXCIgKGlucHV0KT1cIm9uQ2hhbmdlKCRldmVudCwgJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxyXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50LCAkZXZlbnQudGFyZ2V0LnZhbHVlKVwiICN0ZXh0Ym94PlxyXG4gICAgPG5nLXRlbXBsYXRlIGtlbmRvVGV4dEJveFN1ZmZpeFRlbXBsYXRlICpuZ0lmPVwiYWRvcm5tZW50TGlzdFwiPlxyXG4gICAgICA8YnV0dG9uIGtlbmRvQnV0dG9uICpuZ0lmPVwiZGF0YS5PbkNsaWNrXCIgbG9vaz1cImNsZWFyXCIgaWNvbj1cImNsb3NlLWNpcmNsZVwiIGNsYXNzPVwidGV4dGJveC1jbGVhcmJ1dHRvbiBlMXRhZy1zdHlsZTJcIlxyXG4gICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMlwiIChjbGljayk9XCJyZWFkT25seU9uQ2xlYXIoKVwiPjwvYnV0dG9uPlxyXG4gICAgICA8IS0tIEZvciBBZG9ybm1lbnRzIGZlYXR1cmUgLS0+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGFkb3JubWVudCBvZiBhZG9ybm1lbnRMaXN0XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUzXCIgY2xhc3M9XCJlMXRhZy1zdHlsZTNcIj5cclxuICAgICAgICA8a2VuZG8tdGV4dGJveC1zZXBhcmF0b3IgKm5nSWY9XCIhYWRvcm5tZW50LkhpZGVTZXBlcmF0b3JcIiBjbGFzcz1cInRleHRib3gtc2VwYXJhdG9yIGUxdGFnLXN0eWxlNFwiXHJcbiAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTRcIj5cclxuICAgICAgICA8L2tlbmRvLXRleHRib3gtc2VwYXJhdG9yPlxyXG4gICAgICAgIDxidXR0b24ga2VuZG9CdXR0b24gW2xvb2tdPVwiYWRvcm5tZW50TG9vayhhZG9ybm1lbnQpXCIgW2ljb25dPVwiYWRvcm5tZW50Lkljb25cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWRvcm5tZW50Q2xpY2soYWRvcm5tZW50KVwiIGNsYXNzPVwiZTF0YWctc3R5bGU1XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGU1XCJcclxuICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImdldEFkb3JubWVudEJhY2tncm91bmRDb2xvcihhZG9ybm1lbnQpXCI+PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2tlbmRvLXRleHRib3g+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -35,13 +35,13 @@ export class ZtextareaComponent extends InputFieldBase {
|
|
|
35
35
|
return false;
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
ZtextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
39
|
-
ZtextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
38
|
+
ZtextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZtextareaComponent, deps: [{ token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
+
ZtextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZtextareaComponent, selector: "app-ztextarea", viewQueries: [{ propertyName: "textarea", first: true, predicate: ["textarea"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"form\" class=\"ztextarea-container e1tag-style\" [style]=\"componentProperties.style.style\">\r\n <ion-textarea *ngIf=\"isMobileScreen()\" [id]=\"data.Value\" [formControlName]=\"data.Value\"\r\n [placeholder]=\"data.PlaceHolder\" [minlength]=\"data.MinLength\" [maxlength]=\"data.MaxLength\"\r\n [attr.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [rows]=\"data.textAreaRows\" [style]=\"componentProperties.style.style1\" class=\"e1tag-style1\"></ion-textarea>\r\n <kendo-textarea *ngIf=\"!isMobileScreen()\" [id]=\"data.Value\" class=\"input-field e1tag-style1\" [formControlName]=\"data.Value\"\r\n [style.height]=\"data.Height ? data.Height : 'auto'\"\r\n [placeholder]=\"data.PlaceHolder\" [minlength]=\"data.MinLength\" [maxlength]=\"data.MaxLength\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [rows]=\"data.textAreaRows\" [autoSize]=\"!data.textAreaRows\" [resizable]=\"data.Resizable || 'none'\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n (valueChange)=\"onChange($event, $event)\" (click)=\"onItemClick($event)\" [style]=\"componentProperties.style.style1\" #textarea>\r\n\r\n <kendo-textarea-suffix *ngIf=\"data.IsShowCharacterCount\" class=\"character-counter-container e1tag-style2\" [style]=\"componentProperties.style.style2\">\r\n <span class=\"character-counter e1tag-style3\" [style]=\"componentProperties.style.style3\">{{ charCounterDisplayStr }}</span>\r\n </kendo-textarea-suffix>\r\n </kendo-textarea>\r\n</div>\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)}.character-counter-container{display:flex;justify-content:flex-end;padding:2px 5px;border-top-width:1px;border-top-style:solid;border-color:inherit;font-size:calc(var(--content-font-size) - 1px);color:var(--z-placeholder-color);background:#f0f0f0}\n"], components: [{ type: i2.IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "debounce", "disabled", "enterkeyhint", "inputmode", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "spellcheck", "value", "wrap"] }, { type: i3.TextAreaComponent, selector: "kendo-textarea", inputs: ["focusableId", "flow", "rows", "cols", "maxlength", "tabindex", "tabIndex", "resizable", "size", "rounded", "fillMode"], outputs: ["focus", "blur", "valueChange"], exportAs: ["kendoTextArea"] }, { type: i3.TextAreaSuffixComponent, selector: "kendo-textarea-suffix", exportAs: ["kendoTextAreaSuffix"] }], directives: [{ type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }] });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZtextareaComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
42
|
args: [{ selector: 'app-ztextarea', template: "<div [formGroup]=\"form\" class=\"ztextarea-container e1tag-style\" [style]=\"componentProperties.style.style\">\r\n <ion-textarea *ngIf=\"isMobileScreen()\" [id]=\"data.Value\" [formControlName]=\"data.Value\"\r\n [placeholder]=\"data.PlaceHolder\" [minlength]=\"data.MinLength\" [maxlength]=\"data.MaxLength\"\r\n [attr.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [rows]=\"data.textAreaRows\" [style]=\"componentProperties.style.style1\" class=\"e1tag-style1\"></ion-textarea>\r\n <kendo-textarea *ngIf=\"!isMobileScreen()\" [id]=\"data.Value\" class=\"input-field e1tag-style1\" [formControlName]=\"data.Value\"\r\n [style.height]=\"data.Height ? data.Height : 'auto'\"\r\n [placeholder]=\"data.PlaceHolder\" [minlength]=\"data.MinLength\" [maxlength]=\"data.MaxLength\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [rows]=\"data.textAreaRows\" [autoSize]=\"!data.textAreaRows\" [resizable]=\"data.Resizable || 'none'\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n (valueChange)=\"onChange($event, $event)\" (click)=\"onItemClick($event)\" [style]=\"componentProperties.style.style1\" #textarea>\r\n\r\n <kendo-textarea-suffix *ngIf=\"data.IsShowCharacterCount\" class=\"character-counter-container e1tag-style2\" [style]=\"componentProperties.style.style2\">\r\n <span class=\"character-counter e1tag-style3\" [style]=\"componentProperties.style.style3\">{{ charCounterDisplayStr }}</span>\r\n </kendo-textarea-suffix>\r\n </kendo-textarea>\r\n</div>\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)}.character-counter-container{display:flex;justify-content:flex-end;padding:2px 5px;border-top-width:1px;border-top-style:solid;border-color:inherit;font-size:calc(var(--content-font-size) - 1px);color:var(--z-placeholder-color);background:#f0f0f0}\n"] }]
|
|
43
43
|
}], ctorParameters: function () { return [{ type: i1.ZComponentService }]; }, propDecorators: { textarea: [{
|
|
44
44
|
type: ViewChild,
|
|
45
45
|
args: ["textarea"]
|
|
46
46
|
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienRleHRhcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3p0ZXh0YXJlYS96dGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenRleHRhcmVhL3p0ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUU5QiwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFjLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7OztBQVN4RSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsY0FBYztJQUdwRCxZQUFZLFdBQThCLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUlsRSxRQUFRO1FBQ04sS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDbkgsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEdBQUcsY0FBYyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMvRyxDQUFDO0lBRWUsUUFBUSxDQUFDLEtBQVUsRUFBRSxVQUFnQjtRQUNuRCxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OytHQTdCVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixrTENsQi9CLHV3REFrQkE7MkZEQWEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGVBQWU7d0dBS0YsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkQmFzZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXRmaWVsZGJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUZXh0QXJlYUNvbXBvbmVudCB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWlucHV0cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC16dGV4dGFyZWEnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi96dGV4dGFyZWEuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3p0ZXh0YXJlYS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWnRleHRhcmVhQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoXCJ0ZXh0YXJlYVwiKSB0ZXh0YXJlYTogVGV4dEFyZWFDb21wb25lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbXBTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZSkgeyBzdXBlcihjb21wU2VydmljZSkgfVxyXG5cclxuICBwdWJsaWMgY2hhckNvdW50ZXJEaXNwbGF5U3RyOiBzdHJpbmc7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIuc2V0dXBJbm5lckZpZWxkKCk7XHJcbiAgICB0aGlzLnNldENoYXJDb3VudGVyRGlzcGxheVN0cigpO1xyXG4gICAgc3VwZXIuZm9jdXNPbkRlZmF1bHQodGhpcy5mb2N1cy5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q2hhckNvdW50ZXJEaXNwbGF5U3RyKCkge1xyXG4gICAgY29uc3QgY2hhcmFjdGVyQ291bnQgPSBaQ29tcG9uZW50SGVscGVyLmdldFZhbHVlV2l0aG91dENvbnRpbnVvdXNTcGFjZXModGhpcy5ncm91cC56TW9kZWxbdGhpcy5kYXRhLlZhbHVlXSkubGVuZ3RoO1xyXG4gICAgdGhpcy5jaGFyQ291bnRlckRpc3BsYXlTdHIgPSBgJHtjaGFyYWN0ZXJDb3VudH0gJHt0aGlzLmRhdGEuTWF4TGVuZ3RoID8gKCcgLyAnICsgdGhpcy5kYXRhLk1heExlbmd0aCkgOiAnJ31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIG9uQ2hhbmdlKGV2ZW50OiBhbnksIGZpZWxkVmFsdWU/OiBhbnkpIHtcclxuICAgIHN1cGVyLm9uQ2hhbmdlKGV2ZW50LCBmaWVsZFZhbHVlKTtcclxuICAgIHRoaXMuc2V0Q2hhckNvdW50ZXJEaXNwbGF5U3RyKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZm9jdXMoKSB7XHJcbiAgICBpZiAodGhpcy50ZXh0YXJlYSkge1xyXG4gICAgICB0aGlzLnRleHRhcmVhLmZvY3VzKCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwienRleHRhcmVhLWNvbnRhaW5lciBlMXRhZy1zdHlsZVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlXCI+XHJcbiAgPGlvbi10ZXh0YXJlYSAqbmdJZj1cImlzTW9iaWxlU2NyZWVuKClcIiBbaWRdPVwiZGF0YS5WYWx1ZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZGF0YS5WYWx1ZVwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZGF0YS5QbGFjZUhvbGRlclwiIFttaW5sZW5ndGhdPVwiZGF0YS5NaW5MZW5ndGhcIiBbbWF4bGVuZ3RoXT1cImRhdGEuTWF4TGVuZ3RoXCJcclxuICAgIFthdHRyLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICBbcm93c109XCJkYXRhLnRleHRBcmVhUm93c1wiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMVwiIGNsYXNzPVwiZTF0YWctc3R5bGUxXCI+PC9pb24tdGV4dGFyZWE+XHJcbiAgPGtlbmRvLXRleHRhcmVhICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKClcIiBbaWRdPVwiZGF0YS5WYWx1ZVwiIGNsYXNzPVwiaW5wdXQtZmllbGQgZTF0YWctc3R5bGUxXCIgW2Zvcm1Db250cm9sTmFtZV09XCJkYXRhLlZhbHVlXCJcclxuICAgIFtzdHlsZS5oZWlnaHRdPVwiZGF0YS5IZWlnaHQgPyBkYXRhLkhlaWdodCA6ICdhdXRvJ1wiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZGF0YS5QbGFjZUhvbGRlclwiIFttaW5sZW5ndGhdPVwiZGF0YS5NaW5MZW5ndGhcIiBbbWF4bGVuZ3RoXT1cImRhdGEuTWF4TGVuZ3RoXCJcclxuICAgIFtyZWFkb25seV09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgW3Jvd3NdPVwiZGF0YS50ZXh0QXJlYVJvd3NcIiBbYXV0b1NpemVdPVwiIWRhdGEudGV4dEFyZWFSb3dzXCIgW3Jlc2l6YWJsZV09XCJkYXRhLlJlc2l6YWJsZSB8fCAnbm9uZSdcIlxyXG4gICAgW25nQ2xhc3NdPVwieydkaXNhYmxlZCcgOiAoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSl9XCJcclxuICAgICh2YWx1ZUNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQsICRldmVudClcIiAoY2xpY2spPVwib25JdGVtQ2xpY2soJGV2ZW50KVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMVwiICN0ZXh0YXJlYT5cclxuXHJcbiAgICA8a2VuZG8tdGV4dGFyZWEtc3VmZml4ICpuZ0lmPVwiZGF0YS5Jc1Nob3dDaGFyYWN0ZXJDb3VudFwiIGNsYXNzPVwiY2hhcmFjdGVyLWNvdW50ZXItY29udGFpbmVyIGUxdGFnLXN0eWxlMlwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMlwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImNoYXJhY3Rlci1jb3VudGVyIGUxdGFnLXN0eWxlM1wiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlM1wiPnt7IGNoYXJDb3VudGVyRGlzcGxheVN0ciB9fTwvc3Bhbj5cclxuICAgIDwva2VuZG8tdGV4dGFyZWEtc3VmZml4PlxyXG4gIDwva2VuZG8tdGV4dGFyZWE+XHJcbjwvZGl2PlxyXG4iXX0=
|