@ng-nest/ui 13.1.3 → 13.1.4
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/core/config/config.d.ts +4 -0
- package/dialog/dialog-portal.component.d.ts +33 -5
- package/dialog/dialog-portal.directives.d.ts +17 -0
- package/dialog/dialog-ref.d.ts +11 -1
- package/dialog/dialog.module.d.ts +1 -1
- package/dialog/dialog.property.d.ts +28 -0
- package/dialog/dialog.service.d.ts +1 -0
- package/esm2020/core/config/config.mjs +1 -1
- package/esm2020/dialog/dialog-portal.component.mjs +49 -12
- package/esm2020/dialog/dialog-portal.directives.mjs +47 -1
- package/esm2020/dialog/dialog-ref.mjs +81 -2
- package/esm2020/dialog/dialog.module.mjs +10 -2
- package/esm2020/dialog/dialog.property.mjs +1 -1
- package/esm2020/dialog/dialog.service.mjs +53 -8
- package/esm2020/list/list-option.component.mjs +21 -8
- package/esm2020/list/list.component.mjs +3 -3
- package/esm2020/list/list.property.mjs +13 -3
- package/esm2020/resizable/resizable.directive.mjs +10 -4
- package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-dialog.mjs +244 -25
- package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-list.mjs +36 -15
- package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-resizable.mjs +9 -3
- package/fesm2015/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-dialog.mjs +237 -25
- package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-list.mjs +36 -15
- package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-resizable.mjs +9 -3
- package/fesm2020/ng-nest-ui-resizable.mjs.map +1 -1
- package/list/examples/en_US/default/size/README.md +6 -0
- package/list/examples/zh_CN/default/size/README.md +6 -0
- package/list/list-option.component.d.ts +8 -2
- package/list/list.property.d.ts +13 -3
- package/package.json +1 -1
- package/rate/examples/en_US/default/color/README.md +6 -0
- package/rate/examples/zh_CN/default/color/README.md +6 -0
- package/resizable/resizable.directive.d.ts +3 -1
- package/tag/examples/zh_CN/default/bordered/README.md +1 -1
|
@@ -11,7 +11,7 @@ import { XOutletModule } from '@ng-nest/ui/outlet';
|
|
|
11
11
|
import { XResizableModule } from '@ng-nest/ui/resizable';
|
|
12
12
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
13
13
|
import { XDialogProperty } from './dialog.property';
|
|
14
|
-
import { XDialogActionsDirective, XDialogCloseDirective, XDialogContentDirective, XDialogTitleDirective } from './dialog-portal.directives';
|
|
14
|
+
import { XDialogActionsDirective, XDialogCloseDirective, XDialogContentDirective, XDialogDragHandleDirective, XDialogFullscreenDirective, XDialogTitleDirective } from './dialog-portal.directives';
|
|
15
15
|
import { XDialogPortalComponent } from './dialog-portal.component';
|
|
16
16
|
import { XDialogService } from './dialog.service';
|
|
17
17
|
import * as i0 from "@angular/core";
|
|
@@ -23,6 +23,8 @@ export class XDialogModule {
|
|
|
23
23
|
XDialogTitleDirective,
|
|
24
24
|
XDialogContentDirective,
|
|
25
25
|
XDialogActionsDirective,
|
|
26
|
+
XDialogDragHandleDirective,
|
|
27
|
+
XDialogFullscreenDirective,
|
|
26
28
|
XDialogPortalComponent,
|
|
27
29
|
XDialogProperty], imports: [CommonModule,
|
|
28
30
|
FormsModule,
|
|
@@ -39,6 +41,8 @@ export class XDialogModule {
|
|
|
39
41
|
XDialogTitleDirective,
|
|
40
42
|
XDialogContentDirective,
|
|
41
43
|
XDialogActionsDirective,
|
|
44
|
+
XDialogDragHandleDirective,
|
|
45
|
+
XDialogFullscreenDirective,
|
|
42
46
|
XDialogPortalComponent] });
|
|
43
47
|
/** @nocollapse */ /** @nocollapse */ XDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogModule, providers: [XDialogService], imports: [[
|
|
44
48
|
CommonModule,
|
|
@@ -62,6 +66,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
62
66
|
XDialogTitleDirective,
|
|
63
67
|
XDialogContentDirective,
|
|
64
68
|
XDialogActionsDirective,
|
|
69
|
+
XDialogDragHandleDirective,
|
|
70
|
+
XDialogFullscreenDirective,
|
|
65
71
|
XDialogPortalComponent,
|
|
66
72
|
XDialogProperty
|
|
67
73
|
],
|
|
@@ -71,6 +77,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
71
77
|
XDialogTitleDirective,
|
|
72
78
|
XDialogContentDirective,
|
|
73
79
|
XDialogActionsDirective,
|
|
80
|
+
XDialogDragHandleDirective,
|
|
81
|
+
XDialogFullscreenDirective,
|
|
74
82
|
XDialogPortalComponent
|
|
75
83
|
],
|
|
76
84
|
imports: [
|
|
@@ -89,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
89
97
|
providers: [XDialogService]
|
|
90
98
|
}]
|
|
91
99
|
}] });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RpYWxvZy9kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLHFCQUFxQixFQUN0QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUF1Q2xELE1BQU0sT0FBTyxhQUFhOztnSkFBYixhQUFhO2lKQUFiLGFBQWEsaUJBbkN0QixnQkFBZ0I7UUFDaEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQix1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsc0JBQXNCO1FBQ3RCLGVBQWUsYUFhZixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixjQUFjO1FBQ2QsWUFBWTtRQUNaLGFBQWE7UUFDYixXQUFXO1FBQ1gsYUFBYTtRQUNiLFlBQVk7UUFDWixhQUFhO1FBQ2IsZ0JBQWdCLGFBcEJoQixnQkFBZ0I7UUFDaEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQix1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsc0JBQXNCO2lKQWlCYixhQUFhLGFBRmIsQ0FBQyxjQUFjLENBQUMsWUFibEI7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsWUFBWTtZQUNaLGFBQWE7WUFDYixXQUFXO1lBQ1gsYUFBYTtZQUNiLFlBQVk7WUFDWixhQUFhO1lBQ2IsZ0JBQWdCO1NBQ2pCOzJGQUdVLGFBQWE7a0JBckN6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLHNCQUFzQjt3QkFDdEIsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsc0JBQXNCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixnQkFBZ0I7cUJBQ2pCO29CQUNELFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWEFsZXJ0TW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYWxlcnQnO1xyXG5pbXBvcnQgeyBYUG9ydGFsTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvcG9ydGFsJztcclxuaW1wb3J0IHsgWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IFhJY29uTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaWNvbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYSW5wdXRNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dCc7XHJcbmltcG9ydCB7IFhPdXRsZXRNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5pbXBvcnQgeyBYUmVzaXphYmxlTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvcmVzaXphYmxlJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgWERpYWxvZ1Byb3BlcnR5IH0gZnJvbSAnLi9kaWFsb2cucHJvcGVydHknO1xyXG5pbXBvcnQge1xyXG4gIFhEaWFsb2dBY3Rpb25zRGlyZWN0aXZlLFxyXG4gIFhEaWFsb2dDbG9zZURpcmVjdGl2ZSxcclxuICBYRGlhbG9nQ29udGVudERpcmVjdGl2ZSxcclxuICBYRGlhbG9nRHJhZ0hhbmRsZURpcmVjdGl2ZSxcclxuICBYRGlhbG9nRnVsbHNjcmVlbkRpcmVjdGl2ZSxcclxuICBYRGlhbG9nVGl0bGVEaXJlY3RpdmVcclxufSBmcm9tICcuL2RpYWxvZy1wb3J0YWwuZGlyZWN0aXZlcyc7XHJcbmltcG9ydCB7IFhEaWFsb2dQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2RpYWxvZy5zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBYRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgWERpYWxvZ0Nsb3NlRGlyZWN0aXZlLFxyXG4gICAgWERpYWxvZ1RpdGxlRGlyZWN0aXZlLFxyXG4gICAgWERpYWxvZ0NvbnRlbnREaXJlY3RpdmUsXHJcbiAgICBYRGlhbG9nQWN0aW9uc0RpcmVjdGl2ZSxcclxuICAgIFhEaWFsb2dEcmFnSGFuZGxlRGlyZWN0aXZlLFxyXG4gICAgWERpYWxvZ0Z1bGxzY3JlZW5EaXJlY3RpdmUsXHJcbiAgICBYRGlhbG9nUG9ydGFsQ29tcG9uZW50LFxyXG4gICAgWERpYWxvZ1Byb3BlcnR5XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBYRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgWERpYWxvZ0Nsb3NlRGlyZWN0aXZlLFxyXG4gICAgWERpYWxvZ1RpdGxlRGlyZWN0aXZlLFxyXG4gICAgWERpYWxvZ0NvbnRlbnREaXJlY3RpdmUsXHJcbiAgICBYRGlhbG9nQWN0aW9uc0RpcmVjdGl2ZSxcclxuICAgIFhEaWFsb2dEcmFnSGFuZGxlRGlyZWN0aXZlLFxyXG4gICAgWERpYWxvZ0Z1bGxzY3JlZW5EaXJlY3RpdmUsXHJcbiAgICBYRGlhbG9nUG9ydGFsQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIFhJbnB1dE1vZHVsZSxcclxuICAgIFhCdXR0b25Nb2R1bGUsXHJcbiAgICBYSWNvbk1vZHVsZSxcclxuICAgIFhQb3J0YWxNb2R1bGUsXHJcbiAgICBYQWxlcnRNb2R1bGUsXHJcbiAgICBYT3V0bGV0TW9kdWxlLFxyXG4gICAgWFJlc2l6YWJsZU1vZHVsZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbWERpYWxvZ1NlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRGlhbG9nTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -169,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
169
169
|
}], closeDone: [{
|
|
170
170
|
type: Output
|
|
171
171
|
}] } });
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGlhbG9nL2RpYWxvZy5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBb0IsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBbUIsYUFBYSxFQUFnQyxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUsY0FBYyxFQUFnQixNQUFNLG1CQUFtQixDQUFDOztBQUtqRTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxRQUFRLENBQUM7QUFDN0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsb0JBQW9CLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFNLGFBQWEsQ0FBQyxDQUFDO0FBRXBFOztHQUVHO0FBRUgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBYztJQURuRDs7UUFFNEIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQVduRDs7O1dBR0c7UUFDZSxTQUFJLEdBQWdCLE1BQU0sQ0FBQztRQTRGN0M7OztXQUdHO1FBQ08sV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEM7OztXQUdHO1FBQ08sWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkM7OztXQUdHO1FBQ08sa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3REOzs7V0FHRztRQUNPLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzdDOzs7V0FHRztRQUNPLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBQy9DOztrSkFySVksZUFBZTtzSUFBZixlQUFlLDB0QkFETCxFQUFFO0FBRUc7SUFBaEIsYUFBYSxFQUFFO2dEQUEwQjtBQUtXO0lBQXBELFdBQVcsQ0FBUyxvQkFBb0IsRUFBRSxRQUFRLENBQUM7a0RBQW9CO0FBS3JCO0lBQWxELFdBQVcsQ0FBUyxvQkFBb0IsRUFBRSxNQUFNLENBQUM7K0NBQWlCO0FBVWY7SUFBbkQsV0FBVyxDQUFTLG9CQUFvQixFQUFFLE9BQU8sQ0FBQzs4Q0FBZ0I7QUFVZjtJQUFuRCxXQUFXLENBQVMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDO2lEQUE0QjtBQUs1QjtJQUFsRCxXQUFXLENBQVMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDO2tEQUE2QjtBQUsxQjtJQUFwRCxXQUFXLENBQVUsb0JBQW9CLEVBQUUsT0FBTyxDQUFDOytDQUEyQjtBQVU1QjtJQUFsRCxXQUFXLENBQVcsb0JBQW9CLEVBQUUsSUFBSSxDQUFDO21EQUF1QjtBQUs5QjtJQUExQyxXQUFXLENBQVMsb0JBQW9CLENBQUM7bURBQXFCO0FBS1o7SUFBbEQsV0FBVyxDQUFXLG9CQUFvQixFQUFFLElBQUksQ0FBQztvREFBd0I7QUFLL0I7SUFBMUMsV0FBVyxDQUFTLG9CQUFvQixDQUFDO29EQUFzQjtBQUtiO0lBQWxELFdBQVcsQ0FBVyxvQkFBb0IsRUFBRSxJQUFJLENBQUM7c0RBQTBCO0FBS3pCO0lBQWxELFdBQVcsQ0FBVyxvQkFBb0IsRUFBRSxJQUFJLENBQUM7b0RBQXdCO0FBSzNCO0lBQTlDLFdBQVcsQ0FBUyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7a0RBQW9CO0FBS0o7SUFBN0QsV0FBVyxDQUFXLG9CQUFvQixDQUFDO0lBQUUsYUFBYSxFQUFFO3NEQUEwQjtBQUtsQjtJQUFwRSxXQUFXLENBQVcsb0JBQW9CLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFO2tEQUErQjtBQUs5QjtJQUFwRSxXQUFXLENBQVcsb0JBQW9CLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFO2tEQUErQjtBQUs5QjtJQUFwRSxXQUFXLENBQVcsb0JBQW9CLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFO2lEQUFxQjsyRkFyR3ZGLGVBQWU7a0JBRDNCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQUVDLE9BQU87c0JBQWhDLEtBQUs7Z0JBS3dELFNBQVM7c0JBQXRFLEtBQUs7Z0JBS3NELE1BQU07c0JBQWpFLEtBQUs7Z0JBS1ksSUFBSTtzQkFBckIsS0FBSztnQkFLdUQsS0FBSztzQkFBakUsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBS2dFLFFBQVE7c0JBQTdFLEtBQUs7Z0JBSytELFNBQVM7c0JBQTdFLEtBQUs7Z0JBS2lFLE1BQU07c0JBQTVFLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtzRCxVQUFVO3NCQUFyRSxLQUFLO2dCQUs4QyxVQUFVO3NCQUE3RCxLQUFLO2dCQUtzRCxXQUFXO3NCQUF0RSxLQUFLO2dCQUs4QyxXQUFXO3NCQUE5RCxLQUFLO2dCQUtzRCxhQUFhO3NCQUF4RSxLQUFLO2dCQUtzRCxXQUFXO3NCQUF0RSxLQUFLO2dCQUtrRCxTQUFTO3NCQUFoRSxLQUFLO2dCQUtpRSxhQUFhO3NCQUFuRixLQUFLO2dCQUtpRixTQUFTO3NCQUEvRixLQUFLO2dCQUtpRixTQUFTO3NCQUEvRixLQUFLO2dCQUt3RSxRQUFRO3NCQUFyRixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTUksTUFBTTtzQkFBZixNQUFNO2dCQUtHLE9BQU87c0JBQWhCLE1BQU07Z0JBS0csYUFBYTtzQkFBdEIsTUFBTTtnQkFLRyxRQUFRO3NCQUFqQixNQUFNO2dCQUtHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENvbXBvbmVudCwgVmlld0NvbnRhaW5lclJlZiwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFN0YXR1cywgWFBsYWNlLCBYSW5wdXRCb29sZWFuLCBYVGVtcGxhdGUsIFhFZmZlY3QsIFhCb29sZWFuLCBYV2l0aENvbmZpZyB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYQWxlcnRQcm9wZXJ0eSwgWEFsZXJ0T3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvYWxlcnQnO1xyXG5pbXBvcnQgeyBYUG9ydGFsT3ZlcmxheVJlZiB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYRGlhbG9nUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2ctcG9ydGFsLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogRGlhbG9nXHJcbiAqIEBzZWxlY3RvciB4LWRpYWxvZ1xyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhEaWFsb2dQcmVmaXggPSAneC1kaWFsb2cnO1xyXG5leHBvcnQgY29uc3QgWF9ESUFMT0dfQ09ORklHX05BTUUgPSAnZGlhbG9nJztcclxuZXhwb3J0IGNvbnN0IFhEaWFsb2dDb250YWluZXIgPSAneC1kaWFsb2ctY29udGFpbmVyJztcclxuZXhwb3J0IGNvbnN0IFhfRElBTE9HX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignWERpYWxvZ0RhdGEnKTtcclxuXHJcbi8qKlxyXG4gKiBEaWFsb2cgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhEaWFsb2dQcm9wZXJ0eSBleHRlbmRzIFhBbGVydFByb3BlcnR5IHtcclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pa55L2N77yM5Lmd5a6r5qC8XHJcbiAgICogQGVuX1VTIERpcmVjdGlvbiwgbmluZSBncmlkXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhQbGFjZT4oWF9ESUFMT0dfQ09ORklHX05BTUUsICdjZW50ZXInKSBwbGFjZW1lbnQhOiBYUGxhY2U7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWBj+enu+i3neemu1xyXG4gICAqIEBlbl9VUyBPZmZzZXQgZGlzdGFuY2VcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0RJQUxPR19DT05GSUdfTkFNRSwgJzFyZW0nKSBvZmZzZXQhOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOexu+Wei1xyXG4gICAqIEBlbl9VUyBUeXBlcyBvZlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG92ZXJyaWRlIHR5cGU6IFhEaWFsb2dUeXBlID0gJ2luZm8nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgV2lkdGhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0RJQUxPR19DT05GSUdfTkFNRSwgJzMycmVtJykgd2lkdGg/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmrmOW6plxyXG4gICAqIEBlbl9VUyBIZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBoZWlnaHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOacgOWwj+WuveW6plxyXG4gICAqIEBlbl9VUyBNaW4gd2lkdGhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0RJQUxPR19DT05GSUdfTkFNRSwgJzE4cmVtJykgb3ZlcnJpZGUgbWluV2lkdGg/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOacgOWwj+mrmOW6plxyXG4gICAqIEBlbl9VUyBNaW4gaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9ESUFMT0dfQ09ORklHX05BTUUsICc5cmVtJykgb3ZlcnJpZGUgbWluSGVpZ2h0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoLflvI/kuLvpophcclxuICAgKiBAZW5fVVMgU3R5bGUgdGhlbWVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEVmZmVjdD4oWF9ESUFMT0dfQ09ORklHX05BTUUsICd3aGl0ZScpIG92ZXJyaWRlIGVmZmVjdCE6IFhFZmZlY3Q7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW6lemDqOiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDdXN0b20gdGVtcGxhdGUgYXQgdGhlIGJvdHRvbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZvb3Rlcj86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65Y+W5raI5oyJ6ZKuXHJcbiAgICogQGVuX1VTIFNob3cgY2FuY2VsIGJ1dHRvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9ESUFMT0dfQ09ORklHX05BTUUsIHRydWUpIHNob3dDYW5jZWwhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+W5raI5oyJ6ZKu5paH5a2XXHJcbiAgICogQGVuX1VTIENhbmNlbCBidXR0b24gdGV4dFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxzdHJpbmc+KFhfRElBTE9HX0NPTkZJR19OQU1FKSBjYW5jZWxUZXh0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrnoa7orqTmjInpkq5cclxuICAgKiBAZW5fVVMgU2hvdyBjb25maXJtYXRpb24gYnV0dG9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0RJQUxPR19DT05GSUdfTkFNRSwgdHJ1ZSkgc2hvd0NvbmZpcm0hOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g56Gu6K6k5oyJ6ZKu5paH5a2XXHJcbiAgICogQGVuX1VTIENvbmZpcm0gYnV0dG9uIHRleHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0RJQUxPR19DT05GSUdfTkFNRSkgY29uZmlybVRleHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOeCueWHu+mBrue9qeWFs+mXrVxyXG4gICAqIEBlbl9VUyBDbGljayB0aGUgbWFzayB0byBjbG9zZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9ESUFMT0dfQ09ORklHX05BTUUsIHRydWUpIGJhY2tkcm9wQ2xvc2UhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5pi+56S66IOM5pmv6YGu572pXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgYmFja2dyb3VuZCBtYXNrXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0RJQUxPR19DT05GSUdfTkFNRSwgdHJ1ZSkgaGFzQmFja2Ryb3AhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5qC35byP5ZCNXHJcbiAgICogQGVuX1VTIEN1c3RvbSBzdHlsZSBuYW1lXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9ESUFMT0dfQ09ORklHX05BTUUsICcnKSBjbGFzc05hbWUhOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaMiemSruWxheS4rVxyXG4gICAqIEBlbl9VUyBCdXR0b24gY2VudGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0RJQUxPR19DT05GSUdfTkFNRSkgQFhJbnB1dEJvb2xlYW4oKSBidXR0b25zQ2VudGVyPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOWvueivneahhlxyXG4gICAqIEBlbl9VUyBEcmFnIGRpYWxvZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9ESUFMT0dfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIG92ZXJyaWRlIGRyYWdnYWJsZT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDosIPmlbTlvLnmoYbnmoTlpKflsI9cclxuICAgKiBAZW5fVVMgQWRqdXN0IHRoZSBzaXplIG9mIHRoZSBib3hcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfRElBTE9HX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBvdmVycmlkZSByZXNpemFibGU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pyA5aSn5YyW5by55Ye65qGG5oyJ6ZKu77yM5b2T5ZCv55SoIHJlc2l6YWJsZSDml7bkuZ/kvJrmmL7npLpcclxuICAgKiBAZW5fVVMgTWF4aW1pemUgdGhlIGJ1bGxldCBib3ggYnV0dG9uLCBXaWxsIGFsc28gZGlzcGxheSB3aGVuIHJlc2l6YWJsZSBpcyBlbmFibGVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0RJQUxPR19DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgbWF4aW1pemU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWz6Zet5YmN5aSE55CG5Ye95pWwXHJcbiAgICogQGVuX1VTIFByb2Nlc3NpbmcgZnVuY3Rpb24gYmVmb3JlIGNsb3NpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBiZWZvcmVDbG9zZSE6IEZ1bmN0aW9uO1xyXG5cclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+W5raI5oyJ6ZKu55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIENhbmNlbCBidXR0b24gZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnoa7orqTmjInpkq7nmoTkuovku7ZcclxuICAgKiBAZW5fVVMgQ29uZmlybSBidXR0b24gZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY29uZmlybSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S6L+makOiXj+aUueWPmOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTaG93L2hpZGUgY2hhbmdlIGV2ZW50c1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnlh7rlrozmiJDliqjnlLvliqDovb1cclxuICAgKiBAZW5fVVMgUG9wIHVwIGNvbXBsZXRlIGFuaW1hdGlvbiBsb2FkaW5nXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHNob3dEb25lID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFs+mXreWujOaIkOWKqOeUu1xyXG4gICAqIEBlbl9VUyBDbG9zZSBjb21wbGV0ZSBhbmltYXRpb25cclxuICAgKi9cclxuICBAT3V0cHV0KCkgY2xvc2VEb25lID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERpYWxvZ09wdGlvbiBleHRlbmRzIFhBbGVydE9wdGlvbiB7XHJcbiAgdmlzaWJsZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWueS9je+8jOS5neWuq+agvFxyXG4gICAqIEBlbl9VUyBEaXJlY3Rpb24sIG5pbmUgZ3JpZFxyXG4gICAqL1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YGP56e76Led56a7XHJcbiAgICogQGVuX1VTIE9mZnNldCBkaXN0YW5jZVxyXG4gICAqL1xyXG4gIG9mZnNldD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g57G75Z6LXHJcbiAgICogQGVuX1VTIFR5cGVzIG9mXHJcbiAgICovXHJcbiAgdHlwZT86IFhEaWFsb2dUeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgV2lkdGhcclxuICAgKi9cclxuICB3aWR0aD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6auY5bqmXHJcbiAgICogQGVuX1VTIEhlaWdodFxyXG4gICAqL1xyXG4gIGhlaWdodD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5qC35byP5Li76aKYXHJcbiAgICogQGVuX1VTIFN0eWxlIHRoZW1lXHJcbiAgICovXHJcbiAgZWZmZWN0PzogWEVmZmVjdDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bqV6YOo6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIEN1c3RvbSB0ZW1wbGF0ZSBhdCB0aGUgYm90dG9tXHJcbiAgICovXHJcbiAgZm9vdGVyPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrlj5bmtojmjInpkq5cclxuICAgKiBAZW5fVVMgU2hvdyBjYW5jZWwgYnV0dG9uXHJcbiAgICovXHJcbiAgc2hvd0NhbmNlbD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlj5bmtojmjInpkq7mloflrZdcclxuICAgKiBAZW5fVVMgQ2FuY2VsIGJ1dHRvbiB0ZXh0XHJcbiAgICovXHJcbiAgY2FuY2VsVGV4dD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S656Gu6K6k5oyJ6ZKuXHJcbiAgICogQGVuX1VTIFNob3cgY29uZmlybWF0aW9uIGJ1dHRvblxyXG4gICAqL1xyXG4gIHNob3dDb25maXJtPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOehruiupOaMiemSruaWh+Wtl1xyXG4gICAqIEBlbl9VUyBDb25maXJtIGJ1dHRvbiB0ZXh0XHJcbiAgICovXHJcbiAgY29uZmlybVRleHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOeCueWHu+mBrue9qeWFs+mXrVxyXG4gICAqIEBlbl9VUyBDbGljayB0aGUgbWFzayB0byBjbG9zZVxyXG4gICAqL1xyXG4gIGJhY2tkcm9wQ2xvc2U/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5pi+56S66IOM5pmv6YGu572pXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgYmFja2dyb3VuZCBtYXNrXHJcbiAgICovXHJcbiAgaGFzQmFja2Ryb3A/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5qC35byP5ZCNXHJcbiAgICogQGVuX1VTIEN1c3RvbSBzdHlsZSBuYW1lXHJcbiAgICovXHJcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjInpkq7lsYXkuK1cclxuICAgKiBAZW5fVVMgQnV0dG9uIGNlbnRlclxyXG4gICAqL1xyXG4gIGJ1dHRvbnNDZW50ZXI/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ouW5Yqo5a+56K+d5qGGXHJcbiAgICogQGVuX1VTIERyYWcgZGlhbG9nXHJcbiAgICovXHJcbiAgZHJhZ2dhYmxlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6LCD5pW05by55qGG55qE5aSn5bCPXHJcbiAgICogQGVuX1VTIEFkanVzdCB0aGUgc2l6ZSBvZiB0aGUgYm94XHJcbiAgICovXHJcbiAgcmVzaXphYmxlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWz6Zet5YmN5aSE55CG5Ye95pWwXHJcbiAgICogQGVuX1VTIFByb2Nlc3NpbmcgZnVuY3Rpb24gYmVmb3JlIGNsb3NpbmdcclxuICAgKi9cclxuICBiZWZvcmVDbG9zZT86IEZ1bmN0aW9uO1xyXG59XHJcblxyXG4vKipcclxuICogRGlhbG9nIG9wdGlvbiBieSBzZXJ2aWNlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhEaWFsb2dSZWZPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXnpLrmlrnlkJFcclxuICAgKiBAZW5fVVMgRGlzcGxheSBkaXJlY3Rpb25cclxuICAgKiBAZGVmYXVsdCAnY2VudGVyJ1xyXG4gICAqIEB3aXRoQ29uZmlnIHRydWVcclxuICAgKi9cclxuICBwbGFjZW1lbnQ/OiBYUGxhY2U7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWBj+enu+i3neemu1xyXG4gICAqIEBlbl9VUyBPZmZzZXQgZGlzdGFuY2VcclxuICAgKiBAZGVmYXVsdCAnMXJlbSdcclxuICAgKiBAd2l0aENvbmZpZyB0cnVlXHJcbiAgICovXHJcbiAgb2Zmc2V0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgV2lkdGhcclxuICAgKiBAZGVmYXVsdCAnMzJyZW0nXHJcbiAgICogQHdpdGhDb25maWcgdHJ1ZVxyXG4gICAqL1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpq5jluqZcclxuICAgKiBAZW5fVVMgSGVpZ2h0XHJcbiAgICovXHJcbiAgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnmoLflvI/lkI1cclxuICAgKiBAZW5fVVMgQ3VzdG9tIHN0eWxlIG5hbWVcclxuICAgKi9cclxuICBjbGFzc05hbWU/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOeCueWHu+mBrue9qeWFs+mXrVxyXG4gICAqIEBlbl9VUyBDbGljayB0aGUgbWFzayB0byBjbG9zZVxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKiBAd2l0aENvbmZpZyB0cnVlXHJcbiAgICovXHJcbiAgYmFja2Ryb3BDbG9zZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuaYvuekuuiDjOaZr+mBrue9qVxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGJhY2tncm91bmQgbWFza1xyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKiBAd2l0aENvbmZpZyB0cnVlXHJcbiAgICovXHJcbiAgaGFzQmFja2Ryb3A/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmlbDmja7vvIzpgJrov4cgXCJASW5qZWN0KFhfRElBTE9HX0RBVEEpXCIg5p2l5o6l5pS25pWw5o2uXHJcbiAgICogQGVuX1VTIERhdGEuIFJlY2VpdmUgZGF0YSBieSBcIkBJbmplY3QoWF9ESUFMT0dfREFUQSlcIlxyXG4gICAqL1xyXG4gIGRhdGE/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQGVuX1VTIOinhuWbvuWuueWZqOWunuS+i+WPr+S7peWMheWQq+WFtuS7luinhuWbvuWuueWZqOOAglxyXG4gICAqIEBlbl9VUyBBIHZpZXcgY29udGFpbmVyIGluc3RhbmNlIGNhbiBjb250YWluIG90aGVyIHZpZXcgY29udGFpbmVycy5cclxuICAgKi9cclxuICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgWERpYWxvZ0FuaW1hdGlvblN0YXRlID0gWFBsYWNlIHwgJ3ZvaWQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRGlhbG9nQW5pbWF0aW9uRXZlbnQge1xyXG4gIHN0YXRlOiBYRGlhbG9nQW5pbWF0aW9uU3RhdGU7XHJcbiAgYWN0aW9uOiAnc3RhcnQnIHwgJ2RvbmUnO1xyXG4gIHRvdGFsVGltZTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEaWFsb2dDYWxsYmFjayB7XHJcbiAgKGFjdGlvbjogWERpYWxvZ0FjdGlvbiwgbWVzc2FnZT86IHN0cmluZyk6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFhEaWFsb2dBY3Rpb24gPSAnY29uZmlybScgfCAnY2FuY2VsJztcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Yib5bu655qE5by55qGG5a+56LGhXHJcbiAqIEBlbl9VUyBEaWFsb2cgb2JqZWN0IGNyZWF0ZWRcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERpYWxvZ092ZXJsYXlSZWYgZXh0ZW5kcyBYUG9ydGFsT3ZlcmxheVJlZjxYRGlhbG9nQ29tcG9uZW50PiB7fVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJvlu7rnmoTlvLnmoYblr7nosaHvvIzpgJrov4fmnI3liqFcclxuICogQGVuX1VTIERpYWxvZyBvYmplY3QgY3JlYXRlZCBieSBzZXJ2aWNlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhEaWFsb2dQb3J0YWxPdmVybGF5UmVmIGV4dGVuZHMgWFBvcnRhbE92ZXJsYXlSZWY8WERpYWxvZ1BvcnRhbENvbXBvbmVudD4ge31cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g57G75Z6LXHJcbiAqIEBlbl9VUyBUeXBlcyBvZlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWERpYWxvZ1R5cGUgPSBYU3RhdHVzO1xyXG4iXX0=
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGlhbG9nL2RpYWxvZy5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBb0IsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBbUIsYUFBYSxFQUFnQyxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUsY0FBYyxFQUFnQixNQUFNLG1CQUFtQixDQUFDOztBQUtqRTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxRQUFRLENBQUM7QUFDN0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsb0JBQW9CLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFNLGFBQWEsQ0FBQyxDQUFDO0FBRXBFOztHQUVHO0FBRUgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBYztJQURuRDs7UUFFNEIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQVduRDs7O1dBR0c7UUFDZSxTQUFJLEdBQWdCLE1BQU0sQ0FBQztRQTRGN0M7OztXQUdHO1FBQ08sV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEM7OztXQUdHO1FBQ08sWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkM7OztXQUdHO1FBQ08sa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3REOzs7V0FHRztRQUNPLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzdDOzs7V0FHRztRQUNPLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBQy9DOztrSkFySVksZUFBZTtzSUFBZixlQUFlLDB0QkFETCxFQUFFO0FBRUc7SUFBaEIsYUFBYSxFQUFFO2dEQUEwQjtBQUtXO0lBQXBELFdBQVcsQ0FBUyxvQkFBb0IsRUFBRSxRQUFRLENBQUM7a0RBQW9CO0FBS3JCO0lBQWxELFdBQVcsQ0FBUyxvQkFBb0IsRUFBRSxNQUFNLENBQUM7K0NBQWlCO0FBVWY7SUFBbkQsV0FBVyxDQUFTLG9CQUFvQixFQUFFLE9BQU8sQ0FBQzs4Q0FBZ0I7QUFVZjtJQUFuRCxXQUFXLENBQVMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDO2lEQUE0QjtBQUs1QjtJQUFsRCxXQUFXLENBQVMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDO2tEQUE2QjtBQUsxQjtJQUFwRCxXQUFXLENBQVUsb0JBQW9CLEVBQUUsT0FBTyxDQUFDOytDQUEyQjtBQVU1QjtJQUFsRCxXQUFXLENBQVcsb0JBQW9CLEVBQUUsSUFBSSxDQUFDO21EQUF1QjtBQUs5QjtJQUExQyxXQUFXLENBQVMsb0JBQW9CLENBQUM7bURBQXFCO0FBS1o7SUFBbEQsV0FBVyxDQUFXLG9CQUFvQixFQUFFLElBQUksQ0FBQztvREFBd0I7QUFLL0I7SUFBMUMsV0FBVyxDQUFTLG9CQUFvQixDQUFDO29EQUFzQjtBQUtiO0lBQWxELFdBQVcsQ0FBVyxvQkFBb0IsRUFBRSxJQUFJLENBQUM7c0RBQTBCO0FBS3pCO0lBQWxELFdBQVcsQ0FBVyxvQkFBb0IsRUFBRSxJQUFJLENBQUM7b0RBQXdCO0FBSzNCO0lBQTlDLFdBQVcsQ0FBUyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7a0RBQW9CO0FBS0o7SUFBN0QsV0FBVyxDQUFXLG9CQUFvQixDQUFDO0lBQUUsYUFBYSxFQUFFO3NEQUEwQjtBQUtsQjtJQUFwRSxXQUFXLENBQVcsb0JBQW9CLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFO2tEQUErQjtBQUs5QjtJQUFwRSxXQUFXLENBQVcsb0JBQW9CLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFO2tEQUErQjtBQUs5QjtJQUFwRSxXQUFXLENBQVcsb0JBQW9CLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFO2lEQUFxQjsyRkFyR3ZGLGVBQWU7a0JBRDNCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQUVDLE9BQU87c0JBQWhDLEtBQUs7Z0JBS3dELFNBQVM7c0JBQXRFLEtBQUs7Z0JBS3NELE1BQU07c0JBQWpFLEtBQUs7Z0JBS1ksSUFBSTtzQkFBckIsS0FBSztnQkFLdUQsS0FBSztzQkFBakUsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBS2dFLFFBQVE7c0JBQTdFLEtBQUs7Z0JBSytELFNBQVM7c0JBQTdFLEtBQUs7Z0JBS2lFLE1BQU07c0JBQTVFLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtzRCxVQUFVO3NCQUFyRSxLQUFLO2dCQUs4QyxVQUFVO3NCQUE3RCxLQUFLO2dCQUtzRCxXQUFXO3NCQUF0RSxLQUFLO2dCQUs4QyxXQUFXO3NCQUE5RCxLQUFLO2dCQUtzRCxhQUFhO3NCQUF4RSxLQUFLO2dCQUtzRCxXQUFXO3NCQUF0RSxLQUFLO2dCQUtrRCxTQUFTO3NCQUFoRSxLQUFLO2dCQUtpRSxhQUFhO3NCQUFuRixLQUFLO2dCQUtpRixTQUFTO3NCQUEvRixLQUFLO2dCQUtpRixTQUFTO3NCQUEvRixLQUFLO2dCQUt3RSxRQUFRO3NCQUFyRixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTUksTUFBTTtzQkFBZixNQUFNO2dCQUtHLE9BQU87c0JBQWhCLE1BQU07Z0JBS0csYUFBYTtzQkFBdEIsTUFBTTtnQkFLRyxRQUFRO3NCQUFqQixNQUFNO2dCQUtHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENvbXBvbmVudCwgVmlld0NvbnRhaW5lclJlZiwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFN0YXR1cywgWFBsYWNlLCBYSW5wdXRCb29sZWFuLCBYVGVtcGxhdGUsIFhFZmZlY3QsIFhCb29sZWFuLCBYV2l0aENvbmZpZyB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYQWxlcnRQcm9wZXJ0eSwgWEFsZXJ0T3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvYWxlcnQnO1xyXG5pbXBvcnQgeyBYUG9ydGFsT3ZlcmxheVJlZiB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYRGlhbG9nUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2ctcG9ydGFsLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogRGlhbG9nXHJcbiAqIEBzZWxlY3RvciB4LWRpYWxvZ1xyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhEaWFsb2dQcmVmaXggPSAneC1kaWFsb2cnO1xyXG5leHBvcnQgY29uc3QgWF9ESUFMT0dfQ09ORklHX05BTUUgPSAnZGlhbG9nJztcclxuZXhwb3J0IGNvbnN0IFhEaWFsb2dDb250YWluZXIgPSAneC1kaWFsb2ctY29udGFpbmVyJztcclxuZXhwb3J0IGNvbnN0IFhfRElBTE9HX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignWERpYWxvZ0RhdGEnKTtcclxuXHJcbi8qKlxyXG4gKiBEaWFsb2cgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhEaWFsb2dQcm9wZXJ0eSBleHRlbmRzIFhBbGVydFByb3BlcnR5IHtcclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pa55L2N77yM5Lmd5a6r5qC8XHJcbiAgICogQGVuX1VTIERpcmVjdGlvbiwgbmluZSBncmlkXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhQbGFjZT4oWF9ESUFMT0dfQ09ORklHX05BTUUsICdjZW50ZXInKSBwbGFjZW1lbnQhOiBYUGxhY2U7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWBj+enu+i3neemu1xyXG4gICAqIEBlbl9VUyBPZmZzZXQgZGlzdGFuY2VcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0RJQUxPR19DT05GSUdfTkFNRSwgJzFyZW0nKSBvZmZzZXQhOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOexu+Wei1xyXG4gICAqIEBlbl9VUyBUeXBlcyBvZlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG92ZXJyaWRlIHR5cGU6IFhEaWFsb2dUeXBlID0gJ2luZm8nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgV2lkdGhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0RJQUxPR19DT05GSUdfTkFNRSwgJzMycmVtJykgd2lkdGg/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmrmOW6plxyXG4gICAqIEBlbl9VUyBIZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBoZWlnaHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOacgOWwj+WuveW6plxyXG4gICAqIEBlbl9VUyBNaW4gd2lkdGhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0RJQUxPR19DT05GSUdfTkFNRSwgJzE4cmVtJykgb3ZlcnJpZGUgbWluV2lkdGg/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOacgOWwj+mrmOW6plxyXG4gICAqIEBlbl9VUyBNaW4gaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9ESUFMT0dfQ09ORklHX05BTUUsICc5cmVtJykgb3ZlcnJpZGUgbWluSGVpZ2h0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoLflvI/kuLvpophcclxuICAgKiBAZW5fVVMgU3R5bGUgdGhlbWVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEVmZmVjdD4oWF9ESUFMT0dfQ09ORklHX05BTUUsICd3aGl0ZScpIG92ZXJyaWRlIGVmZmVjdCE6IFhFZmZlY3Q7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW6lemDqOiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDdXN0b20gdGVtcGxhdGUgYXQgdGhlIGJvdHRvbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZvb3Rlcj86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65Y+W5raI5oyJ6ZKuXHJcbiAgICogQGVuX1VTIFNob3cgY2FuY2VsIGJ1dHRvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9ESUFMT0dfQ09ORklHX05BTUUsIHRydWUpIHNob3dDYW5jZWwhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+W5raI5oyJ6ZKu5paH5a2XXHJcbiAgICogQGVuX1VTIENhbmNlbCBidXR0b24gdGV4dFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxzdHJpbmc+KFhfRElBTE9HX0NPTkZJR19OQU1FKSBjYW5jZWxUZXh0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrnoa7orqTmjInpkq5cclxuICAgKiBAZW5fVVMgU2hvdyBjb25maXJtYXRpb24gYnV0dG9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0RJQUxPR19DT05GSUdfTkFNRSwgdHJ1ZSkgc2hvd0NvbmZpcm0hOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g56Gu6K6k5oyJ6ZKu5paH5a2XXHJcbiAgICogQGVuX1VTIENvbmZpcm0gYnV0dG9uIHRleHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0RJQUxPR19DT05GSUdfTkFNRSkgY29uZmlybVRleHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOeCueWHu+mBrue9qeWFs+mXrVxyXG4gICAqIEBlbl9VUyBDbGljayB0aGUgbWFzayB0byBjbG9zZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9ESUFMT0dfQ09ORklHX05BTUUsIHRydWUpIGJhY2tkcm9wQ2xvc2UhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5pi+56S66IOM5pmv6YGu572pXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgYmFja2dyb3VuZCBtYXNrXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0RJQUxPR19DT05GSUdfTkFNRSwgdHJ1ZSkgaGFzQmFja2Ryb3AhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5qC35byP5ZCNXHJcbiAgICogQGVuX1VTIEN1c3RvbSBzdHlsZSBuYW1lXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9ESUFMT0dfQ09ORklHX05BTUUsICcnKSBjbGFzc05hbWUhOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaMiemSruWxheS4rVxyXG4gICAqIEBlbl9VUyBCdXR0b24gY2VudGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0RJQUxPR19DT05GSUdfTkFNRSkgQFhJbnB1dEJvb2xlYW4oKSBidXR0b25zQ2VudGVyPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOWvueivneahhlxyXG4gICAqIEBlbl9VUyBEcmFnIGRpYWxvZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9ESUFMT0dfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIG92ZXJyaWRlIGRyYWdnYWJsZT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDosIPmlbTlvLnmoYbnmoTlpKflsI9cclxuICAgKiBAZW5fVVMgQWRqdXN0IHRoZSBzaXplIG9mIHRoZSBib3hcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfRElBTE9HX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBvdmVycmlkZSByZXNpemFibGU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pyA5aSn5YyW5by55Ye65qGG5oyJ6ZKu77yM5b2T5ZCv55SoIHJlc2l6YWJsZSDml7bkuZ/kvJrmmL7npLpcclxuICAgKiBAZW5fVVMgTWF4aW1pemUgdGhlIGJ1bGxldCBib3ggYnV0dG9uLCBXaWxsIGFsc28gZGlzcGxheSB3aGVuIHJlc2l6YWJsZSBpcyBlbmFibGVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0RJQUxPR19DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgbWF4aW1pemU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWz6Zet5YmN5aSE55CG5Ye95pWwXHJcbiAgICogQGVuX1VTIFByb2Nlc3NpbmcgZnVuY3Rpb24gYmVmb3JlIGNsb3NpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBiZWZvcmVDbG9zZSE6IEZ1bmN0aW9uO1xyXG5cclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+W5raI5oyJ6ZKu55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIENhbmNlbCBidXR0b24gZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnoa7orqTmjInpkq7nmoTkuovku7ZcclxuICAgKiBAZW5fVVMgQ29uZmlybSBidXR0b24gZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY29uZmlybSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S6L+makOiXj+aUueWPmOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTaG93L2hpZGUgY2hhbmdlIGV2ZW50c1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnlh7rlrozmiJDliqjnlLvliqDovb1cclxuICAgKiBAZW5fVVMgUG9wIHVwIGNvbXBsZXRlIGFuaW1hdGlvbiBsb2FkaW5nXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHNob3dEb25lID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFs+mXreWujOaIkOWKqOeUu1xyXG4gICAqIEBlbl9VUyBDbG9zZSBjb21wbGV0ZSBhbmltYXRpb25cclxuICAgKi9cclxuICBAT3V0cHV0KCkgY2xvc2VEb25lID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERpYWxvZ09wdGlvbiBleHRlbmRzIFhBbGVydE9wdGlvbiB7XHJcbiAgdmlzaWJsZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWueS9je+8jOS5neWuq+agvFxyXG4gICAqIEBlbl9VUyBEaXJlY3Rpb24sIG5pbmUgZ3JpZFxyXG4gICAqL1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YGP56e76Led56a7XHJcbiAgICogQGVuX1VTIE9mZnNldCBkaXN0YW5jZVxyXG4gICAqL1xyXG4gIG9mZnNldD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g57G75Z6LXHJcbiAgICogQGVuX1VTIFR5cGVzIG9mXHJcbiAgICovXHJcbiAgdHlwZT86IFhEaWFsb2dUeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgV2lkdGhcclxuICAgKi9cclxuICB3aWR0aD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6auY5bqmXHJcbiAgICogQGVuX1VTIEhlaWdodFxyXG4gICAqL1xyXG4gIGhlaWdodD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5qC35byP5Li76aKYXHJcbiAgICogQGVuX1VTIFN0eWxlIHRoZW1lXHJcbiAgICovXHJcbiAgZWZmZWN0PzogWEVmZmVjdDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bqV6YOo6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIEN1c3RvbSB0ZW1wbGF0ZSBhdCB0aGUgYm90dG9tXHJcbiAgICovXHJcbiAgZm9vdGVyPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrlj5bmtojmjInpkq5cclxuICAgKiBAZW5fVVMgU2hvdyBjYW5jZWwgYnV0dG9uXHJcbiAgICovXHJcbiAgc2hvd0NhbmNlbD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlj5bmtojmjInpkq7mloflrZdcclxuICAgKiBAZW5fVVMgQ2FuY2VsIGJ1dHRvbiB0ZXh0XHJcbiAgICovXHJcbiAgY2FuY2VsVGV4dD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S656Gu6K6k5oyJ6ZKuXHJcbiAgICogQGVuX1VTIFNob3cgY29uZmlybWF0aW9uIGJ1dHRvblxyXG4gICAqL1xyXG4gIHNob3dDb25maXJtPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOehruiupOaMiemSruaWh+Wtl1xyXG4gICAqIEBlbl9VUyBDb25maXJtIGJ1dHRvbiB0ZXh0XHJcbiAgICovXHJcbiAgY29uZmlybVRleHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOeCueWHu+mBrue9qeWFs+mXrVxyXG4gICAqIEBlbl9VUyBDbGljayB0aGUgbWFzayB0byBjbG9zZVxyXG4gICAqL1xyXG4gIGJhY2tkcm9wQ2xvc2U/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5pi+56S66IOM5pmv6YGu572pXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgYmFja2dyb3VuZCBtYXNrXHJcbiAgICovXHJcbiAgaGFzQmFja2Ryb3A/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5qC35byP5ZCNXHJcbiAgICogQGVuX1VTIEN1c3RvbSBzdHlsZSBuYW1lXHJcbiAgICovXHJcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjInpkq7lsYXkuK1cclxuICAgKiBAZW5fVVMgQnV0dG9uIGNlbnRlclxyXG4gICAqL1xyXG4gIGJ1dHRvbnNDZW50ZXI/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ouW5Yqo5a+56K+d5qGGXHJcbiAgICogQGVuX1VTIERyYWcgZGlhbG9nXHJcbiAgICovXHJcbiAgZHJhZ2dhYmxlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6LCD5pW05by55qGG55qE5aSn5bCPXHJcbiAgICogQGVuX1VTIEFkanVzdCB0aGUgc2l6ZSBvZiB0aGUgYm94XHJcbiAgICovXHJcbiAgcmVzaXphYmxlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWz6Zet5YmN5aSE55CG5Ye95pWwXHJcbiAgICogQGVuX1VTIFByb2Nlc3NpbmcgZnVuY3Rpb24gYmVmb3JlIGNsb3NpbmdcclxuICAgKi9cclxuICBiZWZvcmVDbG9zZT86IEZ1bmN0aW9uO1xyXG59XHJcblxyXG4vKipcclxuICogRGlhbG9nIG9wdGlvbiBieSBzZXJ2aWNlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhEaWFsb2dSZWZPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXnpLrmlrnlkJFcclxuICAgKiBAZW5fVVMgRGlzcGxheSBkaXJlY3Rpb25cclxuICAgKiBAZGVmYXVsdCAnY2VudGVyJ1xyXG4gICAqIEB3aXRoQ29uZmlnIHRydWVcclxuICAgKi9cclxuICBwbGFjZW1lbnQ/OiBYUGxhY2U7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWBj+enu+i3neemu1xyXG4gICAqIEBlbl9VUyBPZmZzZXQgZGlzdGFuY2VcclxuICAgKiBAZGVmYXVsdCAnMXJlbSdcclxuICAgKiBAd2l0aENvbmZpZyB0cnVlXHJcbiAgICovXHJcbiAgb2Zmc2V0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgV2lkdGhcclxuICAgKiBAZGVmYXVsdCAnMzJyZW0nXHJcbiAgICogQHdpdGhDb25maWcgdHJ1ZVxyXG4gICAqL1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpq5jluqZcclxuICAgKiBAZW5fVVMgSGVpZ2h0XHJcbiAgICovXHJcbiAgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnmoLflvI/lkI1cclxuICAgKiBAZW5fVVMgQ3VzdG9tIHN0eWxlIG5hbWVcclxuICAgKi9cclxuICBjbGFzc05hbWU/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOeCueWHu+mBrue9qeWFs+mXrVxyXG4gICAqIEBlbl9VUyBDbGljayB0aGUgbWFzayB0byBjbG9zZVxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKiBAd2l0aENvbmZpZyB0cnVlXHJcbiAgICovXHJcbiAgYmFja2Ryb3BDbG9zZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuaYvuekuuiDjOaZr+mBrue9qVxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGJhY2tncm91bmQgbWFza1xyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKiBAd2l0aENvbmZpZyB0cnVlXHJcbiAgICovXHJcbiAgaGFzQmFja2Ryb3A/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmi5bliqjlr7nor53moYZcclxuICAgKiBAZW5fVVMgRHJhZyBkaWFsb2dcclxuICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAqIEB3aXRoQ29uZmlnIHRydWVcclxuICAgKi9cclxuICBkcmFnZ2FibGU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDosIPmlbTlvLnmoYbnmoTlpKflsI9cclxuICAgKiBAZW5fVVMgQWRqdXN0IHRoZSBzaXplIG9mIHRoZSBib3hcclxuICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAqIEB3aXRoQ29uZmlnIHRydWVcclxuICAgKi9cclxuICByZXNpemFibGU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmnIDlsI/lrr3luqZcclxuICAgKiBAZW5fVVMgTWluIHdpZHRoXHJcbiAgICogQGRlZmF1bHQgJzE4cmVtJ1xyXG4gICAqIEB3aXRoQ29uZmlnIHRydWVcclxuICAgKi9cclxuICBtaW5XaWR0aD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5pyA5bCP6auY5bqmXHJcbiAgICogQGVuX1VTIE1pbiBoZWlnaHRcclxuICAgKiBAZGVmYXVsdCAnOXJlbSdcclxuICAgKiBAd2l0aENvbmZpZyB0cnVlXHJcbiAgICovXHJcbiAgbWluSGVpZ2h0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmlbDmja7vvIzpgJrov4cgXCJASW5qZWN0KFhfRElBTE9HX0RBVEEpXCIg5p2l5o6l5pS25pWw5o2uXHJcbiAgICogQGVuX1VTIERhdGEuIFJlY2VpdmUgZGF0YSBieSBcIkBJbmplY3QoWF9ESUFMT0dfREFUQSlcIlxyXG4gICAqL1xyXG4gIGRhdGE/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQGVuX1VTIOinhuWbvuWuueWZqOWunuS+i+WPr+S7peWMheWQq+WFtuS7luinhuWbvuWuueWZqOOAglxyXG4gICAqIEBlbl9VUyBBIHZpZXcgY29udGFpbmVyIGluc3RhbmNlIGNhbiBjb250YWluIG90aGVyIHZpZXcgY29udGFpbmVycy5cclxuICAgKi9cclxuICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgWERpYWxvZ0FuaW1hdGlvblN0YXRlID0gWFBsYWNlIHwgJ3ZvaWQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRGlhbG9nQW5pbWF0aW9uRXZlbnQge1xyXG4gIHN0YXRlOiBYRGlhbG9nQW5pbWF0aW9uU3RhdGU7XHJcbiAgYWN0aW9uOiAnc3RhcnQnIHwgJ2RvbmUnO1xyXG4gIHRvdGFsVGltZTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEaWFsb2dDYWxsYmFjayB7XHJcbiAgKGFjdGlvbjogWERpYWxvZ0FjdGlvbiwgbWVzc2FnZT86IHN0cmluZyk6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFhEaWFsb2dBY3Rpb24gPSAnY29uZmlybScgfCAnY2FuY2VsJztcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Yib5bu655qE5by55qGG5a+56LGhXHJcbiAqIEBlbl9VUyBEaWFsb2cgb2JqZWN0IGNyZWF0ZWRcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERpYWxvZ092ZXJsYXlSZWYgZXh0ZW5kcyBYUG9ydGFsT3ZlcmxheVJlZjxYRGlhbG9nQ29tcG9uZW50PiB7fVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJvlu7rnmoTlvLnmoYblr7nosaHvvIzpgJrov4fmnI3liqFcclxuICogQGVuX1VTIERpYWxvZyBvYmplY3QgY3JlYXRlZCBieSBzZXJ2aWNlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhEaWFsb2dQb3J0YWxPdmVybGF5UmVmIGV4dGVuZHMgWFBvcnRhbE92ZXJsYXlSZWY8WERpYWxvZ1BvcnRhbENvbXBvbmVudD4ge31cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g57G75Z6LXHJcbiAqIEBlbl9VUyBUeXBlcyBvZlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWERpYWxvZ1R5cGUgPSBYU3RhdHVzO1xyXG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
|
|
2
2
|
import { Injectable, TemplateRef } from '@angular/core';
|
|
3
3
|
import { fillDefault } from '@ng-nest/ui/core';
|
|
4
|
+
import { PortalResizablePrefix } from '@ng-nest/ui/portal';
|
|
4
5
|
import { XDialogPortalComponent } from './dialog-portal.component';
|
|
5
6
|
import { XDialogRef } from './dialog-ref';
|
|
6
7
|
import { X_DIALOG_CONFIG_NAME, X_DIALOG_DATA } from './dialog.property';
|
|
@@ -18,10 +19,12 @@ export class XDialogService {
|
|
|
18
19
|
placement: 'center',
|
|
19
20
|
offset: '1rem',
|
|
20
21
|
width: '32rem',
|
|
22
|
+
minWidth: '18rem',
|
|
23
|
+
minHeight: '9rem',
|
|
21
24
|
backdropClose: true,
|
|
22
|
-
hasBackdrop: true
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
hasBackdrop: true,
|
|
26
|
+
draggable: false,
|
|
27
|
+
resizable: false
|
|
25
28
|
};
|
|
26
29
|
this.renderer = this.rendererFactory.createRenderer(null, null);
|
|
27
30
|
this.configDefault = this.configService.getConfigForComponent(X_DIALOG_CONFIG_NAME);
|
|
@@ -38,16 +41,48 @@ export class XDialogService {
|
|
|
38
41
|
scrollStrategy: this.overlay.scrollStrategies.block(),
|
|
39
42
|
width: option.width,
|
|
40
43
|
height: option.height,
|
|
44
|
+
minWidth: option.minWidth,
|
|
45
|
+
minHeight: option.minHeight,
|
|
41
46
|
positionStrategy: this.portalService.setPlace(option.placement, option.offset)
|
|
42
47
|
}
|
|
43
48
|
});
|
|
44
|
-
// if (option.resizable) {
|
|
45
|
-
// this.renderer.addClass(portal.overlayRef?.hostElement, PortalResizablePrefix);
|
|
46
|
-
// }
|
|
47
49
|
const { overlayRef, componentRef } = portal || {};
|
|
48
50
|
const { instance } = componentRef || {};
|
|
51
|
+
const { hostElement, overlayElement } = overlayRef || {};
|
|
52
|
+
const dialogRef = new XDialogRef(overlayRef, instance, this.renderer, this.portalService);
|
|
53
|
+
let dialogBox = {
|
|
54
|
+
draggable: option.draggable,
|
|
55
|
+
resizable: option.resizable
|
|
56
|
+
};
|
|
57
|
+
let defaultMaximize = this.setMaximize(option);
|
|
58
|
+
Object.assign(dialogBox, {
|
|
59
|
+
width: defaultMaximize ? this.default.width : option.width,
|
|
60
|
+
height: defaultMaximize ? null : option.height,
|
|
61
|
+
minWidth: option.minWidth,
|
|
62
|
+
minHeight: option.minHeight
|
|
63
|
+
});
|
|
49
64
|
instance.placement = option.placement;
|
|
50
|
-
|
|
65
|
+
instance.option = option;
|
|
66
|
+
instance.dialogRef = dialogRef;
|
|
67
|
+
instance.defaultMaximize = defaultMaximize;
|
|
68
|
+
instance.dialogBox = dialogBox;
|
|
69
|
+
instance.hostElement = hostElement;
|
|
70
|
+
instance.overlayElement = overlayElement;
|
|
71
|
+
dialogRef.option = option;
|
|
72
|
+
dialogRef.fullscreen = defaultMaximize;
|
|
73
|
+
if (option.resizable && !defaultMaximize) {
|
|
74
|
+
this.renderer.addClass(hostElement, PortalResizablePrefix);
|
|
75
|
+
setTimeout(() => {
|
|
76
|
+
Object.assign(dialogBox, this.portalService.setResizable(overlayElement, option.placement));
|
|
77
|
+
instance.offsetLeft = overlayElement.offsetLeft;
|
|
78
|
+
instance.offsetTop = overlayElement.offsetTop;
|
|
79
|
+
const dialogDraggable = overlayElement?.querySelector('.x-dialog-portal');
|
|
80
|
+
instance.initHeight = dialogDraggable.clientHeight;
|
|
81
|
+
instance.dialogContent = overlayElement?.querySelector('.x-dialog-portal-content');
|
|
82
|
+
instance.initContentHeight = instance.dialogContent?.clientHeight;
|
|
83
|
+
instance.dialogBox = dialogBox;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
51
86
|
if (content instanceof TemplateRef) {
|
|
52
87
|
instance.attachTemplatePortal(new TemplatePortal(content, option.viewContainerRef, { $implicit: option.data, dialogRef: dialogRef }));
|
|
53
88
|
}
|
|
@@ -66,10 +101,20 @@ export class XDialogService {
|
|
|
66
101
|
}
|
|
67
102
|
return dialogRef;
|
|
68
103
|
}
|
|
104
|
+
setMaximize(option = {}) {
|
|
105
|
+
const ws = ['100%', '100vw'];
|
|
106
|
+
const hs = ['100%', '100vh'];
|
|
107
|
+
if (ws.includes(option.width) && hs.includes(option.height)) {
|
|
108
|
+
option.resizable = false;
|
|
109
|
+
option.draggable = false;
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
69
114
|
}
|
|
70
115
|
/** @nocollapse */ /** @nocollapse */ XDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogService, deps: [{ token: i1.XPortalService }, { token: i2.XConfigService }, { token: i3.Overlay }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
71
116
|
/** @nocollapse */ /** @nocollapse */ XDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogService });
|
|
72
117
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogService, decorators: [{
|
|
73
118
|
type: Injectable
|
|
74
119
|
}], ctorParameters: function () { return [{ type: i1.XPortalService }, { type: i2.XConfigService }, { type: i3.Overlay }, { type: i0.RendererFactory2 }]; } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kaWFsb2cvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBaUIsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckYsT0FBTyxFQUFFLFVBQVUsRUFBK0IsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxXQUFXLEVBQWlDLE1BQU0sa0JBQWtCLENBQUM7QUFFOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQW9CLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUcxRixNQUFNLE9BQU8sY0FBYztJQWN6QixZQUNTLGFBQTZCLEVBQzdCLGFBQTZCLEVBQzdCLE9BQWdCLEVBQ2hCLGVBQWlDO1FBSGpDLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFDN0IsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFqQjFDLFlBQU8sR0FBcUI7WUFDMUIsU0FBUyxFQUFFLFFBQVE7WUFDbkIsTUFBTSxFQUFFLE1BQU07WUFDZCxLQUFLLEVBQUUsT0FBTztZQUNkLGFBQWEsRUFBRSxJQUFJO1lBQ25CLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLG9CQUFvQjtZQUNwQixtQkFBbUI7U0FDcEIsQ0FBQztRQVdBLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELE1BQU0sQ0FBSSxPQUE0QyxFQUFFLFNBQTJCLEVBQUU7UUFDbkYsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQXlCO1lBQy9ELE9BQU8sRUFBRSxzQkFBc0I7WUFDL0IsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjtZQUN6QyxhQUFhLEVBQUU7Z0JBQ2IsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO2dCQUMvQixVQUFVLEVBQUUsTUFBTSxDQUFDLFNBQVM7Z0JBQzVCLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRTtnQkFDckQsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO2dCQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07Z0JBQ3JCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLE1BQU8sQ0FBQzthQUNoRjtTQUNGLENBQUMsQ0FBQztRQUNILDBCQUEwQjtRQUMxQixtRkFBbUY7UUFDbkYsSUFBSTtRQUNKLE1BQU0sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNsRCxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsWUFBYSxJQUFJLEVBQUUsQ0FBQztRQUN6QyxRQUFRLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDdEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxVQUFVLENBQUksVUFBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzNELElBQUksT0FBTyxZQUFZLFdBQVcsRUFBRTtZQUNsQyxRQUFRLENBQUMsb0JBQW9CLENBQzNCLElBQUksY0FBYyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsZ0JBQWlCLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FDeEcsQ0FBQztTQUNIO2FBQU07WUFDTCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztnQkFDakQsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFO2dCQUNqRCxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRTthQUM3QyxDQUFDLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMscUJBQXFCLENBQUMsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQy9HLFNBQVMsQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1NBQy9DO1FBRUQsSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxhQUFhLElBQUksVUFBVSxFQUFFO1lBQzVELFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUN4QyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7O2lKQWxFVSxjQUFjO3FKQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgQ29tcG9uZW50VHlwZSwgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmaWxsRGVmYXVsdCwgWENvbmZpZ1NlcnZpY2UsIFhEaWFsb2dDb25maWcgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWFBvcnRhbFNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBYRGlhbG9nUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2ctcG9ydGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhEaWFsb2dSZWYgfSBmcm9tICcuL2RpYWxvZy1yZWYnO1xyXG5pbXBvcnQgeyBYRGlhbG9nUmVmT3B0aW9uLCBYX0RJQUxPR19DT05GSUdfTkFNRSwgWF9ESUFMT0dfREFUQSB9IGZyb20gJy4vZGlhbG9nLnByb3BlcnR5JztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFhEaWFsb2dTZXJ2aWNlIHtcclxuICBkZWZhdWx0OiBYRGlhbG9nUmVmT3B0aW9uID0ge1xyXG4gICAgcGxhY2VtZW50OiAnY2VudGVyJyxcclxuICAgIG9mZnNldDogJzFyZW0nLFxyXG4gICAgd2lkdGg6ICczMnJlbScsXHJcbiAgICBiYWNrZHJvcENsb3NlOiB0cnVlLFxyXG4gICAgaGFzQmFja2Ryb3A6IHRydWVcclxuICAgIC8vIGRyYWdnYWJsZTogZmFsc2UsXHJcbiAgICAvLyByZXNpemFibGU6IGZhbHNlXHJcbiAgfTtcclxuICBjb25maWdEZWZhdWx0PzogWERpYWxvZ0NvbmZpZztcclxuXHJcbiAgcmVuZGVyZXIhOiBSZW5kZXJlcjI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHBvcnRhbFNlcnZpY2U6IFhQb3J0YWxTZXJ2aWNlLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlLFxyXG4gICAgcHVibGljIG92ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwdWJsaWMgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyXHJcbiAgKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyID0gdGhpcy5yZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcbiAgICB0aGlzLmNvbmZpZ0RlZmF1bHQgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnRm9yQ29tcG9uZW50KFhfRElBTE9HX0NPTkZJR19OQU1FKTtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcy5kZWZhdWx0LCB0aGlzLmNvbmZpZ0RlZmF1bHQpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlPFQ+KGNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gfCBDb21wb25lbnRUeXBlPFQ+LCBvcHRpb246IFhEaWFsb2dSZWZPcHRpb24gPSB7fSk6IFhEaWFsb2dSZWY8VD4ge1xyXG4gICAgZmlsbERlZmF1bHQob3B0aW9uLCB0aGlzLmRlZmF1bHQpO1xyXG4gICAgY29uc3QgcG9ydGFsID0gdGhpcy5wb3J0YWxTZXJ2aWNlLmF0dGFjaDxYRGlhbG9nUG9ydGFsQ29tcG9uZW50Pih7XHJcbiAgICAgIGNvbnRlbnQ6IFhEaWFsb2dQb3J0YWxDb21wb25lbnQsXHJcbiAgICAgIHZpZXdDb250YWluZXJSZWY6IG9wdGlvbi52aWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICBvdmVybGF5Q29uZmlnOiB7XHJcbiAgICAgICAgaGFzQmFja2Ryb3A6IG9wdGlvbi5oYXNCYWNrZHJvcCxcclxuICAgICAgICBwYW5lbENsYXNzOiBvcHRpb24uY2xhc3NOYW1lLFxyXG4gICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLFxyXG4gICAgICAgIHdpZHRoOiBvcHRpb24ud2lkdGgsXHJcbiAgICAgICAgaGVpZ2h0OiBvcHRpb24uaGVpZ2h0LFxyXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMucG9ydGFsU2VydmljZS5zZXRQbGFjZShvcHRpb24ucGxhY2VtZW50LCBvcHRpb24ub2Zmc2V0ISlcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyBpZiAob3B0aW9uLnJlc2l6YWJsZSkge1xyXG4gICAgLy8gICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHBvcnRhbC5vdmVybGF5UmVmPy5ob3N0RWxlbWVudCwgUG9ydGFsUmVzaXphYmxlUHJlZml4KTtcclxuICAgIC8vIH1cclxuICAgIGNvbnN0IHsgb3ZlcmxheVJlZiwgY29tcG9uZW50UmVmIH0gPSBwb3J0YWwgfHwge307XHJcbiAgICBjb25zdCB7IGluc3RhbmNlIH0gPSBjb21wb25lbnRSZWYhIHx8IHt9O1xyXG4gICAgaW5zdGFuY2UucGxhY2VtZW50ID0gb3B0aW9uLnBsYWNlbWVudDtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IG5ldyBYRGlhbG9nUmVmPFQ+KG92ZXJsYXlSZWYhLCBpbnN0YW5jZSk7XHJcbiAgICBpZiAoY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XHJcbiAgICAgIGluc3RhbmNlLmF0dGFjaFRlbXBsYXRlUG9ydGFsKFxyXG4gICAgICAgIG5ldyBUZW1wbGF0ZVBvcnRhbChjb250ZW50LCBvcHRpb24udmlld0NvbnRhaW5lclJlZiEsIHsgJGltcGxpY2l0OiBvcHRpb24uZGF0YSwgZGlhbG9nUmVmOiBkaWFsb2dSZWYgfSlcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5wb3J0YWxTZXJ2aWNlLmNyZWF0ZUluamVjdG9yKFtcclxuICAgICAgICB7IHByb3ZpZGU6IFhfRElBTE9HX0RBVEEsIHVzZVZhbHVlOiBvcHRpb24uZGF0YSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogWERpYWxvZ1JlZiwgdXNlVmFsdWU6IGRpYWxvZ1JlZiB9XHJcbiAgICAgIF0pO1xyXG4gICAgICBjb25zdCBjb21SZWYgPSBpbnN0YW5jZS5hdHRhY2hDb21wb25lbnRQb3J0YWwobmV3IENvbXBvbmVudFBvcnRhbChjb250ZW50LCBvcHRpb24udmlld0NvbnRhaW5lclJlZiwgaW5qZWN0b3IpKTtcclxuICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlID0gY29tUmVmLmluc3RhbmNlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcHRpb24uaGFzQmFja2Ryb3AgJiYgb3B0aW9uLmJhY2tkcm9wQ2xvc2UgJiYgb3ZlcmxheVJlZikge1xyXG4gICAgICBvdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGlhbG9nUmVmO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kaWFsb2cvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBaUIsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckYsT0FBTyxFQUFFLFVBQVUsRUFBK0IsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxXQUFXLEVBQWlDLE1BQU0sa0JBQWtCLENBQUM7QUFDOUUsT0FBTyxFQUFFLHFCQUFxQixFQUFrQixNQUFNLG9CQUFvQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFvQixvQkFBb0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7QUFHMUYsTUFBTSxPQUFPLGNBQWM7SUFnQnpCLFlBQ1MsYUFBNkIsRUFDN0IsYUFBNkIsRUFDN0IsT0FBZ0IsRUFDaEIsZUFBaUM7UUFIakMsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUM3QixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQW5CMUMsWUFBTyxHQUFxQjtZQUMxQixTQUFTLEVBQUUsUUFBUTtZQUNuQixNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxPQUFPO1lBQ2QsUUFBUSxFQUFFLE9BQU87WUFDakIsU0FBUyxFQUFFLE1BQU07WUFDakIsYUFBYSxFQUFFLElBQUk7WUFDbkIsV0FBVyxFQUFFLElBQUk7WUFDakIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztRQVdBLElBQUks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ZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgQ29tcG9uZW50VHlwZSwgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmaWxsRGVmYXVsdCwgWENvbmZpZ1NlcnZpY2UsIFhEaWFsb2dDb25maWcgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgUG9ydGFsUmVzaXphYmxlUHJlZml4LCBYUG9ydGFsU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhEaWFsb2dQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWERpYWxvZ1JlZiB9IGZyb20gJy4vZGlhbG9nLXJlZic7XHJcbmltcG9ydCB7IFhEaWFsb2dSZWZPcHRpb24sIFhfRElBTE9HX0NPTkZJR19OQU1FLCBYX0RJQUxPR19EQVRBIH0gZnJvbSAnLi9kaWFsb2cucHJvcGVydHknO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgWERpYWxvZ1NlcnZpY2Uge1xyXG4gIGRlZmF1bHQ6IFhEaWFsb2dSZWZPcHRpb24gPSB7XHJcbiAgICBwbGFjZW1lbnQ6ICdjZW50ZXInLFxyXG4gICAgb2Zmc2V0OiAnMXJlbScsXHJcbiAgICB3aWR0aDogJzMycmVtJyxcclxuICAgIG1pbldpZHRoOiAnMThyZW0nLFxyXG4gICAgbWluSGVpZ2h0OiAnOXJlbScsXHJcbiAgICBiYWNrZHJvcENsb3NlOiB0cnVlLFxyXG4gICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICBkcmFnZ2FibGU6IGZhbHNlLFxyXG4gICAgcmVzaXphYmxlOiBmYWxzZVxyXG4gIH07XHJcbiAgY29uZmlnRGVmYXVsdD86IFhEaWFsb2dDb25maWc7XHJcblxyXG4gIHJlbmRlcmVyITogUmVuZGVyZXIyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBwb3J0YWxTZXJ2aWNlOiBYUG9ydGFsU2VydmljZSxcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSxcclxuICAgIHB1YmxpYyBvdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHVibGljIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MlxyXG4gICkge1xyXG4gICAgdGhpcy5yZW5kZXJlciA9IHRoaXMucmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xyXG4gICAgdGhpcy5jb25maWdEZWZhdWx0ID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZ0ZvckNvbXBvbmVudChYX0RJQUxPR19DT05GSUdfTkFNRSk7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMuZGVmYXVsdCwgdGhpcy5jb25maWdEZWZhdWx0KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZTxUPihjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgQ29tcG9uZW50VHlwZTxUPiwgb3B0aW9uOiBYRGlhbG9nUmVmT3B0aW9uID0ge30pOiBYRGlhbG9nUmVmPFQ+IHtcclxuICAgIGZpbGxEZWZhdWx0KG9wdGlvbiwgdGhpcy5kZWZhdWx0KTtcclxuICAgIGNvbnN0IHBvcnRhbCA9IHRoaXMucG9ydGFsU2VydmljZS5hdHRhY2g8WERpYWxvZ1BvcnRhbENvbXBvbmVudD4oe1xyXG4gICAgICBjb250ZW50OiBYRGlhbG9nUG9ydGFsQ29tcG9uZW50LFxyXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiBvcHRpb24udmlld0NvbnRhaW5lclJlZixcclxuICAgICAgb3ZlcmxheUNvbmZpZzoge1xyXG4gICAgICAgIGhhc0JhY2tkcm9wOiBvcHRpb24uaGFzQmFja2Ryb3AsXHJcbiAgICAgICAgcGFuZWxDbGFzczogb3B0aW9uLmNsYXNzTmFtZSxcclxuICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSxcclxuICAgICAgICB3aWR0aDogb3B0aW9uLndpZHRoLFxyXG4gICAgICAgIGhlaWdodDogb3B0aW9uLmhlaWdodCxcclxuICAgICAgICBtaW5XaWR0aDogb3B0aW9uLm1pbldpZHRoLFxyXG4gICAgICAgIG1pbkhlaWdodDogb3B0aW9uLm1pbkhlaWdodCxcclxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLnBvcnRhbFNlcnZpY2Uuc2V0UGxhY2Uob3B0aW9uLnBsYWNlbWVudCwgb3B0aW9uLm9mZnNldCEpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHsgb3ZlcmxheVJlZiwgY29tcG9uZW50UmVmIH0gPSBwb3J0YWwgfHwge307XHJcbiAgICBjb25zdCB7IGluc3RhbmNlIH0gPSBjb21wb25lbnRSZWYhIHx8IHt9O1xyXG4gICAgY29uc3QgeyBob3N0RWxlbWVudCwgb3ZlcmxheUVsZW1lbnQgfSA9IG92ZXJsYXlSZWYgfHwge307XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSBuZXcgWERpYWxvZ1JlZjxUPihvdmVybGF5UmVmISwgaW5zdGFuY2UsIHRoaXMucmVuZGVyZXIsIHRoaXMucG9ydGFsU2VydmljZSk7XHJcbiAgICBsZXQgZGlhbG9nQm94ID0ge1xyXG4gICAgICBkcmFnZ2FibGU6IG9wdGlvbi5kcmFnZ2FibGUsXHJcbiAgICAgIHJlc2l6YWJsZTogb3B0aW9uLnJlc2l6YWJsZVxyXG4gICAgfTtcclxuICAgIGxldCBkZWZhdWx0TWF4aW1pemUgPSB0aGlzLnNldE1heGltaXplKG9wdGlvbik7XHJcbiAgICBPYmplY3QuYXNzaWduKGRpYWxvZ0JveCwge1xyXG4gICAgICB3aWR0aDogZGVmYXVsdE1heGltaXplID8gdGhpcy5kZWZhdWx0LndpZHRoIDogb3B0aW9uLndpZHRoLFxyXG4gICAgICBoZWlnaHQ6IGRlZmF1bHRNYXhpbWl6ZSA/IG51bGwgOiBvcHRpb24uaGVpZ2h0LFxyXG4gICAgICBtaW5XaWR0aDogb3B0aW9uLm1pbldpZHRoLFxyXG4gICAgICBtaW5IZWlnaHQ6IG9wdGlvbi5taW5IZWlnaHRcclxuICAgIH0pO1xyXG4gICAgaW5zdGFuY2UucGxhY2VtZW50ID0gb3B0aW9uLnBsYWNlbWVudDtcclxuICAgIGluc3RhbmNlLm9wdGlvbiA9IG9wdGlvbjtcclxuICAgIGluc3RhbmNlLmRpYWxvZ1JlZiA9IGRpYWxvZ1JlZjtcclxuICAgIGluc3RhbmNlLmRlZmF1bHRNYXhpbWl6ZSA9IGRlZmF1bHRNYXhpbWl6ZTtcclxuICAgIGluc3RhbmNlLmRpYWxvZ0JveCA9IGRpYWxvZ0JveDtcclxuICAgIGluc3RhbmNlLmhvc3RFbGVtZW50ID0gaG9zdEVsZW1lbnQ7XHJcbiAgICBpbnN0YW5jZS5vdmVybGF5RWxlbWVudCA9IG92ZXJsYXlFbGVtZW50O1xyXG4gICAgZGlhbG9nUmVmLm9wdGlvbiA9IG9wdGlvbjtcclxuICAgIGRpYWxvZ1JlZi5mdWxsc2NyZWVuID0gZGVmYXVsdE1heGltaXplO1xyXG4gICAgaWYgKG9wdGlvbi5yZXNpemFibGUgJiYgIWRlZmF1bHRNYXhpbWl6ZSkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGhvc3RFbGVtZW50LCBQb3J0YWxSZXNpemFibGVQcmVmaXgpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBPYmplY3QuYXNzaWduKGRpYWxvZ0JveCwgdGhpcy5wb3J0YWxTZXJ2aWNlLnNldFJlc2l6YWJsZShvdmVybGF5RWxlbWVudCEsIG9wdGlvbi5wbGFjZW1lbnQpKTtcclxuICAgICAgICBpbnN0YW5jZS5vZmZzZXRMZWZ0ID0gb3ZlcmxheUVsZW1lbnQhLm9mZnNldExlZnQ7XHJcbiAgICAgICAgaW5zdGFuY2Uub2Zmc2V0VG9wID0gb3ZlcmxheUVsZW1lbnQhLm9mZnNldFRvcDtcclxuICAgICAgICBjb25zdCBkaWFsb2dEcmFnZ2FibGUgPSBvdmVybGF5RWxlbWVudD8ucXVlcnlTZWxlY3RvcignLngtZGlhbG9nLXBvcnRhbCcpITtcclxuICAgICAgICBpbnN0YW5jZS5pbml0SGVpZ2h0ID0gZGlhbG9nRHJhZ2dhYmxlLmNsaWVudEhlaWdodDtcclxuICAgICAgICBpbnN0YW5jZS5kaWFsb2dDb250ZW50ID0gb3ZlcmxheUVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJy54LWRpYWxvZy1wb3J0YWwtY29udGVudCcpITtcclxuICAgICAgICBpbnN0YW5jZS5pbml0Q29udGVudEhlaWdodCA9IGluc3RhbmNlLmRpYWxvZ0NvbnRlbnQ/LmNsaWVudEhlaWdodDtcclxuICAgICAgICBpbnN0YW5jZS5kaWFsb2dCb3ggPSBkaWFsb2dCb3g7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xyXG4gICAgICBpbnN0YW5jZS5hdHRhY2hUZW1wbGF0ZVBvcnRhbChcclxuICAgICAgICBuZXcgVGVtcGxhdGVQb3J0YWwoY29udGVudCwgb3B0aW9uLnZpZXdDb250YWluZXJSZWYhLCB7ICRpbXBsaWNpdDogb3B0aW9uLmRhdGEsIGRpYWxvZ1JlZjogZGlhbG9nUmVmIH0pXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBpbmplY3RvciA9IHRoaXMucG9ydGFsU2VydmljZS5jcmVhdGVJbmplY3RvcihbXHJcbiAgICAgICAgeyBwcm92aWRlOiBYX0RJQUxPR19EQVRBLCB1c2VWYWx1ZTogb3B0aW9uLmRhdGEgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFhEaWFsb2dSZWYsIHVzZVZhbHVlOiBkaWFsb2dSZWYgfVxyXG4gICAgICBdKTtcclxuICAgICAgY29uc3QgY29tUmVmID0gaW5zdGFuY2UuYXR0YWNoQ29tcG9uZW50UG9ydGFsKG5ldyBDb21wb25lbnRQb3J0YWwoY29udGVudCwgb3B0aW9uLnZpZXdDb250YWluZXJSZWYsIGluamVjdG9yKSk7XHJcbiAgICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZSA9IGNvbVJlZi5pbnN0YW5jZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAob3B0aW9uLmhhc0JhY2tkcm9wICYmIG9wdGlvbi5iYWNrZHJvcENsb3NlICYmIG92ZXJsYXlSZWYpIHtcclxuICAgICAgb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBkaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRpYWxvZ1JlZjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TWF4aW1pemUob3B0aW9uOiBYRGlhbG9nUmVmT3B0aW9uID0ge30pIHtcclxuICAgIGNvbnN0IHdzID0gWycxMDAlJywgJzEwMHZ3J107XHJcbiAgICBjb25zdCBocyA9IFsnMTAwJScsICcxMDB2aCddO1xyXG4gICAgaWYgKHdzLmluY2x1ZGVzKG9wdGlvbi53aWR0aCBhcyBzdHJpbmcpICYmIGhzLmluY2x1ZGVzKG9wdGlvbi5oZWlnaHQgYXMgc3RyaW5nKSkge1xyXG4gICAgICBvcHRpb24ucmVzaXphYmxlID0gZmFsc2U7XHJcbiAgICAgIG9wdGlvbi5kcmFnZ2FibGUgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { XListOptionPrefix, XListOptionProperty } from './list.property';
|
|
3
|
+
import { XClearClass, XIsChange } from '@ng-nest/ui/core';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@ng-nest/ui/
|
|
5
|
-
import * as i2 from "@
|
|
5
|
+
import * as i1 from "@ng-nest/ui/core";
|
|
6
|
+
import * as i2 from "@ng-nest/ui/icon";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
6
8
|
export class XListOptionComponent extends XListOptionProperty {
|
|
7
|
-
constructor(elementRef, cdr) {
|
|
9
|
+
constructor(elementRef, cdr, configService) {
|
|
8
10
|
super();
|
|
9
11
|
this.elementRef = elementRef;
|
|
10
12
|
this.cdr = cdr;
|
|
13
|
+
this.configService = configService;
|
|
11
14
|
this.role = 'option';
|
|
15
|
+
this.classMap = {};
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() { }
|
|
18
|
+
ngOnChanges(changes) {
|
|
19
|
+
const { size } = changes;
|
|
20
|
+
XIsChange(size) && this.setClassMap();
|
|
21
|
+
}
|
|
22
|
+
setClassMap() {
|
|
23
|
+
XClearClass(this.classMap);
|
|
24
|
+
this.classMap[`${XListOptionPrefix}-${this.size}`] = this.size ? true : false;
|
|
12
25
|
}
|
|
13
26
|
setActiveStyles() {
|
|
14
27
|
this.active = true;
|
|
@@ -24,13 +37,13 @@ export class XListOptionComponent extends XListOptionProperty {
|
|
|
24
37
|
return this.label;
|
|
25
38
|
}
|
|
26
39
|
}
|
|
27
|
-
/** @nocollapse */ /** @nocollapse */ XListOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XListOptionComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
-
/** @nocollapse */ /** @nocollapse */ XListOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: XListOptionComponent, selector: "x-list-option", host: { properties: { "attr.role": "this.role" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"x-list-option\"\r\n [class.x-selected]=\"selected\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-active]=\"active\"\r\n [class.x-list-icon]=\"icon\"\r\n [class.x-list-divided]=\"divided\"\r\n>\r\n <span>\r\n <ng-container *ngIf=\"!nodeTpl\"
|
|
40
|
+
/** @nocollapse */ /** @nocollapse */ XListOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XListOptionComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
+
/** @nocollapse */ /** @nocollapse */ XListOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: XListOptionComponent, selector: "x-list-option", host: { properties: { "attr.role": "this.role" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"x-list-option\"\r\n [ngClass]=\"classMap\"\r\n [class.x-selected]=\"selected\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-active]=\"active\"\r\n [class.x-list-icon]=\"icon\"\r\n [class.x-list-divided]=\"divided\"\r\n>\r\n <span>\r\n <ng-container *ngIf=\"!nodeTpl\"><x-icon [type]=\"icon\" *ngIf=\"icon\"></x-icon> {{ label }}</ng-container>\r\n <ng-container *ngIf=\"nodeTpl\">\r\n <ng-template *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-template>\r\n </ng-container>\r\n </span>\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\" *ngIf=\"leaf\"></x-icon>\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\" *ngIf=\"checked && !leaf && selected\"></x-icon>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list-option{display:block}.x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-list-option>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none}.x-list-option:not(:first-child){margin-top:var(--x-border-width)}.x-list-option:hover,.x-list-option.x-active{background-color:var(--x-background-a300)}.x-list-option.x-list-divided{margin-top:.8125rem}.x-list-option.x-list-divided:before{content:\" \";position:absolute;top:0;left:0;width:100%;margin-top:-.5rem;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-list-option.x-selected{background-color:var(--x-background-a300);color:var(--x-primary)}.x-list-option.x-selected>x-icon{color:var(--x-primary)}.x-list-option.x-disabled{color:var(--x-text-500);cursor:not-allowed}.x-list-option.x-disabled:hover{background-color:inherit}.x-list-option.x-disabled>span x-icon{color:var(--x-text-500)}.x-list-option-big{padding:0 var(--x-padding-big);height:var(--x-height-big);line-height:var(--x-height-big)}.x-list-option-large{padding:0 var(--x-padding-large);height:var(--x-height-large);line-height:var(--x-height-large)}.x-list-option-medium{padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-list-option-small{padding:0 var(--x-padding-small);height:var(--x-height-small);line-height:var(--x-height-small)}.x-list-option-mini{padding:0 var(--x-padding-mini);height:var(--x-height-mini);line-height:var(--x-height-mini)}body>x-list-option{display:block}body>x-list-option.cdk-drag-preview .x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}body>x-list-option.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], components: [{ type: i2.XIconComponent, selector: "x-icon" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
29
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XListOptionComponent, decorators: [{
|
|
30
43
|
type: Component,
|
|
31
|
-
args: [{ selector: `${XListOptionPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"x-list-option\"\r\n [class.x-selected]=\"selected\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-active]=\"active\"\r\n [class.x-list-icon]=\"icon\"\r\n [class.x-list-divided]=\"divided\"\r\n>\r\n <span>\r\n <ng-container *ngIf=\"!nodeTpl\"
|
|
32
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { role: [{
|
|
44
|
+
args: [{ selector: `${XListOptionPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"x-list-option\"\r\n [ngClass]=\"classMap\"\r\n [class.x-selected]=\"selected\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-active]=\"active\"\r\n [class.x-list-icon]=\"icon\"\r\n [class.x-list-divided]=\"divided\"\r\n>\r\n <span>\r\n <ng-container *ngIf=\"!nodeTpl\"><x-icon [type]=\"icon\" *ngIf=\"icon\"></x-icon> {{ label }}</ng-container>\r\n <ng-container *ngIf=\"nodeTpl\">\r\n <ng-template *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-template>\r\n </ng-container>\r\n </span>\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\" *ngIf=\"leaf\"></x-icon>\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\" *ngIf=\"checked && !leaf && selected\"></x-icon>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list-option{display:block}.x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-list-option>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none}.x-list-option:not(:first-child){margin-top:var(--x-border-width)}.x-list-option:hover,.x-list-option.x-active{background-color:var(--x-background-a300)}.x-list-option.x-list-divided{margin-top:.8125rem}.x-list-option.x-list-divided:before{content:\" \";position:absolute;top:0;left:0;width:100%;margin-top:-.5rem;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-list-option.x-selected{background-color:var(--x-background-a300);color:var(--x-primary)}.x-list-option.x-selected>x-icon{color:var(--x-primary)}.x-list-option.x-disabled{color:var(--x-text-500);cursor:not-allowed}.x-list-option.x-disabled:hover{background-color:inherit}.x-list-option.x-disabled>span x-icon{color:var(--x-text-500)}.x-list-option-big{padding:0 var(--x-padding-big);height:var(--x-height-big);line-height:var(--x-height-big)}.x-list-option-large{padding:0 var(--x-padding-large);height:var(--x-height-large);line-height:var(--x-height-large)}.x-list-option-medium{padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-list-option-small{padding:0 var(--x-padding-small);height:var(--x-height-small);line-height:var(--x-height-small)}.x-list-option-mini{padding:0 var(--x-padding-mini);height:var(--x-height-mini);line-height:var(--x-height-mini)}body>x-list-option{display:block}body>x-list-option.cdk-drag-preview .x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}body>x-list-option.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"] }]
|
|
45
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { role: [{
|
|
33
46
|
type: HostBinding,
|
|
34
47
|
args: ['attr.role']
|
|
35
48
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbGlzdC9saXN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFdBQVcsRUFFWCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekUsT0FBTyxFQUFhLFdBQVcsRUFBa0IsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBU3JGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUFHM0QsWUFBbUIsVUFBc0IsRUFBVSxHQUFzQixFQUFTLGFBQTZCO1FBQzdHLEtBQUssRUFBRSxDQUFDO1FBRFMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVMsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBRnJGLFNBQUksR0FBRyxRQUFRLENBQUM7UUFDMUMsYUFBUSxHQUFjLEVBQUUsQ0FBQTtJQUd4QixDQUFDO0lBQ0QsUUFBUSxLQUFJLENBQUM7SUFDYixXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUN6QixTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsaUJBQWlCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEYsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFlLENBQUM7SUFDOUIsQ0FBQzs7dUpBOUJVLG9CQUFvQjsySUFBcEIsb0JBQW9CLHFKQ3BCakMsaXZCQWtCQTsyRkRFYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UsR0FBRyxpQkFBaUIsRUFBRSxpQkFHakIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4SkFHckIsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhMaXN0T3B0aW9uUHJlZml4LCBYTGlzdE9wdGlvblByb3BlcnR5IH0gZnJvbSAnLi9saXN0LnByb3BlcnR5JztcclxuaW1wb3J0IHsgSGlnaGxpZ2h0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcclxuaW1wb3J0IHsgWENsYXNzTWFwLCBYQ2xlYXJDbGFzcywgWENvbmZpZ1NlcnZpY2UsIFhJc0NoYW5nZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hMaXN0T3B0aW9uUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saXN0LW9wdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhMaXN0T3B0aW9uQ29tcG9uZW50IGV4dGVuZHMgWExpc3RPcHRpb25Qcm9wZXJ0eSBpbXBsZW1lbnRzIEhpZ2hsaWdodGFibGUge1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdvcHRpb24nO1xyXG4gIGNsYXNzTWFwOiBYQ2xhc3NNYXAgPSB7fVxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKSB7fVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgc2l6ZSB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShzaXplKSAmJiB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIFhDbGVhckNsYXNzKHRoaXMuY2xhc3NNYXApO1xyXG4gICAgdGhpcy5jbGFzc01hcFtgJHtYTGlzdE9wdGlvblByZWZpeH0tJHt0aGlzLnNpemV9YF0gPSB0aGlzLnNpemUgPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXRBY3RpdmVTdHlsZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLmFjdGl2ZUNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgc2V0SW5hY3RpdmVTdHlsZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5hY3RpdmVDaGFuZ2UuZW1pdCh0aGlzLmFjdGl2ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRMYWJlbCgpIHtcclxuICAgIHJldHVybiB0aGlzLmxhYmVsIGFzIHN0cmluZztcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwieC1saXN0LW9wdGlvblwiXHJcbiAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIlxyXG4gIFtjbGFzcy54LXNlbGVjdGVkXT1cInNlbGVjdGVkXCJcclxuICBbY2xhc3MueC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgW2NsYXNzLngtYWN0aXZlXT1cImFjdGl2ZVwiXHJcbiAgW2NsYXNzLngtbGlzdC1pY29uXT1cImljb25cIlxyXG4gIFtjbGFzcy54LWxpc3QtZGl2aWRlZF09XCJkaXZpZGVkXCJcclxuPlxyXG4gIDxzcGFuPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFub2RlVHBsXCI+PHgtaWNvbiBbdHlwZV09XCJpY29uXCIgKm5nSWY9XCJpY29uXCI+PC94LWljb24+IHt7IGxhYmVsIH19PC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9kZVRwbFwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub2RlVHBsOyBjb250ZXh0OiB7ICRub2RlOiBub2RlIH1cIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9zcGFuPlxyXG4gIDx4LWljb24gY2xhc3M9XCJ4LWxpc3QtbGVhZlwiIHR5cGU9XCJmdG8tY2hldnJvbi1yaWdodFwiICpuZ0lmPVwibGVhZlwiPjwveC1pY29uPlxyXG4gIDx4LWljb24gY2xhc3M9XCJ4LWxpc3QtY2hlY2tlZFwiIHR5cGU9XCJmdG8tY2hlY2tcIiAqbmdJZj1cImNoZWNrZWQgJiYgIWxlYWYgJiYgc2VsZWN0ZWRcIj48L3gtaWNvbj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -260,10 +260,10 @@ export class XListComponent extends XListProperty {
|
|
|
260
260
|
}
|
|
261
261
|
}
|
|
262
262
|
/** @nocollapse */ /** @nocollapse */ XListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XListComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.XConfigService }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
263
|
-
/** @nocollapse */ /** @nocollapse */ XListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: XListComponent, selector: "x-list", host: { listeners: { "keydown": "keydown($event)" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, providers: [XValueAccessor(XListComponent)], viewQueries: [{ propertyName: "listItems", first: true, predicate: ["listItems"], descendants: true }, { propertyName: "options", predicate: XListOptionComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-list\">\r\n <ng-container *ngIf=\"header\">\r\n <div class=\"x-list-header\" *xOutlet=\"header\">{{ header }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectAll && multiple === 0\">\r\n <div class=\"x-list-select-all\">\r\n <x-list-option
|
|
263
|
+
/** @nocollapse */ /** @nocollapse */ XListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: XListComponent, selector: "x-list", host: { listeners: { "keydown": "keydown($event)" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, providers: [XValueAccessor(XListComponent)], viewQueries: [{ propertyName: "listItems", first: true, predicate: ["listItems"], descendants: true }, { propertyName: "options", predicate: XListOptionComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-list\">\r\n <ng-container *ngIf=\"header\">\r\n <div class=\"x-list-header\" *xOutlet=\"header\">{{ header }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectAll && multiple === 0\">\r\n <div class=\"x-list-select-all\">\r\n <x-list-option\r\n [size]=\"size\"\r\n [label]=\"getSelectAllText\"\r\n [checked]=\"true\"\r\n [selected]=\"isSelectAll\"\r\n (click)=\"onSelectAllNodes()\"\r\n ></x-list-option>\r\n </div>\r\n </ng-container>\r\n <div class=\"x-list-content\" cdkDropList (cdkDropListDropped)=\"dropCdk($event)\" [cdkDropListDisabled]=\"!drag\" [hidden]=\"isEmpty\">\r\n <x-list-option\r\n cdkDrag\r\n *ngFor=\"let node of nodes; trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [(active)]=\"node.active\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n [size]=\"size\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </div>\r\n <x-empty *ngIf=\"isEmpty\"></x-empty>\r\n <ng-container *ngIf=\"footer\">\r\n <div class=\"x-list-footer\" *xOutlet=\"footer\">{{ footer }}</div>\r\n </ng-container>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list{width:100%}x-list:focus{outline:none}x-list>x-empty{margin:1rem}.x-list{margin:0;padding:0;width:100%}.x-list:focus{outline:none}.x-list-select-all{cursor:pointer;font-weight:700}.x-list-content{cursor:pointer}.x-list-content.cdk-drop-list-dragging>x-list-option:hover{background-color:transparent}.x-list-content.cdk-drop-list-dragging>x-list-option.cdk-drag-placeholder{border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}.x-list-content.cdk-drop-list-dragging>x-list-option:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-list-header,.x-list-footer{padding:0 .4rem;height:calc(var(--x-font-size) + 1rem);line-height:calc(var(--x-font-size) + 1rem);font-weight:700}.x-list-leaf,.x-list-checked{right:0;margin-left:.4rem;color:var(--x-text-400)}.x-list-icon>span x-icon{color:var(--x-text-300);margin-right:.25rem}\n"], components: [{ type: i3.XListOptionComponent, selector: "x-list-option" }, { type: i4.XEmptyComponent, selector: "x-empty" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
264
264
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XListComponent, decorators: [{
|
|
265
265
|
type: Component,
|
|
266
|
-
args: [{ selector: `${XListPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XListComponent)], template: "<div class=\"x-list\">\r\n <ng-container *ngIf=\"header\">\r\n <div class=\"x-list-header\" *xOutlet=\"header\">{{ header }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectAll && multiple === 0\">\r\n <div class=\"x-list-select-all\">\r\n <x-list-option
|
|
266
|
+
args: [{ selector: `${XListPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XListComponent)], template: "<div class=\"x-list\">\r\n <ng-container *ngIf=\"header\">\r\n <div class=\"x-list-header\" *xOutlet=\"header\">{{ header }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectAll && multiple === 0\">\r\n <div class=\"x-list-select-all\">\r\n <x-list-option\r\n [size]=\"size\"\r\n [label]=\"getSelectAllText\"\r\n [checked]=\"true\"\r\n [selected]=\"isSelectAll\"\r\n (click)=\"onSelectAllNodes()\"\r\n ></x-list-option>\r\n </div>\r\n </ng-container>\r\n <div class=\"x-list-content\" cdkDropList (cdkDropListDropped)=\"dropCdk($event)\" [cdkDropListDisabled]=\"!drag\" [hidden]=\"isEmpty\">\r\n <x-list-option\r\n cdkDrag\r\n *ngFor=\"let node of nodes; trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [(active)]=\"node.active\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n [size]=\"size\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </div>\r\n <x-empty *ngIf=\"isEmpty\"></x-empty>\r\n <ng-container *ngIf=\"footer\">\r\n <div class=\"x-list-footer\" *xOutlet=\"footer\">{{ footer }}</div>\r\n </ng-container>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list{width:100%}x-list:focus{outline:none}x-list>x-empty{margin:1rem}.x-list{margin:0;padding:0;width:100%}.x-list:focus{outline:none}.x-list-select-all{cursor:pointer;font-weight:700}.x-list-content{cursor:pointer}.x-list-content.cdk-drop-list-dragging>x-list-option:hover{background-color:transparent}.x-list-content.cdk-drop-list-dragging>x-list-option.cdk-drag-placeholder{border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}.x-list-content.cdk-drop-list-dragging>x-list-option:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-list-header,.x-list-footer{padding:0 .4rem;height:calc(var(--x-font-size) + 1rem);line-height:calc(var(--x-font-size) + 1rem);font-weight:700}.x-list-leaf,.x-list-checked{right:0;margin-left:.4rem;color:var(--x-text-400)}.x-list-icon>span x-icon{color:var(--x-text-300);margin-right:.25rem}\n"] }]
|
|
267
267
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.XConfigService }, { type: i2.XI18nService }]; }, propDecorators: { listItems: [{
|
|
268
268
|
type: ViewChild,
|
|
269
269
|
args: ['listItems']
|
|
@@ -280,4 +280,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
280
280
|
type: HostListener,
|
|
281
281
|
args: ['keydown', ['$event']]
|
|
282
282
|
}] } });
|
|
283
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBT3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFrQixRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hHLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQVd2RCxNQUFNLE9BQU8sY0FBZSxTQUFRLGFBQWE7SUF1Qy9DLFlBQ1MsUUFBbUIsRUFDbkIsR0FBc0IsRUFDdEIsVUFBc0IsRUFDdEIsYUFBNkIsRUFDNUIsSUFBa0I7UUFFMUIsS0FBSyxFQUFFLENBQUM7UUFORCxhQUFRLEdBQVIs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LEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6RixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBYyxFQUFFLElBQWU7UUFDekMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVztRQUNyQixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDL0MsQ0FBQzs7aUpBeFFVLGNBQWM7cUlBQWQsY0FBYyxvS0FGZCxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQywrSUFNN0Isb0JBQW9CLDRGQ3ZDcEMsczBDQWdDQTsyRkRHYSxjQUFjO2tCQVIxQixTQUFTOytCQUNFLEdBQUcsV0FBVyxFQUFFLGlCQUdYLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLGdCQUFnQixDQUFDO2lOQUtuQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBRXRCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxvQkFBb0I7Z0JBTVIsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQUNNLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsZUFBZTtnQkFFUyxPQUFPO3NCQUEzQyxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBRdWVyeUxpc3QsXHJcbiAgRWxlbWVudFJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIFZpZXdDaGlsZHJlblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYTGlzdFByZWZpeCwgWExpc3ROb2RlLCBYTGlzdFByb3BlcnR5IH0gZnJvbSAnLi9saXN0LnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzQ2hhbmdlLCBYU2V0RGF0YSwgWENvbmZpZ1NlcnZpY2UsIFhJc0VtcHR5LCBYSXNVbmRlZmluZWQsIFhJc051bGwgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBYTGlzdE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1vcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XHJcbmltcG9ydCB7IEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFhWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWEkxOG5MaXN0LCBYSTE4blNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYTGlzdFByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtYVmFsdWVBY2Nlc3NvcihYTGlzdENvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYTGlzdENvbXBvbmVudCBleHRlbmRzIFhMaXN0UHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgbm9kZXM6IFhMaXN0Tm9kZVtdID0gW107XHJcbiAgc2VsZWN0ZWROb2RlczogWExpc3ROb2RlW10gPSBbXTtcclxuICBAVmlld0NoaWxkKCdsaXN0SXRlbXMnKSBsaXN0SXRlbXMhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGRyZW4oWExpc3RPcHRpb25Db21wb25lbnQpXHJcbiAgb3B0aW9ucyE6IFF1ZXJ5TGlzdDxYTGlzdE9wdGlvbkNvbXBvbmVudD47XHJcbiAga2V5TWFuYWdlciE6IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyPFhMaXN0T3B0aW9uQ29tcG9uZW50PjtcclxuICBpc1NlbGVjdEFsbCA9IGZhbHNlO1xyXG4gIGxvY2FsZTogWEkxOG5MaXN0ID0ge307XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdsaXN0Ym94JztcclxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJpbmRleCA9IC0xO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkga2V5ZG93bigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIHRoaXMua2V5TWFuYWdlci5vbktleWRvd24oJGV2ZW50KTtcclxuICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCBhcyBudW1iZXI7XHJcbiAgICBpZiAoJGV2ZW50LmtleUNvZGUgPT09IEVOVEVSICYmICFYSXNVbmRlZmluZWQoYWN0aXZlSW5kZXgpKSB7XHJcbiAgICAgIHRoaXMuc2V0VW5BY3RpdmUoYWN0aXZlSW5kZXgpO1xyXG4gICAgICB0aGlzLm9uTm9kZUNsaWNrKCRldmVudCwgdGhpcy5ub2Rlc1thY3RpdmVJbmRleF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRW1wdHkoKSB7XHJcbiAgICByZXR1cm4gWElzRW1wdHkodGhpcy5ub2Rlcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0U2VsZWN0QWxsVGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdEFsbFRleHQgfHwgdGhpcy5sb2NhbGUuc2VsZWN0QWxsVGV4dDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZXRTZWxlY3RlZCgpO1xyXG4gICAgdGhpcy5zZXRLZXlNYW5hZ2VyKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgaTE4bjogWEkxOG5TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC5saXN0IGFzIFhJMThuTGlzdCksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB4O1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgZGF0YSB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShkYXRhKSAmJiB0aGlzLnNldERhdGEoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdEtleU1hbmFnZXIoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHt9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRhKCkge1xyXG4gICAgWFNldERhdGE8WExpc3ROb2RlPih0aGlzLmRhdGEsIHRoaXMuX3VuU3ViamVjdCkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMubm9kZXMgPSB4O1xyXG4gICAgICB0aGlzLnNldFNlbGVjdGVkKCk7XHJcbiAgICAgIHRoaXMuc2V0S2V5TWFuYWdlcigpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEtleU1hbmFnZXIoKSB7XHJcbiAgICB0aGlzLmtleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8WExpc3RPcHRpb25Db21wb25lbnQ+KHRoaXMub3B0aW9ucykud2l0aFdyYXAoKTtcclxuXHJcbiAgICB0aGlzLmtleU1hbmFnZXIudGFiT3V0LnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0VW5BY3RpdmUodGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCBhcyBudW1iZXIpO1xyXG4gICAgICB0aGlzLmtleU1hbmFnZXJUYWJPdXQuZW1pdCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5rZXlNYW5hZ2VyLmNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKG51bTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0U2NvcmxsVG9wKG51bSk7XHJcbiAgICAgIHRoaXMua2V5TWFuYWdlckNoYW5nZS5lbWl0KG51bSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldFNjb3JsbFRvcChfbnVtOiBudW1iZXIpIHtcclxuICAgIGlmICghdGhpcy5zY3JvbGxFbGVtZW50KSByZXR1cm47XHJcbiAgICBsZXQgZWxlID0gdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0hLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGxldCBsaXN0ID0gdGhpcy5zY3JvbGxFbGVtZW50O1xyXG4gICAgbGV0IG1pbiA9IGxpc3Quc2Nyb2xsVG9wO1xyXG4gICAgbGV0IG1heCA9IGxpc3Quc2Nyb2xsVG9wICsgbGlzdC5jbGllbnRIZWlnaHQ7XHJcbiAgICBpZiAoZWxlLm9mZnNldFRvcCArIGVsZS5jbGllbnRIZWlnaHQgPiBtYXgpIHtcclxuICAgICAgbGV0IHNjcm9sbFRvcCA9IGVsZS5vZmZzZXRUb3AgKyBlbGUuY2xpZW50SGVpZ2h0IC0gbGlzdC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgIGxpc3Quc2Nyb2xsVG9wID0gc2Nyb2xsVG9wO1xyXG4gICAgfVxyXG4gICAgaWYgKGVsZS5vZmZzZXRUb3AgPCBtaW4pIHtcclxuICAgICAgbGlzdC5zY3JvbGxUb3AgPSBlbGUub2Zmc2V0VG9wO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWQoKSB7XHJcbiAgICBpZiAodGhpcy5ub2Rlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMubm9kZXNcclxuICAgICAgICAuZmlsdGVyKCh4KSA9PiB4LnNlbGVjdGVkKVxyXG4gICAgICAgIC5tYXAoKHgpID0+IHtcclxuICAgICAgICAgIHguc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgbGV0IHZhbEFycnk6IGFueVtdID0gW107XHJcbiAgICAgIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICB2YWxBcnJ5ID0gdGhpcy52YWx1ZTtcclxuICAgICAgICBpZiAodmFsQXJyeS5sZW5ndGggPT09IHRoaXMubm9kZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICB0aGlzLmlzU2VsZWN0QWxsID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdmFsQXJyeSA9IFt0aGlzLnZhbHVlXTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMub2JqZWN0QXJyYXkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSB0aGlzLm5vZGVzXHJcbiAgICAgICAgICAuZmlsdGVyKCh4KSA9PiAhWElzRW1wdHkodmFsQXJyeS5maW5kKCh5KSA9PiAhWElzVW5kZWZpbmVkKHkpICYmICFYSXNOdWxsKHkpICYmIHkuaWQgPT09IHguaWQpKSlcclxuICAgICAgICAgIC5tYXAoKHgpID0+IHtcclxuICAgICAgICAgICAgeC5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHJldHVybiB4O1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gdGhpcy5ub2Rlc1xyXG4gICAgICAgICAgLmZpbHRlcigoeCkgPT4gdmFsQXJyeS5pbmRleE9mKHguaWQpID4gLTEpXHJcbiAgICAgICAgICAubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgICAgIHguc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICByZXR1cm4geDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRLZXlNYW5hZ2VyKCkge1xyXG4gICAgaWYgKFhJc1VuZGVmaW5lZCh0aGlzLmtleU1hbmFnZXIpIHx8IFhJc1VuZGVmaW5lZCh0aGlzLm5vZGVzKSB8fCB0aGlzLm5vZGVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xyXG4gICAgbGV0IGFjdGl2ZUluZGV4ID0gMDtcclxuICAgIGlmIChYSXNVbmRlZmluZWQodGhpcy52YWx1ZSkgfHwgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oYWN0aXZlSW5kZXgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgdmFsQXJyeTogYW55W10gPSBbXTtcclxuICAgIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgdmFsQXJyeSA9IHRoaXMudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB2YWxBcnJ5ID0gW3RoaXMudmFsdWVdO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbGFzdCA9IHZhbEFycnlbdmFsQXJyeS5sZW5ndGggLSAxXTtcclxuICAgIGlmICh0aGlzLm9iamVjdEFycmF5KSB7XHJcbiAgICAgIGFjdGl2ZUluZGV4ID0gdGhpcy5ub2Rlcy5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IGxhc3QuaWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYWN0aXZlSW5kZXggPSB0aGlzLm5vZGVzLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gbGFzdCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmtleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShhY3RpdmVJbmRleCk7XHJcbiAgICB0aGlzLnNldFNjb3JsbFRvcChhY3RpdmVJbmRleCk7XHJcbiAgfVxyXG5cclxuICBvbk5vZGVDbGljayhldmVudDogRXZlbnQsIG5vZGU6IFhMaXN0Tm9kZSkge1xyXG4gICAgaWYgKFhJc1VuZGVmaW5lZChub2RlKSB8fCBub2RlLmRpc2FibGVkKSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCB8fCAobm9kZS5zZWxlY3RlZCAmJiB0aGlzLm11bHRpcGxlID09PSAxKSkgcmV0dXJuO1xyXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSAhbm9kZS5zZWxlY3RlZDtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGVzLmxlbmd0aCA8IHRoaXMubXVsdGlwbGUgfHwgdGhpcy5tdWx0aXBsZSA9PT0gMCkge1xyXG4gICAgICAgIG5vZGUuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBbLi4udGhpcy5zZWxlY3RlZE5vZGVzLCBub2RlXTtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGVzLmxlbmd0aCA9PT0gdGhpcy5ub2Rlcy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuaXNTZWxlY3RBbGwgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tdWx0aXBsZSA9PT0gMSAmJiB0aGlzLnNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgbm9kZS5zZWxlY3RlZCA9IHNlbGVjdGVkO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlc1swXS5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlc1swXSA9IG5vZGU7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbm9kZS5zZWxlY3RlZCA9IHNlbGVjdGVkO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMuc3BsaWNlKFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlcy5maW5kSW5kZXgoKHgpID0+IHguaWQgPT0gbm9kZS5pZCksXHJcbiAgICAgICAgMVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmlzU2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSA9PT0gMSAmJiB0aGlzLnNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm9iamVjdEFycmF5ID8gdGhpcy5zZWxlY3RlZE5vZGVzWzBdIDogdGhpcy5zZWxlY3RlZE5vZGVzWzBdLmlkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMub2JqZWN0QXJyYXkgPyB0aGlzLnNlbGVjdGVkTm9kZXMgOiB0aGlzLnNlbGVjdGVkTm9kZXMubWFwKCh4KSA9PiB4LmlkKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgbm9kZS5ldmVudCA9IGV2ZW50O1xyXG4gICAgdGhpcy5ub2RlQ2xpY2suZW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIG9uTW91c2VlbnRlcihldmVudDogRXZlbnQsIG5vZGU6IFhMaXN0Tm9kZSkge1xyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIG5vZGUuZXZlbnQgPSBldmVudDtcclxuICAgIHRoaXMubm9kZU1vdXNlZW50ZXIuZW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIG9uTW91c2VsZWF2ZShldmVudDogRXZlbnQsIG5vZGU6IFhMaXN0Tm9kZSkge1xyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIG5vZGUuZXZlbnQgPSBldmVudDtcclxuICAgIHRoaXMubm9kZU1vdXNlbGVhdmUuZW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIGRyb3BDZGsoZXZlbnQ6IENka0RyYWdEcm9wPFhMaXN0Tm9kZVtdPikge1xyXG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMubm9kZXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdEFsbE5vZGVzKCkge1xyXG4gICAgdGhpcy5pc1NlbGVjdEFsbCA9ICF0aGlzLmlzU2VsZWN0QWxsO1xyXG4gICAgaWYgKHRoaXMuaXNTZWxlY3RBbGwpIHtcclxuICAgICAgdGhpcy5ub2Rlcy5tYXAoKHgpID0+IHtcclxuICAgICAgICB4LnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm4geDtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IFsuLi50aGlzLm5vZGVzXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubm9kZXMubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgeC5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB4O1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5vYmplY3RBcnJheSA/IHRoaXMuc2VsZWN0ZWROb2RlcyA6IHRoaXMuc2VsZWN0ZWROb2Rlcy5tYXAoKHgpID0+IHguaWQpO1xyXG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLm9uU2VsZWN0QWxsLmVtaXQodGhpcy5pc1NlbGVjdEFsbCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Tm9kZShfaW5kZXg6IG51bWJlciwgaXRlbTogWExpc3ROb2RlKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcblxyXG4gIHNldFVuQWN0aXZlKG51bTogbnVtYmVyKSB7XHJcbiAgICBpZiAobnVtID4gLTEpIHRoaXMubm9kZXNbbnVtXS5hY3RpdmUgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtbGlzdFwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWxpc3QtaGVhZGVyXCIgKnhPdXRsZXQ9XCJoZWFkZXJcIj57eyBoZWFkZXIgfX08L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0QWxsICYmIG11bHRpcGxlID09PSAwXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1saXN0LXNlbGVjdC1hbGxcIj5cclxuICAgICAgPHgtbGlzdC1vcHRpb24gW2xhYmVsXT1cImdldFNlbGVjdEFsbFRleHRcIiBbY2hlY2tlZF09XCJ0cnVlXCIgW3NlbGVjdGVkXT1cImlzU2VsZWN0QWxsXCIgKGNsaWNrKT1cIm9uU2VsZWN0QWxsTm9kZXMoKVwiPjwveC1saXN0LW9wdGlvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWxpc3QtY29udGVudFwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcENkaygkZXZlbnQpXCIgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWRyYWdcIiBbaGlkZGVuXT1cImlzRW1wdHlcIj5cclxuICAgIDx4LWxpc3Qtb3B0aW9uXHJcbiAgICAgIGNka0RyYWdcclxuICAgICAgKm5nRm9yPVwibGV0IG5vZGUgb2Ygbm9kZXM7IHRyYWNrQnk6IHRyYWNrQnlOb2RlXCJcclxuICAgICAgW25vZGVdPVwibm9kZVwiXHJcbiAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxyXG4gICAgICBbbm9kZVRwbF09XCJub2RlVHBsXCJcclxuICAgICAgW3NlbGVjdGVkXT1cIm5vZGUuc2VsZWN0ZWRcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXHJcbiAgICAgIFsoYWN0aXZlKV09XCJub2RlLmFjdGl2ZVwiXHJcbiAgICAgIFtpY29uXT1cIm5vZGUuaWNvblwiXHJcbiAgICAgIFtsYWJlbF09XCJub2RlLmxhYmVsXCJcclxuICAgICAgW2xlYWZdPVwibm9kZS5sZWFmXCJcclxuICAgICAgKGNsaWNrKT1cIm9uTm9kZUNsaWNrKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlZW50ZXIoJGV2ZW50LCBub2RlKVwiXHJcbiAgICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VsZWF2ZSgkZXZlbnQsIG5vZGUpXCJcclxuICAgID48L3gtbGlzdC1vcHRpb24+XHJcbiAgPC9kaXY+XHJcbiAgPHgtZW1wdHkgKm5nSWY9XCJpc0VtcHR5XCI+PC94LWVtcHR5PlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb290ZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWxpc3QtZm9vdGVyXCIgKnhPdXRsZXQ9XCJmb290ZXJcIj57eyBmb290ZXIgfX08L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
283
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBT3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFrQixRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hHLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQVd2RCxNQUFNLE9BQU8sY0FBZSxTQUFRLGFBQWE7SUF1Qy9DLFlBQ1MsUUFBbUIsRUFDbkIsR0FBc0IsRUFDdEIsVUFBc0IsRUFDdEIsYUFBNkIsRUFDNUIsSUFBa0I7UUFFMUIsS0FBSyxFQUFFLENBQUM7UUFORCxhQUFRLEdBQVIs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LEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6RixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBYyxFQUFFLElBQWU7UUFDekMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVztRQUNyQixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDL0MsQ0FBQzs7aUpBeFFVLGNBQWM7cUlBQWQsY0FBYyxvS0FGZCxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQywrSUFNN0Isb0JBQW9CLDRGQ3ZDcEMsZzdDQXVDQTsyRkRKYSxjQUFjO2tCQVIxQixTQUFTOytCQUNFLEdBQUcsV0FBVyxFQUFFLGlCQUdYLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLGdCQUFnQixDQUFDO2lOQUtuQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBRXRCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxvQkFBb0I7Z0JBTVIsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQUNNLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsZUFBZTtnQkFFUyxPQUFPO3NCQUEzQyxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBRdWVyeUxpc3QsXHJcbiAgRWxlbWVudFJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIFZpZXdDaGlsZHJlblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYTGlzdFByZWZpeCwgWExpc3ROb2RlLCBYTGlzdFByb3BlcnR5IH0gZnJvbSAnLi9saXN0LnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzQ2hhbmdlLCBYU2V0RGF0YSwgWENvbmZpZ1NlcnZpY2UsIFhJc0VtcHR5LCBYSXNVbmRlZmluZWQsIFhJc051bGwgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBYTGlzdE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1vcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XHJcbmltcG9ydCB7IEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFhWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWEkxOG5MaXN0LCBYSTE4blNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYTGlzdFByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtYVmFsdWVBY2Nlc3NvcihYTGlzdENvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYTGlzdENvbXBvbmVudCBleHRlbmRzIFhMaXN0UHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgbm9kZXM6IFhMaXN0Tm9kZVtdID0gW107XHJcbiAgc2VsZWN0ZWROb2RlczogWExpc3ROb2RlW10gPSBbXTtcclxuICBAVmlld0NoaWxkKCdsaXN0SXRlbXMnKSBsaXN0SXRlbXMhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGRyZW4oWExpc3RPcHRpb25Db21wb25lbnQpXHJcbiAgb3B0aW9ucyE6IFF1ZXJ5TGlzdDxYTGlzdE9wdGlvbkNvbXBvbmVudD47XHJcbiAga2V5TWFuYWdlciE6IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyPFhMaXN0T3B0aW9uQ29tcG9uZW50PjtcclxuICBpc1NlbGVjdEFsbCA9IGZhbHNlO1xyXG4gIGxvY2FsZTogWEkxOG5MaXN0ID0ge307XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdsaXN0Ym94JztcclxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJpbmRleCA9IC0xO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkga2V5ZG93bigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIHRoaXMua2V5TWFuYWdlci5vbktleWRvd24oJGV2ZW50KTtcclxuICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCBhcyBudW1iZXI7XHJcbiAgICBpZiAoJGV2ZW50LmtleUNvZGUgPT09IEVOVEVSICYmICFYSXNVbmRlZmluZWQoYWN0aXZlSW5kZXgpKSB7XHJcbiAgICAgIHRoaXMuc2V0VW5BY3RpdmUoYWN0aXZlSW5kZXgpO1xyXG4gICAgICB0aGlzLm9uTm9kZUNsaWNrKCRldmVudCwgdGhpcy5ub2Rlc1thY3RpdmVJbmRleF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRW1wdHkoKSB7XHJcbiAgICByZXR1cm4gWElzRW1wdHkodGhpcy5ub2Rlcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0U2VsZWN0QWxsVGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdEFsbFRleHQgfHwgdGhpcy5sb2NhbGUuc2VsZWN0QWxsVGV4dDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZXRTZWxlY3RlZCgpO1xyXG4gICAgdGhpcy5zZXRLZXlNYW5hZ2VyKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgaTE4bjogWEkxOG5TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC5saXN0IGFzIFhJMThuTGlzdCksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB4O1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgZGF0YSB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShkYXRhKSAmJiB0aGlzLnNldERhdGEoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdEtleU1hbmFnZXIoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHt9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRhKCkge1xyXG4gICAgWFNldERhdGE8WExpc3ROb2RlPih0aGlzLmRhdGEsIHRoaXMuX3VuU3ViamVjdCkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMubm9kZXMgPSB4O1xyXG4gICAgICB0aGlzLnNldFNlbGVjdGVkKCk7XHJcbiAgICAgIHRoaXMuc2V0S2V5TWFuYWdlcigpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEtleU1hbmFnZXIoKSB7XHJcbiAgICB0aGlzLmtleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8WExpc3RPcHRpb25Db21wb25lbnQ+KHRoaXMub3B0aW9ucykud2l0aFdyYXAoKTtcclxuXHJcbiAgICB0aGlzLmtleU1hbmFnZXIudGFiT3V0LnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0VW5BY3RpdmUodGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCBhcyBudW1iZXIpO1xyXG4gICAgICB0aGlzLmtleU1hbmFnZXJUYWJPdXQuZW1pdCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5rZXlNYW5hZ2VyLmNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKG51bTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0U2NvcmxsVG9wKG51bSk7XHJcbiAgICAgIHRoaXMua2V5TWFuYWdlckNoYW5nZS5lbWl0KG51bSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldFNjb3JsbFRvcChfbnVtOiBudW1iZXIpIHtcclxuICAgIGlmICghdGhpcy5zY3JvbGxFbGVtZW50KSByZXR1cm47XHJcbiAgICBsZXQgZWxlID0gdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0hLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGxldCBsaXN0ID0gdGhpcy5zY3JvbGxFbGVtZW50O1xyXG4gICAgbGV0IG1pbiA9IGxpc3Quc2Nyb2xsVG9wO1xyXG4gICAgbGV0IG1heCA9IGxpc3Quc2Nyb2xsVG9wICsgbGlzdC5jbGllbnRIZWlnaHQ7XHJcbiAgICBpZiAoZWxlLm9mZnNldFRvcCArIGVsZS5jbGllbnRIZWlnaHQgPiBtYXgpIHtcclxuICAgICAgbGV0IHNjcm9sbFRvcCA9IGVsZS5vZmZzZXRUb3AgKyBlbGUuY2xpZW50SGVpZ2h0IC0gbGlzdC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgIGxpc3Quc2Nyb2xsVG9wID0gc2Nyb2xsVG9wO1xyXG4gICAgfVxyXG4gICAgaWYgKGVsZS5vZmZzZXRUb3AgPCBtaW4pIHtcclxuICAgICAgbGlzdC5zY3JvbGxUb3AgPSBlbGUub2Zmc2V0VG9wO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWQoKSB7XHJcbiAgICBpZiAodGhpcy5ub2Rlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMubm9kZXNcclxuICAgICAgICAuZmlsdGVyKCh4KSA9PiB4LnNlbGVjdGVkKVxyXG4gICAgICAgIC5tYXAoKHgpID0+IHtcclxuICAgICAgICAgIHguc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgbGV0IHZhbEFycnk6IGFueVtdID0gW107XHJcbiAgICAgIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICB2YWxBcnJ5ID0gdGhpcy52YWx1ZTtcclxuICAgICAgICBpZiAodmFsQXJyeS5sZW5ndGggPT09IHRoaXMubm9kZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICB0aGlzLmlzU2VsZWN0QWxsID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdmFsQXJyeSA9IFt0aGlzLnZhbHVlXTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMub2JqZWN0QXJyYXkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSB0aGlzLm5vZGVzXHJcbiAgICAgICAgICAuZmlsdGVyKCh4KSA9PiAhWElzRW1wdHkodmFsQXJyeS5maW5kKCh5KSA9PiAhWElzVW5kZWZpbmVkKHkpICYmICFYSXNOdWxsKHkpICYmIHkuaWQgPT09IHguaWQpKSlcclxuICAgICAgICAgIC5tYXAoKHgpID0+IHtcclxuICAgICAgICAgICAgeC5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHJldHVybiB4O1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gdGhpcy5ub2Rlc1xyXG4gICAgICAgICAgLmZpbHRlcigoeCkgPT4gdmFsQXJyeS5pbmRleE9mKHguaWQpID4gLTEpXHJcbiAgICAgICAgICAubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgICAgIHguc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICByZXR1cm4geDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRLZXlNYW5hZ2VyKCkge1xyXG4gICAgaWYgKFhJc1VuZGVmaW5lZCh0aGlzLmtleU1hbmFnZXIpIHx8IFhJc1VuZGVmaW5lZCh0aGlzLm5vZGVzKSB8fCB0aGlzLm5vZGVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xyXG4gICAgbGV0IGFjdGl2ZUluZGV4ID0gMDtcclxuICAgIGlmIChYSXNVbmRlZmluZWQodGhpcy52YWx1ZSkgfHwgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oYWN0aXZlSW5kZXgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgdmFsQXJyeTogYW55W10gPSBbXTtcclxuICAgIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgdmFsQXJyeSA9IHRoaXMudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB2YWxBcnJ5ID0gW3RoaXMudmFsdWVdO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbGFzdCA9IHZhbEFycnlbdmFsQXJyeS5sZW5ndGggLSAxXTtcclxuICAgIGlmICh0aGlzLm9iamVjdEFycmF5KSB7XHJcbiAgICAgIGFjdGl2ZUluZGV4ID0gdGhpcy5ub2Rlcy5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IGxhc3QuaWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYWN0aXZlSW5kZXggPSB0aGlzLm5vZGVzLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gbGFzdCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmtleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShhY3RpdmVJbmRleCk7XHJcbiAgICB0aGlzLnNldFNjb3JsbFRvcChhY3RpdmVJbmRleCk7XHJcbiAgfVxyXG5cclxuICBvbk5vZGVDbGljayhldmVudDogRXZlbnQsIG5vZGU6IFhMaXN0Tm9kZSkge1xyXG4gICAgaWYgKFhJc1VuZGVmaW5lZChub2RlKSB8fCBub2RlLmRpc2FibGVkKSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCB8fCAobm9kZS5zZWxlY3RlZCAmJiB0aGlzLm11bHRpcGxlID09PSAxKSkgcmV0dXJuO1xyXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSAhbm9kZS5zZWxlY3RlZDtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGVzLmxlbmd0aCA8IHRoaXMubXVsdGlwbGUgfHwgdGhpcy5tdWx0aXBsZSA9PT0gMCkge1xyXG4gICAgICAgIG5vZGUuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBbLi4udGhpcy5zZWxlY3RlZE5vZGVzLCBub2RlXTtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGVzLmxlbmd0aCA9PT0gdGhpcy5ub2Rlcy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuaXNTZWxlY3RBbGwgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tdWx0aXBsZSA9PT0gMSAmJiB0aGlzLnNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgbm9kZS5zZWxlY3RlZCA9IHNlbGVjdGVkO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlc1swXS5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlc1swXSA9IG5vZGU7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbm9kZS5zZWxlY3RlZCA9IHNlbGVjdGVkO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMuc3BsaWNlKFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlcy5maW5kSW5kZXgoKHgpID0+IHguaWQgPT0gbm9kZS5pZCksXHJcbiAgICAgICAgMVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmlzU2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSA9PT0gMSAmJiB0aGlzLnNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm9iamVjdEFycmF5ID8gdGhpcy5zZWxlY3RlZE5vZGVzWzBdIDogdGhpcy5zZWxlY3RlZE5vZGVzWzBdLmlkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMub2JqZWN0QXJyYXkgPyB0aGlzLnNlbGVjdGVkTm9kZXMgOiB0aGlzLnNlbGVjdGVkTm9kZXMubWFwKCh4KSA9PiB4LmlkKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgbm9kZS5ldmVudCA9IGV2ZW50O1xyXG4gICAgdGhpcy5ub2RlQ2xpY2suZW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIG9uTW91c2VlbnRlcihldmVudDogRXZlbnQsIG5vZGU6IFhMaXN0Tm9kZSkge1xyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIG5vZGUuZXZlbnQgPSBldmVudDtcclxuICAgIHRoaXMubm9kZU1vdXNlZW50ZXIuZW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIG9uTW91c2VsZWF2ZShldmVudDogRXZlbnQsIG5vZGU6IFhMaXN0Tm9kZSkge1xyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIG5vZGUuZXZlbnQgPSBldmVudDtcclxuICAgIHRoaXMubm9kZU1vdXNlbGVhdmUuZW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIGRyb3BDZGsoZXZlbnQ6IENka0RyYWdEcm9wPFhMaXN0Tm9kZVtdPikge1xyXG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMubm9kZXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdEFsbE5vZGVzKCkge1xyXG4gICAgdGhpcy5pc1NlbGVjdEFsbCA9ICF0aGlzLmlzU2VsZWN0QWxsO1xyXG4gICAgaWYgKHRoaXMuaXNTZWxlY3RBbGwpIHtcclxuICAgICAgdGhpcy5ub2Rlcy5tYXAoKHgpID0+IHtcclxuICAgICAgICB4LnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm4geDtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IFsuLi50aGlzLm5vZGVzXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubm9kZXMubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgeC5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB4O1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5vYmplY3RBcnJheSA/IHRoaXMuc2VsZWN0ZWROb2RlcyA6IHRoaXMuc2VsZWN0ZWROb2Rlcy5tYXAoKHgpID0+IHguaWQpO1xyXG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLm9uU2VsZWN0QWxsLmVtaXQodGhpcy5pc1NlbGVjdEFsbCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Tm9kZShfaW5kZXg6IG51bWJlciwgaXRlbTogWExpc3ROb2RlKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcblxyXG4gIHNldFVuQWN0aXZlKG51bTogbnVtYmVyKSB7XHJcbiAgICBpZiAobnVtID4gLTEpIHRoaXMubm9kZXNbbnVtXS5hY3RpdmUgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtbGlzdFwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWxpc3QtaGVhZGVyXCIgKnhPdXRsZXQ9XCJoZWFkZXJcIj57eyBoZWFkZXIgfX08L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0QWxsICYmIG11bHRpcGxlID09PSAwXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1saXN0LXNlbGVjdC1hbGxcIj5cclxuICAgICAgPHgtbGlzdC1vcHRpb25cclxuICAgICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgICBbbGFiZWxdPVwiZ2V0U2VsZWN0QWxsVGV4dFwiXHJcbiAgICAgICAgW2NoZWNrZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0QWxsXCJcclxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3RBbGxOb2RlcygpXCJcclxuICAgICAgPjwveC1saXN0LW9wdGlvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWxpc3QtY29udGVudFwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcENkaygkZXZlbnQpXCIgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWRyYWdcIiBbaGlkZGVuXT1cImlzRW1wdHlcIj5cclxuICAgIDx4LWxpc3Qtb3B0aW9uXHJcbiAgICAgIGNka0RyYWdcclxuICAgICAgKm5nRm9yPVwibGV0IG5vZGUgb2Ygbm9kZXM7IHRyYWNrQnk6IHRyYWNrQnlOb2RlXCJcclxuICAgICAgW25vZGVdPVwibm9kZVwiXHJcbiAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxyXG4gICAgICBbbm9kZVRwbF09XCJub2RlVHBsXCJcclxuICAgICAgW3NlbGVjdGVkXT1cIm5vZGUuc2VsZWN0ZWRcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXHJcbiAgICAgIFsoYWN0aXZlKV09XCJub2RlLmFjdGl2ZVwiXHJcbiAgICAgIFtpY29uXT1cIm5vZGUuaWNvblwiXHJcbiAgICAgIFtsYWJlbF09XCJub2RlLmxhYmVsXCJcclxuICAgICAgW2xlYWZdPVwibm9kZS5sZWFmXCJcclxuICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgIChjbGljayk9XCJvbk5vZGVDbGljaygkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgKG1vdXNlZW50ZXIpPVwib25Nb3VzZWVudGVyKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlbGVhdmUoJGV2ZW50LCBub2RlKVwiXHJcbiAgICA+PC94LWxpc3Qtb3B0aW9uPlxyXG4gIDwvZGl2PlxyXG4gIDx4LWVtcHR5ICpuZ0lmPVwiaXNFbXB0eVwiPjwveC1lbXB0eT5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9vdGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1saXN0LWZvb3RlclwiICp4T3V0bGV0PVwiZm9vdGVyXCI+e3sgZm9vdGVyIH19PC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iXX0=
|