@esfaenza/es-table 13.3.2 → 14.2.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 (58) hide show
  1. package/esm2020/lib/components/es-table/es_table.component.loc.mjs +7 -5
  2. package/esm2020/lib/components/es-table/es_table.component.mjs +309 -76
  3. package/esm2020/lib/components/es-table-template/es_table_template.component.mjs +21 -0
  4. package/esm2020/lib/components/es-td/es_td.component.mjs +21 -9
  5. package/esm2020/lib/components/es-th/es_th.component.mjs +4 -4
  6. package/esm2020/lib/components/pager/table_pager.component.loc.mjs +4 -4
  7. package/esm2020/lib/components/pager/table_pager.component.mjs +9 -9
  8. package/esm2020/lib/core/CopyPasteDetector.mjs +25 -0
  9. package/esm2020/lib/core/handlers/ColumnMetadataHandler.mjs +34 -15
  10. package/esm2020/lib/core/handlers/ExportHandler.mjs +12 -3
  11. package/esm2020/lib/core/handlers/ItemsHandler.mjs +13 -5
  12. package/esm2020/lib/core/handlers/ReportModeHandler.mjs +10 -1
  13. package/esm2020/lib/core/handlers/SelectionHandler.mjs +263 -1
  14. package/esm2020/lib/core/handlers/UtilitiesHandler.mjs +6 -4
  15. package/esm2020/lib/directives/es_td.directive.mjs +10 -6
  16. package/esm2020/lib/directives/es_td_editor.directive.mjs +24 -0
  17. package/esm2020/lib/directives/es_th.directive.mjs +19 -9
  18. package/esm2020/lib/domain/externals/EsTableColumnsDefinition.mjs +34 -22
  19. package/esm2020/lib/domain/externals/EsTableModelChange.mjs +19 -0
  20. package/esm2020/lib/domain/externals/ItemPropEditableReference.mjs +4 -0
  21. package/esm2020/lib/domain/externals/appsearch/AppSearch.mjs +32 -14
  22. package/esm2020/lib/domain/internals/EsTableColumn.mjs +2 -1
  23. package/esm2020/lib/domain/internals/GroupPager.mjs +4 -3
  24. package/esm2020/lib/domain/internals/TdElement.mjs +1 -1
  25. package/esm2020/lib/domain/internals/ThElement.mjs +1 -1
  26. package/esm2020/lib/domain/types.mjs +2 -0
  27. package/esm2020/lib/es-table.module.mjs +27 -21
  28. package/esm2020/public-api.mjs +6 -1
  29. package/fesm2015/esfaenza-es-table.mjs +892 -193
  30. package/fesm2015/esfaenza-es-table.mjs.map +1 -1
  31. package/fesm2020/esfaenza-es-table.mjs +878 -192
  32. package/fesm2020/esfaenza-es-table.mjs.map +1 -1
  33. package/{esfaenza-es-table.d.ts → index.d.ts} +0 -0
  34. package/lib/components/es-table/es_table.component.d.ts +103 -30
  35. package/lib/components/es-table-template/es_table_template.component.d.ts +18 -0
  36. package/lib/components/es-td/es_td.component.d.ts +12 -4
  37. package/lib/components/es-th/es_th.component.d.ts +1 -1
  38. package/lib/components/pager/table_pager.component.d.ts +1 -1
  39. package/lib/core/CopyPasteDetector.d.ts +13 -0
  40. package/lib/core/handlers/ColumnMetadataHandler.d.ts +7 -0
  41. package/lib/core/handlers/ItemsHandler.d.ts +1 -1
  42. package/lib/core/handlers/ReportModeHandler.d.ts +9 -0
  43. package/lib/core/handlers/SelectionHandler.d.ts +77 -0
  44. package/lib/directives/es_td.directive.d.ts +4 -2
  45. package/lib/directives/es_td_editor.directive.d.ts +14 -0
  46. package/lib/directives/es_th.directive.d.ts +12 -11
  47. package/lib/domain/externals/EsTableColumnsDefinition.d.ts +43 -21
  48. package/lib/domain/externals/EsTableModelChange.d.ts +17 -0
  49. package/lib/domain/externals/ItemPropEditableReference.d.ts +30 -0
  50. package/lib/domain/externals/appsearch/AppSearch.d.ts +15 -2
  51. package/lib/domain/internals/EsTableColumn.d.ts +1 -0
  52. package/lib/domain/internals/GroupPager.d.ts +3 -2
  53. package/lib/domain/internals/TdElement.d.ts +10 -5
  54. package/lib/domain/internals/ThElement.d.ts +5 -0
  55. package/lib/domain/types.d.ts +2 -0
  56. package/lib/es-table.module.d.ts +17 -14
  57. package/package.json +14 -14
  58. package/public-api.d.ts +5 -0
@@ -0,0 +1,21 @@
1
+ //Angular
2
+ import { Component, ChangeDetectionStrategy, ContentChildren } from "@angular/core";
3
+ import { EsTdDirective } from "../../directives/es_td.directive";
4
+ import { EsThDirective } from "../../directives/es_th.directive";
5
+ import * as i0 from "@angular/core";
6
+ /** Componente rappresentante un template di th coi loro relativi td da poter riutilizzare quandomminchia si vuole */
7
+ export class EsTableTemplate {
8
+ }
9
+ EsTableTemplate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EsTableTemplate, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ EsTableTemplate.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EsTableTemplate, selector: "es-table-template", queries: [{ propertyName: "EsTdsDirective", predicate: EsTdDirective }, { propertyName: "EsThsDirective", predicate: EsThDirective }], ngImport: i0, template: "", changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EsTableTemplate, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: "es-table-template", changeDetection: ChangeDetectionStrategy.OnPush, template: "" }]
14
+ }], propDecorators: { EsTdsDirective: [{
15
+ type: ContentChildren,
16
+ args: [EsTdDirective]
17
+ }], EsThsDirective: [{
18
+ type: ContentChildren,
19
+ args: [EsThDirective]
20
+ }] } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGFibGVfdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL2VzLXRhYmxlLXRlbXBsYXRlL2VzX3RhYmxlX3RlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9lcy10YWJsZS10ZW1wbGF0ZS9lc190YWJsZV90ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTO0FBQ1QsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFL0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFFakUscUhBQXFIO0FBTXJILE1BQU0sT0FBTyxlQUFlOzs2R0FBZixlQUFlO2lHQUFmLGVBQWUsd0ZBRVAsYUFBYSxpREFFYixhQUFhLDZCQ2hCbEMsRUFBQTs0RkRZYSxlQUFlO2tCQUwzQixTQUFTOytCQUNJLG1CQUFtQixtQkFFWix1QkFBdUIsQ0FBQyxNQUFNOzhCQUlmLGNBQWM7c0JBQTdDLGVBQWU7dUJBQUMsYUFBYTtnQkFFRSxjQUFjO3NCQUE3QyxlQUFlO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvL0FuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHsgRXNUZERpcmVjdGl2ZSB9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL2VzX3RkLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBFc1RoRGlyZWN0aXZlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvZXNfdGguZGlyZWN0aXZlXCI7XHJcblxyXG4vKiogQ29tcG9uZW50ZSByYXBwcmVzZW50YW50ZSB1biB0ZW1wbGF0ZSBkaSB0aCBjb2kgbG9ybyByZWxhdGl2aSB0ZCBkYSBwb3RlciByaXV0aWxpenphcmUgcXVhbmRvbW1pbmNoaWEgc2kgdnVvbGUgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJlcy10YWJsZS10ZW1wbGF0ZVwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9lc190YWJsZV90ZW1wbGF0ZS5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc1RhYmxlVGVtcGxhdGUge1xyXG4gICAgLyoqIFF1ZXJ5IHBlciByZWN1cGVyYXJlIHR1dHRlIGxlIG51b3ZlIGRpcmV0dGl2ZSAgYXNzZWduYXRpIGEgZGlyZXR0aXZhIChQZXIgbGEgbW9kYWxpdMOgIGRpbmFtaWNhIGRlbGwnZXMtdGFibGUpICovXHJcbiAgICBAQ29udGVudENoaWxkcmVuKEVzVGREaXJlY3RpdmUpIEVzVGRzRGlyZWN0aXZlOiBRdWVyeUxpc3Q8RXNUZERpcmVjdGl2ZT47XHJcbiAgICAvKiogUXVlcnkgcGVyIHJlY3VwZXJhcmUgdHV0dGkgZ2xpIGVzLXRkIGFzc2VnbmF0aSBhIGRpcmV0dGl2YSAoUGVyIGxhIG1vZGFsaXTDoCBkaW5hbWljYSBkZWxsJ2VzLXRhYmxlKSAqL1xyXG4gICAgQENvbnRlbnRDaGlsZHJlbihFc1RoRGlyZWN0aXZlKSBFc1Roc0RpcmVjdGl2ZTogUXVlcnlMaXN0PEVzVGhEaXJlY3RpdmU+O1xyXG59XHJcblxyXG4vKiogSW50ZXJmYWNjaWEgY2hlIGRlZmluaXNjZSBpbCBjb250cmF0dG8gY29uIGN1aSBsJ2VzLXRhYmxlIGxlZ2dlIGxlIGRpcmV0dGl2ZSBpbnRlcm5lIGEgdW4gdGVtcGxhdGUgKi9cclxuZXhwb3J0IGludGVyZmFjZSBJRXNUYWJsZVRlbXBsYXRlV3JhcHBlcntcclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBUZW1wbGF0ZTogRXNUYWJsZVRlbXBsYXRlO1xyXG59IiwiIl19
@@ -1,14 +1,15 @@
1
1
  //Angular
2
- import { Component, Input, ChangeDetectionStrategy } from "@angular/core";
2
+ import { Component, Input, ChangeDetectionStrategy, EventEmitter, Output } from "@angular/core";
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/platform-browser";
5
+ import * as i2 from "@angular/material/tooltip";
5
6
  /** Componente rappresentante una singola cella del body della tabella */
6
7
  export class EsTd {
7
8
  /** @ignore */
8
- constructor(myself, renderer, _viewContainer, sanitizer) {
9
+ constructor(cdr, myself, renderer, sanitizer) {
10
+ this.cdr = cdr;
9
11
  this.myself = myself;
10
12
  this.renderer = renderer;
11
- this._viewContainer = _viewContainer;
12
13
  this.sanitizer = sanitizer;
13
14
  /** Id della cella, dev'essere lo stesso della colonna **EsTh** relativa */
14
15
  this.ID = "";
@@ -16,6 +17,10 @@ export class EsTd {
16
17
  this.Display = null;
17
18
  /** Template Angular da istanziare per questo TD */
18
19
  this.Template = null;
20
+ /** Quando questa cella viene generata questo evento permette di dire "ehi, sono nato!" */
21
+ this.onCellGeneration = new EventEmitter();
22
+ // Ema commenta grazie
23
+ this.ValidationError = "";
19
24
  }
20
25
  /**
21
26
  * Imposta la visibilità o meno della cella, si traduce nell'applicazione o rimozione della classe **app-display-none**
@@ -41,19 +46,24 @@ export class EsTd {
41
46
  }
42
47
  /** @ignore */
43
48
  ngAfterViewInit() {
49
+ this.onCellGeneration.emit({ id: this.ID, hash: this.Context, self: this });
44
50
  // Se è Internal significa che è gestita internamente da ES-TABLE quindi evito di fare sti due passaggi di lettura del DOM
45
51
  if (this.Internal)
46
52
  return;
47
53
  this.Content = this.Display === null || this.Display === "" ? this.sanitizer.bypassSecurityTrustHtml(this.myself.nativeElement.innerHTML) : this.sanitizer.bypassSecurityTrustHtml(this.Display);
48
54
  this.Class = this.myself.nativeElement.className.replace("app-display-none", "");
49
55
  }
56
+ validationError(isError, error) {
57
+ this.ValidationError = isError ? error : "";
58
+ this.cdr.markForCheck();
59
+ }
50
60
  }
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: [{
61
+ EsTd.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EsTd, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
62
+ EsTd.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EsTd, selector: "[es-td]", inputs: { ID: ["es-td", "ID"], Internal: "Internal", RouterLink: "RouterLink", Display: "Display", Template: "Template", Context: "Context", Visible: "Visible" }, outputs: { onCellGeneration: "onCellGeneration" }, ngImport: i0, template: "<div class=\"td-content\" [class.td-error]=\"!!ValidationError\" [matTooltip]=\"ValidationError\">\r\n <ng-content></ng-content>\r\n</div>", styles: [".td-error{background-color:#f003;box-shadow:inset 0 0 0 1px red}.td-content{padding:.3rem;margin:-.3rem;box-sizing:border-box!important}\n"], dependencies: [{ kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EsTd, decorators: [{
54
64
  type: Component,
55
- args: [{ selector: "[es-td]", changeDetection: ChangeDetectionStrategy.OnPush, template: "<span>\r\n <ng-content></ng-content>\r\n</span>" }]
56
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i1.DomSanitizer }]; }, propDecorators: { ID: [{
65
+ args: [{ selector: "[es-td]", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"td-content\" [class.td-error]=\"!!ValidationError\" [matTooltip]=\"ValidationError\">\r\n <ng-content></ng-content>\r\n</div>", styles: [".td-error{background-color:#f003;box-shadow:inset 0 0 0 1px red}.td-content{padding:.3rem;margin:-.3rem;box-sizing:border-box!important}\n"] }]
66
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.DomSanitizer }]; }, propDecorators: { ID: [{
57
67
  type: Input,
58
68
  args: ['es-td']
59
69
  }], Internal: [{
@@ -66,7 +76,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
66
76
  type: Input
67
77
  }], Context: [{
68
78
  type: Input
79
+ }], onCellGeneration: [{
80
+ type: Output
69
81
  }], Visible: [{
70
82
  type: Input
71
83
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL2VzLXRkL2VzX3RkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9lcy10ZC9lc190ZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTO0FBQ1QsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTJDLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHbkgseUVBQXlFO0FBTXpFLE1BQU0sT0FBTyxJQUFJO0lBNkJiLGNBQWM7SUFDZCxZQUFvQixNQUFrQixFQUFVLFFBQW1CLEVBQVUsY0FBZ0MsRUFBWSxTQUF1QjtRQUE1SCxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUFZLGNBQVMsR0FBVCxTQUFTLENBQWM7UUE1QmhKLDJFQUEyRTtRQUMzRCxPQUFFLEdBQVcsRUFBRSxDQUFDO1FBUWhDLDRIQUE0SDtRQUNuSCxZQUFPLEdBQVksSUFBSSxDQUFDO1FBRWpDLG1EQUFtRDtRQUMxQyxhQUFRLEdBQVMsSUFBSSxDQUFDO0lBZXFILENBQUM7SUFFcko7Ozs7T0FJRztJQUNILElBQWEsT0FBTyxDQUFDLFVBQW1CO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBRTNCLElBQUksVUFBVTtZQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7O1lBRXpFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLE9BQU87UUFDUCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUztZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUV6QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlO1FBQ1gsMEhBQTBIO1FBQzFILElBQUksSUFBSSxDQUFDLFFBQVE7WUFDYixPQUFPO1FBRVgsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDak0sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7O2lHQWxFUSxJQUFJO3FGQUFKLElBQUksa05DVmpCLG9EQUVPOzJGRFFNLElBQUk7a0JBTGhCLFNBQVM7K0JBQ0ksU0FBUyxtQkFFRix1QkFBdUIsQ0FBQyxNQUFNO21MQUsvQixFQUFFO3NCQUFqQixLQUFLO3VCQUFDLE9BQU87Z0JBR0wsUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQVNHLE9BQU87c0JBQWYsS0FBSztnQkFhTyxPQUFPO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy9Bbmd1bGFyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFJlbmRlcmVyMiwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG4vKiogQ29tcG9uZW50ZSByYXBwcmVzZW50YW50ZSB1bmEgc2luZ29sYSBjZWxsYSBkZWwgYm9keSBkZWxsYSB0YWJlbGxhICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiW2VzLXRkXVwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9lc190ZC5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzVGQge1xyXG5cclxuICAgIC8qKiBJZCBkZWxsYSBjZWxsYSwgZGV2J2Vzc2VyZSBsbyBzdGVzc28gZGVsbGEgY29sb25uYSAqKkVzVGgqKiByZWxhdGl2YSAqL1xyXG4gICAgQElucHV0KCdlcy10ZCcpIElEOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2Ugw6ggdW5hIGNlbGxhIGludGVybmEgKHJpZ2VuZXJhdGEgcHJvZ3JhbW1hdGljYW1lbnRlKSBvIG5vICovXHJcbiAgICBASW5wdXQoKSBJbnRlcm5hbD86IGJvb2xlYW47XHJcblxyXG4gICAgLyoqIFJvdXRlckxpbmsgcXVhbG9yYSBpbCBjbGljayBzdSBxdWVzdGEgY2VsbGEgZGViYmEgbmF2aWdhcmUgZGEgcXVhbGNoZSBwYXJ0ZSAqL1xyXG4gICAgQElucHV0KCkgUm91dGVyTGluaz86IGFueTtcclxuXHJcbiAgICAvKiogVmFsb3JlIGRhIG1vc3RyYXJlIGFsbCdpbnRlcm5vIGRlbGxhIGNlbGxhLiBTZSBvbWVzc28gdmVycsOgIHByb2lldHRhdG8gaWwgY29udGVudXRvIGRhbCB0ZW1wbGF0ZSBpbiBjdWkgw6ggc3RhdGEgdXNhdGEgKi9cclxuICAgIEBJbnB1dCgpIERpc3BsYXk/OiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAgIC8qKiBUZW1wbGF0ZSBBbmd1bGFyIGRhIGlzdGFuemlhcmUgcGVyIHF1ZXN0byBURCAqL1xyXG4gICAgQElucHV0KCkgVGVtcGxhdGU/OiBhbnkgPSBudWxsO1xyXG5cclxuICAgIC8qKiBDbGFzc2kgZGEgYXBwbGljYXJlIGFsbGEgY2VsbGEgKi9cclxuICAgIHB1YmxpYyBDbGFzcz86IHN0cmluZztcclxuXHJcbiAgICAvKiogQ29udGVudXRvIGRhIG1vc3RyYXJlIHByb2lldHRhdG8gZGFsIGNvbXBvbmVudGUgcGFkcmUgKi9cclxuICAgIHB1YmxpYyBDb250ZW50PzogU2FmZUh0bWw7XHJcblxyXG4gICAgLyoqIENvbnRlc3RvIGRlbGwnb2dnZXR0byBhIGN1aSBzaSByaWZlcmlzY2UgaWwgZGF0byB2aXN1YWxpenphdG8uIENvbnRpZW5lIGwnaGFzaCBkZWxsJ29nZ2V0dG8gaW4gcXVlc3Rpb25lICovXHJcbiAgICBASW5wdXQoKSBDb250ZXh0OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEluZGljYXppb25pIHN1bGxhIHZpc2liaWxpdMOgIGRlbGxhIGNlbGxhICovXHJcbiAgICBwcml2YXRlIF9WaXNpYmxlPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBteXNlbGY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBfdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHJvdGVjdGVkIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcG9zdGEgbGEgdmlzaWJpbGl0w6AgbyBtZW5vIGRlbGxhIGNlbGxhLCBzaSB0cmFkdWNlIG5lbGwnYXBwbGljYXppb25lIG8gcmltb3ppb25lIGRlbGxhIGNsYXNzZSAqKmFwcC1kaXNwbGF5LW5vbmUqKlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGV4cHJlc3Npb24gSW5kaWNhemlvbmUgZGVsbGEgdmlzaWJpbGl0w6BcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgc2V0IFZpc2libGUoZXhwcmVzc2lvbjogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX1Zpc2libGUgPSBleHByZXNzaW9uO1xyXG5cclxuICAgICAgICBpZiAoZXhwcmVzc2lvbilcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLm15c2VsZi5uYXRpdmVFbGVtZW50LCBcImFwcC1kaXNwbGF5LW5vbmVcIik7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQsIFwiYXBwLWRpc3BsYXktbm9uZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc3RpdHVpc2NlIGxvIHN0YXRvIGRpIFZpc2liaWxpdMOgIGRlbGxhIGNlbGxhIGluIG9nZ2V0dG9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59ICoqdHJ1ZSoqIHNlIHZpc2liaWxlLCAqKmZhbHNlKiogYWx0cmltZW50aVxyXG4gICAgICovXHJcbiAgICBnZXQgVmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5fVmlzaWJsZSA9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHRoaXMuX1Zpc2libGUgPSB0cnVlO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fVmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIC8vIFNlIMOoIEludGVybmFsIHNpZ25pZmljYSBjaGUgw6ggZ2VzdGl0YSBpbnRlcm5hbWVudGUgZGEgRVMtVEFCTEUgcXVpbmRpIGV2aXRvIGRpIGZhcmUgc3RpIGR1ZSBwYXNzYWdnaSBkaSBsZXR0dXJhIGRlbCBET01cclxuICAgICAgICBpZiAodGhpcy5JbnRlcm5hbClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLkNvbnRlbnQgPSB0aGlzLkRpc3BsYXkgPT09IG51bGwgfHwgdGhpcy5EaXNwbGF5ID09PSBcIlwiID8gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5teXNlbGYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwpIDogdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5EaXNwbGF5KTtcclxuICAgICAgICB0aGlzLkNsYXNzID0gdGhpcy5teXNlbGYubmF0aXZlRWxlbWVudC5jbGFzc05hbWUucmVwbGFjZShcImFwcC1kaXNwbGF5LW5vbmVcIiwgXCJcIik7XHJcbiAgICB9XHJcbn0iLCI8c3Bhbj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9zcGFuPiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL2VzLXRkL2VzX3RkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9lcy10ZC9lc190ZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTO0FBQ1QsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXlCLHVCQUF1QixFQUFFLFlBQVksRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7O0FBRzFJLHlFQUF5RTtBQU96RSxNQUFNLE9BQU8sSUFBSTtJQWdDYixjQUFjO0lBQ2QsWUFBb0IsR0FBc0IsRUFBVSxNQUFrQixFQUFVLFFBQW1CLEVBQVksU0FBdUI7UUFBbEgsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFZLGNBQVMsR0FBVCxTQUFTLENBQWM7UUEvQnRJLDJFQUEyRTtRQUMzRCxPQUFFLEdBQVcsRUFBRSxDQUFDO1FBUWhDLDRIQUE0SDtRQUNuSCxZQUFPLEdBQVksSUFBSSxDQUFDO1FBRWpDLG1EQUFtRDtRQUMxQyxhQUFRLEdBQVMsSUFBSSxDQUFDO1FBVy9CLDJGQUEyRjtRQUNqRixxQkFBZ0IsR0FBeUQsSUFBSSxZQUFZLEVBQTBDLENBQUM7UUE4QzlJLHNCQUFzQjtRQUNmLG9CQUFlLEdBQVcsRUFBRSxDQUFDO0lBekNzRyxDQUFDO0lBRTNJOzs7O09BSUc7SUFDSCxJQUFhLE9BQU8sQ0FBQyxVQUFtQjtRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUUzQixJQUFJLFVBQVU7WUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDOztZQUV6RSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxPQUFPO1FBQ1AsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLFNBQVM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFFekIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUU1RSwwSEFBMEg7UUFDMUgsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUNiLE9BQU87UUFFWCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqTSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUlELGVBQWUsQ0FBQyxPQUFnQixFQUFFLEtBQWM7UUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7a0dBOUVRLElBQUk7c0ZBQUosSUFBSSxxUUNYakIsK0lBRU07NEZEU08sSUFBSTtrQkFOaEIsU0FBUzsrQkFDSSxTQUFTLG1CQUVGLHVCQUF1QixDQUFDLE1BQU07b0xBTS9CLEVBQUU7c0JBQWpCLEtBQUs7dUJBQUMsT0FBTztnQkFHTCxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBU0csT0FBTztzQkFBZixLQUFLO2dCQUdJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFhTSxPQUFPO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy9Bbmd1bGFyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFJlbmRlcmVyMiwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbi8qKiBDb21wb25lbnRlIHJhcHByZXNlbnRhbnRlIHVuYSBzaW5nb2xhIGNlbGxhIGRlbCBib2R5IGRlbGxhIHRhYmVsbGEgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJbZXMtdGRdXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2VzX3RkLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0eWxlVXJsczogW1wiZXNfdGQuY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVzVGQge1xyXG5cclxuICAgIC8qKiBJZCBkZWxsYSBjZWxsYSwgZGV2J2Vzc2VyZSBsbyBzdGVzc28gZGVsbGEgY29sb25uYSAqKkVzVGgqKiByZWxhdGl2YSAqL1xyXG4gICAgQElucHV0KCdlcy10ZCcpIElEOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2Ugw6ggdW5hIGNlbGxhIGludGVybmEgKHJpZ2VuZXJhdGEgcHJvZ3JhbW1hdGljYW1lbnRlKSBvIG5vICovXHJcbiAgICBASW5wdXQoKSBJbnRlcm5hbD86IGJvb2xlYW47XHJcblxyXG4gICAgLyoqIFJvdXRlckxpbmsgcXVhbG9yYSBpbCBjbGljayBzdSBxdWVzdGEgY2VsbGEgZGViYmEgbmF2aWdhcmUgZGEgcXVhbGNoZSBwYXJ0ZSAqL1xyXG4gICAgQElucHV0KCkgUm91dGVyTGluaz86IGFueTtcclxuXHJcbiAgICAvKiogVmFsb3JlIGRhIG1vc3RyYXJlIGFsbCdpbnRlcm5vIGRlbGxhIGNlbGxhLiBTZSBvbWVzc28gdmVycsOgIHByb2lldHRhdG8gaWwgY29udGVudXRvIGRhbCB0ZW1wbGF0ZSBpbiBjdWkgw6ggc3RhdGEgdXNhdGEgKi9cclxuICAgIEBJbnB1dCgpIERpc3BsYXk/OiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAgIC8qKiBUZW1wbGF0ZSBBbmd1bGFyIGRhIGlzdGFuemlhcmUgcGVyIHF1ZXN0byBURCAqL1xyXG4gICAgQElucHV0KCkgVGVtcGxhdGU/OiBhbnkgPSBudWxsO1xyXG5cclxuICAgIC8qKiBDbGFzc2kgZGEgYXBwbGljYXJlIGFsbGEgY2VsbGEgKi9cclxuICAgIHB1YmxpYyBDbGFzcz86IHN0cmluZztcclxuXHJcbiAgICAvKiogQ29udGVudXRvIGRhIG1vc3RyYXJlIHByb2lldHRhdG8gZGFsIGNvbXBvbmVudGUgcGFkcmUgKi9cclxuICAgIHB1YmxpYyBDb250ZW50PzogU2FmZUh0bWw7XHJcblxyXG4gICAgLyoqIENvbnRlc3RvIGRlbGwnb2dnZXR0byBhIGN1aSBzaSByaWZlcmlzY2UgaWwgZGF0byB2aXN1YWxpenphdG8uIENvbnRpZW5lIGwnaGFzaCBkZWxsJ29nZ2V0dG8gaW4gcXVlc3Rpb25lICovXHJcbiAgICBASW5wdXQoKSBDb250ZXh0OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIFF1YW5kbyBxdWVzdGEgY2VsbGEgdmllbmUgZ2VuZXJhdGEgcXVlc3RvIGV2ZW50byBwZXJtZXR0ZSBkaSBkaXJlIFwiZWhpLCBzb25vIG5hdG8hXCIgICovXHJcbiAgICBAT3V0cHV0KCkgb25DZWxsR2VuZXJhdGlvbjogRXZlbnRFbWl0dGVyPHtpZDogc3RyaW5nLCBoYXNoOiBzdHJpbmcsIHNlbGY6IEVzVGR9PiA9IG5ldyBFdmVudEVtaXR0ZXI8e2lkOiBzdHJpbmcsIGhhc2g6IHN0cmluZywgc2VsZjogRXNUZH0+KCk7XHJcblxyXG4gICAgLyoqIEluZGljYXppb25pIHN1bGxhIHZpc2liaWxpdMOgIGRlbGxhIGNlbGxhICovXHJcbiAgICBwcml2YXRlIF9WaXNpYmxlPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIG15c2VsZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcm90ZWN0ZWQgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1wb3N0YSBsYSB2aXNpYmlsaXTDoCBvIG1lbm8gZGVsbGEgY2VsbGEsIHNpIHRyYWR1Y2UgbmVsbCdhcHBsaWNhemlvbmUgbyByaW1vemlvbmUgZGVsbGEgY2xhc3NlICoqYXBwLWRpc3BsYXktbm9uZSoqXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZXhwcmVzc2lvbiBJbmRpY2F6aW9uZSBkZWxsYSB2aXNpYmlsaXTDoFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBzZXQgVmlzaWJsZShleHByZXNzaW9uOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fVmlzaWJsZSA9IGV4cHJlc3Npb247XHJcblxyXG4gICAgICAgIGlmIChleHByZXNzaW9uKVxyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQsIFwiYXBwLWRpc3BsYXktbm9uZVwiKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5teXNlbGYubmF0aXZlRWxlbWVudCwgXCJhcHAtZGlzcGxheS1ub25lXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVzdGl0dWlzY2UgbG8gc3RhdG8gZGkgVmlzaWJpbGl0w6AgZGVsbGEgY2VsbGEgaW4gb2dnZXR0b1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gKip0cnVlKiogc2UgdmlzaWJpbGUsICoqZmFsc2UqKiBhbHRyaW1lbnRpXHJcbiAgICAgKi9cclxuICAgIGdldCBWaXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLl9WaXNpYmxlID09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgdGhpcy5fVmlzaWJsZSA9IHRydWU7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9WaXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5vbkNlbGxHZW5lcmF0aW9uLmVtaXQoeyBpZDogdGhpcy5JRCwgaGFzaDogdGhpcy5Db250ZXh0LCBzZWxmOiB0aGlzIH0pO1xyXG5cclxuICAgICAgICAvLyBTZSDDqCBJbnRlcm5hbCBzaWduaWZpY2EgY2hlIMOoIGdlc3RpdGEgaW50ZXJuYW1lbnRlIGRhIEVTLVRBQkxFIHF1aW5kaSBldml0byBkaSBmYXJlIHN0aSBkdWUgcGFzc2FnZ2kgZGkgbGV0dHVyYSBkZWwgRE9NXHJcbiAgICAgICAgaWYgKHRoaXMuSW50ZXJuYWwpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5Db250ZW50ID0gdGhpcy5EaXNwbGF5ID09PSBudWxsIHx8IHRoaXMuRGlzcGxheSA9PT0gXCJcIiA/IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MKSA6IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRoaXMuRGlzcGxheSk7XHJcbiAgICAgICAgdGhpcy5DbGFzcyA9IHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQuY2xhc3NOYW1lLnJlcGxhY2UoXCJhcHAtZGlzcGxheS1ub25lXCIsIFwiXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEVtYSBjb21tZW50YSBncmF6aWVcclxuICAgIHB1YmxpYyBWYWxpZGF0aW9uRXJyb3I6IHN0cmluZyA9IFwiXCI7XHJcbiAgICB2YWxpZGF0aW9uRXJyb3IoaXNFcnJvcjogYm9vbGVhbiwgZXJyb3I/OiBzdHJpbmcpIHsgXHJcbiAgICAgICAgdGhpcy5WYWxpZGF0aW9uRXJyb3IgPSBpc0Vycm9yID8gZXJyb3IgOiBcIlwiO1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cInRkLWNvbnRlbnRcIiBbY2xhc3MudGQtZXJyb3JdPVwiISFWYWxpZGF0aW9uRXJyb3JcIiBbbWF0VG9vbHRpcF09XCJWYWxpZGF0aW9uRXJyb3JcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9kaXY+Il19
@@ -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.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: [{
132
+ EsTh.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EsTh, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
133
+ EsTh.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", 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: [{
@@ -173,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
173
173
  type: HostListener,
174
174
  args: ['window:mousemove.out-zone', ['$event']]
175
175
  }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL2VzLXRoL2VzX3RoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9lcy10aC9lc190aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTO0FBQ1QsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBYyxTQUFTLEVBQWEsWUFBWSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFaEosMERBQTBEO0FBTTFELE1BQU0sT0FBTyxJQUFJO0lBd0ViLGNBQWM7SUFDZCxZQUFvQixNQUFrQixFQUFVLFFBQW1CO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdkVuRSwrR0FBK0c7UUFDdkcsY0FBUyxHQUErQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFLL0csNkVBQTZFO1FBQ3JFLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRXRDOzs7O1dBSUc7UUFDSyxnQkFBVyxHQUFXLElBQUksQ0FBQztRQUVuQyw2RUFBNkU7UUFDN0QsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUtoQyxtREFBbUQ7UUFDMUMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUVuQyw4SEFBOEg7UUFDckgsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUU5Qix3RUFBd0U7UUFDL0QsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUVwQyx5R0FBeUc7UUFDaEcsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUVqQzs7O1dBR0c7UUFDTSxxQkFBZ0IsR0FB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c0JBQS9DLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFtQjFCLE9BQU87c0JBQW5CLEtBQUs7Z0JBMEVDLFNBQVM7c0JBRGYsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBY2hDLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsMkJBQTJCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvL0FuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgUmVuZGVyZXIyLCBIb3N0TGlzdGVuZXIsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKiBDb21wb25lbnRlIHJhcHByZXNlbnRhbnRlIHVuYSBDb2xvbm5hIGRlbGxhIHRhYmVsbGEgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJbZXMtdGhdXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2VzX3RoLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNUaCB7XHJcblxyXG4gICAgLyoqIERpemlvbmFyaW8gZGkgbWFwcGF0dXJhIGNvbiBvcmRpbmFtZW50byBhdHR1YWxlIGUgb3JkaW5hbWVudG8gc3VjY2Vzc2l2byBwZXIgZ2VzdGlyZSBpIHBhc3NhZ2dpIGRpIHN0YXRvICovXHJcbiAgICBwcml2YXRlIG9yZGVyTmV4dDogeyBbaW5kZXg6IHN0cmluZ106ICdERVNDJyB8ICdBU0MnIHwgbnVsbCB9ID0geyBcIk5PTkVcIjogXCJERVNDXCIsIFwiREVTQ1wiOiBcIkFTQ1wiLCBcIkFTQ1wiOiBudWxsIH07XHJcblxyXG4gICAgLyoqIEluZGljYXppb25lIHN1bGxhIHZpc2liaWxpdMOgIGRlbGxhIGNvbG9ubmEgKi9cclxuICAgIHByaXZhdGUgX1Zpc2libGU6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSBzaSBzdGEgZWZmZXR0dWFuZG8gdW4nb3BlcmF6aW9uZSBkaSByZXNpemUgc3UgcXVlc3RhIGNvbG9ubmEgKi9cclxuICAgIHByaXZhdGUgcmVzaXppbmdUaGlzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTdG9yaWNpenphIGwnb2Zmc2V0IGRpIHBhcnRlbnphIGRlbCByZXNpemUgZGVsbCdlbGVtZW50byBIVE1MIHBlciBwb3RlciBjYWxjb2xhcmUgbGEgbnVvdmEgZGltZW5zaW9uZSByaWNoaWVzdGEgZHVyZW50ZSBpbCByZXNpemUgXHJcbiAgICAgKiBcclxuICAgICAqIG51b3ZhIHdpZHRoID0gc3RhcnRPZmZzZXQgKyBwb3NpemlvbmUgWCBkZWwgbW91c2VcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzdGFydE9mZnNldDogbnVtYmVyID0gbnVsbDtcclxuXHJcbiAgICAvKiogSWQgZGVsbGEgY29sb25uYSwgZGV2J2Vzc2VyZSBsbyBzdGVzc28gcGVyIHR1dHRpIGdsaSAqKkVzVGQqKiByZWxhdGl2aSAqL1xyXG4gICAgQElucHV0KCdlcy10aCcpIElEOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8qKiBPcmRpbmFtZW50byBhdHR1YWxlIGRlbGxhIGNvbG9ubmEgKi9cclxuICAgIEBJbnB1dCgpIE9yZGVyPzogJ0RFU0MnIHwgJ0FTQyc7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSBxdWVzdGEgY29sb25uYSDDqCBvcmRpbmFiaWxlIG8gbWVubyAqL1xyXG4gICAgQElucHV0KCkgT3JkZXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKiogVmFsb3JlIGRhIG1vc3RyYXJlIGFsbCdpbnRlcm5vIGRlbGxhIGNvbG9ubmEuIFNlIG9tZXNzbyB2ZXJyw6AgcHJvaWV0dGF0byBpbCBjb250ZW51dG8gZGFsIHRlbXBsYXRlIGluIGN1aSDDqCBzdGF0YSB1c2F0YSAqL1xyXG4gICAgQElucHV0KCkgRGlzcGxheTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIGxlIGRpbW5zaW9uaSBkaSBxdWVzdGEgY29sb25uYSBzb25vIG1vZGlmaWNhYmlsaSBvIG1lbm8gKi9cclxuICAgIEBJbnB1dCgpIFJlc2l6YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgcXVlc3RvIGhlYWRlciDDqCBwaW5uYXRvLiBJbiBjYXNvIGxvIGZvc3NlIHByZXNlbnRhIGlsIHRhc3Rpbm8gcGVyIGVmZmV0dHVhcmUgbG8gc3Bpbm5pbmcgKi9cclxuICAgIEBJbnB1dCgpIFBpbm5lZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIHN0YSB2ZW5lbmRvIGVzZWd1aXRhIHVuYSBvcGVyYXppb25lIGRpIHJpY2VyY2EgbyBtZW5vLCBzZXJ2ZSBwZXIgZXZpdGFyZSBsJ2VzZWN1emlvbmUgZGkgZXZlbnR1YWxlIGNvZGljZSBjaGUgcG90cmViYmUgZGFyZSBmYXN0aWRpbyBcclxuICAgICAqIGNvbWUgYWQgZXNlbXBpbyBsJ2VzY3V6aW9uZSBkaSB1biBvcmRpbmFtZW50byBkdXJhbnRlIGlsIGNhcmljYW1lbnRvIGRpIGRhdGkgbnVvdmlcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgU2VhcmNoSW5Qcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbXBvc3RhdG8gZGFsbCcqKkVzVGFibGUqKiwgc2VydmUgcGVyIHBlcm1ldHRlcmUgbyBtZW5vIGRpIGVmZmV0dHVhcmUgb3JkaW5hbWVudGkgZGF0aSBzdSBxdWVzdGEgY29sb25uYSAqL1xyXG4gICAgQElucHV0KCkgT3JkZXJCeTogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIGlsIHRlc3RvIHByZXNlbnRlIGluIHF1ZXN0byBIZWFkZXIgcHXDsiBhbmRhcmUgYSBjYXBvIG8gbWVubywgZGkgZGVmYXVsdCBub24gcHXDsiAqL1xyXG4gICAgQElucHV0KCkgV3JhcDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgbGEgY29sb25uYSDDqCBmaXhlZCwgY2lvw6ggc2Ugbm9uIHB1w7IgbsOpIGVzc2VyZSBuYXNjb3N0YSwgbsOpIHJpcG9zaXppb25hdGEuIFNvbG8gbGUgcHJpbWUgY29sb25uZSBwb3Nzb25vIGVzc2VyZSBGaXhlZCAqL1xyXG4gICAgQElucHV0KCkgRml4ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogVGVtcGxhdGUgQW5ndWxhciBkYSBpc3RhbnppYXJlIHBlciBxdWVzdG8gVEggKi9cclxuICAgIEBJbnB1dCgpIFRlbXBsYXRlPzogYW55ID0gbnVsbDtcclxuXHJcbiAgICAvKiogRXZlbnRvIGVtZXNzbyBhbCBjYW1iaW8gZGkgb3JkaW5hbWVudG8gZWZmZXR0dWF0byBzdSBxdWVzdGEgY29sb25uYSAqL1xyXG4gICAgQE91dHB1dCgpIHB1YmxpYyBvbk9yZGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8J0RFU0MnIHwgJ0FTQycgfCBudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXI8J0RFU0MnIHwgJ0FTQycgfCBudWxsPigpO1xyXG5cclxuICAgIC8qKiBFdmVudG8gZW1lc3NvIGFsbCd1bnBpbm5pbmcgZGVsbGEgY29sb25uYSAqL1xyXG4gICAgQE91dHB1dCgpIHB1YmxpYyBvblVucGlubmluZzogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICAvKiogUHJvaWV6aW9uZSBkZWwgY29udGVudXRvIGRpIHF1ZXN0YSBjb2xvbm5hICovXHJcbiAgICBAVmlld0NoaWxkKFwiY29udGVudFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGVudDogRWxlbWVudFJlZjtcclxuXHJcbiAgICAvKiogQ2xhc3NpIGRhIGFwcGxpY2FyZSBhbGxhIGNvbG9ubmEgKi9cclxuICAgIHB1YmxpYyBDbGFzczogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBJbXBvc3RhdG8gZGFsbCcqKkVzVGFibGUqKiwgcGVyIGNvbnRyb2xsYXJlIGNoZSBjaSBzaWEgYWxtZW5vIHVuIFREIGNoZSB1dGlsaXp6aSBxdWVzdCdoZWFkZXIgKi9cclxuICAgIHB1YmxpYyBfcmVmZXJlbmNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBWYXJpYWJpbGUgZmluYWxlIHN1IGN1aSDDqCBiaW5kYXRvIGlsIGNvbnRlbnV0byBkZWxsYSBjZWxsYS4gU2Fyw6AgdmFsb3JpenphdG8gYSAqKkRpc3BsYXkqKiBzZSBzcGVjaWZpY2F0bywgYWxsJyoqaW5uZXJIVE1MKiogZGVsbCdlbGVtZW50byBwcm9pZXR0YXRvIGFsdHJpbWVudGkgKi9cclxuICAgIHB1YmxpYyBEZXNjcmlwdGlvbjogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG15c2VsZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcG9zdGEgbGEgdmlzaWJpbGl0w6AgbyBtZW5vIGRlbGxhIGNvbG9ubmEsIHNpIHRyYWR1Y2UgbmVsbCdhcHBsaWNhemlvbmUgbyByaW1vemlvbmUgZGVsbGEgY2xhc3NlICoqYXBwLWRpc3BsYXktbm9uZSoqXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZXhwcmVzc2lvbiBJbmRpY2F6aW9uZSBkZWxsYSB2aXNpYmlsaXTDoFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBzZXQgVmlzaWJsZShleHByZXNzaW9uOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fVmlzaWJsZSA9IGV4cHJlc3Npb247XHJcblxyXG4gICAgICAgIGlmIChleHByZXNzaW9uKVxyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQsIFwiYXBwLWRpc3BsYXktbm9uZVwiKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5teXNlbGYubmF0aXZlRWxlbWVudCwgXCJhcHAtZGlzcGxheS1ub25lXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVzdGl0dWlzY2UgbG8gc3RhdG8gZGkgVmlzaWJpbGl0w6AgZGVsbGEgY29sb25uYSBpbiBvZ2dldHRvXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSAqKnRydWUqKiBzZSB2aXNpYmlsZSwgKipmYWxzZSoqIGFsdHJpbWVudGlcclxuICAgICAqL1xyXG4gICAgZ2V0IFZpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMuX1Zpc2libGUgPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICB0aGlzLl9WaXNpYmxlID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX1Zpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICAvL0Fzc2VnbmFyZSBkaXJldHRhbWVudGUgaWwgY29udGVudCDDqCBwacO5IHZlbG9jZSBjaGUgcGFzc2FyZSBkYWwgbmF0aXZlIGVsZW1lbnQgcGVyIHF1YWxjaGUgbW90aXZvXHJcbiAgICAgICAgdGhpcy5EZXNjcmlwdGlvbiA9IHRoaXMuRGlzcGxheSA9PT0gbnVsbCB8fCB0aGlzLkRpc3BsYXkgPT09IFwiXCIgPyB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5pbm5lclRleHQgOiB0aGlzLkRpc3BsYXk7XHJcblxyXG4gICAgICAgIHRoaXMuQ2xhc3MgPSB0aGlzLm15c2VsZi5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZS5yZXBsYWNlKFwiYXBwLWRpc3BsYXktbm9uZVwiLCBcIlwiKTtcclxuXHJcbiAgICAgICAgLy9SZXNpemVcclxuICAgICAgICBpZiAodGhpcy5SZXNpemFibGUpXHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5teXNlbGYubmF0aXZlRWxlbWVudCwgXCJhcHAtcmVsYXRpdmVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEVtZXR0ZSBsJ2V2ZW50byBkaSB1bnBpbm5pbmcgKi9cclxuICAgIHVucGluKCkge1xyXG4gICAgICAgIHRoaXMub25VbnBpbm5pbmcuZW1pdCh0aGlzLklEKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogR2VzdGlzY2UgbGEgbW9kaWZpY2EgZGVsbCdvcmRpbmFtZW50byBxdWFsb3JhIHZlbmlzc2UgY2xpY2NhdG8gc3UgcXVlc3RhIGNvbG9ubmEgKi9cclxuICAgIHNldHVwTmV4dE9yZGVyQW5kTm90aWZ5KCkge1xyXG4gICAgICAgIGlmICghdGhpcy5JRCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkF0dGVtcHQgdG8gb3JkZXIgYSBjb2x1bW4gd2l0aG91dCBJRC4gT3BlcmF0aW9uIGlnbm9yZWRcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLlNlYXJjaEluUHJvZ3Jlc3MpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJBdHRlbXB0IHRvIG9yZGVyIGEgY29sdW1uIGR1cmluZyBhIHNlYXJjaC4gT3BlcmF0aW9uIGlnbm9yZWRcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5PcmRlckJ5IHx8ICF0aGlzLk9yZGVyYWJsZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB2YXIgbmV4dE9yZGVyID0gdGhpcy5vcmRlck5leHRbdGhpcy5PcmRlciB8fCBcIk5PTkVcIl07XHJcbiAgICAgICAgdGhpcy5PcmRlciA9IG5leHRPcmRlcjtcclxuXHJcbiAgICAgICAgdGhpcy5vbk9yZGVyQ2hhbmdlLmVtaXQodGhpcy5PcmRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudG8gZGkgaW5pemlvIHJlc2l6ZSBkZWxsYSBjb2xvbm5hXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7YW55fSBldiBFdmVudG8gTW91c2VEb3duXHJcbiAgICAgKi9cclxuICAgIG9uUmVzaXplU3RhcnQoZXYpIHtcclxuICAgICAgICBpZiAoIXRoaXMuUmVzaXphYmxlKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMucmVzaXppbmdUaGlzID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnN0YXJ0T2Zmc2V0ID0gdGhpcy5teXNlbGYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAtIGV2LnBhZ2VYO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBMaXN0ZW5lciBwZXIgbGEgZmluZSBkZWxsJ29wZXJhemlvbmUgZGkgcmVzaXplICovXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2V1cC5vdXQtem9uZScpXHJcbiAgICBwdWJsaWMgb25Nb3VzZVVwKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5SZXNpemFibGUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5yZXNpemluZ1RoaXMgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIExpc3RlbmVyIHBlciBnZXN0aXJlIGlsIG1vdmltZW50byBkZWwgbW91c2UgcXVhbG9yYSB1bidvcGVyYXppb25lIGRpIHJlc2l6ZSBmb3NzZSBpbiBlc2VjdXppb25lXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7JGV2ZW50fSBldiBFdmVudG8gTW91c2VNb3ZlXHJcbiAgICAgKi9cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZW1vdmUub3V0LXpvbmUnLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uTW91c2VNb3ZlKCRldmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5SZXNpemFibGUgfHwgIXRoaXMucmVzaXppbmdUaGlzKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIC8vVXNvIGpxdWVyeSBwZXIgbm9uIGRvdmVyIGZhciBwYXJ0aXJlIHVuIGludGVybyBjaWNsbyBkaSBjaGFuZ2UgZGV0ZWN0aW9uIHNvbG8gcGVyIGZhcmUgdW4gcmVzaXplIGRlbCBjYXp6b1xyXG4gICAgICAgIC8vKGFuY2hlIHBlcmNow6kgdmllbmUgbGFuY2lhdG8gb2duaSAwLjEgc2Vjb25kbyBxdWluZGkgbm90IGEgZ29vZCBpZGVhKVxyXG4gICAgICAgIHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSAodGhpcy5zdGFydE9mZnNldCArICRldmVudC5wYWdlWCkgKyBcInB4XCI7XHJcblxyXG4gICAgICAgIC8vRmVybW8gaWwgYnViYmxpbmcgcGVyIG5vbiBmYXJlIGNvc2Ugc3RyYW5lXHJcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbn0iLCI8c3BhbiAoY2xpY2spPVwic2V0dXBOZXh0T3JkZXJBbmROb3RpZnkoKVwiIFtjbGFzcy5hcHAtbm8tc2VsZWN0aW9uXT1cIiEhSUQgJiYgT3JkZXJhYmxlXCIgW2NsYXNzLmFwcC1wb2ludGVyXT1cIiEhSUQgJiYgT3JkZXJhYmxlXCI+XHJcbiAgICA8c3BhbiAjY29udGVudD5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIlRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgKm5nSWY9XCIhVGVtcGxhdGVcIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L3NwYW4+Jm5ic3A7XHJcbiAgICA8c3BhbiBjbGFzcz1cImZhXCIgW2NsYXNzLmZhLWNoZXZyb24tZG93bl09XCJPcmRlciA9PSAnREVTQydcIiBbY2xhc3MuZmEtY2hldnJvbi11cF09XCJPcmRlciA9PSAnQVNDJ1wiPjwvc3Bhbj5cclxuPC9zcGFuPlxyXG48c3BhbiAqbmdJZj1cIlBpbm5lZCAmJiAhRml4ZWRcIiBjbGFzcz1cImFwcC1wb2ludGVyIGZhIGZhLXRodW1iLXRhY2sgZXN0LXF1aWNrLXVucGluXCIgKGNsaWNrKT1cInVucGluKClcIj48L3NwYW4+XHJcbjxkaXYgW2hpZGRlbl09XCIhUmVzaXphYmxlIHx8IEZpeGVkIHx8IFBpbm5lZFwiIGNsYXNzPVwiZXN0LWhlYWQtcmVzaXplclwiIChtb3VzZWRvd24pPVwib25SZXNpemVTdGFydCgkZXZlbnQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZXN0LWhlYWQtcmVzaXplci1pbnRlcm5hbFwiPjwvZGl2PlxyXG48L2Rpdj4iXX0=
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL2VzLXRoL2VzX3RoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9lcy10aC9lc190aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTO0FBQ1QsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBYyxTQUFTLEVBQWEsWUFBWSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFaEosMERBQTBEO0FBTTFELE1BQU0sT0FBTyxJQUFJO0lBd0ViLGNBQWM7SUFDZCxZQUFvQixNQUFrQixFQUFVLFFBQW1CO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdkVuRSwrR0FBK0c7UUFDdkcsY0FBUyxHQUErQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFLL0csNkVBQTZFO1FBQ3JFLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRXRDOzs7O1dBSUc7UUFDSyxnQkFBVyxHQUFXLElBQUksQ0FBQztRQUVuQyw2RUFBNkU7UUFDN0QsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUtoQyxtREFBbUQ7UUFDMUMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUVuQyw4SEFBOEg7UUFDckgsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUU5Qix3RUFBd0U7UUFDL0QsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUVwQyx5R0FBeUc7UUFDaEcsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUVqQzs7O1dBR0c7UUFDTSxxQkFBZ0IsR0FB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c0JBQS9DLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFtQjFCLE9BQU87c0JBQW5CLEtBQUs7Z0JBMEVDLFNBQVM7c0JBRGYsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBY2hDLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsMkJBQTJCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvL0FuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgUmVuZGVyZXIyLCBIb3N0TGlzdGVuZXIsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKiBDb21wb25lbnRlIHJhcHByZXNlbnRhbnRlIHVuYSBDb2xvbm5hIGRlbGxhIHRhYmVsbGEgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJbZXMtdGhdXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2VzX3RoLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNUaCB7XHJcblxyXG4gICAgLyoqIERpemlvbmFyaW8gZGkgbWFwcGF0dXJhIGNvbiBvcmRpbmFtZW50byBhdHR1YWxlIGUgb3JkaW5hbWVudG8gc3VjY2Vzc2l2byBwZXIgZ2VzdGlyZSBpIHBhc3NhZ2dpIGRpIHN0YXRvICovXHJcbiAgICBwcml2YXRlIG9yZGVyTmV4dDogeyBbaW5kZXg6IHN0cmluZ106ICdERVNDJyB8ICdBU0MnIHwgbnVsbCB9ID0geyBcIk5PTkVcIjogXCJERVNDXCIsIFwiREVTQ1wiOiBcIkFTQ1wiLCBcIkFTQ1wiOiBudWxsIH07XHJcblxyXG4gICAgLyoqIEluZGljYXppb25lIHN1bGxhIHZpc2liaWxpdMOgIGRlbGxhIGNvbG9ubmEgKi9cclxuICAgIHByaXZhdGUgX1Zpc2libGU6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSBzaSBzdGEgZWZmZXR0dWFuZG8gdW4nb3BlcmF6aW9uZSBkaSByZXNpemUgc3UgcXVlc3RhIGNvbG9ubmEgKi9cclxuICAgIHByaXZhdGUgcmVzaXppbmdUaGlzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTdG9yaWNpenphIGwnb2Zmc2V0IGRpIHBhcnRlbnphIGRlbCByZXNpemUgZGVsbCdlbGVtZW50byBIVE1MIHBlciBwb3RlciBjYWxjb2xhcmUgbGEgbnVvdmEgZGltZW5zaW9uZSByaWNoaWVzdGEgZHVyZW50ZSBpbCByZXNpemUgXHJcbiAgICAgKiBcclxuICAgICAqIG51b3ZhIHdpZHRoID0gc3RhcnRPZmZzZXQgKyBwb3NpemlvbmUgWCBkZWwgbW91c2VcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzdGFydE9mZnNldDogbnVtYmVyID0gbnVsbDtcclxuXHJcbiAgICAvKiogSWQgZGVsbGEgY29sb25uYSwgZGV2J2Vzc2VyZSBsbyBzdGVzc28gcGVyIHR1dHRpIGdsaSAqKkVzVGQqKiByZWxhdGl2aSAqL1xyXG4gICAgQElucHV0KCdlcy10aCcpIElEOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8qKiBPcmRpbmFtZW50byBhdHR1YWxlIGRlbGxhIGNvbG9ubmEgKi9cclxuICAgIEBJbnB1dCgpIE9yZGVyPzogJ0RFU0MnIHwgJ0FTQyc7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSBxdWVzdGEgY29sb25uYSDDqCBvcmRpbmFiaWxlIG8gbWVubyAqL1xyXG4gICAgQElucHV0KCkgT3JkZXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKiogVmFsb3JlIGRhIG1vc3RyYXJlIGFsbCdpbnRlcm5vIGRlbGxhIGNvbG9ubmEuIFNlIG9tZXNzbyB2ZXJyw6AgcHJvaWV0dGF0byBpbCBjb250ZW51dG8gZGFsIHRlbXBsYXRlIGluIGN1aSDDqCBzdGF0YSB1c2F0YSAqL1xyXG4gICAgQElucHV0KCkgRGlzcGxheTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIGxlIGRpbW5zaW9uaSBkaSBxdWVzdGEgY29sb25uYSBzb25vIG1vZGlmaWNhYmlsaSBvIG1lbm8gKi9cclxuICAgIEBJbnB1dCgpIFJlc2l6YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgcXVlc3RvIGhlYWRlciDDqCBwaW5uYXRvLiBJbiBjYXNvIGxvIGZvc3NlIHByZXNlbnRhIGlsIHRhc3Rpbm8gcGVyIGVmZmV0dHVhcmUgbG8gc3Bpbm5pbmcgKi9cclxuICAgIEBJbnB1dCgpIFBpbm5lZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIHN0YSB2ZW5lbmRvIGVzZWd1aXRhIHVuYSBvcGVyYXppb25lIGRpIHJpY2VyY2EgbyBtZW5vLCBzZXJ2ZSBwZXIgZXZpdGFyZSBsJ2VzZWN1emlvbmUgZGkgZXZlbnR1YWxlIGNvZGljZSBjaGUgcG90cmViYmUgZGFyZSBmYXN0aWRpbyBcclxuICAgICAqIGNvbWUgYWQgZXNlbXBpbyBsJ2VzY3V6aW9uZSBkaSB1biBvcmRpbmFtZW50byBkdXJhbnRlIGlsIGNhcmljYW1lbnRvIGRpIGRhdGkgbnVvdmlcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgU2VhcmNoSW5Qcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbXBvc3RhdG8gZGFsbCcqKkVzVGFibGUqKiwgc2VydmUgcGVyIHBlcm1ldHRlcmUgbyBtZW5vIGRpIGVmZmV0dHVhcmUgb3JkaW5hbWVudGkgZGF0aSBzdSBxdWVzdGEgY29sb25uYSAqL1xyXG4gICAgQElucHV0KCkgT3JkZXJCeTogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIGlsIHRlc3RvIHByZXNlbnRlIGluIHF1ZXN0byBIZWFkZXIgcHXDsiBhbmRhcmUgYSBjYXBvIG8gbWVubywgZGkgZGVmYXVsdCBub24gcHXDsiAqL1xyXG4gICAgQElucHV0KCkgV3JhcDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgbGEgY29sb25uYSDDqCBmaXhlZCwgY2lvw6ggc2Ugbm9uIHB1w7IgbsOpIGVzc2VyZSBuYXNjb3N0YSwgbsOpIHJpcG9zaXppb25hdGEuIFNvbG8gbGUgcHJpbWUgY29sb25uZSBwb3Nzb25vIGVzc2VyZSBGaXhlZCAqL1xyXG4gICAgQElucHV0KCkgRml4ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogVGVtcGxhdGUgQW5ndWxhciBkYSBpc3RhbnppYXJlIHBlciBxdWVzdG8gVEggKi9cclxuICAgIEBJbnB1dCgpIFRlbXBsYXRlPzogYW55ID0gbnVsbDtcclxuXHJcbiAgICAvKiogRXZlbnRvIGVtZXNzbyBhbCBjYW1iaW8gZGkgb3JkaW5hbWVudG8gZWZmZXR0dWF0byBzdSBxdWVzdGEgY29sb25uYSAqL1xyXG4gICAgQE91dHB1dCgpIHB1YmxpYyBvbk9yZGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8J0RFU0MnIHwgJ0FTQycgfCBudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXI8J0RFU0MnIHwgJ0FTQycgfCBudWxsPigpO1xyXG5cclxuICAgIC8qKiBFdmVudG8gZW1lc3NvIGFsbCd1bnBpbm5pbmcgZGVsbGEgY29sb25uYSAqL1xyXG4gICAgQE91dHB1dCgpIHB1YmxpYyBvblVucGlubmluZzogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICAvKiogUHJvaWV6aW9uZSBkZWwgY29udGVudXRvIGRpIHF1ZXN0YSBjb2xvbm5hICovXHJcbiAgICBAVmlld0NoaWxkKFwiY29udGVudFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGVudDogRWxlbWVudFJlZjtcclxuXHJcbiAgICAvKiogQ2xhc3NpIGRhIGFwcGxpY2FyZSBhbGxhIGNvbG9ubmEgKi9cclxuICAgIHB1YmxpYyBDbGFzczogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBJbXBvc3RhdG8gZGFsbCcqKkVzVGFibGUqKiwgcGVyIGNvbnRyb2xsYXJlIGNoZSBjaSBzaWEgYWxtZW5vIHVuIFREIGNoZSB1dGlsaXp6aSBxdWVzdCdoZWFkZXIgKi9cclxuICAgIHB1YmxpYyBfcmVmZXJlbmNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBWYXJpYWJpbGUgZmluYWxlIHN1IGN1aSDDqCBiaW5kYXRvIGlsIGNvbnRlbnV0byBkZWxsYSBjZWxsYS4gU2Fyw6AgdmFsb3JpenphdG8gYSAqKkRpc3BsYXkqKiBzZSBzcGVjaWZpY2F0bywgYWxsJyoqaW5uZXJIVE1MKiogZGVsbCdlbGVtZW50byBwcm9pZXR0YXRvIGFsdHJpbWVudGkgKi9cclxuICAgIHB1YmxpYyBEZXNjcmlwdGlvbjogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG15c2VsZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcG9zdGEgbGEgdmlzaWJpbGl0w6AgbyBtZW5vIGRlbGxhIGNvbG9ubmEsIHNpIHRyYWR1Y2UgbmVsbCdhcHBsaWNhemlvbmUgbyByaW1vemlvbmUgZGVsbGEgY2xhc3NlICoqYXBwLWRpc3BsYXktbm9uZSoqXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZXhwcmVzc2lvbiBJbmRpY2F6aW9uZSBkZWxsYSB2aXNpYmlsaXTDoFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBzZXQgVmlzaWJsZShleHByZXNzaW9uOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fVmlzaWJsZSA9IGV4cHJlc3Npb247XHJcblxyXG4gICAgICAgIGlmIChleHByZXNzaW9uKVxyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQsIFwiYXBwLWRpc3BsYXktbm9uZVwiKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5teXNlbGYubmF0aXZlRWxlbWVudCwgXCJhcHAtZGlzcGxheS1ub25lXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVzdGl0dWlzY2UgbG8gc3RhdG8gZGkgVmlzaWJpbGl0w6AgZGVsbGEgY29sb25uYSBpbiBvZ2dldHRvXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSAqKnRydWUqKiBzZSB2aXNpYmlsZSwgKipmYWxzZSoqIGFsdHJpbWVudGlcclxuICAgICAqL1xyXG4gICAgZ2V0IFZpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMuX1Zpc2libGUgPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICB0aGlzLl9WaXNpYmxlID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX1Zpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICAvL0Fzc2VnbmFyZSBkaXJldHRhbWVudGUgaWwgY29udGVudCDDqCBwacO5IHZlbG9jZSBjaGUgcGFzc2FyZSBkYWwgbmF0aXZlIGVsZW1lbnQgcGVyIHF1YWxjaGUgbW90aXZvXHJcbiAgICAgICAgdGhpcy5EZXNjcmlwdGlvbiA9IHRoaXMuRGlzcGxheSA9PT0gbnVsbCB8fCB0aGlzLkRpc3BsYXkgPT09IFwiXCIgPyB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5pbm5lclRleHQgOiB0aGlzLkRpc3BsYXk7XHJcblxyXG4gICAgICAgIHRoaXMuQ2xhc3MgPSB0aGlzLm15c2VsZi5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZS5yZXBsYWNlKFwiYXBwLWRpc3BsYXktbm9uZVwiLCBcIlwiKTtcclxuXHJcbiAgICAgICAgLy9SZXNpemVcclxuICAgICAgICBpZiAodGhpcy5SZXNpemFibGUpXHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5teXNlbGYubmF0aXZlRWxlbWVudCwgXCJhcHAtcmVsYXRpdmVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEVtZXR0ZSBsJ2V2ZW50byBkaSB1bnBpbm5pbmcgKi9cclxuICAgIHVucGluKCkge1xyXG4gICAgICAgIHRoaXMub25VbnBpbm5pbmcuZW1pdCh0aGlzLklEKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogR2VzdGlzY2UgbGEgbW9kaWZpY2EgZGVsbCdvcmRpbmFtZW50byBxdWFsb3JhIHZlbmlzc2UgY2xpY2NhdG8gc3UgcXVlc3RhIGNvbG9ubmEgKi9cclxuICAgIHNldHVwTmV4dE9yZGVyQW5kTm90aWZ5KCkge1xyXG4gICAgICAgIGlmICghdGhpcy5JRCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkF0dGVtcHQgdG8gb3JkZXIgYSBjb2x1bW4gd2l0aG91dCBJRC4gT3BlcmF0aW9uIGlnbm9yZWRcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLlNlYXJjaEluUHJvZ3Jlc3MpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJBdHRlbXB0IHRvIG9yZGVyIGEgY29sdW1uIGR1cmluZyBhIHNlYXJjaC4gT3BlcmF0aW9uIGlnbm9yZWRcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5PcmRlckJ5IHx8ICF0aGlzLk9yZGVyYWJsZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB2YXIgbmV4dE9yZGVyID0gdGhpcy5vcmRlck5leHRbdGhpcy5PcmRlciB8fCBcIk5PTkVcIl07XHJcbiAgICAgICAgdGhpcy5PcmRlciA9IG5leHRPcmRlcjtcclxuXHJcbiAgICAgICAgdGhpcy5vbk9yZGVyQ2hhbmdlLmVtaXQodGhpcy5PcmRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudG8gZGkgaW5pemlvIHJlc2l6ZSBkZWxsYSBjb2xvbm5hXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7YW55fSBldiBFdmVudG8gTW91c2VEb3duXHJcbiAgICAgKi9cclxuICAgIG9uUmVzaXplU3RhcnQoZXYpIHtcclxuICAgICAgICBpZiAoIXRoaXMuUmVzaXphYmxlKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMucmVzaXppbmdUaGlzID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnN0YXJ0T2Zmc2V0ID0gdGhpcy5teXNlbGYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAtIGV2LnBhZ2VYO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBMaXN0ZW5lciBwZXIgbGEgZmluZSBkZWxsJ29wZXJhemlvbmUgZGkgcmVzaXplICovXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2V1cC5vdXQtem9uZScpXHJcbiAgICBwdWJsaWMgb25Nb3VzZVVwKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5SZXNpemFibGUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5yZXNpemluZ1RoaXMgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIExpc3RlbmVyIHBlciBnZXN0aXJlIGlsIG1vdmltZW50byBkZWwgbW91c2UgcXVhbG9yYSB1bidvcGVyYXppb25lIGRpIHJlc2l6ZSBmb3NzZSBpbiBlc2VjdXppb25lXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7JGV2ZW50fSBldiBFdmVudG8gTW91c2VNb3ZlXHJcbiAgICAgKi9cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZW1vdmUub3V0LXpvbmUnLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uTW91c2VNb3ZlKCRldmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5SZXNpemFibGUgfHwgIXRoaXMucmVzaXppbmdUaGlzKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIC8vVXNvIGpxdWVyeSBwZXIgbm9uIGRvdmVyIGZhciBwYXJ0aXJlIHVuIGludGVybyBjaWNsbyBkaSBjaGFuZ2UgZGV0ZWN0aW9uIHNvbG8gcGVyIGZhcmUgdW4gcmVzaXplIGRlbCBjYXp6b1xyXG4gICAgICAgIC8vKGFuY2hlIHBlcmNow6kgdmllbmUgbGFuY2lhdG8gb2duaSAwLjEgc2Vjb25kbyBxdWluZGkgbm90IGEgZ29vZCBpZGVhKVxyXG4gICAgICAgIHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSAodGhpcy5zdGFydE9mZnNldCArICRldmVudC5wYWdlWCkgKyBcInB4XCI7XHJcblxyXG4gICAgICAgIC8vRmVybW8gaWwgYnViYmxpbmcgcGVyIG5vbiBmYXJlIGNvc2Ugc3RyYW5lXHJcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbn0iLCI8c3BhbiAoY2xpY2spPVwic2V0dXBOZXh0T3JkZXJBbmROb3RpZnkoKVwiIFtjbGFzcy5hcHAtbm8tc2VsZWN0aW9uXT1cIiEhSUQgJiYgT3JkZXJhYmxlXCIgW2NsYXNzLmFwcC1wb2ludGVyXT1cIiEhSUQgJiYgT3JkZXJhYmxlXCI+XHJcbiAgICA8c3BhbiAjY29udGVudD5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIlRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgKm5nSWY9XCIhVGVtcGxhdGVcIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L3NwYW4+Jm5ic3A7XHJcbiAgICA8c3BhbiBjbGFzcz1cImZhXCIgW2NsYXNzLmZhLWNoZXZyb24tZG93bl09XCJPcmRlciA9PSAnREVTQydcIiBbY2xhc3MuZmEtY2hldnJvbi11cF09XCJPcmRlciA9PSAnQVNDJ1wiPjwvc3Bhbj5cclxuPC9zcGFuPlxyXG48c3BhbiAqbmdJZj1cIlBpbm5lZCAmJiAhRml4ZWRcIiBjbGFzcz1cImFwcC1wb2ludGVyIGZhIGZhLXRodW1iLXRhY2sgZXN0LXF1aWNrLXVucGluXCIgKGNsaWNrKT1cInVucGluKClcIj48L3NwYW4+XHJcbjxkaXYgW2hpZGRlbl09XCIhUmVzaXphYmxlIHx8IEZpeGVkIHx8IFBpbm5lZFwiIGNsYXNzPVwiZXN0LWhlYWQtcmVzaXplclwiIChtb3VzZWRvd24pPVwib25SZXNpemVTdGFydCgkZXZlbnQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZXN0LWhlYWQtcmVzaXplci1pbnRlcm5hbFwiPjwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -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.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: [{
17
+ TablePagerLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TablePagerLoc, deps: [{ token: EST_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
18
+ TablePagerLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TablePagerLoc });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TablePagerLoc, decorators: [{
20
20
  type: Injectable
21
21
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
22
22
  type: Optional
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
24
24
  type: Inject,
25
25
  args: [EST_LOCALE]
26
26
  }] }]; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVfcGFnZXIuY29tcG9uZW50LmxvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9wYWdlci90YWJsZV9wYWdlci5jb21wb25lbnQubG9jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUUxQyx5RUFBeUU7QUFFekUsTUFBTSxPQUFPLGFBQWMsU0FBUSxtQkFBbUI7SUFFbEQsY0FBYztJQUNkLFlBQTRDLFVBQWtCO1FBQzFELEtBQUssQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLENBQUM7UUFDN0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN0QyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQztRQUNqRSxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxjQUFjLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7UUFDN0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsZ0RBQWdELEVBQUUsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDLENBQUM7UUFDNUgsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUseUVBQXlFLEVBQUUsQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDLENBQUM7SUFDbkwsQ0FBQzs7MEdBVlEsYUFBYSxrQkFHVSxVQUFVOzhHQUhqQyxhQUFhOzJGQUFiLGFBQWE7a0JBRHpCLFVBQVU7OzBCQUlNLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IEVTVF9MT0NBTEUgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5cclxuLyoqIENsYXNzZSBkaSBsb2NhbGl6emF6aW9uZSBwZXIgaWwgY29tcG9uZW50ZSAqKlRhYmxlUGFnZXJDb21wb25lbnQqKiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVBhZ2VyTG9jIGV4dGVuZHMgTG9jYWxpemF0aW9uU2VydmljZSB7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoRVNUX0xPQ0FMRSkgTE9DX0xPQ0FMRTogc3RyaW5nKSB7XHJcbiAgICAgICAgc3VwZXIoTE9DX0xPQ0FMRSA/PyAnaXQtSVQnKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJBbGxcIiwgW1wiVHV0dG9cIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIlNob3duIEVsZW1lbnRzXCIsIFtcIkVsZW1lbnRpIHZpc3VhbGl6emF0aVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiU2hvd24gR3JvdXBzXCIsIFtcIkdydXBwaSB2aXN1YWxpenphdGlcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXRyaWV2ZSBhbGwgcmVzdWx0cz9cIiwgW1wiU2kgw6ggc2ljdXJpIGRpIHZvbGVyIGNhcmljYXJlIHR1dHRpIGkgcmlzdWx0YXRpP1wiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiVGhpcyBtaWdodCBzbG93IGRvd24gdGhlIHBhZ2UgYW5kIHBvc3NpYmx5IGNyYXNoIHRoZSBlbnRpcmUgYXBwbGljYXRpb25cIiwgW1wiTCdvcGVyYXppb25lIHBvdHJlYmJlIHJhbGxlbnRhcmUgbGEgcGFnaW5hIGZpbm8gYWwgY3Jhc2ggZGVsbCdhcHBsaWNhemlvbmVcIl0pO1xyXG4gICAgfVxyXG59Il19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVfcGFnZXIuY29tcG9uZW50LmxvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9wYWdlci90YWJsZV9wYWdlci5jb21wb25lbnQubG9jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUUxQyx5RUFBeUU7QUFFekUsTUFBTSxPQUFPLGFBQWMsU0FBUSxtQkFBbUI7SUFFbEQsY0FBYztJQUNkLFlBQTRDLFVBQWtCO1FBQzFELEtBQUssQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLENBQUM7UUFDN0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN0QyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQztRQUNqRSxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxjQUFjLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7UUFDN0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsZ0RBQWdELEVBQUUsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDLENBQUM7UUFDNUgsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUseUVBQXlFLEVBQUUsQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDLENBQUM7SUFDbkwsQ0FBQzs7MkdBVlEsYUFBYSxrQkFHVSxVQUFVOytHQUhqQyxhQUFhOzRGQUFiLGFBQWE7a0JBRHpCLFVBQVU7OzBCQUlNLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IEVTVF9MT0NBTEUgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5cclxuLyoqIENsYXNzZSBkaSBsb2NhbGl6emF6aW9uZSBwZXIgaWwgY29tcG9uZW50ZSAqKlRhYmxlUGFnZXJDb21wb25lbnQqKiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVBhZ2VyTG9jIGV4dGVuZHMgTG9jYWxpemF0aW9uU2VydmljZSB7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoRVNUX0xPQ0FMRSkgTE9DX0xPQ0FMRTogc3RyaW5nKSB7XHJcbiAgICAgICAgc3VwZXIoTE9DX0xPQ0FMRSA/PyAnaXQtSVQnKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJBbGxcIiwgW1wiVHV0dG9cIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIlNob3duIEVsZW1lbnRzXCIsIFtcIkVsZW1lbnRpIHZpc3VhbGl6emF0aVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiU2hvd24gR3JvdXBzXCIsIFtcIkdydXBwaSB2aXN1YWxpenphdGlcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXRyaWV2ZSBhbGwgcmVzdWx0cz9cIiwgW1wiU2kgw6ggc2ljdXJpIGRpIHZvbGVyIGNhcmljYXJlIHR1dHRpIGkgcmlzdWx0YXRpP1wiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiVGhpcyBtaWdodCBzbG93IGRvd24gdGhlIHBhZ2UgYW5kIHBvc3NpYmx5IGNyYXNoIHRoZSBlbnRpcmUgYXBwbGljYXRpb25cIiwgW1wiTCdvcGVyYXppb25lIHBvdHJlYmJlIHJhbGxlbnRhcmUgbGEgcGFnaW5hIGZpbm8gYWwgY3Jhc2ggZGVsbCdhcHBsaWNhemlvbmVcIl0pO1xyXG4gICAgfVxyXG59Il19
@@ -8,10 +8,10 @@ import { EST_LOCALE } from "../../tokens";
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@esfaenza/extensions";
10
10
  import * as i2 from "@esfaenza/localizations";
11
- import * as i3 from "@angular/material/form-field";
12
- import * as i4 from "@angular/common";
13
- import * as i5 from "@angular/material/input";
14
- import * as i6 from "@angular/forms";
11
+ import * as i3 from "@angular/common";
12
+ import * as i4 from "@angular/forms";
13
+ import * as i5 from "@angular/material/form-field";
14
+ import * as i6 from "@angular/material/input";
15
15
  /** Componente che si occupa della paginazione di una tabella */
16
16
  export class TablePagerComponent {
17
17
  /** @ignore */
@@ -78,11 +78,11 @@ export class TablePagerComponent {
78
78
  }
79
79
  }
80
80
  }
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: [{
81
+ TablePagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", 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: "14.0.0", version: "14.2.12", 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 && PagerCount > 10\">\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; let i = index\">\r\n <option *ngIf=\"pOpt == DefaultAll || PagerCount >= pOpt || PagerCount == -1 || (i > 0 && PagerCount >= PagingOptions[i-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"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { kind: "pipe", type: i3.DecimalPipe, name: "number" }, { kind: "pipe", type: i2.LocalizePipe, name: "localize" }], viewProviders: [{ provide: LocalizationService, useClass: TablePagerLoc }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TablePagerComponent, decorators: [{
84
84
  type: Component,
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"] }]
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 && PagerCount > 10\">\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; let i = index\">\r\n <option *ngIf=\"pOpt == DefaultAll || PagerCount >= pOpt || PagerCount == -1 || (i > 0 && PagerCount >= PagingOptions[i-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: [{
87
87
  type: Optional
88
88
  }, {
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", 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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QUFRLEVBQUUsYUFBYSxFQUFFLENBQUM7NEZBTWpFLG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDSSxZQUFZLGlCQUNQLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDLGlCQUczRCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkE0QzhELFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsVUFBVTs0Q0F2Q2pJLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgVGFibGVQYWdlckxvYyB9IGZyb20gXCIuL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC5sb2NcIjtcclxuaW1wb3J0IHsgRVNUX0xPQ0FMRSB9IGZyb20gXCIuLi8uLi90b2tlbnNcIjtcclxuXHJcbi8qKiBDb21wb25lbnRlIGNoZSBzaSBvY2N1cGEgZGVsbGEgcGFnaW5hemlvbmUgZGkgdW5hIHRhYmVsbGEgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhcHAtcGFnaW5nXCIsXHJcbiAgICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogVGFibGVQYWdlckxvYyB9XSxcclxuICAgIHN0eWxlVXJsczogWycuL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3RhYmxlX3BhZ2VyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlUGFnZXJDb21wb25lbnQge1xyXG5cclxuICAgIC8qKiBEaW1lbnNpb25lIGRpIHBhZ2luYSBhdHR1YWxlICovXHJcbiAgICBASW5wdXQoKSBDdXJyZW50UGFnZVNpemU6IGFueTtcclxuXHJcbiAgICAvKiogVmlldyBnZXN0aXRhLCBjaGUgcHXDsiBlc3NlcmUgdW4gSUFwcFNlYXJjaCBvIHVuYSBSZXBvcnRWaWV3ICovXHJcbiAgICBASW5wdXQoKSBWaWV3OiBhbnk7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSBkZXZlIG1vc3RyYXJlIHVuIHdhcm5pbmcgcXVhbmRvIHNpIGNlcmNhbm8gZGkgc29sZXppb25hcmUgY29tZSBlbGVtZW50aSBkYSB2aXN1YWxpenphcmUgXCJUdXR0aVwiICovXHJcbiAgICBASW5wdXQoKSBXYXJuT25BbGw6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgZGFyZSBsYSBwb3NzaWJpbGl0w6AgbyBtZW5vIGRpIHNlbGV6aW9uYXJlIFwiVHV0dGlcIiBuZWxsZSBvcHppb25pIGRpIHBhZ2luYXppb25lICovXHJcbiAgICBASW5wdXQoKSBBbGxTZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgXHJcbiAgICAvKiogUGxhY2Vob2xkZXIgY2hlIGlkZW50aWZpY2EgaWwgXCJUdXR0aVwiICovXHJcbiAgICBASW5wdXQoKSBEZWZhdWx0QWxsID0gOTk5OTk5O1xyXG4gICAgXHJcbiAgICAvKiogSW5kaWNhIHNlIGF0dGl2YXJlIGxhIG1vZGFsaXTDoCBncnVwcG8gY29uIHN0aWxpIHBpw7kgc25lbGxpIHBlciBhcHBhcmlyZSBzb3R0byBhaSByYWdncnVwcGFtZW50aSAqL1xyXG4gICAgQElucHV0KCkgR3JvdXBNb2RlID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSB1dGlsaXp6YXJlIGlsIGNvbnRlZ2dpbyBkZWkgZ3J1cHBpIG8gZGVnbGkgb2dnZXR0aSAqL1xyXG4gICAgQElucHV0KCkgR3JvdXBDb3VudCA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbmRpY2EgaWwgdGVzdG8gY2hlIHZhIGEgc29zdGl0dWlyZSBcIk9nZ2V0dGkgVmlzdWFsaXp6YXRpXCIgaW4gY2FzbyBzaSBzdGlhIGZhY2VuZG8gcXVhbGNvc2EgZGkgY3VzdG9tLCBJZ25vcmF0byBpbiBjYXNvIGRpIGdydXBwaSAqL1xyXG4gICAgQElucHV0KCkgQ291bnRMYWJlbDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHZpc3VhbGl6emFyZSBpbCBudW1lcm8gdG90YWxlIGRpIG9nZ2V0aSBwcmVzZW50aSAqL1xyXG4gICAgQElucHV0KCkgU2hvd0NvdW50OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHZpc3VhbGl6emFyZSBpbCBudW1lcm8gdG90YWxlIGRpIG9nZ2V0aSBwcmVzZW50aSAqL1xyXG4gICAgQElucHV0KCkgU2hvd1BhZ2luZzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLyoqIEluZGljYSBpbCBudW1lcm8gdG90YWxlIGRpIG9nZ2V0aSBwcmVzZW50aSAqL1xyXG4gICAgQElucHV0KCkgUGFnZXJDb3VudDogbnVtYmVyO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgbW9zdHJhcmUgbyBtZW5vIGlsIGNvbnRlbnV0byBAZGVwcmVjYXRlZCB1c2F0YSBzb2xvIGRhIE1hdHJpeFZhbHVlc0NvbXBvbmVudCBuZWxsYSBsaWIgcmVsYXRpdmEgKi9cclxuICAgIEBJbnB1dCgpIEhpZGRlbjogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogT3V0cHV0IGludm9jYXRvIHF1YW5kbyBpbCBudW1lcm8gZGkgZWxlbWVudGkgcGVyIHBhZ2luYSB2aWVuZSBtb2RpZmljYXRvIGRhIHVuIGNsaWNrIHV0ZW50ZSAqL1xyXG4gICAgQE91dHB1dCgpIHBhZ2luZ1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbXNnRXh0czogTWVzc2FnZVNlcnZpY2UsIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIEBPcHRpb25hbCgpIEBJbmplY3QoRVNUX0xPQ0FMRSkgcHVibGljIGxvY2FsZTogc3RyaW5nKSB7IH1cclxuXHJcbiAgICAvKiogTW9kZWxsbyBzdSBjdWkgbGEgc2VsZWN0IGVmZmV0dHVhIG9wZXJhemlvbmkgZGkgc2VsZXppb25lICovXHJcbiAgICBwdWJsaWMgTW9kZWw6IG51bWJlcjtcclxuXHJcbiAgICAvKiogT3B6aW9uaSBkaSBwYWdpbmF6aW9uZSAqL1xyXG4gICAgcHVibGljIFBhZ2luZ09wdGlvbnM6IG51bWJlcltdID0gWzEwLCAxNSwgMzAsIDQ1LCAxMDAgXTtcclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5Nb2RlbCA9IHRoaXMuVmlldyA/ICh0aGlzLlZpZXcuaXRlbXNwZXJwYWdlb3ZlcnJpZGUgfHwgMTUpIDogdGhpcy5DdXJyZW50UGFnZVNpemU7XHJcbiAgICAgICAgaWYgKHRoaXMuQWxsU2VhcmNoKVxyXG4gICAgICAgICAgICB0aGlzLlBhZ2luZ09wdGlvbnMucHVzaCh0aGlzLkRlZmF1bHRBbGwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgbGV0IG5ld1ZpZXcgPSBjaGFuZ2VzWydWaWV3J107XHJcbiAgICAgICAgbGV0IG5ld0NQUyA9IGNoYW5nZXNbJ0N1cnJlbnRQYWdlU2l6ZSddO1xyXG5cclxuICAgICAgICBpZiAoKG5ld1ZpZXcgJiYgIW5ld1ZpZXcuZmlyc3RDaGFuZ2UpIHx8IChuZXdDUFMgJiYgIW5ld0NQUy5maXJzdENoYW5nZSkpXHJcbiAgICAgICAgICAgIHRoaXMuTW9kZWwgPSBuZXdWaWV3Py5jdXJyZW50VmFsdWUgPyAobmV3Vmlldy5jdXJyZW50VmFsdWUuaXRlbXNwZXJwYWdlb3ZlcnJpZGUgfHwgMTUpIDogbmV3Q1BTPy5jdXJyZW50VmFsdWUgPyBuZXdDUFMuY3VycmVudFZhbHVlIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZ1bnppb25lIHJpY2hpYW1hdGEgZGFsIHRlbXBsYXRlIHF1YW5kbyB1biB1dGVudGUgY2xpY2NhIHN1IHVuIG51bWVybyBkaSBwYWdpbmF6aW9uZS5cclxuICAgICAqIFxyXG4gICAgICogQ2xpY2NhcmUgMiB2b2x0ZSBzdWxsbyBzdGVzc28gbnVtZXJvIGNhdXNhIGNvbXVucXVlIHVuIHJlZnJlc2ggZGVpIGRhdGlcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHBhZ2VTaXplIERpbWVuc2lvbmUgc2VsZXppb25hdGEgbGF0byBVSVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2hvaWNlKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgICAgICBpZiAocGFnZVNpemUgPT0gdGhpcy5EZWZhdWx0QWxsICYmIHRoaXMuV2Fybk9uQWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMubXNnRXh0cy5zaW1wbGVXYXJuaW5nV2l0aENob2ljZShcclxuICAgICAgICAgICAgICAgIHRoaXMubGMubG9jKFwiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJldHJpZXZlIGFsbCByZXN1bHRzP1wiKSxcclxuICAgICAgICAgICAgICAgIHRoaXMubGMubG9jKFwiVGhpcyBtaWdodCBzbG93IGRvd24gdGhlIHBhZ2UgYW5kIHBvc3NpYmx5IGNyYXNoIHRoZSBlbnRpcmUgYXBwbGljYXRpb25cIiksXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7IHRoaXMucGFnaW5nU2VsZWN0ZWQuZW1pdChwYWdlU2l6ZSk7IHRoaXMuTW9kZWwgPSBwYWdlU2l6ZTsgfSxcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBEaW8gc29sbyBzYSBwZXJjaMOpIG1pIHRvY2NhIGZhcmUgc3RhIHJvYmEuLi4gcXVpIGRlbnRybyBwZXIgcXVhbGNoZSBtb3Rpdm8gbGEgQ0Qgbm9uIHByZW5kZVxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwcmV2TW9kZWwgPSB0aGlzLk1vZGVsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuTW9kZWwgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLk1vZGVsID0gcHJldk1vZGVsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5wYWdpbmdTZWxlY3RlZC5lbWl0KHBhZ2VTaXplKTtcclxuICAgICAgICAgICAgdGhpcy5Nb2RlbCA9IHBhZ2VTaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhSGlkZGVuXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJlc3QtZnMtMTRcIj4ge3tDb3VudExhYmVsICYmICFHcm91cE1vZGUgPyBDb3VudExhYmVsIDogKChHcm91cE1vZGUgPyAnU2hvd24gR3JvdXBzJyA6ICdTaG93biBFbGVtZW50cycpIHwgbG9jYWxpemUgOiBsYyl9fTombmJzcDs8L3NwYW4+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlNob3dQYWdpbmcgJiYgTW9kZWwgJiYgUGFnZXJDb3VudCA+IDEwXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgW2FwcGVhcmFuY2VdPVwiJ2xlZ2FjeSdcIiBjbGFzcz1cIm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplLXNlbGVjdCBlc3QtZnMtMTQgZXN0LWlwcC1ib2xkXCI+XHJcbiAgICAgIDxzZWxlY3QgbWF0TmF0aXZlQ29udHJvbCBbbmdNb2RlbF09XCJNb2RlbFwiIG5hbWU9XCJpbnB1dFwiIChuZ01vZGVsQ2hhbmdlKT1cImNob2ljZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcE9wdCBvZiBQYWdpbmdPcHRpb25zOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8b3B0aW9uICpuZ0lmPVwicE9wdCA9PSBEZWZhdWx0QWxsIHx8IFBhZ2VyQ291bnQgPj0gcE9wdCB8fCBQYWdlckNvdW50ID09IC0xIHx8IChpID4gMCAmJiBQYWdlckNvdW50ID49IFBhZ2luZ09wdGlvbnNbaS0xXSlcIiBbdmFsdWVdPVwicE9wdFwiPnt7IHBPcHQgPT0gRGVmYXVsdEFsbCA/ICgnQWxsJyB8IGxvY2FsaXplIDogbGMpIDogcE9wdC50b1N0cmluZygpfX08L29wdGlvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJlc3QtZnMtMTQgZXN0LWlwcC1ib2xkXCIgKm5nSWY9XCJTaG93Q291bnQgJiYgUGFnZXJDb3VudCAhPSAtMVwiPiZuYnNwOy8mbmJzcDs8L3NwYW4+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPHNwYW4gY2xhc3M9XCJlc3QtZnMtMTQgZXN0LWlwcC1ib2xkXCIgKm5nSWY9XCJTaG93Q291bnQgJiYgUGFnZXJDb3VudCAhPSAtMVwiPnt7UGFnZXJDb3VudCB8IG51bWJlciA6ICcwLjAtMCcgOiBsb2NhbGV9fTwvc3Bhbj5cclxuPC9uZy1jb250YWluZXI+Il19
@@ -0,0 +1,25 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { Subject } from "rxjs";
3
+ import * as i0 from "@angular/core";
4
+ /** Classe che fornisce dei metodi di estensione in grado di riconoscere e dispatchare l'evento copia e incolla lanciato su una pagina web */
5
+ export class CopyPasteDetector {
6
+ /** @ignore */
7
+ constructor() {
8
+ /** Dispatcher del Copia */
9
+ this.OnCopy = new Subject();
10
+ /** Dispatcher dell' Incolla */
11
+ this.OnPaste = new Subject();
12
+ document.addEventListener("keydown", (event) => {
13
+ if (event.key === "c" && event.ctrlKey)
14
+ this.OnCopy.next();
15
+ if (event.key === "v" && event.ctrlKey)
16
+ this.OnPaste.next();
17
+ });
18
+ }
19
+ }
20
+ CopyPasteDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CopyPasteDetector, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
21
+ CopyPasteDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CopyPasteDetector });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CopyPasteDetector, decorators: [{
23
+ type: Injectable
24
+ }], ctorParameters: function () { return []; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29weVBhc3RlRGV0ZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy10YWJsZS9zcmMvbGliL2NvcmUvQ29weVBhc3RlRGV0ZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUUvQiw2SUFBNkk7QUFFN0ksTUFBTSxPQUFPLGlCQUFpQjtJQU8xQixjQUFjO0lBQ2Q7UUFOQSwyQkFBMkI7UUFDcEIsV0FBTSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ25ELCtCQUErQjtRQUN4QixZQUFPLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFJaEQsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUMxRCxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPO2dCQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBRXZCLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU87Z0JBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzsrR0FoQlEsaUJBQWlCO21IQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8qKiBDbGFzc2UgY2hlIGZvcm5pc2NlIGRlaSBtZXRvZGkgZGkgZXN0ZW5zaW9uZSBpbiBncmFkbyBkaSByaWNvbm9zY2VyZSBlIGRpc3BhdGNoYXJlIGwnZXZlbnRvIGNvcGlhIGUgaW5jb2xsYSBsYW5jaWF0byBzdSB1bmEgcGFnaW5hIHdlYiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDb3B5UGFzdGVEZXRlY3RvciB7XHJcblxyXG4gICAgLyoqIERpc3BhdGNoZXIgZGVsIENvcGlhICovXHJcbiAgICBwdWJsaWMgT25Db3B5OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIC8qKiBEaXNwYXRjaGVyIGRlbGwnIEluY29sbGEgKi9cclxuICAgIHB1YmxpYyBPblBhc3RlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09IFwiY1wiICYmIGV2ZW50LmN0cmxLZXkpXHJcbiAgICAgICAgICAgICAgICB0aGlzLk9uQ29weS5uZXh0KCk7XHJcblxyXG4gICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBcInZcIiAmJiBldmVudC5jdHJsS2V5KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5PblBhc3RlLm5leHQoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSJdfQ==