@esfaenza/es-table 13.1.21 → 13.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/es-table/es_table.component.loc.mjs +3 -3
- package/esm2020/lib/components/es-table/es_table.component.mjs +69 -67
- package/esm2020/lib/components/es-td/es_td.component.mjs +3 -3
- package/esm2020/lib/components/es-th/es_th.component.mjs +3 -3
- package/esm2020/lib/components/pager/table_pager.component.loc.mjs +3 -3
- package/esm2020/lib/components/pager/table_pager.component.mjs +4 -4
- package/esm2020/lib/core/handlers/ColumnMetadataHandler.mjs +2 -2
- package/esm2020/lib/core/handlers/ExportHandler.mjs +2 -4
- package/esm2020/lib/core/handlers/ItemsHandler.mjs +2 -2
- package/esm2020/lib/core/handlers/ReportModeHandler.mjs +28 -51
- package/esm2020/lib/core/handlers/SelectionHandler.mjs +3 -3
- package/esm2020/lib/core/handlers/UtilitiesHandler.mjs +3 -3
- package/esm2020/lib/directives/es_td.directive.mjs +6 -4
- package/esm2020/lib/directives/es_th.directive.mjs +8 -4
- package/esm2020/lib/domain/externals/appsearch/AppSearch.mjs +1 -1
- package/esm2020/lib/domain/externals/report/ReportColumn.mjs +1 -1
- package/esm2020/lib/domain/externals/report/ReportParam.mjs +1 -1
- package/esm2020/lib/domain/internals/TdElement.mjs +1 -1
- package/esm2020/lib/domain/internals/ThElement.mjs +1 -1
- package/esm2020/lib/es-table.module.mjs +4 -4
- package/esm2020/public-api.mjs +1 -4
- package/fesm2015/esfaenza-es-table.mjs +135 -162
- package/fesm2015/esfaenza-es-table.mjs.map +1 -1
- package/fesm2020/esfaenza-es-table.mjs +133 -161
- package/fesm2020/esfaenza-es-table.mjs.map +1 -1
- package/lib/components/es-table/es_table.component.d.ts +5 -20
- package/lib/core/handlers/ReportModeHandler.d.ts +7 -10
- package/lib/directives/es_td.directive.d.ts +3 -1
- package/lib/directives/es_th.directive.d.ts +5 -1
- package/lib/domain/externals/appsearch/AppSearch.d.ts +14 -0
- package/lib/domain/externals/report/ReportColumn.d.ts +1 -1
- package/lib/domain/externals/report/ReportParam.d.ts +12 -12
- package/lib/domain/internals/TdElement.d.ts +2 -0
- package/lib/domain/internals/ThElement.d.ts +5 -0
- package/package.json +10 -10
- package/public-api.d.ts +0 -3
- package/esm2020/lib/domain/externals/report/ReportDefinition.mjs +0 -4
- package/esm2020/lib/domain/externals/report/ReportOrder.mjs +0 -4
- package/esm2020/lib/domain/externals/report/ReportResult.mjs +0 -4
- package/lib/domain/externals/report/ReportDefinition.d.ts +0 -26
- package/lib/domain/externals/report/ReportOrder.d.ts +0 -7
- package/lib/domain/externals/report/ReportResult.d.ts +0 -13
|
@@ -48,9 +48,9 @@ export class EsTd {
|
|
|
48
48
|
this.Class = this.myself.nativeElement.className.replace("app-display-none", "");
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
EsTd.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
52
|
-
EsTd.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
51
|
+
EsTd.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: EsTd, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
+
EsTd.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: EsTd, selector: "[es-td]", inputs: { ID: ["es-td", "ID"], Internal: "Internal", RouterLink: "RouterLink", Display: "Display", Template: "Template", Context: "Context", Visible: "Visible" }, ngImport: i0, template: "<span>\r\n <ng-content></ng-content>\r\n</span>", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: EsTd, decorators: [{
|
|
54
54
|
type: Component,
|
|
55
55
|
args: [{ selector: "[es-td]", changeDetection: ChangeDetectionStrategy.OnPush, template: "<span>\r\n <ng-content></ng-content>\r\n</span>" }]
|
|
56
56
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i1.DomSanitizer }]; }, propDecorators: { ID: [{
|
|
@@ -129,9 +129,9 @@ export class EsTh {
|
|
|
129
129
|
$event.preventDefault();
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
|
-
EsTh.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
133
|
-
EsTh.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
134
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
132
|
+
EsTh.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: EsTh, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
133
|
+
EsTh.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: EsTh, selector: "[es-th]", inputs: { ID: ["es-th", "ID"], Order: "Order", Orderable: "Orderable", Display: "Display", Resizable: "Resizable", Pinned: "Pinned", SearchInProgress: "SearchInProgress", OrderBy: "OrderBy", Wrap: "Wrap", Fixed: "Fixed", Template: "Template", Visible: "Visible" }, outputs: { onOrderChange: "onOrderChange", onUnpinning: "onUnpinning" }, host: { listeners: { "window:mouseup.out-zone": "onMouseUp()", "window:mousemove.out-zone": "onMouseMove($event)" } }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<span (click)=\"setupNextOrderAndNotify()\" [class.app-no-selection]=\"!!ID && Orderable\" [class.app-pointer]=\"!!ID && Orderable\">\r\n <span #content>\r\n <ng-container *ngIf=\"Template\">\r\n <ng-container *ngTemplateOutlet=\"Template\"></ng-container>\r\n </ng-container>\r\n <ng-content *ngIf=\"!Template\"></ng-content>\r\n </span> \r\n <span class=\"fa\" [class.fa-chevron-down]=\"Order == 'DESC'\" [class.fa-chevron-up]=\"Order == 'ASC'\"></span>\r\n</span>\r\n<span *ngIf=\"Pinned && !Fixed\" class=\"app-pointer fa fa-thumb-tack est-quick-unpin\" (click)=\"unpin()\"></span>\r\n<div [hidden]=\"!Resizable || Fixed || Pinned\" class=\"est-head-resizer\" (mousedown)=\"onResizeStart($event)\">\r\n <div class=\"est-head-resizer-internal\"></div>\r\n</div>", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: EsTh, decorators: [{
|
|
135
135
|
type: Component,
|
|
136
136
|
args: [{ selector: "[es-th]", changeDetection: ChangeDetectionStrategy.OnPush, template: "<span (click)=\"setupNextOrderAndNotify()\" [class.app-no-selection]=\"!!ID && Orderable\" [class.app-pointer]=\"!!ID && Orderable\">\r\n <span #content>\r\n <ng-container *ngIf=\"Template\">\r\n <ng-container *ngTemplateOutlet=\"Template\"></ng-container>\r\n </ng-container>\r\n <ng-content *ngIf=\"!Template\"></ng-content>\r\n </span> \r\n <span class=\"fa\" [class.fa-chevron-down]=\"Order == 'DESC'\" [class.fa-chevron-up]=\"Order == 'ASC'\"></span>\r\n</span>\r\n<span *ngIf=\"Pinned && !Fixed\" class=\"app-pointer fa fa-thumb-tack est-quick-unpin\" (click)=\"unpin()\"></span>\r\n<div [hidden]=\"!Resizable || Fixed || Pinned\" class=\"est-head-resizer\" (mousedown)=\"onResizeStart($event)\">\r\n <div class=\"est-head-resizer-internal\"></div>\r\n</div>" }]
|
|
137
137
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { ID: [{
|
|
@@ -14,9 +14,9 @@ export class TablePagerLoc extends LocalizationService {
|
|
|
14
14
|
super.set("en->it", "This might slow down the page and possibly crash the entire application", ["L'operazione potrebbe rallentare la pagina fino al crash dell'applicazione"]);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
TablePagerLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
18
|
-
TablePagerLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
17
|
+
TablePagerLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: TablePagerLoc, deps: [{ token: EST_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
18
|
+
TablePagerLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: TablePagerLoc });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: TablePagerLoc, decorators: [{
|
|
20
20
|
type: Injectable
|
|
21
21
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
22
22
|
type: Optional
|
|
@@ -78,9 +78,9 @@ export class TablePagerComponent {
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
TablePagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
82
|
-
TablePagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
81
|
+
TablePagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: TablePagerComponent, deps: [{ token: i1.MessageService }, { token: i2.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: EST_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
+
TablePagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: TablePagerComponent, selector: "app-paging", inputs: { CurrentPageSize: "CurrentPageSize", View: "View", WarnOnAll: "WarnOnAll", AllSearch: "AllSearch", DefaultAll: "DefaultAll", GroupMode: "GroupMode", GroupCount: "GroupCount", CountLabel: "CountLabel", ShowCount: "ShowCount", ShowPaging: "ShowPaging", PagerCount: "PagerCount", Hidden: "Hidden" }, outputs: { pagingSelected: "pagingSelected" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!Hidden\">\r\n <span class=\"est-fs-14\"> {{CountLabel && !GroupMode ? CountLabel : ((GroupMode ? 'Shown Groups' : 'Shown Elements') | localize : lc)}}: </span>\r\n <ng-container *ngIf=\"ShowPaging && Model && (Model == DefaultAll || PagerCount >= Model || PagerCount == -1)\">\r\n <mat-form-field [appearance]=\"'legacy'\" class=\"mat-paginator-page-size-select est-fs-14 est-ipp-bold\">\r\n <select matNativeControl [ngModel]=\"Model\" name=\"input\" (ngModelChange)=\"choice($event)\">\r\n <ng-container *ngFor=\"let pOpt of PagingOptions\">\r\n <option *ngIf=\"pOpt == DefaultAll || PagerCount >= pOpt || PagerCount == -1\" [value]=\"pOpt\">{{ pOpt == DefaultAll ? ('All' | localize : lc) : pOpt.toString()}}</option>\r\n </ng-container>\r\n </select>\r\n </mat-form-field>\r\n <span class=\"est-fs-14 est-ipp-bold\" *ngIf=\"ShowCount && PagerCount != -1\"> / </span>\r\n </ng-container>\r\n <span class=\"est-fs-14 est-ipp-bold\" *ngIf=\"ShowCount && PagerCount != -1\">{{PagerCount | number : '0.0-0' : locale}}</span>\r\n</ng-container>", styles: [".est-rg-ipp-sel-all,.est-rg-ipp-sel,.est-ipp-sel-all,.est-ipp-sel{color:#0275d8!important;cursor:pointer;text-decoration:none;display:block;display:inline}.est-ipp-bold{font-weight:700}.mat-paginator-page-size-select{margin:6px 4px 0;width:50px}.mat-paginator-page-size-select .mat-form-field-wrapper{height:52px!important;margin-top:-15px!important;padding:0!important}.mat-form-field-type-mat-native-select .mat-form-field-infix:after{margin-top:-5.5px!important}\n"], components: [{ type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "localize": i2.LocalizePipe, "number": i4.DecimalPipe }, viewProviders: [{ provide: LocalizationService, useClass: TablePagerLoc }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: TablePagerComponent, decorators: [{
|
|
84
84
|
type: Component,
|
|
85
85
|
args: [{ selector: "app-paging", viewProviders: [{ provide: LocalizationService, useClass: TablePagerLoc }], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"!Hidden\">\r\n <span class=\"est-fs-14\"> {{CountLabel && !GroupMode ? CountLabel : ((GroupMode ? 'Shown Groups' : 'Shown Elements') | localize : lc)}}: </span>\r\n <ng-container *ngIf=\"ShowPaging && Model && (Model == DefaultAll || PagerCount >= Model || PagerCount == -1)\">\r\n <mat-form-field [appearance]=\"'legacy'\" class=\"mat-paginator-page-size-select est-fs-14 est-ipp-bold\">\r\n <select matNativeControl [ngModel]=\"Model\" name=\"input\" (ngModelChange)=\"choice($event)\">\r\n <ng-container *ngFor=\"let pOpt of PagingOptions\">\r\n <option *ngIf=\"pOpt == DefaultAll || PagerCount >= pOpt || PagerCount == -1\" [value]=\"pOpt\">{{ pOpt == DefaultAll ? ('All' | localize : lc) : pOpt.toString()}}</option>\r\n </ng-container>\r\n </select>\r\n </mat-form-field>\r\n <span class=\"est-fs-14 est-ipp-bold\" *ngIf=\"ShowCount && PagerCount != -1\"> / </span>\r\n </ng-container>\r\n <span class=\"est-fs-14 est-ipp-bold\" *ngIf=\"ShowCount && PagerCount != -1\">{{PagerCount | number : '0.0-0' : locale}}</span>\r\n</ng-container>", styles: [".est-rg-ipp-sel-all,.est-rg-ipp-sel,.est-ipp-sel-all,.est-ipp-sel{color:#0275d8!important;cursor:pointer;text-decoration:none;display:block;display:inline}.est-ipp-bold{font-weight:700}.mat-paginator-page-size-select{margin:6px 4px 0;width:50px}.mat-paginator-page-size-select .mat-form-field-wrapper{height:52px!important;margin-top:-15px!important;padding:0!important}.mat-form-field-type-mat-native-select .mat-form-field-infix:after{margin-top:-5.5px!important}\n"] }]
|
|
86
86
|
}], ctorParameters: function () { return [{ type: i1.MessageService }, { type: i2.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
115
115
|
}], pagingSelected: [{
|
|
116
116
|
type: Output
|
|
117
117
|
}] } });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVfcGFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2VyL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9wYWdlci90YWJsZV9wYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkssaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzlELGVBQWU7QUFDZixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7QUFFMUMsZ0VBQWdFO0FBU2hFLE1BQU0sT0FBTyxtQkFBbUI7SUF5QzVCLGNBQWM7SUFDZCxZQUFvQixPQUF1QixFQUFTLEVBQXVCLEVBQVMsR0FBc0IsRUFBeUMsTUFBYztRQUE3SSxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFTLE9BQUUsR0FBRixFQUFFLENBQXFCO1FBQVMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBeUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWxDakssZ0hBQWdIO1FBQ3ZHLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFbkMsK0ZBQStGO1FBQ3RGLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFbkMsNENBQTRDO1FBQ25DLGVBQVUsR0FBRyxNQUFNLENBQUM7UUFFN0Isc0dBQXNHO1FBQzdG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QUFRLEVBQUUsYUFBYSxFQUFFLENBQUM7MkZBTWpFLG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDSSxZQUFZLGlCQUNQLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDLGlCQUczRCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkE0QzhELFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsVUFBVTs0Q0F2Q2pJLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgVGFibGVQYWdlckxvYyB9IGZyb20gXCIuL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC5sb2NcIjtcclxuaW1wb3J0IHsgRVNUX0xPQ0FMRSB9IGZyb20gXCIuLi8uLi90b2tlbnNcIjtcclxuXHJcbi8qKiBDb21wb25lbnRlIGNoZSBzaSBvY2N1cGEgZGVsbGEgcGFnaW5hemlvbmUgZGkgdW5hIHRhYmVsbGEgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhcHAtcGFnaW5nXCIsXHJcbiAgICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogVGFibGVQYWdlckxvYyB9XSxcclxuICAgIHN0eWxlVXJsczogWycuL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlUGFnZXJDb21wb25lbnQge1xyXG5cclxuICAgIC8qKiBEaW1lbnNpb25lIGRpIHBhZ2luYSBhdHR1YWxlICovXHJcbiAgICBASW5wdXQoKSBDdXJyZW50UGFnZVNpemU6IGFueTtcclxuXHJcbiAgICAvKiogVmlldyBnZXN0aXRhLCBjaGUgcHXDsiBlc3NlcmUgdW4gSUFwcFNlYXJjaCBvIHVuYSBSZXBvcnRWaWV3ICovXHJcbiAgICBASW5wdXQoKSBWaWV3OiBhbnk7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSBkZXZlIG1vc3RyYXJlIHVuIHdhcm5pbmcgcXVhbmRvIHNpIGNlcmNhbm8gZGkgc29sZXppb25hcmUgY29tZSBlbGVtZW50aSBkYSB2aXN1YWxpenphcmUgXCJUdXR0aVwiICovXHJcbiAgICBASW5wdXQoKSBXYXJuT25BbGw6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgZGFyZSBsYSBwb3NzaWJpbGl0w6AgbyBtZW5vIGRpIHNlbGV6aW9uYXJlIFwiVHV0dGlcIiBuZWxsZSBvcHppb25pIGRpIHBhZ2luYXppb25lICovXHJcbiAgICBASW5wdXQoKSBBbGxTZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgXHJcbiAgICAvKiogUGxhY2Vob2xkZXIgY2hlIGlkZW50aWZpY2EgaWwgXCJUdXR0aVwiICovXHJcbiAgICBASW5wdXQoKSBEZWZhdWx0QWxsID0gOTk5OTk5O1xyXG4gICAgXHJcbiAgICAvKiogSW5kaWNhIHNlIGF0dGl2YXJlIGxhIG1vZGFsaXTDoCBncnVwcG8gY29uIHN0aWxpIHBpw7kgc25lbGxpIHBlciBhcHBhcmlyZSBzb3R0byBhaSByYWdncnVwcGFtZW50aSAqL1xyXG4gICAgQElucHV0KCkgR3JvdXBNb2RlID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSB1dGlsaXp6YXJlIGlsIGNvbnRlZ2dpbyBkZWkgZ3J1cHBpIG8gZGVnbGkgb2dnZXR0aSAqL1xyXG4gICAgQElucHV0KCkgR3JvdXBDb3VudCA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbmRpY2EgaWwgdGVzdG8gY2hlIHZhIGEgc29zdGl0dWlyZSBcIk9nZ2V0dGkgVmlzdWFsaXp6YXRpXCIgaW4gY2FzbyBzaSBzdGlhIGZhY2VuZG8gcXVhbGNvc2EgZGkgY3VzdG9tLCBJZ25vcmF0byBpbiBjYXNvIGRpIGdydXBwaSAqL1xyXG4gICAgQElucHV0KCkgQ291bnRMYWJlbDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHZpc3VhbGl6emFyZSBpbCBudW1lcm8gdG90YWxlIGRpIG9nZ2V0aSBwcmVzZW50aSAqL1xyXG4gICAgQElucHV0KCkgU2hvd0NvdW50OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHZpc3VhbGl6emFyZSBpbCBudW1lcm8gdG90YWxlIGRpIG9nZ2V0aSBwcmVzZW50aSAqL1xyXG4gICAgQElucHV0KCkgU2hvd1BhZ2luZzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLyoqIEluZGljYSBpbCBudW1lcm8gdG90YWxlIGRpIG9nZ2V0aSBwcmVzZW50aSAqL1xyXG4gICAgQElucHV0KCkgUGFnZXJDb3VudDogbnVtYmVyO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgbW9zdHJhcmUgbyBtZW5vIGlsIGNvbnRlbnV0byBAZGVwcmVjYXRlZCB1c2F0YSBzb2xvIGRhIE1hdHJpeFZhbHVlc0NvbXBvbmVudCBuZWxsYSBsaWIgcmVsYXRpdmEgKi9cclxuICAgIEBJbnB1dCgpIEhpZGRlbjogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogT3V0cHV0IGludm9jYXRvIHF1YW5kbyBpbCBudW1lcm8gZGkgZWxlbWVudGkgcGVyIHBhZ2luYSB2aWVuZSBtb2RpZmljYXRvIGRhIHVuIGNsaWNrIHV0ZW50ZSAqL1xyXG4gICAgQE91dHB1dCgpIHBhZ2luZ1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbXNnRXh0czogTWVzc2FnZVNlcnZpY2UsIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIEBPcHRpb25hbCgpIEBJbmplY3QoRVNUX0xPQ0FMRSkgcHVibGljIGxvY2FsZTogc3RyaW5nKSB7IH1cclxuXHJcbiAgICAvKiogTW9kZWxsbyBzdSBjdWkgbGEgc2VsZWN0IGVmZmV0dHVhIG9wZXJhemlvbmkgZGkgc2VsZXppb25lICovXHJcbiAgICBwdWJsaWMgTW9kZWw6IG51bWJlcjtcclxuXHJcbiAgICAvKiogT3B6aW9uaSBkaSBwYWdpbmF6aW9uZSAqL1xyXG4gICAgcHVibGljIFBhZ2luZ09wdGlvbnM6IG51bWJlcltdID0gWzEwLCAxNSwgMzAsIDQ1LCAxMDAgXTtcclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5Nb2RlbCA9IHRoaXMuVmlldyA/ICh0aGlzLlZpZXcuaXRlbXNwZXJwYWdlb3ZlcnJpZGUgfHwgMTUpIDogdGhpcy5DdXJyZW50UGFnZVNpemU7XHJcbiAgICAgICAgaWYgKHRoaXMuQWxsU2VhcmNoKVxyXG4gICAgICAgICAgICB0aGlzLlBhZ2luZ09wdGlvbnMucHVzaCh0aGlzLkRlZmF1bHRBbGwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgbGV0IG5ld1ZpZXcgPSBjaGFuZ2VzWydWaWV3J107XHJcbiAgICAgICAgbGV0IG5ld0NQUyA9IGNoYW5nZXNbJ0N1cnJlbnRQYWdlU2l6ZSddO1xyXG5cclxuICAgICAgICBpZiAoKG5ld1ZpZXcgJiYgIW5ld1ZpZXcuZmlyc3RDaGFuZ2UpIHx8IChuZXdDUFMgJiYgIW5ld0NQUy5maXJzdENoYW5nZSkpXHJcbiAgICAgICAgICAgIHRoaXMuTW9kZWwgPSBuZXdWaWV3Py5jdXJyZW50VmFsdWUgPyAobmV3Vmlldy5jdXJyZW50VmFsdWUuaXRlbXNwZXJwYWdlb3ZlcnJpZGUgfHwgMTUpIDogbmV3Q1BTPy5jdXJyZW50VmFsdWUgPyBuZXdDUFMuY3VycmVudFZhbHVlIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZ1bnppb25lIHJpY2hpYW1hdGEgZGFsIHRlbXBsYXRlIHF1YW5kbyB1biB1dGVudGUgY2xpY2NhIHN1IHVuIG51bWVybyBkaSBwYWdpbmF6aW9uZS5cclxuICAgICAqIFxyXG4gICAgICogQ2xpY2NhcmUgMiB2b2x0ZSBzdWxsbyBzdGVzc28gbnVtZXJvIGNhdXNhIGNvbXVucXVlIHVuIHJlZnJlc2ggZGVpIGRhdGlcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHBhZ2VTaXplIERpbWVuc2lvbmUgc2VsZXppb25hdGEgbGF0byBVSVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2hvaWNlKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgICAgICBpZiAocGFnZVNpemUgPT0gdGhpcy5EZWZhdWx0QWxsICYmIHRoaXMuV2Fybk9uQWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMubXNnRXh0cy5zaW1wbGVXYXJuaW5nV2l0aENob2ljZShcclxuICAgICAgICAgICAgICAgIHRoaXMubGMubG9jKFwiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJldHJpZXZlIGFsbCByZXN1bHRzP1wiKSxcclxuICAgICAgICAgICAgICAgIHRoaXMubGMubG9jKFwiVGhpcyBtaWdodCBzbG93IGRvd24gdGhlIHBhZ2UgYW5kIHBvc3NpYmx5IGNyYXNoIHRoZSBlbnRpcmUgYXBwbGljYXRpb25cIiksXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7IHRoaXMucGFnaW5nU2VsZWN0ZWQuZW1pdChwYWdlU2l6ZSk7IHRoaXMuTW9kZWwgPSBwYWdlU2l6ZTsgfSxcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBEaW8gc29sbyBzYSBwZXJjaMOpIG1pIHRvY2NhIGZhcmUgc3RhIHJvYmEuLi4gcXVpIGRlbnRybyBwZXIgcXVhbGNoZSBtb3Rpdm8gbGEgQ0Qgbm9uIHByZW5kZVxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwcmV2TW9kZWwgPSB0aGlzLk1vZGVsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuTW9kZWwgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLk1vZGVsID0gcHJldk1vZGVsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5wYWdpbmdTZWxlY3RlZC5lbWl0KHBhZ2VTaXplKTtcclxuICAgICAgICAgICAgdGhpcy5Nb2RlbCA9IHBhZ2VTaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhSGlkZGVuXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJlc3QtZnMtMTRcIj4ge3tDb3VudExhYmVsICYmICFHcm91cE1vZGUgPyBDb3VudExhYmVsIDogKChHcm91cE1vZGUgPyAnU2hvd24gR3JvdXBzJyA6ICdTaG93biBFbGVtZW50cycpIHwgbG9jYWxpemUgOiBsYyl9fTombmJzcDs8L3NwYW4+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlNob3dQYWdpbmcgJiYgTW9kZWwgJiYgKE1vZGVsID09IERlZmF1bHRBbGwgfHwgUGFnZXJDb3VudCA+PSBNb2RlbCB8fCBQYWdlckNvdW50ID09IC0xKVwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1cIidsZWdhY3knXCIgY2xhc3M9XCJtYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZS1zZWxlY3QgZXN0LWZzLTE0IGVzdC1pcHAtYm9sZFwiPlxyXG4gICAgICA8c2VsZWN0IG1hdE5hdGl2ZUNvbnRyb2wgW25nTW9kZWxdPVwiTW9kZWxcIiBuYW1lPVwiaW5wdXRcIiAobmdNb2RlbENoYW5nZSk9XCJjaG9pY2UoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBPcHQgb2YgUGFnaW5nT3B0aW9uc1wiPlxyXG4gICAgICAgICAgPG9wdGlvbiAqbmdJZj1cInBPcHQgPT0gRGVmYXVsdEFsbCB8fCBQYWdlckNvdW50ID49IHBPcHQgfHwgUGFnZXJDb3VudCA9PSAtMVwiIFt2YWx1ZV09XCJwT3B0XCI+e3sgcE9wdCA9PSBEZWZhdWx0QWxsID8gKCdBbGwnIHwgbG9jYWxpemUgOiBsYykgOiBwT3B0LnRvU3RyaW5nKCl9fTwvb3B0aW9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3NlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8c3BhbiBjbGFzcz1cImVzdC1mcy0xNCBlc3QtaXBwLWJvbGRcIiAqbmdJZj1cIlNob3dDb3VudCAmJiBQYWdlckNvdW50ICE9IC0xXCI+Jm5ic3A7LyZuYnNwOzwvc3Bhbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8c3BhbiBjbGFzcz1cImVzdC1mcy0xNCBlc3QtaXBwLWJvbGRcIiAqbmdJZj1cIlNob3dDb3VudCAmJiBQYWdlckNvdW50ICE9IC0xXCI+e3tQYWdlckNvdW50IHwgbnVtYmVyIDogJzAuMC0wJyA6IGxvY2FsZX19PC9zcGFuPlxyXG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVfcGFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2VyL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9wYWdlci90YWJsZV9wYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkssaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzlELGVBQWU7QUFDZixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7QUFFMUMsZ0VBQWdFO0FBU2hFLE1BQU0sT0FBTyxtQkFBbUI7SUF5QzVCLGNBQWM7SUFDZCxZQUFvQixPQUF1QixFQUFTLEVBQXVCLEVBQVMsR0FBc0IsRUFBeUMsTUFBYztRQUE3SSxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFTLE9BQUUsR0FBRixFQUFFLENBQXFCO1FBQVMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBeUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWxDakssZ0hBQWdIO1FBQ3ZHLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFbkMsK0ZBQStGO1FBQ3RGLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFbkMsNENBQTRDO1FBQ25DLGVBQVUsR0FBRyxNQUFNLENBQUM7UUFFN0Isc0dBQXNHO1FBQzdG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QUFRLEVBQUUsYUFBYSxFQUFFLENBQUM7MkZBTWpFLG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDSSxZQUFZLGlCQUNQLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDLGlCQUczRCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkE0QzhELFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsVUFBVTs0Q0F2Q2pJLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgVGFibGVQYWdlckxvYyB9IGZyb20gXCIuL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC5sb2NcIjtcclxuaW1wb3J0IHsgRVNUX0xPQ0FMRSB9IGZyb20gXCIuLi8uLi90b2tlbnNcIjtcclxuXHJcbi8qKiBDb21wb25lbnRlIGNoZSBzaSBvY2N1cGEgZGVsbGEgcGFnaW5hemlvbmUgZGkgdW5hIHRhYmVsbGEgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhcHAtcGFnaW5nXCIsXHJcbiAgICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogVGFibGVQYWdlckxvYyB9XSxcclxuICAgIHN0eWxlVXJsczogWycuL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlUGFnZXJDb21wb25lbnQge1xyXG5cclxuICAgIC8qKiBEaW1lbnNpb25lIGRpIHBhZ2luYSBhdHR1YWxlICovXHJcbiAgICBASW5wdXQoKSBDdXJyZW50UGFnZVNpemU6IGFueTtcclxuXHJcbiAgICAvKiogVmlldyBnZXN0aXRhLCBjaGUgcHXDsiBlc3NlcmUgdW4gSUFwcFNlYXJjaCBvIHVuYSBSZXBvcnRWaWV3ICovXHJcbiAgICBASW5wdXQoKSBWaWV3OiBhbnk7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSBkZXZlIG1vc3RyYXJlIHVuIHdhcm5pbmcgcXVhbmRvIHNpIGNlcmNhbm8gZGkgc29sZXppb25hcmUgY29tZSBlbGVtZW50aSBkYSB2aXN1YWxpenphcmUgXCJUdXR0aVwiICovXHJcbiAgICBASW5wdXQoKSBXYXJuT25BbGw6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgZGFyZSBsYSBwb3NzaWJpbGl0w6AgbyBtZW5vIGRpIHNlbGV6aW9uYXJlIFwiVHV0dGlcIiBuZWxsZSBvcHppb25pIGRpIHBhZ2luYXppb25lICovXHJcbiAgICBASW5wdXQoKSBBbGxTZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgXHJcbiAgICAvKiogUGxhY2Vob2xkZXIgY2hlIGlkZW50aWZpY2EgaWwgXCJUdXR0aVwiICovXHJcbiAgICBASW5wdXQoKSBEZWZhdWx0QWxsID0gOTk5OTk5O1xyXG4gICAgXHJcbiAgICAvKiogSW5kaWNhIHNlIGF0dGl2YXJlIGxhIG1vZGFsaXTDoCBncnVwcG8gY29uIHN0aWxpIHBpw7kgc25lbGxpIHBlciBhcHBhcmlyZSBzb3R0byBhaSByYWdncnVwcGFtZW50aSAqL1xyXG4gICAgQElucHV0KCkgR3JvdXBNb2RlID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSB1dGlsaXp6YXJlIGlsIGNvbnRlZ2dpbyBkZWkgZ3J1cHBpIG8gZGVnbGkgb2dnZXR0aSAqL1xyXG4gICAgQElucHV0KCkgR3JvdXBDb3VudCA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbmRpY2EgaWwgdGVzdG8gY2hlIHZhIGEgc29zdGl0dWlyZSBcIk9nZ2V0dGkgVmlzdWFsaXp6YXRpXCIgaW4gY2FzbyBzaSBzdGlhIGZhY2VuZG8gcXVhbGNvc2EgZGkgY3VzdG9tLCBJZ25vcmF0byBpbiBjYXNvIGRpIGdydXBwaSAqL1xyXG4gICAgQElucHV0KCkgQ291bnRMYWJlbDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHZpc3VhbGl6emFyZSBpbCBudW1lcm8gdG90YWxlIGRpIG9nZ2V0aSBwcmVzZW50aSAqL1xyXG4gICAgQElucHV0KCkgU2hvd0NvdW50OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHZpc3VhbGl6emFyZSBpbCBudW1lcm8gdG90YWxlIGRpIG9nZ2V0aSBwcmVzZW50aSAqL1xyXG4gICAgQElucHV0KCkgU2hvd1BhZ2luZzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLyoqIEluZGljYSBpbCBudW1lcm8gdG90YWxlIGRpIG9nZ2V0aSBwcmVzZW50aSAqL1xyXG4gICAgQElucHV0KCkgUGFnZXJDb3VudDogbnVtYmVyO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgbW9zdHJhcmUgbyBtZW5vIGlsIGNvbnRlbnV0byBAZGVwcmVjYXRlZCB1c2F0YSBzb2xvIGRhIE1hdHJpeFZhbHVlc0NvbXBvbmVudCBuZWxsYSBsaWIgcmVsYXRpdmEgKi9cclxuICAgIEBJbnB1dCgpIEhpZGRlbjogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogT3V0cHV0IGludm9jYXRvIHF1YW5kbyBpbCBudW1lcm8gZGkgZWxlbWVudGkgcGVyIHBhZ2luYSB2aWVuZSBtb2RpZmljYXRvIGRhIHVuIGNsaWNrIHV0ZW50ZSAqL1xyXG4gICAgQE91dHB1dCgpIHBhZ2luZ1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbXNnRXh0czogTWVzc2FnZVNlcnZpY2UsIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIEBPcHRpb25hbCgpIEBJbmplY3QoRVNUX0xPQ0FMRSkgcHVibGljIGxvY2FsZTogc3RyaW5nKSB7IH1cclxuXHJcbiAgICAvKiogTW9kZWxsbyBzdSBjdWkgbGEgc2VsZWN0IGVmZmV0dHVhIG9wZXJhemlvbmkgZGkgc2VsZXppb25lICovXHJcbiAgICBwdWJsaWMgTW9kZWw6IG51bWJlcjtcclxuXHJcbiAgICAvKiogT3B6aW9uaSBkaSBwYWdpbmF6aW9uZSAqL1xyXG4gICAgcHVibGljIFBhZ2luZ09wdGlvbnM6IG51bWJlcltdID0gWzEwLCAxNSwgMzAsIDQ1LCAxMDAgXTtcclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5Nb2RlbCA9IHRoaXMuVmlldyA/ICh0aGlzLlZpZXcuaXRlbXNwZXJwYWdlb3ZlcnJpZGUgfHwgMTUpIDogdGhpcy5DdXJyZW50UGFnZVNpemU7XHJcbiAgICAgICAgaWYgKHRoaXMuQWxsU2VhcmNoKVxyXG4gICAgICAgICAgICB0aGlzLlBhZ2luZ09wdGlvbnMucHVzaCh0aGlzLkRlZmF1bHRBbGwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgbGV0IG5ld1ZpZXcgPSBjaGFuZ2VzWydWaWV3J107XHJcbiAgICAgICAgbGV0IG5ld0NQUyA9IGNoYW5nZXNbJ0N1cnJlbnRQYWdlU2l6ZSddO1xyXG5cclxuICAgICAgICBpZiAoKG5ld1ZpZXcgJiYgIW5ld1ZpZXcuZmlyc3RDaGFuZ2UpIHx8IChuZXdDUFMgJiYgIW5ld0NQUy5maXJzdENoYW5nZSkpXHJcbiAgICAgICAgICAgIHRoaXMuTW9kZWwgPSBuZXdWaWV3Py5jdXJyZW50VmFsdWUgPyAobmV3Vmlldy5jdXJyZW50VmFsdWUuaXRlbXNwZXJwYWdlb3ZlcnJpZGUgfHwgMTUpIDogbmV3Q1BTPy5jdXJyZW50VmFsdWUgPyBuZXdDUFMuY3VycmVudFZhbHVlIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZ1bnppb25lIHJpY2hpYW1hdGEgZGFsIHRlbXBsYXRlIHF1YW5kbyB1biB1dGVudGUgY2xpY2NhIHN1IHVuIG51bWVybyBkaSBwYWdpbmF6aW9uZS5cclxuICAgICAqIFxyXG4gICAgICogQ2xpY2NhcmUgMiB2b2x0ZSBzdWxsbyBzdGVzc28gbnVtZXJvIGNhdXNhIGNvbXVucXVlIHVuIHJlZnJlc2ggZGVpIGRhdGlcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHBhZ2VTaXplIERpbWVuc2lvbmUgc2VsZXppb25hdGEgbGF0byBVSVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2hvaWNlKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgICAgICBpZiAocGFnZVNpemUgPT0gdGhpcy5EZWZhdWx0QWxsICYmIHRoaXMuV2Fybk9uQWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMubXNnRXh0cy5zaW1wbGVXYXJuaW5nV2l0aENob2ljZShcclxuICAgICAgICAgICAgICAgIHRoaXMubGMubG9jKFwiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJldHJpZXZlIGFsbCByZXN1bHRzP1wiKSxcclxuICAgICAgICAgICAgICAgIHRoaXMubGMubG9jKFwiVGhpcyBtaWdodCBzbG93IGRvd24gdGhlIHBhZ2UgYW5kIHBvc3NpYmx5IGNyYXNoIHRoZSBlbnRpcmUgYXBwbGljYXRpb25cIiksXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7IHRoaXMucGFnaW5nU2VsZWN0ZWQuZW1pdChwYWdlU2l6ZSk7IHRoaXMuTW9kZWwgPSBwYWdlU2l6ZTsgfSxcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBEaW8gc29sbyBzYSBwZXJjaMOpIG1pIHRvY2NhIGZhcmUgc3RhIHJvYmEuLi4gcXVpIGRlbnRybyBwZXIgcXVhbGNoZSBtb3Rpdm8gbGEgQ0Qgbm9uIHByZW5kZVxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwcmV2TW9kZWwgPSB0aGlzLk1vZGVsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuTW9kZWwgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLk1vZGVsID0gcHJldk1vZGVsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5wYWdpbmdTZWxlY3RlZC5lbWl0KHBhZ2VTaXplKTtcclxuICAgICAgICAgICAgdGhpcy5Nb2RlbCA9IHBhZ2VTaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhSGlkZGVuXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJlc3QtZnMtMTRcIj4ge3tDb3VudExhYmVsICYmICFHcm91cE1vZGUgPyBDb3VudExhYmVsIDogKChHcm91cE1vZGUgPyAnU2hvd24gR3JvdXBzJyA6ICdTaG93biBFbGVtZW50cycpIHwgbG9jYWxpemUgOiBsYyl9fTombmJzcDs8L3NwYW4+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlNob3dQYWdpbmcgJiYgTW9kZWwgJiYgKE1vZGVsID09IERlZmF1bHRBbGwgfHwgUGFnZXJDb3VudCA+PSBNb2RlbCB8fCBQYWdlckNvdW50ID09IC0xKVwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1cIidsZWdhY3knXCIgY2xhc3M9XCJtYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZS1zZWxlY3QgZXN0LWZzLTE0IGVzdC1pcHAtYm9sZFwiPlxyXG4gICAgICA8c2VsZWN0IG1hdE5hdGl2ZUNvbnRyb2wgW25nTW9kZWxdPVwiTW9kZWxcIiBuYW1lPVwiaW5wdXRcIiAobmdNb2RlbENoYW5nZSk9XCJjaG9pY2UoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBPcHQgb2YgUGFnaW5nT3B0aW9uc1wiPlxyXG4gICAgICAgICAgPG9wdGlvbiAqbmdJZj1cInBPcHQgPT0gRGVmYXVsdEFsbCB8fCBQYWdlckNvdW50ID49IHBPcHQgfHwgUGFnZXJDb3VudCA9PSAtMVwiIFt2YWx1ZV09XCJwT3B0XCI+e3sgcE9wdCA9PSBEZWZhdWx0QWxsID8gKCdBbGwnIHwgbG9jYWxpemUgOiBsYykgOiBwT3B0LnRvU3RyaW5nKCl9fTwvb3B0aW9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3NlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8c3BhbiBjbGFzcz1cImVzdC1mcy0xNCBlc3QtaXBwLWJvbGRcIiAqbmdJZj1cIlNob3dDb3VudCAmJiBQYWdlckNvdW50ICE9IC0xXCI+Jm5ic3A7LyZuYnNwOzwvc3Bhbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8c3BhbiBjbGFzcz1cImVzdC1mcy0xNCBlc3QtaXBwLWJvbGRcIiAqbmdJZj1cIlNob3dDb3VudCAmJiBQYWdlckNvdW50ICE9IC0xXCI+e3tQYWdlckNvdW50IHwgbnVtYmVyIDogJzAuMC0wJyA6IGxvY2FsZX19PC9zcGFuPlxyXG48L25nLWNvbnRhaW5lcj4iXX0=
|