@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.
Files changed (42) hide show
  1. package/esm2020/lib/components/es-table/es_table.component.loc.mjs +3 -3
  2. package/esm2020/lib/components/es-table/es_table.component.mjs +69 -67
  3. package/esm2020/lib/components/es-td/es_td.component.mjs +3 -3
  4. package/esm2020/lib/components/es-th/es_th.component.mjs +3 -3
  5. package/esm2020/lib/components/pager/table_pager.component.loc.mjs +3 -3
  6. package/esm2020/lib/components/pager/table_pager.component.mjs +4 -4
  7. package/esm2020/lib/core/handlers/ColumnMetadataHandler.mjs +2 -2
  8. package/esm2020/lib/core/handlers/ExportHandler.mjs +2 -4
  9. package/esm2020/lib/core/handlers/ItemsHandler.mjs +2 -2
  10. package/esm2020/lib/core/handlers/ReportModeHandler.mjs +28 -51
  11. package/esm2020/lib/core/handlers/SelectionHandler.mjs +3 -3
  12. package/esm2020/lib/core/handlers/UtilitiesHandler.mjs +3 -3
  13. package/esm2020/lib/directives/es_td.directive.mjs +6 -4
  14. package/esm2020/lib/directives/es_th.directive.mjs +8 -4
  15. package/esm2020/lib/domain/externals/appsearch/AppSearch.mjs +1 -1
  16. package/esm2020/lib/domain/externals/report/ReportColumn.mjs +1 -1
  17. package/esm2020/lib/domain/externals/report/ReportParam.mjs +1 -1
  18. package/esm2020/lib/domain/internals/TdElement.mjs +1 -1
  19. package/esm2020/lib/domain/internals/ThElement.mjs +1 -1
  20. package/esm2020/lib/es-table.module.mjs +4 -4
  21. package/esm2020/public-api.mjs +1 -4
  22. package/fesm2015/esfaenza-es-table.mjs +135 -162
  23. package/fesm2015/esfaenza-es-table.mjs.map +1 -1
  24. package/fesm2020/esfaenza-es-table.mjs +133 -161
  25. package/fesm2020/esfaenza-es-table.mjs.map +1 -1
  26. package/lib/components/es-table/es_table.component.d.ts +5 -20
  27. package/lib/core/handlers/ReportModeHandler.d.ts +7 -10
  28. package/lib/directives/es_td.directive.d.ts +3 -1
  29. package/lib/directives/es_th.directive.d.ts +5 -1
  30. package/lib/domain/externals/appsearch/AppSearch.d.ts +14 -0
  31. package/lib/domain/externals/report/ReportColumn.d.ts +1 -1
  32. package/lib/domain/externals/report/ReportParam.d.ts +12 -12
  33. package/lib/domain/internals/TdElement.d.ts +2 -0
  34. package/lib/domain/internals/ThElement.d.ts +5 -0
  35. package/package.json +10 -10
  36. package/public-api.d.ts +0 -3
  37. package/esm2020/lib/domain/externals/report/ReportDefinition.mjs +0 -4
  38. package/esm2020/lib/domain/externals/report/ReportOrder.mjs +0 -4
  39. package/esm2020/lib/domain/externals/report/ReportResult.mjs +0 -4
  40. package/lib/domain/externals/report/ReportDefinition.d.ts +0 -26
  41. package/lib/domain/externals/report/ReportOrder.d.ts +0 -7
  42. 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.1.1", 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.1.1", 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.1.1", ngImport: i0, type: EsTd, decorators: [{
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.1.1", 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.1.1", 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>&nbsp;\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.1.1", ngImport: i0, type: EsTh, decorators: [{
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>&nbsp;\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>&nbsp;\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.1.1", 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.1.1", ngImport: i0, type: TablePagerLoc });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TablePagerLoc, decorators: [{
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.1.1", 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.1.1", 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)}}:&nbsp;</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\">&nbsp;/&nbsp;</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", "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.1.1", ngImport: i0, type: TablePagerComponent, decorators: [{
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)}}:&nbsp;</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\">&nbsp;/&nbsp;</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)}}:&nbsp;</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\">&nbsp;/&nbsp;</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=