@acorex/components 7.21.3 → 7.21.5
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/esm2022/action-sheet/lib/action-sheet.component.mjs +3 -3
- package/esm2022/calendar/lib/calendar.component.mjs +3 -3
- package/esm2022/collapse/lib/collapse.component.mjs +3 -3
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +1 -1
- package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +1 -1
- package/esm2022/list/lib/list.component.mjs +3 -3
- package/esm2022/number-box/lib/number-box.component.mjs +7 -4
- package/esm2022/password-box/lib/password-box.component.mjs +7 -4
- package/esm2022/phone-box/lib/phone-box.component.mjs +9 -6
- package/esm2022/text-area/lib/text-area.component.mjs +4 -5
- package/esm2022/text-box/lib/text-box.component.mjs +7 -4
- package/fesm2022/acorex-components-action-sheet.mjs +2 -2
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +2 -2
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +2 -2
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +1 -1
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +1 -1
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +2 -2
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +6 -3
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +6 -3
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +8 -5
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +3 -4
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +6 -3
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/number-box/lib/number-box.component.d.ts +2 -1
- package/package.json +7 -7
- package/password-box/lib/password-box.component.d.ts +2 -1
- package/phone-box/lib/phone-box.component.d.ts +2 -1
- package/text-box/lib/text-box.component.d.ts +2 -1
@@ -103,7 +103,7 @@ export class AXCollapseComponent extends classes(MXInteractiveComponent, MXLookC
|
|
103
103
|
];
|
104
104
|
}
|
105
105
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXCollapseComponent, deps: [{ token: i1.MXLookableComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
106
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: AXCollapseComponent, selector: "ax-collapse", inputs: { disabled: "disabled", look: "look", isCollapsed: "isCollapsed", showHeader: "showHeader", caption: "caption", icon: "icon", isLoading: "isLoading", headerTemplate: "headerTemplate" }, outputs: { onClick: "onClick", isCollapsedChange: "isCollapsedChange" }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "@if (showHeader) {\n<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick($event)\">\n\n @if(headerTemplate){\n <div class=\"ax-collapse-custom-header-container\">\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { caption, isCollapsed } }\"></ng-container>\n </div>\n }@else{\n <div class=\"ax-collapse-header-container\">\n <div class=\"ax-collapse-header-start\">\n <span class=\"ax-collapse-header-icon\" [class]=\"icon\"> </span>\n <span>\n {{ caption }}\n </span>\n </div>\n <div class=\"ax-collapse-header-end\">\n
|
106
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: AXCollapseComponent, selector: "ax-collapse", inputs: { disabled: "disabled", look: "look", isCollapsed: "isCollapsed", showHeader: "showHeader", caption: "caption", icon: "icon", isLoading: "isLoading", headerTemplate: "headerTemplate" }, outputs: { onClick: "onClick", isCollapsedChange: "isCollapsedChange" }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "@if (showHeader) {\n<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick($event)\">\n\n @if(headerTemplate){\n <div class=\"ax-collapse-custom-header-container\">\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { caption, isCollapsed } }\"></ng-container>\n </div>\n }@else{\n <div class=\"ax-collapse-header-container\">\n <div class=\"ax-collapse-header-start\">\n <span class=\"ax-collapse-header-icon\" [class]=\"icon\"> </span>\n <span>\n {{ caption }}\n </span>\n </div>\n <div class=\"ax-collapse-header-end\">\n @if(isLoading){\n <ax-loading></ax-loading>\n }@else {\n <span class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed, 'rotation-90': !isCollapsed }\"></span>\n }\n </div>\n </div>\n }\n\n</div>\n}\n<div class=\"ax-collapse-body\" [@collapse]=\"isCollapsed\">\n <div class=\"ax-collapse-body-content\">\n <ng-content></ng-content>\n </div>\n</div>", styles: ["ax-collapse,ax-collapse-group{display:block;width:100%;overflow:hidden;font-size:1rem;line-height:1.5rem}ax-collapse-group.ax-look-solid{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-collapse-group.ax-look-solid ax-collapse{border-radius:0;border-inline-end-width:0px;border-left-width:0px;border-top-width:0px}ax-collapse-group.ax-look-solid:last-child{border-bottom-width:0!important}ax-collapse-group.ax-look-fill ax-collapse{margin-bottom:.5rem}ax-collapse-group.ax-look-outline ax-collapse{margin-bottom:.5rem;border-radius:var(--ax-rounded-border-default);border-width:1px}ax-collapse-group.ax-look-flat ax-collapse{margin-bottom:.5rem;border-bottom-width:1px}ax-collapse.ax-look-solid{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-collapse.ax-look-solid .ax-collapse-header{background-color:rgba(var(--ax-color-surface))}ax-collapse.ax-look-fill .ax-collapse-header{border-radius:var(--ax-rounded-border-default);background-color:rgba(var(--ax-color-on-surface))}ax-collapse.ax-look-outline{margin-bottom:.5rem;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-collapse.ax-look-outline .ax-collapse-header{background-color:transparent}ax-collapse.ax-look-flat{margin-bottom:.5rem;border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-collapse.ax-look-flat .ax-collapse-header{background-color:transparent}ax-collapse.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-collapse .ax-collapse-header,ax-collapse .ax-collapse-body{font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-surface-fore))}ax-collapse .ax-collapse-header{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:.75rem}ax-collapse .ax-collapse-header .ax-collapse-header-container{display:flex;justify-content:space-between}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-start{display:flex;align-items:center}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-start:not(:empty) .ax-collapse-header-icon{-webkit-padding-end:.5rem;padding-inline-end:.5rem}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end{display:flex;height:1.5rem;width:1.5rem;align-items:center;justify-content:center}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end .ax-collapse-arrow{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;display:block}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end .ax-collapse-arrow.-rotation-90{transform:rotate(-90deg)}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end .ax-collapse-arrow.rotation-90{transform:rotate(90deg)}ax-collapse .ax-collapse-body{background-color:rgba(var(--ax-color-surface))}ax-collapse .ax-collapse-body .ax-collapse-body-content{padding:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem;-webkit-padding-start:1.25rem;padding-inline-start:1.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], animations: [
|
107
107
|
trigger('collapse', [
|
108
108
|
state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),
|
109
109
|
state('true', style({ height: '0', visibility: 'hidden' })),
|
@@ -121,7 +121,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
121
121
|
transition('false => true', animate(150 + 'ms ease-in')),
|
122
122
|
transition('true => false', animate(150 + 'ms ease-out')),
|
123
123
|
]),
|
124
|
-
], template: "@if (showHeader) {\n<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick($event)\">\n\n @if(headerTemplate){\n <div class=\"ax-collapse-custom-header-container\">\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { caption, isCollapsed } }\"></ng-container>\n </div>\n }@else{\n <div class=\"ax-collapse-header-container\">\n <div class=\"ax-collapse-header-start\">\n <span class=\"ax-collapse-header-icon\" [class]=\"icon\"> </span>\n <span>\n {{ caption }}\n </span>\n </div>\n <div class=\"ax-collapse-header-end\">\n
|
124
|
+
], template: "@if (showHeader) {\n<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick($event)\">\n\n @if(headerTemplate){\n <div class=\"ax-collapse-custom-header-container\">\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { caption, isCollapsed } }\"></ng-container>\n </div>\n }@else{\n <div class=\"ax-collapse-header-container\">\n <div class=\"ax-collapse-header-start\">\n <span class=\"ax-collapse-header-icon\" [class]=\"icon\"> </span>\n <span>\n {{ caption }}\n </span>\n </div>\n <div class=\"ax-collapse-header-end\">\n @if(isLoading){\n <ax-loading></ax-loading>\n }@else {\n <span class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed, 'rotation-90': !isCollapsed }\"></span>\n }\n </div>\n </div>\n }\n\n</div>\n}\n<div class=\"ax-collapse-body\" [@collapse]=\"isCollapsed\">\n <div class=\"ax-collapse-body-content\">\n <ng-content></ng-content>\n </div>\n</div>", styles: ["ax-collapse,ax-collapse-group{display:block;width:100%;overflow:hidden;font-size:1rem;line-height:1.5rem}ax-collapse-group.ax-look-solid{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-collapse-group.ax-look-solid ax-collapse{border-radius:0;border-inline-end-width:0px;border-left-width:0px;border-top-width:0px}ax-collapse-group.ax-look-solid:last-child{border-bottom-width:0!important}ax-collapse-group.ax-look-fill ax-collapse{margin-bottom:.5rem}ax-collapse-group.ax-look-outline ax-collapse{margin-bottom:.5rem;border-radius:var(--ax-rounded-border-default);border-width:1px}ax-collapse-group.ax-look-flat ax-collapse{margin-bottom:.5rem;border-bottom-width:1px}ax-collapse.ax-look-solid{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-collapse.ax-look-solid .ax-collapse-header{background-color:rgba(var(--ax-color-surface))}ax-collapse.ax-look-fill .ax-collapse-header{border-radius:var(--ax-rounded-border-default);background-color:rgba(var(--ax-color-on-surface))}ax-collapse.ax-look-outline{margin-bottom:.5rem;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-collapse.ax-look-outline .ax-collapse-header{background-color:transparent}ax-collapse.ax-look-flat{margin-bottom:.5rem;border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-collapse.ax-look-flat .ax-collapse-header{background-color:transparent}ax-collapse.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-collapse .ax-collapse-header,ax-collapse .ax-collapse-body{font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-surface-fore))}ax-collapse .ax-collapse-header{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:.75rem}ax-collapse .ax-collapse-header .ax-collapse-header-container{display:flex;justify-content:space-between}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-start{display:flex;align-items:center}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-start:not(:empty) .ax-collapse-header-icon{-webkit-padding-end:.5rem;padding-inline-end:.5rem}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end{display:flex;height:1.5rem;width:1.5rem;align-items:center;justify-content:center}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end .ax-collapse-arrow{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;display:block}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end .ax-collapse-arrow.-rotation-90{transform:rotate(-90deg)}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end .ax-collapse-arrow.rotation-90{transform:rotate(90deg)}ax-collapse .ax-collapse-body{background-color:rgba(var(--ax-color-surface))}ax-collapse .ax-collapse-body .ax-collapse-body-content{padding:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem;-webkit-padding-start:1.25rem;padding-inline-start:1.25rem}\n"] }]
|
125
125
|
}], ctorParameters: () => [{ type: i1.MXLookableComponent, decorators: [{
|
126
126
|
type: Optional
|
127
127
|
}, {
|
@@ -146,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
146
146
|
type: HostBinding,
|
147
147
|
args: ['class']
|
148
148
|
}] } });
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbGxhcHNlL3NyYy9saWIvY29sbGFwc2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbGxhcHNlL3NyYy9saWIvY29sbGFwc2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLG1CQUFtQixHQUNwQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdGLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixJQUFJLEVBQ0osV0FBVyxFQUNYLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFFbkMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFlBQVk7SUFBdEQ7O1FBQ0UsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUNsQixDQUFDO0NBQUE7QUFrQkQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxlQUFlLENBQUM7SUFDdkYsWUFHVSxNQUE0QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUZBLFdBQU0sR0FBTixNQUFNLENBQXNCO1FBS3RDOzs7V0FHRztRQUVILFlBQU8sR0FBdUMsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFHdkYsc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFdkQs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c0JBREgsS0FBSztnQkFRSyxTQUFTO3NCQURuQixLQUFLO2dCQWVOLGNBQWM7c0JBRGIsS0FBSztnQkE4QkYsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWENsaWNrRXZlbnQsXG4gIE1YSW50ZXJhY3RpdmVDb21wb25lbnQsXG4gIE1YTG9va0NvbXBvbmVudCxcbiAgTVhMb29rYWJsZUNvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBVVRPX1NUWUxFLCBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcblxuZXhwb3J0IGNsYXNzIEFYQ29sbGFwc2VDbGlja0V2ZW50IGV4dGVuZHMgQVhDbGlja0V2ZW50IHtcbiAgaGFuZGxlZCA9IGZhbHNlO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb2xsYXBzZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xsYXBzZS5jb21wb25lbnQuaHRtbCcsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdsb29rJ10sXG4gIHN0eWxlVXJsczogWycuL2NvbGxhcHNlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignY29sbGFwc2UnLCBbXG4gICAgICBzdGF0ZSgnZmFsc2UnLCBzdHlsZSh7IGhlaWdodDogQVVUT19TVFlMRSwgdmlzaWJpbGl0eTogQVVUT19TVFlMRSB9KSksXG4gICAgICBzdGF0ZSgndHJ1ZScsIHN0eWxlKHsgaGVpZ2h0OiAnMCcsIHZpc2liaWxpdHk6ICdoaWRkZW4nIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2ZhbHNlID0+IHRydWUnLCBhbmltYXRlKDE1MCArICdtcyBlYXNlLWluJykpLFxuICAgICAgdHJhbnNpdGlvbigndHJ1ZSA9PiBmYWxzZScsIGFuaW1hdGUoMTUwICsgJ21zIGVhc2Utb3V0JykpLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbGxhcHNlQ29tcG9uZW50IGV4dGVuZHMgY2xhc3NlcyhNWEludGVyYWN0aXZlQ29tcG9uZW50LCBNWExvb2tDb21wb25lbnQpIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASG9zdCgpXG4gICAgcHJpdmF0ZSBwYXJlbnQ/OiBNWExvb2thYmxlQ29tcG9uZW50LFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgY2xpY2tzIHRoZSBwYW5lbCBoZWFkZXIuXG4gICAqICBAZXZlbnRcbiAgICovXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8QVhDb2xsYXBzZUNsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENvbGxhcHNlQ2xpY2tFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgaXNDb2xsYXBzZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHJpdmF0ZSBfaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgLyoqXG4gICAqICBQcm92aWRpbmcgYSBib29sZWFuIHZhbHVlIGZvciBpdHMgY29sbGFwc2Ugc3RhdGVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgaXNDb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzQ29sbGFwc2VkO1xuICB9XG4gIHB1YmxpYyBzZXQgaXNDb2xsYXBzZWQodjogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdpc0NvbGxhcHNlZCcsXG4gICAgICB2YWx1ZTogdixcbiAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3Nob3dIZWFkZXIgPSB0cnVlO1xuICAvKipcbiAgICogIFByb3ZpZGluZyBhIGJvb2xlYW4gdmFsdWUgZm9yIHNob3cgb3IgaGlkZSBoZWFkZXJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgc2hvd0hlYWRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd0hlYWRlcjtcbiAgfVxuICBwdWJsaWMgc2V0IHNob3dIZWFkZXIodjogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdzaG93SGVhZGVyJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgQElucHV0KClcbiAgY2FwdGlvbiA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGljb24gPSAnJztcblxuICBwcml2YXRlIF9pc0xvYWRpbmcgPSBmYWxzZTtcbiAgLyoqXG4gICAqICBQcm92aWRpbmcgYSBib29sZWFuIHZhbHVlIGZvciBpdHMgY29sbGFwc2Ugc3RhdGVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0xvYWRpbmc7XG4gIH1cbiAgcHVibGljIHNldCBpc0xvYWRpbmcodjogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdpc0xvYWRpbmcnLFxuICAgICAgdmFsdWU6IHYsXG4gICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBoYW5kbGVIZWFkZXJDbGljayhlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5pc0xvYWRpbmcpIHJldHVybjtcbiAgICBjb25zdCBldmVudCA9IHtcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmdldEhvc3RFbGVtZW50KCksXG4gICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgIGhhbmRsZWQ6IGZhbHNlLFxuICAgIH07XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoZXZlbnQpO1xuICAgIGlmICghZXZlbnQuaGFuZGxlZCkge1xuICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICBvcGVuKCkge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSB0cnVlO1xuICB9XG5cbiAgdG9nZ2xlKCkge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhdGhpcy5pc0NvbGxhcHNlZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXG4gICAgICBgJHt0aGlzLmRpc2FibGVkID8gJ2F4LXN0YXRlLWRpc2FibGVkJyA6ICcnfWAsXG4gICAgICBgYXgtbG9vay0ke3RoaXMucGFyZW50Py5sb29rID8gdGhpcy5wYXJlbnQubG9vayA6IHRoaXMubG9va31gLFxuICAgIF07XG4gIH1cbn1cbiIsIkBpZiAoc2hvd0hlYWRlcikge1xuPGRpdiBjbGFzcz1cImF4LWNvbGxhcHNlLWhlYWRlclwiIFtjbGFzcy5heC1zdGF0ZS1jb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWRcIiAoY2xpY2spPVwiaGFuZGxlSGVhZGVyQ2xpY2soJGV2ZW50KVwiPlxuXG4gIEBpZihoZWFkZXJUZW1wbGF0ZSl7XG4gIDxkaXYgY2xhc3M9XCJheC1jb2xsYXBzZS1jdXN0b20taGVhZGVyLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVGVtcGxhdGVcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiB7IGNhcHRpb24sIGlzQ29sbGFwc2VkIH0gfVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgfUBlbHNle1xuICA8ZGl2IGNsYXNzPVwiYXgtY29sbGFwc2UtaGVhZGVyLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1jb2xsYXBzZS1oZWFkZXItc3RhcnRcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYXgtY29sbGFwc2UtaGVhZGVyLWljb25cIiBbY2xhc3NdPVwiaWNvblwiPiA8L3NwYW4+XG4gICAgICA8c3Bhbj5cbiAgICAgICAge3sgY2FwdGlvbiB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1jb2xsYXBzZS1oZWFkZXItZW5kXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNMb2FkaW5nOyBlbHNlIGVsc2VUZW1wbGF0ZVwiPlxuICAgICAgICA8YXgtbG9hZGluZz48L2F4LWxvYWRpbmc+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZVRlbXBsYXRlPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jaGV2cm9uLWxlZnQgYXgtY29sbGFwc2UtYXJyb3dcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJy1yb3RhdGlvbi05MCc6IGlzQ29sbGFwc2VkLCAncm90YXRpb24tOTAnOiAhaXNDb2xsYXBzZWQgfVwiPjwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICB9XG5cbjwvZGl2PlxufVxuPGRpdiBjbGFzcz1cImF4LWNvbGxhcHNlLWJvZHlcIiBbQGNvbGxhcHNlXT1cImlzQ29sbGFwc2VkXCI+XG4gIDxkaXYgY2xhc3M9XCJheC1jb2xsYXBzZS1ib2R5LWNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+Il19
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbGxhcHNlL3NyYy9saWIvY29sbGFwc2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbGxhcHNlL3NyYy9saWIvY29sbGFwc2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLG1CQUFtQixHQUNwQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdGLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixJQUFJLEVBQ0osV0FBVyxFQUNYLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFFbkMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFlBQVk7SUFBdEQ7O1FBQ0UsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUNsQixDQUFDO0NBQUE7QUFrQkQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxlQUFlLENBQUM7SUFDdkYsWUFHVSxNQUE0QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUZBLFdBQU0sR0FBTixNQUFNLENBQXNCO1FBS3RDOzs7V0FHRztRQUVILFlBQU8sR0FBdUMsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFHdkYsc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFdkQs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c0JBREgsS0FBSztnQkFRSyxTQUFTO3NCQURuQixLQUFLO2dCQWVOLGNBQWM7c0JBRGIsS0FBSztnQkE4QkYsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWENsaWNrRXZlbnQsXG4gIE1YSW50ZXJhY3RpdmVDb21wb25lbnQsXG4gIE1YTG9va0NvbXBvbmVudCxcbiAgTVhMb29rYWJsZUNvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBVVRPX1NUWUxFLCBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcblxuZXhwb3J0IGNsYXNzIEFYQ29sbGFwc2VDbGlja0V2ZW50IGV4dGVuZHMgQVhDbGlja0V2ZW50IHtcbiAgaGFuZGxlZCA9IGZhbHNlO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb2xsYXBzZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xsYXBzZS5jb21wb25lbnQuaHRtbCcsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdsb29rJ10sXG4gIHN0eWxlVXJsczogWycuL2NvbGxhcHNlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignY29sbGFwc2UnLCBbXG4gICAgICBzdGF0ZSgnZmFsc2UnLCBzdHlsZSh7IGhlaWdodDogQVVUT19TVFlMRSwgdmlzaWJpbGl0eTogQVVUT19TVFlMRSB9KSksXG4gICAgICBzdGF0ZSgndHJ1ZScsIHN0eWxlKHsgaGVpZ2h0OiAnMCcsIHZpc2liaWxpdHk6ICdoaWRkZW4nIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2ZhbHNlID0+IHRydWUnLCBhbmltYXRlKDE1MCArICdtcyBlYXNlLWluJykpLFxuICAgICAgdHJhbnNpdGlvbigndHJ1ZSA9PiBmYWxzZScsIGFuaW1hdGUoMTUwICsgJ21zIGVhc2Utb3V0JykpLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbGxhcHNlQ29tcG9uZW50IGV4dGVuZHMgY2xhc3NlcyhNWEludGVyYWN0aXZlQ29tcG9uZW50LCBNWExvb2tDb21wb25lbnQpIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASG9zdCgpXG4gICAgcHJpdmF0ZSBwYXJlbnQ/OiBNWExvb2thYmxlQ29tcG9uZW50LFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgY2xpY2tzIHRoZSBwYW5lbCBoZWFkZXIuXG4gICAqICBAZXZlbnRcbiAgICovXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8QVhDb2xsYXBzZUNsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENvbGxhcHNlQ2xpY2tFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgaXNDb2xsYXBzZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHJpdmF0ZSBfaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgLyoqXG4gICAqICBQcm92aWRpbmcgYSBib29sZWFuIHZhbHVlIGZvciBpdHMgY29sbGFwc2Ugc3RhdGVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgaXNDb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzQ29sbGFwc2VkO1xuICB9XG4gIHB1YmxpYyBzZXQgaXNDb2xsYXBzZWQodjogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdpc0NvbGxhcHNlZCcsXG4gICAgICB2YWx1ZTogdixcbiAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3Nob3dIZWFkZXIgPSB0cnVlO1xuICAvKipcbiAgICogIFByb3ZpZGluZyBhIGJvb2xlYW4gdmFsdWUgZm9yIHNob3cgb3IgaGlkZSBoZWFkZXJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgc2hvd0hlYWRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd0hlYWRlcjtcbiAgfVxuICBwdWJsaWMgc2V0IHNob3dIZWFkZXIodjogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdzaG93SGVhZGVyJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgQElucHV0KClcbiAgY2FwdGlvbiA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGljb24gPSAnJztcblxuICBwcml2YXRlIF9pc0xvYWRpbmcgPSBmYWxzZTtcbiAgLyoqXG4gICAqICBQcm92aWRpbmcgYSBib29sZWFuIHZhbHVlIGZvciBpdHMgY29sbGFwc2Ugc3RhdGVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0xvYWRpbmc7XG4gIH1cbiAgcHVibGljIHNldCBpc0xvYWRpbmcodjogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdpc0xvYWRpbmcnLFxuICAgICAgdmFsdWU6IHYsXG4gICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBoYW5kbGVIZWFkZXJDbGljayhlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5pc0xvYWRpbmcpIHJldHVybjtcbiAgICBjb25zdCBldmVudCA9IHtcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmdldEhvc3RFbGVtZW50KCksXG4gICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgIGhhbmRsZWQ6IGZhbHNlLFxuICAgIH07XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoZXZlbnQpO1xuICAgIGlmICghZXZlbnQuaGFuZGxlZCkge1xuICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICBvcGVuKCkge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSB0cnVlO1xuICB9XG5cbiAgdG9nZ2xlKCkge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhdGhpcy5pc0NvbGxhcHNlZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXG4gICAgICBgJHt0aGlzLmRpc2FibGVkID8gJ2F4LXN0YXRlLWRpc2FibGVkJyA6ICcnfWAsXG4gICAgICBgYXgtbG9vay0ke3RoaXMucGFyZW50Py5sb29rID8gdGhpcy5wYXJlbnQubG9vayA6IHRoaXMubG9va31gLFxuICAgIF07XG4gIH1cbn1cbiIsIkBpZiAoc2hvd0hlYWRlcikge1xuPGRpdiBjbGFzcz1cImF4LWNvbGxhcHNlLWhlYWRlclwiIFtjbGFzcy5heC1zdGF0ZS1jb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWRcIiAoY2xpY2spPVwiaGFuZGxlSGVhZGVyQ2xpY2soJGV2ZW50KVwiPlxuXG4gIEBpZihoZWFkZXJUZW1wbGF0ZSl7XG4gIDxkaXYgY2xhc3M9XCJheC1jb2xsYXBzZS1jdXN0b20taGVhZGVyLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVGVtcGxhdGVcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiB7IGNhcHRpb24sIGlzQ29sbGFwc2VkIH0gfVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgfUBlbHNle1xuICA8ZGl2IGNsYXNzPVwiYXgtY29sbGFwc2UtaGVhZGVyLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1jb2xsYXBzZS1oZWFkZXItc3RhcnRcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYXgtY29sbGFwc2UtaGVhZGVyLWljb25cIiBbY2xhc3NdPVwiaWNvblwiPiA8L3NwYW4+XG4gICAgICA8c3Bhbj5cbiAgICAgICAge3sgY2FwdGlvbiB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1jb2xsYXBzZS1oZWFkZXItZW5kXCI+XG4gICAgICBAaWYoaXNMb2FkaW5nKXtcbiAgICAgIDxheC1sb2FkaW5nPjwvYXgtbG9hZGluZz5cbiAgICAgIH1AZWxzZSB7XG4gICAgICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jaGV2cm9uLWxlZnQgYXgtY29sbGFwc2UtYXJyb3dcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICctcm90YXRpb24tOTAnOiBpc0NvbGxhcHNlZCwgJ3JvdGF0aW9uLTkwJzogIWlzQ29sbGFwc2VkIH1cIj48L3NwYW4+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICB9XG5cbjwvZGl2PlxufVxuPGRpdiBjbGFzcz1cImF4LWNvbGxhcHNlLWJvZHlcIiBbQGNvbGxhcHNlXT1cImlzQ29sbGFwc2VkXCI+XG4gIDxkaXYgY2xhc3M9XCJheC1jb2xsYXBzZS1ib2R5LWNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+Il19
|
@@ -100,7 +100,7 @@ export class AXColorPaletteInputComponent extends MXBaseComponent {
|
|
100
100
|
useExisting: AXColorPaletteInputComponent,
|
101
101
|
},
|
102
102
|
AXUnsubscriber,
|
103
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"palette-inputs\">\n @switch(_colorMode){\n\n @case('hex'){\n <div>\n <ax-text-box class=\"ax-sm\" [ngModel]=\"_hex\" [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\"\n [state]=\"isValid ? 'clear' : 'error'\" (onValueChanged)=\"_handleHEXAValueChanged($event)\"\n [mask-options]=\"_hexMaskOptions\">\n </ax-text-box>\n <label>HEX</label>\n </div>\n }\n @case('rgba'){\n <div>\n <ax-number-box class=\"ax-sm\" name=\"r\" [minValue]=\"0\" [maxValue]=\"255\" [ngModel]=\"_rgba.r\" [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\" (onValueChanged)=\"_handleRGBAValueChanged($event)\">\n </ax-number-box>\n <label>R</label>\n </div>\n <div>\n <ax-number-box class=\"ax-sm\" name=\"g\" [minValue]=\"0\" [maxValue]=\"255\" [ngModel]=\"_rgba.g\" [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\" (onValueChanged)=\"_handleRGBAValueChanged($event)\">\n </ax-number-box>\n <label>G</label>\n </div>\n <div>\n <ax-number-box class=\"ax-sm\" name=\"b\" [minValue]=\"0\" [maxValue]=\"255\" [ngModel]=\"_rgba.b\" [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\" (onValueChanged)=\"_handleRGBAValueChanged($event)\">\n </ax-number-box>\n <label>B</label>\n </div>\n <div>\n <ax-number-box class=\"ax-sm\" name=\"a\" [minValue]=\"0\" [maxValue]=\"1\" [ngModel]=\"_rgba.a\" [decimals]=\"2\" [step]=\"0.1\"\n [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\" [showSpinButtons]=\"false\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\">\n </ax-number-box>\n <label>A</label>\n </div>\n }\n }\n</div>\n<button type=\"button\" class=\"ax-general-button ax-button-rounded ax-button-icon ax-sm\"\n (click)=\"_handleChangeInputMode()\" [disabled]=\"_parent.disabled\">\n <span class=\"ax-icon ax-icon-unfold-more\"></span>\n</button>", dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: i4.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
103
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"palette-inputs\">\n @switch(_colorMode){\n\n @case('hex'){\n <div>\n <ax-text-box class=\"ax-sm\" [ngModel]=\"_hex\" [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\"\n [state]=\"isValid ? 'clear' : 'error'\" (onValueChanged)=\"_handleHEXAValueChanged($event)\"\n [mask-options]=\"_hexMaskOptions\">\n </ax-text-box>\n <label>HEX</label>\n </div>\n }\n @case('rgba'){\n <div>\n <ax-number-box class=\"ax-sm\" name=\"r\" [minValue]=\"0\" [maxValue]=\"255\" [ngModel]=\"_rgba.r\" [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\" (onValueChanged)=\"_handleRGBAValueChanged($event)\">\n </ax-number-box>\n <label>R</label>\n </div>\n <div>\n <ax-number-box class=\"ax-sm\" name=\"g\" [minValue]=\"0\" [maxValue]=\"255\" [ngModel]=\"_rgba.g\" [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\" (onValueChanged)=\"_handleRGBAValueChanged($event)\">\n </ax-number-box>\n <label>G</label>\n </div>\n <div>\n <ax-number-box class=\"ax-sm\" name=\"b\" [minValue]=\"0\" [maxValue]=\"255\" [ngModel]=\"_rgba.b\" [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\" (onValueChanged)=\"_handleRGBAValueChanged($event)\">\n </ax-number-box>\n <label>B</label>\n </div>\n <div>\n <ax-number-box class=\"ax-sm\" name=\"a\" [minValue]=\"0\" [maxValue]=\"1\" [ngModel]=\"_rgba.a\" [decimals]=\"2\" [step]=\"0.1\"\n [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\" [showSpinButtons]=\"false\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\">\n </ax-number-box>\n <label>A</label>\n </div>\n }\n }\n</div>\n<button type=\"button\" class=\"ax-general-button ax-button-rounded ax-button-icon ax-sm\"\n (click)=\"_handleChangeInputMode()\" [disabled]=\"_parent.disabled\">\n <span class=\"ax-icon ax-icon-unfold-more\"></span>\n</button>", dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: i4.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
104
104
|
}
|
105
105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXColorPaletteInputComponent, decorators: [{
|
106
106
|
type: Component,
|
@@ -34,7 +34,7 @@ export class AXDataPagerInputSelectorComponent extends AXDataPagerChild {
|
|
34
34
|
[maxValue]="_totalPages"
|
35
35
|
>
|
36
36
|
</ax-number-box>
|
37
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
37
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
38
38
|
}
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXDataPagerInputSelectorComponent, decorators: [{
|
40
40
|
type: Component,
|
@@ -137,7 +137,7 @@ export class AXListComponent extends MXSelectionValueComponent {
|
|
137
137
|
},
|
138
138
|
deps: [[new Optional(), new SkipSelf(), AX_SELECTION_DATA_TOKEN]],
|
139
139
|
},
|
140
|
-
], viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"list-container\" cdkVirtualScrollingElement>\n <ng-content select=\"ax-header\"></ng-content>\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeightSignal()\" [style.--item-height]=\"itemHeightSignal()+'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\">\n <ul>\n <!-- Item Template -->\n <ng-container *cdkVirtualFor=\"let item of listDataSource;let i = index; trackBy: trackByIdx\">\n <ng-container *ngIf=\"item;else loadingTpl\">\n <li
|
140
|
+
], viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"list-container\" cdkVirtualScrollingElement>\n <ng-content select=\"ax-header\"></ng-content>\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeightSignal()\" [style.--item-height]=\"itemHeightSignal()+'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\">\n <ul>\n <!-- Item Template -->\n <ng-container *cdkVirtualFor=\"let item of listDataSource;let i = index; trackBy: trackByIdx\">\n <ng-container *ngIf=\"item;else loadingTpl\">\n <li [class.ax-state-selected]=\"isItemSelected(item)\" class=\"list-item\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\" [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\" [attr.data-id]=\"getValue(item)\">\n <!-- Custom Item Template -->\n <ng-container *ngIf=\"itemTemplate;else defaultItemTpl\">\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: { data:item } }\">\n </ng-container>\n </ng-container>\n <!-- Default Item Template -->\n <ng-template #defaultItemTpl>\n <ng-container *ngIf=\"item;else loadingTpl\">\n <div class=\"ax-label-container\">\n <input class=\"ax-checkbox\" *ngIf=\"multiple && checkbox\" type=\"checkbox\"\n [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\"\n tabindex=\"0\" />\n <span\n [class.ax-checkbox-label]=\"multiple && checkbox\">{{getDisplayText(item)}}</span>\n </div>\n <i class=\"ax-icon ax-icon-done ax-selected-icon\" *ngIf=\"isItemSelected(item) \"></i>\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </cdk-virtual-scroll-viewport>\n <ng-content select=\"ax-footer\"></ng-content>\n</div>\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <li>{{'loading' | translate | async }}</li>\n </ng-template>\n</ng-template>\n<!-- Empty Template -->\n<ng-container *ngIf=\"emptyTemplate && hasItems===false && isLoading===false\">\n <div class=\"empty-container\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </div>\n</ng-container>", styles: ["ax-list{display:block;height:100%;width:100%;font-size:.875rem;line-height:1.25rem}ax-list .list-container{display:flex;height:100%;flex-direction:column}ax-list .empty-container{display:flex;height:var(--ax-size-default);width:100%;align-items:center;justify-content:center;padding-left:.75rem;padding-right:.75rem}ax-list.ax-default .cdk-virtual-scroll-viewport ul li{position:relative;display:flex;height:var(--ax-size-default);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:space-between;-webkit-padding-end:1rem;padding-inline-end:1rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;font-size:.875rem;line-height:1.25rem}ax-list.ax-default .cdk-virtual-scroll-viewport ul li:focus,ax-list.ax-default .cdk-virtual-scroll-viewport ul li:focus-within,ax-list.ax-default .cdk-virtual-scroll-viewport ul li:focus-visible{outline-width:2px;outline-offset:-4px;outline-color:rgba(var(--ax-color-primary-500),1)}ax-list.ax-default .cdk-virtual-scroll-viewport ul li .ax-label-container{display:flex;align-items:center}ax-list.ax-default .cdk-virtual-scroll-viewport ul li .ax-checkbox-label{-webkit-margin-start:.5rem;margin-inline-start:.5rem}ax-list.ax-default .cdk-virtual-scroll-viewport ul li .ax-selected-icon{line-height:2rem;color:rgba(var(--ax-color-primary-500))}ax-list.ax-default .cdk-virtual-scroll-viewport ul li.ax-state-disabled{cursor:not-allowed;opacity:.5}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i2.CdkVirtualScrollableElement, selector: "[cdkVirtualScrollingElement]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
141
141
|
}
|
142
142
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXListComponent, decorators: [{
|
143
143
|
type: Component,
|
@@ -167,7 +167,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
167
167
|
},
|
168
168
|
deps: [[new Optional(), new SkipSelf(), AX_SELECTION_DATA_TOKEN]],
|
169
169
|
},
|
170
|
-
], template: "<div class=\"list-container\" cdkVirtualScrollingElement>\n <ng-content select=\"ax-header\"></ng-content>\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeightSignal()\" [style.--item-height]=\"itemHeightSignal()+'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\">\n <ul>\n <!-- Item Template -->\n <ng-container *cdkVirtualFor=\"let item of listDataSource;let i = index; trackBy: trackByIdx\">\n <ng-container *ngIf=\"item;else loadingTpl\">\n <li
|
170
|
+
], template: "<div class=\"list-container\" cdkVirtualScrollingElement>\n <ng-content select=\"ax-header\"></ng-content>\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeightSignal()\" [style.--item-height]=\"itemHeightSignal()+'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\">\n <ul>\n <!-- Item Template -->\n <ng-container *cdkVirtualFor=\"let item of listDataSource;let i = index; trackBy: trackByIdx\">\n <ng-container *ngIf=\"item;else loadingTpl\">\n <li [class.ax-state-selected]=\"isItemSelected(item)\" class=\"list-item\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\" [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\" [attr.data-id]=\"getValue(item)\">\n <!-- Custom Item Template -->\n <ng-container *ngIf=\"itemTemplate;else defaultItemTpl\">\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: { data:item } }\">\n </ng-container>\n </ng-container>\n <!-- Default Item Template -->\n <ng-template #defaultItemTpl>\n <ng-container *ngIf=\"item;else loadingTpl\">\n <div class=\"ax-label-container\">\n <input class=\"ax-checkbox\" *ngIf=\"multiple && checkbox\" type=\"checkbox\"\n [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\"\n tabindex=\"0\" />\n <span\n [class.ax-checkbox-label]=\"multiple && checkbox\">{{getDisplayText(item)}}</span>\n </div>\n <i class=\"ax-icon ax-icon-done ax-selected-icon\" *ngIf=\"isItemSelected(item) \"></i>\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </cdk-virtual-scroll-viewport>\n <ng-content select=\"ax-footer\"></ng-content>\n</div>\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <li>{{'loading' | translate | async }}</li>\n </ng-template>\n</ng-template>\n<!-- Empty Template -->\n<ng-container *ngIf=\"emptyTemplate && hasItems===false && isLoading===false\">\n <div class=\"empty-container\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </div>\n</ng-container>", styles: ["ax-list{display:block;height:100%;width:100%;font-size:.875rem;line-height:1.25rem}ax-list .list-container{display:flex;height:100%;flex-direction:column}ax-list .empty-container{display:flex;height:var(--ax-size-default);width:100%;align-items:center;justify-content:center;padding-left:.75rem;padding-right:.75rem}ax-list.ax-default .cdk-virtual-scroll-viewport ul li{position:relative;display:flex;height:var(--ax-size-default);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:space-between;-webkit-padding-end:1rem;padding-inline-end:1rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;font-size:.875rem;line-height:1.25rem}ax-list.ax-default .cdk-virtual-scroll-viewport ul li:focus,ax-list.ax-default .cdk-virtual-scroll-viewport ul li:focus-within,ax-list.ax-default .cdk-virtual-scroll-viewport ul li:focus-visible{outline-width:2px;outline-offset:-4px;outline-color:rgba(var(--ax-color-primary-500),1)}ax-list.ax-default .cdk-virtual-scroll-viewport ul li .ax-label-container{display:flex;align-items:center}ax-list.ax-default .cdk-virtual-scroll-viewport ul li .ax-checkbox-label{-webkit-margin-start:.5rem;margin-inline-start:.5rem}ax-list.ax-default .cdk-virtual-scroll-viewport ul li .ax-selected-icon{line-height:2rem;color:rgba(var(--ax-color-primary-500))}ax-list.ax-default .cdk-virtual-scroll-viewport ul li.ax-state-disabled{cursor:not-allowed;opacity:.5}\n"] }]
|
171
171
|
}], propDecorators: { dataSource: [{
|
172
172
|
type: Input
|
173
173
|
}], itemHeight: [{
|
@@ -192,4 +192,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
192
192
|
type: HostBinding,
|
193
193
|
args: ['class']
|
194
194
|
}] } });
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC9zcmMvbGliL2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3Qvc3JjL2xpYi9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUVaLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLHdCQUF3QixHQUN6QixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDUixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUVqQixVQUFVLEVBQ1YsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQTBDbkQsTUFBTSxPQUFPLGVBQWdCLFNBQVEseUJBQXlCO0lBcEM5RDs7UUFzQ0UsZUFBVSxHQUEwQix3QkFBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVqRSxxQkFBZ0IsR0FBb0MsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBZ0IvRCwyQkFBc0IsR0FDcEIsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFHL0MsYUFBUSxHQUFHLElBQUksQ0FBQztRQUdOLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNuQixjQUFT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LFFBQVEsRUFBRSxFQUFFLHVCQUF1QixDQUFDLENBQUM7eUJBQ2xFO3FCQUNGOzhCQUlELFVBQVU7c0JBRFQsS0FBSztnQkFLSyxVQUFVO3NCQURwQixLQUFLO2dCQU1OLFlBQVk7c0JBRFgsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLHNCQUFzQjtzQkFEckIsTUFBTTtnQkFLUCxRQUFRO3NCQURQLEtBQUs7Z0JBVUUsUUFBUTtzQkFEZixTQUFTO3VCQUFDLHdCQUF3QjtnQkFvQ25DLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMkMvQixXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQ29tcG9uZW50LFxuICBBWERhdGFTb3VyY2UsXG4gIEFYRXZlbnQsXG4gIEFYRm9jdXNhYmxlQ29tcG9uZW50LFxuICBBWExpc3REYXRhU291cmNlLFxuICBBWFZhbHVhYmxlQ29tcG9uZW50LFxuICBBWF9TRUxFQ1RJT05fREFUQV9UT0tFTixcbiAgTVhTZWxlY3Rpb25CcmlkZ2VTZXJ2aWNlLFxuICBNWFNlbGVjdGlvblZhbHVlQ29tcG9uZW50LFxuICBjb252ZXJ0QXJyYXlUb0RhdGFTb3VyY2UsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNraXBTZWxmLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgV3JpdGFibGVTaWduYWwsXG4gIGZvcndhcmRSZWYsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGludGVyZmFjZSBBWExpc3RTY3JvbGxJbmRleENoYW5nZWQgZXh0ZW5kcyBBWEV2ZW50IHtcbiAgaW5kZXg6IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW5wdXRzOiBbXG4gICAgJ2lkJyxcbiAgICAnbmFtZScsXG4gICAgJ2Rpc2FibGVkJyxcbiAgICAncmVhZG9ubHknLFxuICAgICd2YWx1ZUZpZWxkJyxcbiAgICAndGV4dEZpZWxkJyxcbiAgICAnZGlzYWJsZWRGaWVsZCcsXG4gICAgJ211bHRpcGxlJyxcbiAgICAnc2VsZWN0aW9uTW9kZScsXG4gIF0sXG4gIG91dHB1dHM6IFsnb25WYWx1ZUNoYW5nZWQnLCAnZGlzYWJsZWRDaGFuZ2UnLCAncmVhZE9ubHlDaGFuZ2UnLCAnb25CbHVyJywgJ29uRm9jdXMnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTGlzdENvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhGb2N1c2FibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWExpc3RDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWExpc3RDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYTGlzdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYX1NFTEVDVElPTl9EQVRBX1RPS0VOLFxuICAgICAgdXNlRmFjdG9yeTogKGV4aXN0aW5nU2VydmljZTogTVhTZWxlY3Rpb25CcmlkZ2VTZXJ2aWNlKSA9PiB7XG4gICAgICAgIHJldHVybiBleGlzdGluZ1NlcnZpY2UgfHwgbmV3IE1YU2VsZWN0aW9uQnJpZGdlU2VydmljZSgpO1xuICAgICAgfSxcbiAgICAgIGRlcHM6IFtbbmV3IE9wdGlvbmFsKCksIG5ldyBTa2lwU2VsZigpLCBBWF9TRUxFQ1RJT05fREFUQV9UT0tFTl1dLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTGlzdENvbXBvbmVudCBleHRlbmRzIE1YU2VsZWN0aW9uVmFsdWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBkYXRhU291cmNlOiBBWERhdGFTb3VyY2U8dW5rbm93bj4gPSBjb252ZXJ0QXJyYXlUb0RhdGFTb3VyY2UoW10pO1xuXG4gIGl0ZW1IZWlnaHRTaWduYWw6IFdyaXRhYmxlU2lnbmFsPG51bWJlciB8ICdhdXRvJz4gPSBzaWduYWwoNDApO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGl0ZW1IZWlnaHQodjogbnVtYmVyIHwgJ2F1dG8nKSB7XG4gICAgdGhpcy5pdGVtSGVpZ2h0U2lnbmFsLnNldCh2KTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgZW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgbG9hZGluZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBAT3V0cHV0KClcbiAgb25TY3JvbGxlZEluZGV4Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYTGlzdFNjcm9sbEluZGV4Q2hhbmdlZD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8QVhMaXN0U2Nyb2xsSW5kZXhDaGFuZ2VkPigpO1xuXG4gIEBJbnB1dCgpXG4gIGNoZWNrYm94ID0gdHJ1ZTtcblxuICBwcm90ZWN0ZWQgbGlzdERhdGFTb3VyY2U6IEFYTGlzdERhdGFTb3VyY2U8dW5rbm93bj47XG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSB0cnVlO1xuICBwcm90ZWN0ZWQgaGFzSXRlbXMgPSBmYWxzZTtcbiAgcHJpdmF0ZSBsYXN0SW5kZXggPSAwO1xuICBwcml2YXRlIHBvc3Rwb25lRm9jdXMgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydClcbiAgcHJpdmF0ZSB2aWV3cG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuXG4gIHRyYWNrQnlJZHgoaSkge1xuICAgIHJldHVybiBpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLmxpc3REYXRhU291cmNlID0gbmV3IEFYTGlzdERhdGFTb3VyY2U8dW5rbm93bj4oe1xuICAgICAgc291cmNlOiB0aGlzLmRhdGFTb3VyY2UsXG4gICAgfSk7XG4gICAgdGhpcy5saXN0RGF0YVNvdXJjZS5zb3VyY2Uub25Mb2FkaW5nQ2hhbmdlZC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZGF0YTtcbiAgICB9KTtcbiAgICB0aGlzLmxpc3REYXRhU291cmNlLnNvdXJjZS5vbkNoYW5nZWQuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmhhc0l0ZW1zID0gZGF0YS50b3RhbENvdW50ID4gMDtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcigpO1xuICAgICAgfSwgMTAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIF9oYW5kbGVPbkl0ZW1DbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtOiBhbnkpIHtcbiAgICBpZiAodGhpcy5yZWFkb25seSB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0l0ZW1EaXNhYmxlZChpdGVtKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnRvZ2dsZVNlbGVjdChpdGVtKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBfaGFuZGxlS2V5ZG93bihlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKChlLmNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGUuY29kZSA9PT0gJ0Fycm93VXAnKSAmJiB0aGlzLmhhc0l0ZW1zKSB7XG4gICAgICB0aGlzLmZvY3VzSXRlbUJ5TmF2KGUua2V5ID09PSAnQXJyb3dEb3duJyA/IDEgOiAtMSk7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICAgIGlmICgoZS5jb2RlID09PSAnU3BhY2UnIHx8IGUuY29kZSA9PT0gJ0VudGVyJykgJiYgdGhpcy5oYXNJdGVtcykge1xuICAgICAgaWYgKHRoaXMucmVhZG9ubHkgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGlkID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uY2xvc2VzdCgnbGknKT8uZGF0YXNldD8uaWQ7XG4gICAgICB0aGlzLnRvZ2dsZVNlbGVjdChpZCk7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNJdGVtQnlOYXYoc2lnbjogLTEgfCAxKTogdm9pZCB7XG4gICAgY29uc3QgbGlzdCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCd1bCcpO1xuICAgIGNvbnN0IGZuID0gKHMpID0+IGxpc3QucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4ocyk7XG4gICAgY29uc3QgaXRlbURpdjogSFRNTEVsZW1lbnQgPVxuICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uY2xvc2VzdCgnbGknKSB8fCBmbihgbGkuYXgtc3RhdGUtc2VsZWN0ZWRgKSB8fCBmbihgbGlgKTtcbiAgICBjb25zdCBuZXh0ID0gKHNpZ24gPT0gMSA/IGl0ZW1EaXYubmV4dEVsZW1lbnRTaWJsaW5nIDogaXRlbURpdi5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAobmV4dCkge1xuICAgICAgbmV4dC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfaGFuZGxlT25zY3JvbGxlZEluZGV4Q2hhbmdlKGU6IG51bWJlcikge1xuICAgIHRoaXMubGFzdEluZGV4ID0gZTtcbiAgICB0aGlzLm9uU2Nyb2xsZWRJbmRleENoYW5nZWQuZW1pdCh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICBpbmRleDogdGhpcy5sYXN0SW5kZXgsXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IF9jbGFzcyA9IGBheC1kZWZhdWx0YDtcbiAgICByZXR1cm4gdGhpcy5pdGVtVGVtcGxhdGUgPyAnJyA6IF9jbGFzcztcbiAgfVxuXG4gIGdldEl0ZW1CeUtleShrZXk6IHVua25vd24pOiBQcm9taXNlPHVua25vd24+IHwgdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5maW5kKGtleSk7XG4gIH1cblxuICBwdWJsaWMgcmVuZGVyKCkge1xuICAgIHRoaXMudmlld3BvcnQuY2hlY2tWaWV3cG9ydFNpemUoKTtcbiAgICB0aGlzLnZpZXdwb3J0LnNjcm9sbFRvSW5kZXgodGhpcy5sYXN0SW5kZXgpO1xuICAgIGlmICh0aGlzLnBvc3Rwb25lRm9jdXMpIHtcbiAgICAgIHRoaXMucG9zdHBvbmVGb2N1cyA9IGZhbHNlO1xuICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKCkge1xuICAgIHRoaXMuY2xlYXJTZWxlY3Rpb25DYWNoZSgpO1xuICAgIHRoaXMubGlzdERhdGFTb3VyY2UucmVmcmVzaCgpO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbFRvSW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMudmlld3BvcnQuc2Nyb2xsVG9JbmRleChpbmRleCk7XG4gIH1cblxuICBvdmVycmlkZSBmb2N1cygpOiB2b2lkIHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJ3VsJyk7XG4gICAgY29uc3QgZm9jdXNhYmxlID1cbiAgICAgIGxpc3QucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJ2xpLmF4LXN0YXRlLXNlbGVjdGVkJykgPz9cbiAgICAgIGxpc3QucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJ2xpLmxpc3QtaXRlbScpO1xuICAgIGlmIChmb2N1c2FibGUpIHtcbiAgICAgIGZvY3VzYWJsZS5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBvc3Rwb25lRm9jdXMgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxpc3QtY29udGFpbmVyXCIgY2RrVmlydHVhbFNjcm9sbGluZ0VsZW1lbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgW2l0ZW1TaXplXT1cIml0ZW1IZWlnaHRTaWduYWwoKVwiIFtzdHlsZS4tLWl0ZW0taGVpZ2h0XT1cIml0ZW1IZWlnaHRTaWduYWwoKSsncHgnXCJcbiAgICAgICAgKHNjcm9sbGVkSW5kZXhDaGFuZ2UpPVwiX2hhbmRsZU9uc2Nyb2xsZWRJbmRleENoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgIDx1bD5cbiAgICAgICAgICAgIDwhLS0gIEl0ZW0gVGVtcGxhdGUgIC0tPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqY2RrVmlydHVhbEZvcj1cImxldCBpdGVtIG9mIGxpc3REYXRhU291cmNlO2xldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlJZHhcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbTtlbHNlIGxvYWRpbmdUcGxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtc3RhdGUtc2VsZWN0ZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIiBjbGFzcz1cImxpc3QtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiaXNJdGVtRGlzYWJsZWQoaXRlbSlcIiBbYXR0ci50YWJpbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlT25JdGVtQ2xpY2soJGV2ZW50LCBpdGVtKVwiIFthdHRyLmRhdGEtaWRdPVwiZ2V0VmFsdWUoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gIEN1c3RvbSBJdGVtIFRlbXBsYXRlICAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtVGVtcGxhdGU7ZWxzZSBkZWZhdWx0SXRlbVRwbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7Y29udGV4dDogeyAkaW1wbGljaXQ6IHsgZGF0YTppdGVtIH0gfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tICBEZWZhdWx0IEl0ZW0gVGVtcGxhdGUgIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0SXRlbVRwbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbTtlbHNlIGxvYWRpbmdUcGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWxhYmVsLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiYXgtY2hlY2tib3hcIiAqbmdJZj1cIm11bHRpcGxlICYmIGNoZWNrYm94XCIgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc0l0ZW1TZWxlY3RlZChpdGVtKVwiIFtkaXNhYmxlZF09XCJpc0l0ZW1EaXNhYmxlZChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LWNoZWNrYm94LWxhYmVsXT1cIm11bHRpcGxlICYmIGNoZWNrYm94XCI+e3tnZXREaXNwbGF5VGV4dChpdGVtKX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tZG9uZSBheC1zZWxlY3RlZC1pY29uXCIgKm5nSWY9XCJpc0l0ZW1TZWxlY3RlZChpdGVtKSBcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdWw+XG4gICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48IS0tICBMb2FkaW5nIFRlbXBsYXRlICAtLT5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZ1RwbD5cbiAgICA8IS0tICBDdXN0b20gTG9hZGluZyBUZW1wbGF0ZSAgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdUZW1wbGF0ZTtlbHNlIGRlZmF1bHRMb2FkaW5nVHBsXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nVGVtcGxhdGVcIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSAgRGVmYXVsdCBMb2FkaW5nIFRlbXBsYXRlICAtLT5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRMb2FkaW5nVHBsPlxuICAgICAgICA8bGk+e3snbG9hZGluZycgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvbGk+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG48IS0tICBFbXB0eSBUZW1wbGF0ZSAgLS0+XG48bmctY29udGFpbmVyICpuZ0lmPVwiZW1wdHlUZW1wbGF0ZSAmJiBoYXNJdGVtcz09PWZhbHNlICYmIGlzTG9hZGluZz09PWZhbHNlXCI+XG4gICAgPGRpdiBjbGFzcz1cImVtcHR5LWNvbnRhaW5lclwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW1wdHlUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+Il19
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC9zcmMvbGliL2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3Qvc3JjL2xpYi9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUVaLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLHdCQUF3QixHQUN6QixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDUixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUVqQixVQUFVLEVBQ1YsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQTBDbkQsTUFBTSxPQUFPLGVBQWdCLFNBQVEseUJBQXlCO0lBcEM5RDs7UUFzQ0UsZUFBVSxHQUEwQix3QkFBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVqRSxxQkFBZ0IsR0FBb0MsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBZ0IvRCwyQkFBc0IsR0FDcEIsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFHL0MsYUFBUSxHQUFHLElBQUksQ0FBQztRQUdOLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNuQixjQUFT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LFFBQVEsRUFBRSxFQUFFLHVCQUF1QixDQUFDLENBQUM7eUJBQ2xFO3FCQUNGOzhCQUlELFVBQVU7c0JBRFQsS0FBSztnQkFLSyxVQUFVO3NCQURwQixLQUFLO2dCQU1OLFlBQVk7c0JBRFgsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLHNCQUFzQjtzQkFEckIsTUFBTTtnQkFLUCxRQUFRO3NCQURQLEtBQUs7Z0JBVUUsUUFBUTtzQkFEZixTQUFTO3VCQUFDLHdCQUF3QjtnQkFvQ25DLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMkMvQixXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQ29tcG9uZW50LFxuICBBWERhdGFTb3VyY2UsXG4gIEFYRXZlbnQsXG4gIEFYRm9jdXNhYmxlQ29tcG9uZW50LFxuICBBWExpc3REYXRhU291cmNlLFxuICBBWFZhbHVhYmxlQ29tcG9uZW50LFxuICBBWF9TRUxFQ1RJT05fREFUQV9UT0tFTixcbiAgTVhTZWxlY3Rpb25CcmlkZ2VTZXJ2aWNlLFxuICBNWFNlbGVjdGlvblZhbHVlQ29tcG9uZW50LFxuICBjb252ZXJ0QXJyYXlUb0RhdGFTb3VyY2UsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNraXBTZWxmLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgV3JpdGFibGVTaWduYWwsXG4gIGZvcndhcmRSZWYsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGludGVyZmFjZSBBWExpc3RTY3JvbGxJbmRleENoYW5nZWQgZXh0ZW5kcyBBWEV2ZW50IHtcbiAgaW5kZXg6IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW5wdXRzOiBbXG4gICAgJ2lkJyxcbiAgICAnbmFtZScsXG4gICAgJ2Rpc2FibGVkJyxcbiAgICAncmVhZG9ubHknLFxuICAgICd2YWx1ZUZpZWxkJyxcbiAgICAndGV4dEZpZWxkJyxcbiAgICAnZGlzYWJsZWRGaWVsZCcsXG4gICAgJ211bHRpcGxlJyxcbiAgICAnc2VsZWN0aW9uTW9kZScsXG4gIF0sXG4gIG91dHB1dHM6IFsnb25WYWx1ZUNoYW5nZWQnLCAnZGlzYWJsZWRDaGFuZ2UnLCAncmVhZE9ubHlDaGFuZ2UnLCAnb25CbHVyJywgJ29uRm9jdXMnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTGlzdENvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhGb2N1c2FibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWExpc3RDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWExpc3RDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYTGlzdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYX1NFTEVDVElPTl9EQVRBX1RPS0VOLFxuICAgICAgdXNlRmFjdG9yeTogKGV4aXN0aW5nU2VydmljZTogTVhTZWxlY3Rpb25CcmlkZ2VTZXJ2aWNlKSA9PiB7XG4gICAgICAgIHJldHVybiBleGlzdGluZ1NlcnZpY2UgfHwgbmV3IE1YU2VsZWN0aW9uQnJpZGdlU2VydmljZSgpO1xuICAgICAgfSxcbiAgICAgIGRlcHM6IFtbbmV3IE9wdGlvbmFsKCksIG5ldyBTa2lwU2VsZigpLCBBWF9TRUxFQ1RJT05fREFUQV9UT0tFTl1dLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTGlzdENvbXBvbmVudCBleHRlbmRzIE1YU2VsZWN0aW9uVmFsdWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBkYXRhU291cmNlOiBBWERhdGFTb3VyY2U8dW5rbm93bj4gPSBjb252ZXJ0QXJyYXlUb0RhdGFTb3VyY2UoW10pO1xuXG4gIGl0ZW1IZWlnaHRTaWduYWw6IFdyaXRhYmxlU2lnbmFsPG51bWJlciB8ICdhdXRvJz4gPSBzaWduYWwoNDApO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGl0ZW1IZWlnaHQodjogbnVtYmVyIHwgJ2F1dG8nKSB7XG4gICAgdGhpcy5pdGVtSGVpZ2h0U2lnbmFsLnNldCh2KTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgZW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgbG9hZGluZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBAT3V0cHV0KClcbiAgb25TY3JvbGxlZEluZGV4Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYTGlzdFNjcm9sbEluZGV4Q2hhbmdlZD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8QVhMaXN0U2Nyb2xsSW5kZXhDaGFuZ2VkPigpO1xuXG4gIEBJbnB1dCgpXG4gIGNoZWNrYm94ID0gdHJ1ZTtcblxuICBwcm90ZWN0ZWQgbGlzdERhdGFTb3VyY2U6IEFYTGlzdERhdGFTb3VyY2U8dW5rbm93bj47XG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSB0cnVlO1xuICBwcm90ZWN0ZWQgaGFzSXRlbXMgPSBmYWxzZTtcbiAgcHJpdmF0ZSBsYXN0SW5kZXggPSAwO1xuICBwcml2YXRlIHBvc3Rwb25lRm9jdXMgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydClcbiAgcHJpdmF0ZSB2aWV3cG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuXG4gIHRyYWNrQnlJZHgoaSkge1xuICAgIHJldHVybiBpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLmxpc3REYXRhU291cmNlID0gbmV3IEFYTGlzdERhdGFTb3VyY2U8dW5rbm93bj4oe1xuICAgICAgc291cmNlOiB0aGlzLmRhdGFTb3VyY2UsXG4gICAgfSk7XG4gICAgdGhpcy5saXN0RGF0YVNvdXJjZS5zb3VyY2Uub25Mb2FkaW5nQ2hhbmdlZC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZGF0YTtcbiAgICB9KTtcbiAgICB0aGlzLmxpc3REYXRhU291cmNlLnNvdXJjZS5vbkNoYW5nZWQuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmhhc0l0ZW1zID0gZGF0YS50b3RhbENvdW50ID4gMDtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcigpO1xuICAgICAgfSwgMTAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIF9oYW5kbGVPbkl0ZW1DbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtOiBhbnkpIHtcbiAgICBpZiAodGhpcy5yZWFkb25seSB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0l0ZW1EaXNhYmxlZChpdGVtKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnRvZ2dsZVNlbGVjdChpdGVtKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBfaGFuZGxlS2V5ZG93bihlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKChlLmNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGUuY29kZSA9PT0gJ0Fycm93VXAnKSAmJiB0aGlzLmhhc0l0ZW1zKSB7XG4gICAgICB0aGlzLmZvY3VzSXRlbUJ5TmF2KGUua2V5ID09PSAnQXJyb3dEb3duJyA/IDEgOiAtMSk7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICAgIGlmICgoZS5jb2RlID09PSAnU3BhY2UnIHx8IGUuY29kZSA9PT0gJ0VudGVyJykgJiYgdGhpcy5oYXNJdGVtcykge1xuICAgICAgaWYgKHRoaXMucmVhZG9ubHkgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGlkID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uY2xvc2VzdCgnbGknKT8uZGF0YXNldD8uaWQ7XG4gICAgICB0aGlzLnRvZ2dsZVNlbGVjdChpZCk7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNJdGVtQnlOYXYoc2lnbjogLTEgfCAxKTogdm9pZCB7XG4gICAgY29uc3QgbGlzdCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCd1bCcpO1xuICAgIGNvbnN0IGZuID0gKHMpID0+IGxpc3QucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4ocyk7XG4gICAgY29uc3QgaXRlbURpdjogSFRNTEVsZW1lbnQgPVxuICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uY2xvc2VzdCgnbGknKSB8fCBmbihgbGkuYXgtc3RhdGUtc2VsZWN0ZWRgKSB8fCBmbihgbGlgKTtcbiAgICBjb25zdCBuZXh0ID0gKHNpZ24gPT0gMSA/IGl0ZW1EaXYubmV4dEVsZW1lbnRTaWJsaW5nIDogaXRlbURpdi5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAobmV4dCkge1xuICAgICAgbmV4dC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfaGFuZGxlT25zY3JvbGxlZEluZGV4Q2hhbmdlKGU6IG51bWJlcikge1xuICAgIHRoaXMubGFzdEluZGV4ID0gZTtcbiAgICB0aGlzLm9uU2Nyb2xsZWRJbmRleENoYW5nZWQuZW1pdCh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICBpbmRleDogdGhpcy5sYXN0SW5kZXgsXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IF9jbGFzcyA9IGBheC1kZWZhdWx0YDtcbiAgICByZXR1cm4gdGhpcy5pdGVtVGVtcGxhdGUgPyAnJyA6IF9jbGFzcztcbiAgfVxuXG4gIGdldEl0ZW1CeUtleShrZXk6IHVua25vd24pOiBQcm9taXNlPHVua25vd24+IHwgdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5maW5kKGtleSk7XG4gIH1cblxuICBwdWJsaWMgcmVuZGVyKCkge1xuICAgIHRoaXMudmlld3BvcnQuY2hlY2tWaWV3cG9ydFNpemUoKTtcbiAgICB0aGlzLnZpZXdwb3J0LnNjcm9sbFRvSW5kZXgodGhpcy5sYXN0SW5kZXgpO1xuICAgIGlmICh0aGlzLnBvc3Rwb25lRm9jdXMpIHtcbiAgICAgIHRoaXMucG9zdHBvbmVGb2N1cyA9IGZhbHNlO1xuICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKCkge1xuICAgIHRoaXMuY2xlYXJTZWxlY3Rpb25DYWNoZSgpO1xuICAgIHRoaXMubGlzdERhdGFTb3VyY2UucmVmcmVzaCgpO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbFRvSW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMudmlld3BvcnQuc2Nyb2xsVG9JbmRleChpbmRleCk7XG4gIH1cblxuICBvdmVycmlkZSBmb2N1cygpOiB2b2lkIHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJ3VsJyk7XG4gICAgY29uc3QgZm9jdXNhYmxlID1cbiAgICAgIGxpc3QucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJ2xpLmF4LXN0YXRlLXNlbGVjdGVkJykgPz9cbiAgICAgIGxpc3QucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJ2xpLmxpc3QtaXRlbScpO1xuICAgIGlmIChmb2N1c2FibGUpIHtcbiAgICAgIGZvY3VzYWJsZS5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBvc3Rwb25lRm9jdXMgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxpc3QtY29udGFpbmVyXCIgY2RrVmlydHVhbFNjcm9sbGluZ0VsZW1lbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgW2l0ZW1TaXplXT1cIml0ZW1IZWlnaHRTaWduYWwoKVwiIFtzdHlsZS4tLWl0ZW0taGVpZ2h0XT1cIml0ZW1IZWlnaHRTaWduYWwoKSsncHgnXCJcbiAgICAgICAgKHNjcm9sbGVkSW5kZXhDaGFuZ2UpPVwiX2hhbmRsZU9uc2Nyb2xsZWRJbmRleENoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgIDx1bD5cbiAgICAgICAgICAgIDwhLS0gIEl0ZW0gVGVtcGxhdGUgIC0tPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqY2RrVmlydHVhbEZvcj1cImxldCBpdGVtIG9mIGxpc3REYXRhU291cmNlO2xldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlJZHhcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbTtlbHNlIGxvYWRpbmdUcGxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpIFtjbGFzcy5heC1zdGF0ZS1zZWxlY3RlZF09XCJpc0l0ZW1TZWxlY3RlZChpdGVtKVwiIGNsYXNzPVwibGlzdC1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJpc0l0ZW1EaXNhYmxlZChpdGVtKVwiIFthdHRyLnRhYmluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVPbkl0ZW1DbGljaygkZXZlbnQsIGl0ZW0pXCIgW2F0dHIuZGF0YS1pZF09XCJnZXRWYWx1ZShpdGVtKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAgQ3VzdG9tIEl0ZW0gVGVtcGxhdGUgIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1UZW1wbGF0ZTtlbHNlIGRlZmF1bHRJdGVtVHBsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTtjb250ZXh0OiB7ICRpbXBsaWNpdDogeyBkYXRhOml0ZW0gfSB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gIERlZmF1bHQgSXRlbSBUZW1wbGF0ZSAgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJdGVtVHBsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtO2Vsc2UgbG9hZGluZ1RwbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbGFiZWwtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJheC1jaGVja2JveFwiICpuZ0lmPVwibXVsdGlwbGUgJiYgY2hlY2tib3hcIiB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzSXRlbVNlbGVjdGVkKGl0ZW0pXCIgW2Rpc2FibGVkXT1cImlzSXRlbURpc2FibGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtY2hlY2tib3gtbGFiZWxdPVwibXVsdGlwbGUgJiYgY2hlY2tib3hcIj57e2dldERpc3BsYXlUZXh0KGl0ZW0pfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1kb25lIGF4LXNlbGVjdGVkLWljb25cIiAqbmdJZj1cImlzSXRlbVNlbGVjdGVkKGl0ZW0pIFwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC91bD5cbiAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1mb290ZXJcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjwhLS0gIExvYWRpbmcgVGVtcGxhdGUgIC0tPlxuPG5nLXRlbXBsYXRlICNsb2FkaW5nVHBsPlxuICAgIDwhLS0gIEN1c3RvbSBMb2FkaW5nIFRlbXBsYXRlICAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1RlbXBsYXRlO2Vsc2UgZGVmYXVsdExvYWRpbmdUcGxcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvYWRpbmdUZW1wbGF0ZVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tICBEZWZhdWx0IExvYWRpbmcgVGVtcGxhdGUgIC0tPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdExvYWRpbmdUcGw+XG4gICAgICAgIDxsaT57eydsb2FkaW5nJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9saT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gIEVtcHR5IFRlbXBsYXRlICAtLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJlbXB0eVRlbXBsYXRlICYmIGhhc0l0ZW1zPT09ZmFsc2UgJiYgaXNMb2FkaW5nPT09ZmFsc2VcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZW1wdHktY29udGFpbmVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=
|
@@ -209,7 +209,7 @@ export class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), M
|
|
209
209
|
this.commitValue(this.value - toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);
|
210
210
|
}
|
211
211
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXNumberBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
212
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", value: "value", state: "state", name: "name", id: "id", look: "look", thousandsSeparator: "thousandsSeparator", padDecimalZeros: "padDecimalZeros", step: "step", decimals: "decimals", decimalStep: "decimalStep", showSpinButtons: "showSpinButtons", minValue: "minValue", maxValue: "maxValue" }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress" }, providers: [
|
212
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", value: "value", state: "state", name: "name", id: "id", look: "look", thousandsSeparator: "thousandsSeparator", padDecimalZeros: "padDecimalZeros", step: "step", decimals: "decimals", decimalStep: "decimalStep", showSpinButtons: "showSpinButtons", minValue: "minValue", maxValue: "maxValue", classNames: ["class", "classNames"] }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress" }, providers: [
|
213
213
|
{ provide: AXComponent, useExisting: AXNumberBoxComponent },
|
214
214
|
{ provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },
|
215
215
|
{ provide: AXClearableComponent, useExisting: AXNumberBoxComponent },
|
@@ -219,7 +219,7 @@ export class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), M
|
|
219
219
|
useExisting: forwardRef(() => AXNumberBoxComponent),
|
220
220
|
multi: true,
|
221
221
|
},
|
222
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "_maskDirective", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-editor-container ax-look-{{look}}\" [class.ax-state-disabled]=\"disabled\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input #input class=\"ax-input\" type=\"text\" [id]=\"id\" [name]=\"name\" [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\" [imask]=\"_maskObj\" [unmask]=\"'typed'\" [attr.min]=\"minValue\" [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" />\n @if(input.value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if(showSpinButtons){\n <div class=\"ax-number-box-control\">\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-increment\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(1)\" tabindex=\"-1\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-up\"></span>\n </button>\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-decrement\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(-1)\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-down\" tabindex=\"-1\"></span>\n </button>\n </div>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>", styles: [".ax-number-box-control{-webkit-margin-end:.25rem;margin-inline-end:.25rem;display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:.5rem 0}.ax-number-box-control .ax-general-button{display:flex;height:1rem;width:1.25rem;border-radius:.25rem}.ax-number-box-control .ax-general-button.ax-number-box-increment i:hover,.ax-number-box-control .ax-general-button.ax-number-box-decrement i:hover{align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
222
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "_maskDirective", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-editor-container ax-look-{{look}} {{classNames}}\" [class.ax-state-disabled]=\"disabled\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input #input class=\"ax-input\" type=\"text\" [id]=\"id\" [name]=\"name\" [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\" [imask]=\"_maskObj\" [unmask]=\"'typed'\" [attr.min]=\"minValue\" [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" />\n @if(input.value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if(showSpinButtons){\n <div class=\"ax-number-box-control\">\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-increment\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(1)\" tabindex=\"-1\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-up\"></span>\n </button>\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-decrement\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(-1)\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-down\" tabindex=\"-1\"></span>\n </button>\n </div>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>", styles: [".ax-number-box-control{-webkit-margin-end:.25rem;margin-inline-end:.25rem;display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:.5rem 0}.ax-number-box-control .ax-general-button{display:flex;height:1rem;width:1.25rem;border-radius:.25rem}.ax-number-box-control .ax-general-button.ax-number-box-increment i:hover,.ax-number-box-control .ax-general-button.ax-number-box-decrement i:hover{align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
223
223
|
}
|
224
224
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXNumberBoxComponent, decorators: [{
|
225
225
|
type: Component,
|
@@ -244,7 +244,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
244
244
|
useExisting: forwardRef(() => AXNumberBoxComponent),
|
245
245
|
multi: true,
|
246
246
|
},
|
247
|
-
], template: "<div class=\"ax-editor-container ax-look-{{look}}\" [class.ax-state-disabled]=\"disabled\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input #input class=\"ax-input\" type=\"text\" [id]=\"id\" [name]=\"name\" [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\" [imask]=\"_maskObj\" [unmask]=\"'typed'\" [attr.min]=\"minValue\" [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" />\n @if(input.value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if(showSpinButtons){\n <div class=\"ax-number-box-control\">\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-increment\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(1)\" tabindex=\"-1\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-up\"></span>\n </button>\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-decrement\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(-1)\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-down\" tabindex=\"-1\"></span>\n </button>\n </div>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>", styles: [".ax-number-box-control{-webkit-margin-end:.25rem;margin-inline-end:.25rem;display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:.5rem 0}.ax-number-box-control .ax-general-button{display:flex;height:1rem;width:1.25rem;border-radius:.25rem}.ax-number-box-control .ax-general-button.ax-number-box-increment i:hover,.ax-number-box-control .ax-general-button.ax-number-box-decrement i:hover{align-items:center}\n"] }]
|
247
|
+
], template: "<div class=\"ax-editor-container ax-look-{{look}} {{classNames}}\" [class.ax-state-disabled]=\"disabled\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input #input class=\"ax-input\" type=\"text\" [id]=\"id\" [name]=\"name\" [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\" [imask]=\"_maskObj\" [unmask]=\"'typed'\" [attr.min]=\"minValue\" [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" />\n @if(input.value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if(showSpinButtons){\n <div class=\"ax-number-box-control\">\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-increment\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(1)\" tabindex=\"-1\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-up\"></span>\n </button>\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-decrement\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(-1)\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-down\" tabindex=\"-1\"></span>\n </button>\n </div>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>", styles: [".ax-number-box-control{-webkit-margin-end:.25rem;margin-inline-end:.25rem;display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:.5rem 0}.ax-number-box-control .ax-general-button{display:flex;height:1rem;width:1.25rem;border-radius:.25rem}.ax-number-box-control .ax-general-button.ax-number-box-increment i:hover,.ax-number-box-control .ax-general-button.ax-number-box-decrement i:hover{align-items:center}\n"] }]
|
248
248
|
}], propDecorators: { input: [{
|
249
249
|
type: ViewChild,
|
250
250
|
args: ['input']
|
@@ -264,8 +264,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
264
264
|
type: Input
|
265
265
|
}], maxValue: [{
|
266
266
|
type: Input
|
267
|
+
}], classNames: [{
|
268
|
+
type: Input,
|
269
|
+
args: ['class']
|
267
270
|
}], _maskDirective: [{
|
268
271
|
type: ViewChild,
|
269
272
|
args: [IMaskDirective]
|
270
273
|
}] } });
|
271
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbnVtYmVyLWJveC9zcmMvbGliL251bWJlci1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL251bWJlci1ib3gvc3JjL2xpYi9udW1iZXItYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVqRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixlQUFlLEdBQ2hCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7OztBQUVuQzs7OztHQUlHO0FBaUNILE1BQU0sT0FBTyxvQkFDWCxTQUFRLE9BQU8sQ0FBQyxDQUFBLHlCQUFpQyxDQUFBLEVBQUUsZUFBZSxDQUFDO0lBakNyRTs7UUFxRFUscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBZWpDOztXQUVHO1FBRUgsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUVELGNBQVMsR0FBRyxDQUFDLENBQUM7UUFldEI7O1dBRUc7UUFFSCxnQkFBVyxHQUFv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c0IsRUFBRTt3QkFDcEUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxzQkFBc0IsRUFBRTt3QkFDcEUsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxzQkFBc0IsRUFBRTt3QkFDbkU7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQU1tQixLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBT1Asa0JBQWtCO3NCQUQ1QixLQUFLO2dCQWdCSyxlQUFlO3NCQUR6QixLQUFLO2dCQWVOLElBQUk7c0JBREgsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQWVOLFdBQVc7c0JBRFYsS0FBSztnQkFPTixlQUFlO3NCQURkLEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkFnQkssUUFBUTtzQkFEbEIsS0FBSztnQkFpQkUsY0FBYztzQkFEckIsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSU1hc2tEaXJlY3RpdmUgfSBmcm9tICdhbmd1bGFyLWltYXNrJztcbmltcG9ydCB7IE1hc2tlZE51bWJlciwgY3JlYXRlTWFzayB9IGZyb20gJ2ltYXNrJztcblxuaW1wb3J0IHtcbiAgQVhDbGVhcmFibGVDb21wb25lbnQsXG4gIEFYQ29tcG9uZW50LFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcbiAgTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudCxcbiAgTVhMb29rQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNFbXB0eSwgdG9OdW1iZXIgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcblxuLyoqXG4gKiBUaGUgTnVtYmVyQm94IGlzIGEgY29tcG9uZW50IHdoaWNoIGRldGVjdHMgdXNlciBpbnRlcmFjdGlvbiBhbmQgdHJpZ2dlcnMgYSBjb3JyZXNwb25kaW5nIGV2ZW50XG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtbnVtYmVyLWJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9udW1iZXItYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLWJveC5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAncmVhZG9ubHknLCAndGFiSW5kZXgnLCAncGxhY2Vob2xkZXInLCAndmFsdWUnLCAnc3RhdGUnLCAnbmFtZScsICdpZCcsICdsb29rJ10sXG4gIG91dHB1dHM6IFtcbiAgICAndmFsdWVDaGFuZ2UnLFxuICAgICdzdGF0ZUNoYW5nZScsXG4gICAgJ29uVmFsdWVDaGFuZ2VkJyxcbiAgICAnb25CbHVyJyxcbiAgICAnb25Gb2N1cycsXG4gICAgJ3JlYWRvbmx5Q2hhbmdlJyxcbiAgICAnZGlzYWJsZWRDaGFuZ2UnLFxuICAgICdvbktleURvd24nLFxuICAgICdvbktleVVwJyxcbiAgICAnb25LZXlQcmVzcycsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWE51bWJlckJveENvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhGb2N1c2FibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWE51bWJlckJveENvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhDbGVhcmFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWE51bWJlckJveENvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhWYWx1YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94Q29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWE51bWJlckJveENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE51bWJlckJveENvbXBvbmVudFxuICBleHRlbmRzIGNsYXNzZXMoTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudDxudW1iZXI+LCBNWExvb2tDb21wb25lbnQpXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdFxue1xuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIHByaXZhdGUgX3Rob3VzYW5kc1NlcGFyYXRvcjogc3RyaW5nO1xuICAvKipcbiAgICogIEEgY2hhcmFjdGVyIHZhbHVlIHRoYXQgc3BlY2lmaWVzIHRoZSBzZXBhcmF0b3IgY2hhcmFjdGVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCB0aG91c2FuZHNTZXBhcmF0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGhvdXNhbmRzU2VwYXJhdG9yO1xuICB9XG4gIHB1YmxpYyBzZXQgdGhvdXNhbmRzU2VwYXJhdG9yKHY6IHN0cmluZykge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICd0aG91c2FuZHNTZXBhcmF0b3InLFxuICAgICAgdmFsdWU6IHYgPz8gJycsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9wYWREZWNpbWFsWmVyb3MgPSBmYWxzZTtcbiAgLyoqXG4gICAqICBBIGNoYXJhY3RlciB2YWx1ZSB0aGF0IHNwZWNpZmllcyB0aGUgc2VwYXJhdG9yIGNoYXJhY3Rlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgcGFkRGVjaW1hbFplcm9zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9wYWREZWNpbWFsWmVyb3M7XG4gIH1cbiAgcHVibGljIHNldCBwYWREZWNpbWFsWmVyb3ModjogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdwYWREZWNpbWFsWmVyb3MnLFxuICAgICAgdmFsdWU6IHYsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIFNwZWNpZmllcyB0aGUgdmFsdWUgdGhhdCBpcyB1c2VkIHRvIGluY3JlbWVudCBvciBkZWNyZW1lbnQgdGhlICoqSW50ZWdlcioqIHBhcnQgb2YgbnVtYmVyXG4gICAqL1xuICBASW5wdXQoKVxuICBzdGVwID0gMTtcblxuICBwcml2YXRlIF9kZWNpbWFscyA9IDA7XG4gIC8qKlxuICAgKiAgU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgZGVjaW1hbHMgdGhhdCB0aGUgdXNlciBjYW4gZW50ZXJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgZGVjaW1hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZGVjaW1hbHM7XG4gIH1cbiAgcHVibGljIHNldCBkZWNpbWFscyh2OiBudW1iZXIpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAnZGVjaW1hbHMnLFxuICAgICAgdmFsdWU6IHYgPz8gMCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgU3BlY2lmaWVzIHRoZSB2YWx1ZSB0aGF0IGlzIHVzZWQgdG8gaW5jcmVtZW50IG9yIGRlY3JlbWVudCB0aGUgKipEZWNpYW1sKiogcGFydCBvZiBudW1iZXJcbiAgICovXG4gIEBJbnB1dCgpXG4gIGRlY2ltYWxTdGVwOiBudW1iZXIgfCAnYXV0bycgPSAnYXV0byc7XG5cbiAgLyoqXG4gICAqICBTcGVjaWZpZXMgd2hldGhlciB0aGUgVXAgYW5kIERvd24gc3BpbiBidXR0b25zIHdpbGwgYmUgcmVuZGVyZWQgb3Igbm90XG4gICAqL1xuICBASW5wdXQoKVxuICBzaG93U3BpbkJ1dHRvbnMgPSB0cnVlO1xuXG4gIHByaXZhdGUgX21pblZhbHVlOiBudW1iZXIgPSBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUjtcbiAgLyoqXG4gICAqICBTcGVjaWZpZXMgdGhlIHNtYWxsZXN0IHZhbHVlIHRoYXQgaXMgdmFsaWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgbWluVmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWluVmFsdWU7XG4gIH1cbiAgcHVibGljIHNldCBtaW5WYWx1ZSh2OiBudW1iZXIpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAnbWluVmFsdWUnLFxuICAgICAgdmFsdWU6IHYgIT0gbnVsbCA/IE51bWJlcih2KSA6IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbWF4VmFsdWU6IG51bWJlciA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xuICAvKipcbiAgICogIFNwZWNpZmllcyB0aGUgZ3JlYXRlc3QgdmFsdWUgdGhhdCBpcyB2YWxpZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBtYXhWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tYXhWYWx1ZTtcbiAgfVxuICBwdWJsaWMgc2V0IG1heFZhbHVlKHY6IG51bWJlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdtYXhWYWx1ZScsXG4gICAgICB2YWx1ZTogdiAhPSBudWxsID8gTnVtYmVyKHYpIDogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIF9tYXNrT2JqOiBNYXNrZWROdW1iZXI7XG5cbiAgQFZpZXdDaGlsZChJTWFza0RpcmVjdGl2ZSlcbiAgcHJpdmF0ZSBfbWFza0RpcmVjdGl2ZTogSU1hc2tEaXJlY3RpdmU8TWFza2VkTnVtYmVyPjtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlTWFzaygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgaW50ZXJuYWxPcHRpb25DaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZU1hc2soKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XG4gICAgc3VwZXIuY2xlYXIodHJ1ZSk7XG4gIH1cblxuICBvdmVycmlkZSBpbnRlcm5hbFNldFZhbHVlKHZhbHVlOiBhbnkpOiBudW1iZXIge1xuICAgIC8vIHx8ICh2YWx1ZSA9PSAwICYmICF0aGlzLl9tYXNrT2JqLnZhbHVlKVxuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5kZWZhdWx0VmFsdWU7XG4gICAgfVxuICAgIGNvbnN0IHYgPSB0b051bWJlcih2YWx1ZSk7XG4gICAgaWYgKHYgPCB0aGlzLm1pblZhbHVlKSByZXR1cm4gdGhpcy5taW5WYWx1ZTtcbiAgICBpZiAodiA+IHRoaXMubWF4VmFsdWUpIHJldHVybiB0aGlzLm1heFZhbHVlO1xuICAgIHJldHVybiB2O1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTWFzaygpIHtcbiAgICBpZiAoIXRoaXMuX21hc2tPYmopIHtcbiAgICAgIHRoaXMuX21hc2tPYmogPSBjcmVhdGVNYXNrKHtcbiAgICAgICAgbWFzazogTnVtYmVyLFxuICAgICAgICBtaW46IHRoaXMubWluVmFsdWUsXG4gICAgICAgIG1heDogdGhpcy5tYXhWYWx1ZSxcbiAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLnRob3VzYW5kc1NlcGFyYXRvciB8fCAnJyxcbiAgICAgICAgc2NhbGU6IHRoaXMuZGVjaW1hbHMsXG4gICAgICAgIHJhZGl4OiAnLicsXG4gICAgICAgIHBhZEZyYWN0aW9uYWxaZXJvczogdGhpcy5kZWNpbWFscyA+IDAgJiYgdGhpcy5wYWREZWNpbWFsWmVyb3MsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fbWFza09iai5mb3JtYXQgPSAodjogbnVtYmVyLCBtKSA9PiB7XG4gICAgICAgIHJldHVybiAhaXNOYU4odilcbiAgICAgICAgICA/IHYudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xuICAgICAgICAgICAgICB1c2VHcm91cGluZzogZmFsc2UsXG4gICAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMjAsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIDogJyc7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9tYXNrT2JqLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgICBtaW46IHRoaXMubWluVmFsdWUsXG4gICAgICAgIG1heDogdGhpcy5tYXhWYWx1ZSxcbiAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLnRob3VzYW5kc1NlcGFyYXRvciB8fCAnJyxcbiAgICAgICAgc2NhbGU6IHRoaXMuZGVjaW1hbHMsXG4gICAgICAgIHJhZGl4OiAnLicsXG4gICAgICAgIHBhZEZyYWN0aW9uYWxaZXJvczogdGhpcy5kZWNpbWFscyA+IDAgJiYgdGhpcy5wYWREZWNpbWFsWmVyb3MsXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5fbWFza0RpcmVjdGl2ZT8ubWFza1JlZj8udXBkYXRlVmFsdWUoKTtcbiAgICB0aGlzLl9tYXNrRGlyZWN0aXZlPy5tYXNrUmVmPy51cGRhdGVDb250cm9sKCk7XG4gIH1cblxuICBfaGFuZGxlTW9kZWxDaGFuZ2UodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSA9PSAwICYmIGlzRW1wdHkodGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudD8udmFsdWUpKSB7XG4gICAgICB2YWx1ZSA9IG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5jb21taXRWYWx1ZSh2YWx1ZSwgdHJ1ZSk7XG4gIH1cblxuICBfaGFuZGxlT25LZXlkb3duRXZlbnQoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHJldHVybjtcbiAgICBjb25zdCBpZ25vcmUgPSAoKSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH07XG4gICAgY29uc3QgaW5wdXQgPSBlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IHZhbFN0ciA9IGlucHV0LnZhbHVlO1xuICAgIGNvbnN0IGRlY2ltYWxQb2ludEluZGV4ID0gdmFsU3RyLmluZGV4T2YoJy4nKTtcbiAgICBjb25zdCBfY3Vyc29yUG9zID0gaW5wdXQuc2VsZWN0aW9uU3RhcnQhO1xuXG4gICAgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcgfHwgZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICBpZiAoZGVjaW1hbFBvaW50SW5kZXggPiAwICYmIF9jdXJzb3JQb3MgPiBkZWNpbWFsUG9pbnRJbmRleCAmJiB0aGlzLmRlY2ltYWxzID4gMCkge1xuICAgICAgICBlLmtleSA9PT0gJ0Fycm93RG93bicgPyB0aGlzLmRlY2ltYWxTdGVwRG93bih0cnVlKSA6IHRoaXMuZGVjaW1hbFN0ZXBVcCh0cnVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGUua2V5ID09PSAnQXJyb3dEb3duJyA/IHRoaXMuc3RlcERvd24odHJ1ZSkgOiB0aGlzLnN0ZXBVcCh0cnVlKTtcbiAgICAgIH1cbiAgICAgIGlnbm9yZSgpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKF9jdXJzb3JQb3MsIF9jdXJzb3JQb3MpO1xuICAgICAgfSwgNSk7XG4gICAgfVxuICAgIHN1cGVyLmVtaXRPbktleWRvd25FdmVudChlKTtcbiAgfVxuXG4gIF9oYW5kbGVVcERvd25DbGljayh2OiAtMSB8IDEpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSByZXR1cm47XG4gICAgdiA9PSAxID8gdGhpcy5zdGVwVXAodHJ1ZSkgOiB0aGlzLnN0ZXBEb3duKHRydWUpO1xuICB9XG5cbiAgc3RlcFVwKHUgPSBmYWxzZSkge1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShNYXRoLm1heCh0aGlzLm1pblZhbHVlLCAwKSwgdSk7XG4gICAgfVxuICAgIHRoaXMuY29tbWl0VmFsdWUodGhpcy52YWx1ZSArIHRvTnVtYmVyKHRoaXMuc3RlcCksIHUpO1xuICB9XG5cbiAgc3RlcERvd24odSA9IGZhbHNlKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKE1hdGgubWF4KHRoaXMubWluVmFsdWUsIDApLCB1KTtcbiAgICB9XG4gICAgdGhpcy5jb21taXRWYWx1ZSh0aGlzLnZhbHVlIC0gdG9OdW1iZXIodGhpcy5zdGVwKSwgdSk7XG4gIH1cblxuICBkZWNpbWFsU3RlcFVwKHUgPSBmYWxzZSkge1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShNYXRoLm1heCh0aGlzLm1pblZhbHVlLCAwKSwgdSk7XG4gICAgfVxuICAgIHRoaXMuY29tbWl0VmFsdWUoXG4gICAgICB0aGlzLnZhbHVlICsgdG9OdW1iZXIodGhpcy5kZWNpbWFsU3RlcCA9PSAnYXV0bycgPyAxIC8gTWF0aC5wb3coMTAsIHRoaXMuZGVjaW1hbHMpIDogdGhpcy5kZWNpbWFsU3RlcCksXG4gICAgICB1LFxuICAgICk7XG4gIH1cblxuICBkZWNpbWFsU3RlcERvd24odSA9IGZhbHNlKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKE1hdGgubWF4KHRoaXMubWluVmFsdWUsIDApLCB1KTtcbiAgICB9XG4gICAgdGhpcy5jb21taXRWYWx1ZShcbiAgICAgIHRoaXMudmFsdWUgLSB0b051bWJlcih0aGlzLmRlY2ltYWxTdGVwID09ICdhdXRvJyA/IDEgLyBNYXRoLnBvdygxMCwgdGhpcy5kZWNpbWFscykgOiB0aGlzLmRlY2ltYWxTdGVwKSxcbiAgICAgIHUsXG4gICAgKTtcbiAgfVxuXG4gIC8vIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAvLyBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgLy8gICByZXR1cm4gYGF4LWVkaXRvci1jb250YWluZXIgYXgtbG9vay0ke3RoaXMubG9va30gJHt0aGlzLmRpc2FibGVkID8gJ2F4LXN0YXRlLWRpc2FibGVkJyA6ICcnfWA7XG4gIC8vIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1lZGl0b3ItY29udGFpbmVyIGF4LWxvb2ste3tsb29rfX1cIiBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+IDwvbmctY29udGVudD5cbiAgPGlucHV0ICNpbnB1dCBjbGFzcz1cImF4LWlucHV0XCIgdHlwZT1cInRleHRcIiBbaWRdPVwiaWRcIiBbbmFtZV09XCJuYW1lXCIgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCInb2ZmJ1wiIFtpbWFza109XCJfbWFza09ialwiIFt1bm1hc2tdPVwiJ3R5cGVkJ1wiIFthdHRyLm1pbl09XCJtaW5WYWx1ZVwiIFthdHRyLm1heF09XCJtYXhWYWx1ZVwiXG4gICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCIgW2NsYXNzLmF4LXN0YXRlLXJlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIiBbbmdNb2RlbF09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIl9oYW5kbGVNb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bik9XCJfaGFuZGxlT25LZXlkb3duRXZlbnQoJGV2ZW50KVwiIChrZXl1cCk9XCJlbWl0T25LZXl1cEV2ZW50KCRldmVudClcIlxuICAgIChrZXlwcmVzcyk9XCJlbWl0T25LZXlwcmVzc0V2ZW50KCRldmVudClcIiAoZm9jdXMpPVwiZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQpXCIgKGJsdXIpPVwiZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIiAvPlxuICBAaWYoaW5wdXQudmFsdWUgJiYgIWRpc2FibGVkICYmICFyZWFkb25seSl7XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWNsZWFyLWJ1dHRvblwiPjwvbmctY29udGVudD5cbiAgfVxuICBAaWYoc2hvd1NwaW5CdXR0b25zKXtcbiAgPGRpdiBjbGFzcz1cImF4LW51bWJlci1ib3gtY29udHJvbFwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLWljb24gYXgtbnVtYmVyLWJveC1pbmNyZW1lbnRcIlxuICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCIgKGNsaWNrKT1cIl9oYW5kbGVVcERvd25DbGljaygxKVwiIHRhYmluZGV4PVwiLTFcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLXNvbGlkIGF4LWljb24tYXJyb3ctdXBcIj48L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24taWNvbiBheC1udW1iZXItYm94LWRlY3JlbWVudFwiXG4gICAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAoY2xpY2spPVwiX2hhbmRsZVVwRG93bkNsaWNrKC0xKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJheC1pY29uIGF4LWljb24tc29saWQgYXgtaWNvbi1hcnJvdy1kb3duXCIgdGFiaW5kZXg9XCItMVwiPjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIH1cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+IDwvbmctY29udGVudD5cbjwvZGl2PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD5cbjxkaXYgY2xhc3M9XCJheC1lcnJvci1jb250YWluZXJcIj48L2Rpdj4iXX0=
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbnVtYmVyLWJveC9zcmMvbGliL251bWJlci1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL251bWJlci1ib3gvc3JjL2xpYi9udW1iZXItYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVqRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixlQUFlLEdBQ2hCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7OztBQUVuQzs7OztHQUlHO0FBaUNILE1BQU0sT0FBTyxvQkFDWCxTQUFRLE9BQU8sQ0FBQyxDQUFBLHlCQUFpQyxDQUFBLEVBQUUsZUFBZSxDQUFDO0lBakNyRTs7UUFxRFUscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBZWpDOztXQUVHO1FBRUgsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUVELGNBQVMsR0FBRyxDQUFDLENBQUM7UUFldEI7O1dBRUc7UUFFSCxnQkFBVyxHQUFv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c0IsRUFBRTt3QkFDcEUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxzQkFBc0IsRUFBRTt3QkFDcEUsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxzQkFBc0IsRUFBRTt3QkFDbkU7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQU1tQixLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBT1Asa0JBQWtCO3NCQUQ1QixLQUFLO2dCQWdCSyxlQUFlO3NCQUR6QixLQUFLO2dCQWVOLElBQUk7c0JBREgsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQWVOLFdBQVc7c0JBRFYsS0FBSztnQkFPTixlQUFlO3NCQURkLEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkFnQkssUUFBUTtzQkFEbEIsS0FBSztnQkFZTixVQUFVO3NCQURULEtBQUs7dUJBQUMsT0FBTztnQkFTTixjQUFjO3NCQURyQixTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTWFza0RpcmVjdGl2ZSB9IGZyb20gJ2FuZ3VsYXItaW1hc2snO1xuaW1wb3J0IHsgTWFza2VkTnVtYmVyLCBjcmVhdGVNYXNrIH0gZnJvbSAnaW1hc2snO1xuXG5pbXBvcnQge1xuICBBWENsZWFyYWJsZUNvbXBvbmVudCxcbiAgQVhDb21wb25lbnQsXG4gIEFYRm9jdXNhYmxlQ29tcG9uZW50LFxuICBBWFZhbHVhYmxlQ29tcG9uZW50LFxuICBNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50LFxuICBNWExvb2tDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpc0VtcHR5LCB0b051bWJlciB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBjbGFzc2VzIH0gZnJvbSAncG9seXR5cGUnO1xuXG4vKipcbiAqIFRoZSBOdW1iZXJCb3ggaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1udW1iZXItYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1ib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9udW1iZXItYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdyZWFkb25seScsICd0YWJJbmRleCcsICdwbGFjZWhvbGRlcicsICd2YWx1ZScsICdzdGF0ZScsICduYW1lJywgJ2lkJywgJ2xvb2snXSxcbiAgb3V0cHV0czogW1xuICAgICd2YWx1ZUNoYW5nZScsXG4gICAgJ3N0YXRlQ2hhbmdlJyxcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxuICAgICdvbkJsdXInLFxuICAgICdvbkZvY3VzJyxcbiAgICAncmVhZG9ubHlDaGFuZ2UnLFxuICAgICdkaXNhYmxlZENoYW5nZScsXG4gICAgJ29uS2V5RG93bicsXG4gICAgJ29uS2V5VXAnLFxuICAgICdvbktleVByZXNzJyxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG5cbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWENsZWFyYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhOdW1iZXJCb3hDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYTnVtYmVyQm94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTnVtYmVyQm94Q29tcG9uZW50XG4gIGV4dGVuZHMgY2xhc3NlcyhNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50PG51bWJlcj4sIE1YTG9va0NvbXBvbmVudClcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0XG57XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHJpdmF0ZSBfdGhvdXNhbmRzU2VwYXJhdG9yOiBzdHJpbmc7XG4gIC8qKlxuICAgKiAgQSBjaGFyYWN0ZXIgdmFsdWUgdGhhdCBzcGVjaWZpZXMgdGhlIHNlcGFyYXRvciBjaGFyYWN0ZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHRob3VzYW5kc1NlcGFyYXRvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90aG91c2FuZHNTZXBhcmF0b3I7XG4gIH1cbiAgcHVibGljIHNldCB0aG91c2FuZHNTZXBhcmF0b3Iodjogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ3Rob3VzYW5kc1NlcGFyYXRvcicsXG4gICAgICB2YWx1ZTogdiA/PyAnJyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3BhZERlY2ltYWxaZXJvcyA9IGZhbHNlO1xuICAvKipcbiAgICogIEEgY2hhcmFjdGVyIHZhbHVlIHRoYXQgc3BlY2lmaWVzIHRoZSBzZXBhcmF0b3IgY2hhcmFjdGVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBwYWREZWNpbWFsWmVyb3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZERlY2ltYWxaZXJvcztcbiAgfVxuICBwdWJsaWMgc2V0IHBhZERlY2ltYWxaZXJvcyh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ3BhZERlY2ltYWxaZXJvcycsXG4gICAgICB2YWx1ZTogdixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgU3BlY2lmaWVzIHRoZSB2YWx1ZSB0aGF0IGlzIHVzZWQgdG8gaW5jcmVtZW50IG9yIGRlY3JlbWVudCB0aGUgKipJbnRlZ2VyKiogcGFydCBvZiBudW1iZXJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHN0ZXAgPSAxO1xuXG4gIHByaXZhdGUgX2RlY2ltYWxzID0gMDtcbiAgLyoqXG4gICAqICBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBkZWNpbWFscyB0aGF0IHRoZSB1c2VyIGNhbiBlbnRlclxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBkZWNpbWFscygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9kZWNpbWFscztcbiAgfVxuICBwdWJsaWMgc2V0IGRlY2ltYWxzKHY6IG51bWJlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdkZWNpbWFscycsXG4gICAgICB2YWx1ZTogdiA/PyAwLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqICBTcGVjaWZpZXMgdGhlIHZhbHVlIHRoYXQgaXMgdXNlZCB0byBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IHRoZSAqKkRlY2lhbWwqKiBwYXJ0IG9mIG51bWJlclxuICAgKi9cbiAgQElucHV0KClcbiAgZGVjaW1hbFN0ZXA6IG51bWJlciB8ICdhdXRvJyA9ICdhdXRvJztcblxuICAvKipcbiAgICogIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBVcCBhbmQgRG93biBzcGluIGJ1dHRvbnMgd2lsbCBiZSByZW5kZXJlZCBvciBub3RcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNob3dTcGluQnV0dG9ucyA9IHRydWU7XG5cbiAgcHJpdmF0ZSBfbWluVmFsdWU6IG51bWJlciA9IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSO1xuICAvKipcbiAgICogIFNwZWNpZmllcyB0aGUgc21hbGxlc3QgdmFsdWUgdGhhdCBpcyB2YWxpZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBtaW5WYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9taW5WYWx1ZTtcbiAgfVxuICBwdWJsaWMgc2V0IG1pblZhbHVlKHY6IG51bWJlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdtaW5WYWx1ZScsXG4gICAgICB2YWx1ZTogdiAhPSBudWxsID8gTnVtYmVyKHYpIDogTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9tYXhWYWx1ZTogbnVtYmVyID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XG4gIC8qKlxuICAgKiAgU3BlY2lmaWVzIHRoZSBncmVhdGVzdCB2YWx1ZSB0aGF0IGlzIHZhbGlkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IG1heFZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21heFZhbHVlO1xuICB9XG4gIHB1YmxpYyBzZXQgbWF4VmFsdWUodjogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ21heFZhbHVlJyxcbiAgICAgIHZhbHVlOiB2ICE9IG51bGwgPyBOdW1iZXIodikgOiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcbiAgICB9KTtcbiAgfVxuXG4gIEBJbnB1dCgnY2xhc3MnKVxuICBjbGFzc05hbWVzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBfbWFza09iajogTWFza2VkTnVtYmVyO1xuXG4gIEBWaWV3Q2hpbGQoSU1hc2tEaXJlY3RpdmUpXG4gIHByaXZhdGUgX21hc2tEaXJlY3RpdmU6IElNYXNrRGlyZWN0aXZlPE1hc2tlZE51bWJlcj47XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZU1hc2soKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGludGVybmFsT3B0aW9uQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XG4gIH1cblxuICBvdmVycmlkZSBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xuICAgIHN1cGVyLmNsZWFyKHRydWUpO1xuICB9XG5cbiAgb3ZlcnJpZGUgaW50ZXJuYWxTZXRWYWx1ZSh2YWx1ZTogYW55KTogbnVtYmVyIHtcbiAgICAvLyB8fCAodmFsdWUgPT0gMCAmJiAhdGhpcy5fbWFza09iai52YWx1ZSlcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlO1xuICAgIH1cbiAgICBjb25zdCB2ID0gdG9OdW1iZXIodmFsdWUpO1xuICAgIGlmICh2IDwgdGhpcy5taW5WYWx1ZSkgcmV0dXJuIHRoaXMubWluVmFsdWU7XG4gICAgaWYgKHYgPiB0aGlzLm1heFZhbHVlKSByZXR1cm4gdGhpcy5tYXhWYWx1ZTtcbiAgICByZXR1cm4gdjtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZU1hc2soKSB7XG4gICAgaWYgKCF0aGlzLl9tYXNrT2JqKSB7XG4gICAgICB0aGlzLl9tYXNrT2JqID0gY3JlYXRlTWFzayh7XG4gICAgICAgIG1hc2s6IE51bWJlcixcbiAgICAgICAgbWluOiB0aGlzLm1pblZhbHVlLFxuICAgICAgICBtYXg6IHRoaXMubWF4VmFsdWUsXG4gICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogdGhpcy50aG91c2FuZHNTZXBhcmF0b3IgfHwgJycsXG4gICAgICAgIHNjYWxlOiB0aGlzLmRlY2ltYWxzLFxuICAgICAgICByYWRpeDogJy4nLFxuICAgICAgICBwYWRGcmFjdGlvbmFsWmVyb3M6IHRoaXMuZGVjaW1hbHMgPiAwICYmIHRoaXMucGFkRGVjaW1hbFplcm9zLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuX21hc2tPYmouZm9ybWF0ID0gKHY6IG51bWJlciwgbSkgPT4ge1xuICAgICAgICByZXR1cm4gIWlzTmFOKHYpXG4gICAgICAgICAgPyB2LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcbiAgICAgICAgICAgICAgdXNlR3JvdXBpbmc6IGZhbHNlLFxuICAgICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDIwLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICA6ICcnO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbWFza09iai51cGRhdGVPcHRpb25zKHtcbiAgICAgICAgbWluOiB0aGlzLm1pblZhbHVlLFxuICAgICAgICBtYXg6IHRoaXMubWF4VmFsdWUsXG4gICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogdGhpcy50aG91c2FuZHNTZXBhcmF0b3IgfHwgJycsXG4gICAgICAgIHNjYWxlOiB0aGlzLmRlY2ltYWxzLFxuICAgICAgICByYWRpeDogJy4nLFxuICAgICAgICBwYWRGcmFjdGlvbmFsWmVyb3M6IHRoaXMuZGVjaW1hbHMgPiAwICYmIHRoaXMucGFkRGVjaW1hbFplcm9zLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuX21hc2tEaXJlY3RpdmU/Lm1hc2tSZWY/LnVwZGF0ZVZhbHVlKCk7XG4gICAgdGhpcy5fbWFza0RpcmVjdGl2ZT8ubWFza1JlZj8udXBkYXRlQ29udHJvbCgpO1xuICB9XG5cbiAgX2hhbmRsZU1vZGVsQ2hhbmdlKHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWUgPT0gMCAmJiBpc0VtcHR5KHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LnZhbHVlKSkge1xuICAgICAgdmFsdWUgPSBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuY29tbWl0VmFsdWUodmFsdWUsIHRydWUpO1xuICB9XG5cbiAgX2hhbmRsZU9uS2V5ZG93bkV2ZW50KGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSByZXR1cm47XG4gICAgY29uc3QgaWdub3JlID0gKCkgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9O1xuICAgIGNvbnN0IGlucHV0ID0gZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBjb25zdCB2YWxTdHIgPSBpbnB1dC52YWx1ZTtcbiAgICBjb25zdCBkZWNpbWFsUG9pbnRJbmRleCA9IHZhbFN0ci5pbmRleE9mKCcuJyk7XG4gICAgY29uc3QgX2N1cnNvclBvcyA9IGlucHV0LnNlbGVjdGlvblN0YXJ0ITtcblxuICAgIGlmIChlLmtleSA9PT0gJ0Fycm93VXAnIHx8IGUua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgaWYgKGRlY2ltYWxQb2ludEluZGV4ID4gMCAmJiBfY3Vyc29yUG9zID4gZGVjaW1hbFBvaW50SW5kZXggJiYgdGhpcy5kZWNpbWFscyA+IDApIHtcbiAgICAgICAgZS5rZXkgPT09ICdBcnJvd0Rvd24nID8gdGhpcy5kZWNpbWFsU3RlcERvd24odHJ1ZSkgOiB0aGlzLmRlY2ltYWxTdGVwVXAodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlLmtleSA9PT0gJ0Fycm93RG93bicgPyB0aGlzLnN0ZXBEb3duKHRydWUpIDogdGhpcy5zdGVwVXAodHJ1ZSk7XG4gICAgICB9XG4gICAgICBpZ25vcmUoKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShfY3Vyc29yUG9zLCBfY3Vyc29yUG9zKTtcbiAgICAgIH0sIDUpO1xuICAgIH1cbiAgICBzdXBlci5lbWl0T25LZXlkb3duRXZlbnQoZSk7XG4gIH1cblxuICBfaGFuZGxlVXBEb3duQ2xpY2sodjogLTEgfCAxKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkgcmV0dXJuO1xuICAgIHYgPT0gMSA/IHRoaXMuc3RlcFVwKHRydWUpIDogdGhpcy5zdGVwRG93bih0cnVlKTtcbiAgfVxuXG4gIHN0ZXBVcCh1ID0gZmFsc2UpIHtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUoTWF0aC5tYXgodGhpcy5taW5WYWx1ZSwgMCksIHUpO1xuICAgIH1cbiAgICB0aGlzLmNvbW1pdFZhbHVlKHRoaXMudmFsdWUgKyB0b051bWJlcih0aGlzLnN0ZXApLCB1KTtcbiAgfVxuXG4gIHN0ZXBEb3duKHUgPSBmYWxzZSkge1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShNYXRoLm1heCh0aGlzLm1pblZhbHVlLCAwKSwgdSk7XG4gICAgfVxuICAgIHRoaXMuY29tbWl0VmFsdWUodGhpcy52YWx1ZSAtIHRvTnVtYmVyKHRoaXMuc3RlcCksIHUpO1xuICB9XG5cbiAgZGVjaW1hbFN0ZXBVcCh1ID0gZmFsc2UpIHtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUoTWF0aC5tYXgodGhpcy5taW5WYWx1ZSwgMCksIHUpO1xuICAgIH1cbiAgICB0aGlzLmNvbW1pdFZhbHVlKFxuICAgICAgdGhpcy52YWx1ZSArIHRvTnVtYmVyKHRoaXMuZGVjaW1hbFN0ZXAgPT0gJ2F1dG8nID8gMSAvIE1hdGgucG93KDEwLCB0aGlzLmRlY2ltYWxzKSA6IHRoaXMuZGVjaW1hbFN0ZXApLFxuICAgICAgdSxcbiAgICApO1xuICB9XG5cbiAgZGVjaW1hbFN0ZXBEb3duKHUgPSBmYWxzZSkge1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShNYXRoLm1heCh0aGlzLm1pblZhbHVlLCAwKSwgdSk7XG4gICAgfVxuICAgIHRoaXMuY29tbWl0VmFsdWUoXG4gICAgICB0aGlzLnZhbHVlIC0gdG9OdW1iZXIodGhpcy5kZWNpbWFsU3RlcCA9PSAnYXV0bycgPyAxIC8gTWF0aC5wb3coMTAsIHRoaXMuZGVjaW1hbHMpIDogdGhpcy5kZWNpbWFsU3RlcCksXG4gICAgICB1LFxuICAgICk7XG4gIH1cblxuICAvLyBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgLy8gZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gIC8vICAgcmV0dXJuIGBheC1lZGl0b3ItY29udGFpbmVyIGF4LWxvb2stJHt0aGlzLmxvb2t9ICR7dGhpcy5kaXNhYmxlZCA/ICdheC1zdGF0ZS1kaXNhYmxlZCcgOiAnJ31gO1xuICAvLyB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtZWRpdG9yLWNvbnRhaW5lciBheC1sb29rLXt7bG9va319IHt7Y2xhc3NOYW1lc319XCIgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPiA8L25nLWNvbnRlbnQ+XG4gIDxpbnB1dCAjaW5wdXQgY2xhc3M9XCJheC1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgW2lkXT1cImlkXCIgW25hbWVdPVwibmFtZVwiIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiJ29mZidcIiBbaW1hc2tdPVwiX21hc2tPYmpcIiBbdW5tYXNrXT1cIid0eXBlZCdcIiBbYXR0ci5taW5dPVwibWluVmFsdWVcIiBbYXR0ci5tYXhdPVwibWF4VmFsdWVcIlxuICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJyZWFkb25seVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW3RhYmluZGV4XT1cInRhYkluZGV4XCIgW25nTW9kZWxdPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJfaGFuZGxlTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGtleWRvd24pPVwiX2hhbmRsZU9uS2V5ZG93bkV2ZW50KCRldmVudClcIiAoa2V5dXApPVwiZW1pdE9uS2V5dXBFdmVudCgkZXZlbnQpXCJcbiAgICAoa2V5cHJlc3MpPVwiZW1pdE9uS2V5cHJlc3NFdmVudCgkZXZlbnQpXCIgKGZvY3VzKT1cImVtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiIChibHVyKT1cImVtaXRPbkJsdXJFdmVudCgkZXZlbnQpXCIgLz5cbiAgQGlmKGlucHV0LnZhbHVlICYmICFkaXNhYmxlZCAmJiAhcmVhZG9ubHkpe1xuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1jbGVhci1idXR0b25cIj48L25nLWNvbnRlbnQ+XG4gIH1cbiAgQGlmKHNob3dTcGluQnV0dG9ucyl7XG4gIDxkaXYgY2xhc3M9XCJheC1udW1iZXItYm94LWNvbnRyb2xcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1pY29uIGF4LW51bWJlci1ib3gtaW5jcmVtZW50XCJcbiAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiIChjbGljayk9XCJfaGFuZGxlVXBEb3duQ2xpY2soMSlcIiB0YWJpbmRleD1cIi0xXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1zb2xpZCBheC1pY29uLWFycm93LXVwXCI+PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLWljb24gYXgtbnVtYmVyLWJveC1kZWNyZW1lbnRcIlxuICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCIgKGNsaWNrKT1cIl9oYW5kbGVVcERvd25DbGljaygtMSlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLXNvbGlkIGF4LWljb24tYXJyb3ctZG93blwiIHRhYmluZGV4PVwiLTFcIj48L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICB9XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPiA8L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPiA8L25nLWNvbnRlbnQ+XG48ZGl2IGNsYXNzPVwiYXgtZXJyb3ItY29udGFpbmVyXCI+PC9kaXY+Il19
|