@firestitch/list 18.0.10 → 18.0.12

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.
@@ -1,29 +1,48 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, inject, Input, } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import { takeUntil } from 'rxjs/operators';
4
- import { PaginationController } from '../../classes/pagination-controller';
5
- import { SortingController } from '../../classes/sorting-controller';
4
+ import { List } from '../../classes/list-controller';
5
+ import { PaginationStrategy } from '../../enums';
6
6
  import { SortingDirection } from '../../models/column.model';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/common";
9
9
  import * as i2 from "@firestitch/menu";
10
- import * as i3 from "../saved-filters/saved-filters.component";
10
+ import * as i3 from "@angular/material/tooltip";
11
+ import * as i4 from "../saved-filters/saved-filters.component";
11
12
  export class FsStatusComponent {
12
- _cdRef;
13
- paging;
14
- sorting;
13
+ list;
15
14
  rows;
16
15
  firstLoad;
16
+ PaginationStrategy = PaginationStrategy;
17
+ manyLabel = 'many';
18
+ paging;
19
+ sorting;
17
20
  _destroy$ = new Subject();
18
- constructor(_cdRef) {
19
- this._cdRef = _cdRef;
20
- }
21
+ _cdRef = inject(ChangeDetectorRef);
21
22
  ngOnInit() {
23
+ this.paging = this.list.paging;
24
+ this.sorting = this.list.sorting;
22
25
  this.sorting.sortingChanged$
23
26
  .pipe(takeUntil(this._destroy$))
24
27
  .subscribe(() => {
25
28
  this._cdRef.markForCheck();
26
29
  });
30
+ this.list.filtersQuery$
31
+ .pipe(takeUntil(this._destroy$))
32
+ .subscribe(() => {
33
+ this.manyLabel = 'many';
34
+ });
35
+ }
36
+ manyClick() {
37
+ this.list.fetchRemote({
38
+ ...this.list.filtersQuery,
39
+ offset: 0,
40
+ limit: 1,
41
+ })
42
+ .subscribe((response) => {
43
+ this.manyLabel = response.paging?.records || 0;
44
+ this._cdRef.markForCheck();
45
+ });
27
46
  }
28
47
  ngOnDestroy() {
29
48
  this._destroy$.next(null);
@@ -45,15 +64,13 @@ export class FsStatusComponent {
45
64
  setLimit(limit) {
46
65
  this.paging.setLimit(limit);
47
66
  }
48
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsStatusComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
49
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FsStatusComponent, selector: "fs-list-status", inputs: { paging: "paging", sorting: "sorting", rows: "rows", firstLoad: "firstLoad" }, host: { properties: { "class.first-load": "this.firstLoad", "class.fs-skeleton-placeholder": "this.firstLoad" } }, ngImport: i0, template: "<div class=\"status\">\r\n <small>\r\n <ng-container *ngIf=\"paging.enabled\">\r\n <ng-container *ngIf=\"paging.records > 0; else emptyResults\">\r\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">{{ paging.statusLabel }}</a> of {{ paging.records | number:'1.0':'en-US' }} results\r\n </ng-container>\r\n <ng-template #emptyResults>\r\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">0</a> results\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\r\n --></ng-container><!--\r\n\r\n --><ng-container *ngIf=\"(!paging.enabled) && paging.displayed > 0\">\r\n <ng-container *ngIf=\"!scrollable; else scrollable\">\r\n Showing\r\n <span *ngIf=\"paging.displayed === 1\">{{ paging.displayed }} result </span>\r\n <span *ngIf=\"paging.displayed > 1\">{{ paging.displayed | number:'1.0':'en-US' }} results </span>\r\n </ng-container>\r\n\r\n <ng-template #scrollable>\r\n <span *ngIf=\"paging.records === 1\">{{ paging.records }} result </span>\r\n <span *ngIf=\"paging.records > 1\">{{ paging.records | number:'1.0':'en-US' }} results </span>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\r\n --></ng-container><!--\r\n\r\n --><fs-list-saved-filters class=\"saved-filters\"></fs-list-saved-filters>\r\n\r\n <fs-menu [hidden]=\"!paging.enabled\" #limitsMenu>\r\n <ng-template\r\n ngFor\r\n let-limit\r\n [ngForOf]=\"paging.limits\">\r\n <ng-template fs-menu-item (click)=\"setLimit(limit)\">\r\n {{ limit }}\r\n </ng-template>\r\n </ng-template>\r\n </fs-menu>\r\n\r\n <fs-menu [hidden]=\"!sorting.sortingColumn || paging.displayed === 0\" #orderColumnsMenu>\r\n <!-- Real sorting columns -->\r\n <ng-template\r\n ngFor\r\n let-column\r\n [ngForOf]=\"sorting.sortingColumns\">\r\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\r\n <ng-container *ngIf=\"column.title; else sortByTemplate\">\r\n {{ column.title }}\r\n </ng-container>\r\n <ng-template #sortByTemplate>\r\n <ng-template [ngTemplateOutlet]=\"column.headerTemplate\"></ng-template>\r\n </ng-template>\r\n </ng-template>\r\n </ng-template>\r\n\r\n <!-- Fake sorting columns -->\r\n <ng-template\r\n ngFor\r\n let-column\r\n [ngForOf]=\"sorting.fakeSortingColumns\">\r\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\r\n {{ column.title }}\r\n </ng-template>\r\n </ng-template>\r\n </fs-menu>\r\n\r\n <ng-template #sortedBy>\r\n <ng-container *ngIf=\"sorting.sortingColumn\">\r\n sorted by\r\n <ng-container *ngIf=\"sorting.sortingColumn.title; else sortByTemplate\">\r\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">{{ sorting.sortingColumn.title }}</a>,\r\n </ng-container>\r\n <ng-template #sortByTemplate>\r\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">\r\n <ng-template [ngTemplateOutlet]=\"sorting.sortingColumn.headerTemplate\"></ng-template>\r\n </a>,\r\n </ng-template>\r\n <a class=\"order-toggle\" (click)=\"toggleDirection()\">{{ sorting.sortingColumn.fullNameDirection }}</a><!--\r\n --></ng-container><!--\r\n --></ng-template>\r\n </small> \r\n</div>\r\n", styles: [":host.hidden-mobile{display:none!important}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { kind: "directive", type: i2.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { kind: "directive", type: i2.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { kind: "component", type: i3.FsListSavedFiltersComponent, selector: "fs-list-saved-filters" }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsStatusComponent, selector: "fs-list-status", inputs: { list: "list", rows: "rows", firstLoad: "firstLoad" }, host: { properties: { "class.first-load": "this.firstLoad", "class.fs-skeleton-placeholder": "this.firstLoad" } }, ngImport: i0, template: "<div class=\"status\">\r\n <small>\r\n <ng-container *ngIf=\"paging.enabled\">\r\n Showing\r\n <a [fsMenuTriggerFor]=\"limitsMenu\">\r\n {{ paging.statusLabel }}\r\n </a>\r\n of\r\n @if (paging.hasManyStrategy) {\r\n @if (manyLabel === 'many') {\r\n <a\r\n (click)=\"manyClick()\"\r\n [matTooltip]=\"'Calculate number of records'\">\r\n many\r\n </a>\r\n } @else {\r\n {{ manyLabel }}\r\n }\r\n } @else {\r\n {{ paging.records | number:'1.0':'en-US' }} results\r\n }\r\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"(!paging.enabled) && paging.displayed > 0\">\r\n Showing\r\n <span *ngIf=\"paging.displayed === 1\">\r\n {{ paging.displayed }} result\r\n </span>\r\n <span *ngIf=\"paging.displayed > 1\">\r\n {{ paging.displayed | number:'1.0':'en-US' }} results\r\n </span>\r\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container>\r\n </ng-container>\r\n <fs-list-saved-filters class=\"saved-filters\"></fs-list-saved-filters>\r\n <fs-menu\r\n [hidden]=\"!paging.enabled\"\r\n #limitsMenu>\r\n <ng-template\r\n ngFor\r\n let-limit\r\n [ngForOf]=\"paging.limits\">\r\n <ng-template\r\n fs-menu-item\r\n (click)=\"setLimit(limit)\">\r\n {{ limit }}\r\n </ng-template>\r\n </ng-template>\r\n </fs-menu>\r\n <fs-menu\r\n [hidden]=\"!sorting.sortingColumn || paging.displayed === 0\"\r\n #orderColumnsMenu>\r\n <!-- Real sorting columns -->\r\n <ng-template\r\n ngFor\r\n let-column\r\n [ngForOf]=\"sorting.sortingColumns\">\r\n <ng-template\r\n fs-menu-item\r\n (click)=\"setSortableColumn(column)\">\r\n <ng-container *ngIf=\"column.title; else sortByTemplate\">\r\n {{ column.title }}\r\n </ng-container>\r\n <ng-template #sortByTemplate>\r\n <ng-template [ngTemplateOutlet]=\"column.headerTemplate\"></ng-template>\r\n </ng-template>\r\n </ng-template>\r\n </ng-template>\r\n <!-- Fake sorting columns -->\r\n <ng-template\r\n ngFor\r\n let-column\r\n [ngForOf]=\"sorting.fakeSortingColumns\">\r\n <ng-template\r\n fs-menu-item\r\n (click)=\"setSortableColumn(column)\">\r\n {{ column.title }}\r\n </ng-template>\r\n </ng-template>\r\n </fs-menu>\r\n <ng-template #sortedBy>\r\n <ng-container *ngIf=\"sorting.sortingColumn\">\r\n sorted by\r\n <ng-container *ngIf=\"sorting.sortingColumn.title; else sortByTemplate\">\r\n <a\r\n class=\"order-toggle\"\r\n [fsMenuTriggerFor]=\"orderColumnsMenu\">\r\n {{ sorting.sortingColumn.title }}\r\n </a>\r\n ,\r\n </ng-container>\r\n <ng-template #sortByTemplate>\r\n <a\r\n class=\"order-toggle\"\r\n [fsMenuTriggerFor]=\"orderColumnsMenu\">\r\n <ng-template [ngTemplateOutlet]=\"sorting.sortingColumn.headerTemplate\"></ng-template>\r\n </a>\r\n ,\r\n </ng-template>\r\n <a\r\n class=\"order-toggle\"\r\n (click)=\"toggleDirection()\">\r\n {{ sorting.sortingColumn.fullNameDirection }}\r\n </a>\r\n </ng-container>\r\n </ng-template>\r\n </small>\r\n</div>", styles: [":host.hidden-mobile{display:none!important}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { kind: "directive", type: i2.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { kind: "directive", type: i2.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.FsListSavedFiltersComponent, selector: "fs-list-saved-filters" }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
50
69
  }
51
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsStatusComponent, decorators: [{
52
71
  type: Component,
53
- args: [{ selector: 'fs-list-status', changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: true, template: "<div class=\"status\">\r\n <small>\r\n <ng-container *ngIf=\"paging.enabled\">\r\n <ng-container *ngIf=\"paging.records > 0; else emptyResults\">\r\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">{{ paging.statusLabel }}</a> of {{ paging.records | number:'1.0':'en-US' }} results\r\n </ng-container>\r\n <ng-template #emptyResults>\r\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">0</a> results\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\r\n --></ng-container><!--\r\n\r\n --><ng-container *ngIf=\"(!paging.enabled) && paging.displayed > 0\">\r\n <ng-container *ngIf=\"!scrollable; else scrollable\">\r\n Showing\r\n <span *ngIf=\"paging.displayed === 1\">{{ paging.displayed }} result </span>\r\n <span *ngIf=\"paging.displayed > 1\">{{ paging.displayed | number:'1.0':'en-US' }} results </span>\r\n </ng-container>\r\n\r\n <ng-template #scrollable>\r\n <span *ngIf=\"paging.records === 1\">{{ paging.records }} result </span>\r\n <span *ngIf=\"paging.records > 1\">{{ paging.records | number:'1.0':'en-US' }} results </span>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\r\n --></ng-container><!--\r\n\r\n --><fs-list-saved-filters class=\"saved-filters\"></fs-list-saved-filters>\r\n\r\n <fs-menu [hidden]=\"!paging.enabled\" #limitsMenu>\r\n <ng-template\r\n ngFor\r\n let-limit\r\n [ngForOf]=\"paging.limits\">\r\n <ng-template fs-menu-item (click)=\"setLimit(limit)\">\r\n {{ limit }}\r\n </ng-template>\r\n </ng-template>\r\n </fs-menu>\r\n\r\n <fs-menu [hidden]=\"!sorting.sortingColumn || paging.displayed === 0\" #orderColumnsMenu>\r\n <!-- Real sorting columns -->\r\n <ng-template\r\n ngFor\r\n let-column\r\n [ngForOf]=\"sorting.sortingColumns\">\r\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\r\n <ng-container *ngIf=\"column.title; else sortByTemplate\">\r\n {{ column.title }}\r\n </ng-container>\r\n <ng-template #sortByTemplate>\r\n <ng-template [ngTemplateOutlet]=\"column.headerTemplate\"></ng-template>\r\n </ng-template>\r\n </ng-template>\r\n </ng-template>\r\n\r\n <!-- Fake sorting columns -->\r\n <ng-template\r\n ngFor\r\n let-column\r\n [ngForOf]=\"sorting.fakeSortingColumns\">\r\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\r\n {{ column.title }}\r\n </ng-template>\r\n </ng-template>\r\n </fs-menu>\r\n\r\n <ng-template #sortedBy>\r\n <ng-container *ngIf=\"sorting.sortingColumn\">\r\n sorted by\r\n <ng-container *ngIf=\"sorting.sortingColumn.title; else sortByTemplate\">\r\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">{{ sorting.sortingColumn.title }}</a>,\r\n </ng-container>\r\n <ng-template #sortByTemplate>\r\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">\r\n <ng-template [ngTemplateOutlet]=\"sorting.sortingColumn.headerTemplate\"></ng-template>\r\n </a>,\r\n </ng-template>\r\n <a class=\"order-toggle\" (click)=\"toggleDirection()\">{{ sorting.sortingColumn.fullNameDirection }}</a><!--\r\n --></ng-container><!--\r\n --></ng-template>\r\n </small> \r\n</div>\r\n", styles: [":host.hidden-mobile{display:none!important}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}\n"] }]
54
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { paging: [{
55
- type: Input
56
- }], sorting: [{
72
+ args: [{ selector: 'fs-list-status', changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: true, template: "<div class=\"status\">\r\n <small>\r\n <ng-container *ngIf=\"paging.enabled\">\r\n Showing\r\n <a [fsMenuTriggerFor]=\"limitsMenu\">\r\n {{ paging.statusLabel }}\r\n </a>\r\n of\r\n @if (paging.hasManyStrategy) {\r\n @if (manyLabel === 'many') {\r\n <a\r\n (click)=\"manyClick()\"\r\n [matTooltip]=\"'Calculate number of records'\">\r\n many\r\n </a>\r\n } @else {\r\n {{ manyLabel }}\r\n }\r\n } @else {\r\n {{ paging.records | number:'1.0':'en-US' }} results\r\n }\r\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"(!paging.enabled) && paging.displayed > 0\">\r\n Showing\r\n <span *ngIf=\"paging.displayed === 1\">\r\n {{ paging.displayed }} result\r\n </span>\r\n <span *ngIf=\"paging.displayed > 1\">\r\n {{ paging.displayed | number:'1.0':'en-US' }} results\r\n </span>\r\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container>\r\n </ng-container>\r\n <fs-list-saved-filters class=\"saved-filters\"></fs-list-saved-filters>\r\n <fs-menu\r\n [hidden]=\"!paging.enabled\"\r\n #limitsMenu>\r\n <ng-template\r\n ngFor\r\n let-limit\r\n [ngForOf]=\"paging.limits\">\r\n <ng-template\r\n fs-menu-item\r\n (click)=\"setLimit(limit)\">\r\n {{ limit }}\r\n </ng-template>\r\n </ng-template>\r\n </fs-menu>\r\n <fs-menu\r\n [hidden]=\"!sorting.sortingColumn || paging.displayed === 0\"\r\n #orderColumnsMenu>\r\n <!-- Real sorting columns -->\r\n <ng-template\r\n ngFor\r\n let-column\r\n [ngForOf]=\"sorting.sortingColumns\">\r\n <ng-template\r\n fs-menu-item\r\n (click)=\"setSortableColumn(column)\">\r\n <ng-container *ngIf=\"column.title; else sortByTemplate\">\r\n {{ column.title }}\r\n </ng-container>\r\n <ng-template #sortByTemplate>\r\n <ng-template [ngTemplateOutlet]=\"column.headerTemplate\"></ng-template>\r\n </ng-template>\r\n </ng-template>\r\n </ng-template>\r\n <!-- Fake sorting columns -->\r\n <ng-template\r\n ngFor\r\n let-column\r\n [ngForOf]=\"sorting.fakeSortingColumns\">\r\n <ng-template\r\n fs-menu-item\r\n (click)=\"setSortableColumn(column)\">\r\n {{ column.title }}\r\n </ng-template>\r\n </ng-template>\r\n </fs-menu>\r\n <ng-template #sortedBy>\r\n <ng-container *ngIf=\"sorting.sortingColumn\">\r\n sorted by\r\n <ng-container *ngIf=\"sorting.sortingColumn.title; else sortByTemplate\">\r\n <a\r\n class=\"order-toggle\"\r\n [fsMenuTriggerFor]=\"orderColumnsMenu\">\r\n {{ sorting.sortingColumn.title }}\r\n </a>\r\n ,\r\n </ng-container>\r\n <ng-template #sortByTemplate>\r\n <a\r\n class=\"order-toggle\"\r\n [fsMenuTriggerFor]=\"orderColumnsMenu\">\r\n <ng-template [ngTemplateOutlet]=\"sorting.sortingColumn.headerTemplate\"></ng-template>\r\n </a>\r\n ,\r\n </ng-template>\r\n <a\r\n class=\"order-toggle\"\r\n (click)=\"toggleDirection()\">\r\n {{ sorting.sortingColumn.fullNameDirection }}\r\n </a>\r\n </ng-container>\r\n </ng-template>\r\n </small>\r\n</div>", styles: [":host.hidden-mobile{display:none!important}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}\n"] }]
73
+ }], propDecorators: { list: [{
57
74
  type: Input
58
75
  }], rows: [{
59
76
  type: Input
@@ -66,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
66
83
  type: HostBinding,
67
84
  args: ['class.fs-skeleton-placeholder']
68
85
  }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zdGF0dXMvc3RhdHVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zdGF0dXMvc3RhdHVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQVU3RCxNQUFNLE9BQU8saUJBQWlCO0lBYVI7SUFYSixNQUFNLENBQXVCO0lBQzdCLE9BQU8sQ0FBb0I7SUFDM0IsSUFBSSxDQUFDO0lBS2QsU0FBUyxDQUFVO0lBRWxCLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXhDLFlBQW9CLE1BQXlCO1FBQXpCLFdBQU0sR0FBTixNQUFNLENBQW1CO0lBQzdDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlO2FBQ3pCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBRU0saUJBQWlCLENBQUMsTUFBTTtRQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQUs7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzt1R0EvQ1UsaUJBQWlCOzJGQUFqQixpQkFBaUIsaVFDekI5Qix3NkdBa0ZBOzsyRkR6RGEsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLHVCQUMxQixJQUFJO3NGQUlULE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUtDLFNBQVM7c0JBSGYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxrQkFBa0I7O3NCQUM5QixXQUFXO3VCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvcGFnaW5hdGlvbi1jb250cm9sbGVyJztcbmltcG9ydCB7IFNvcnRpbmdDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9zb3J0aW5nLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgU29ydGluZ0RpcmVjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9jb2x1bW4ubW9kZWwnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWxpc3Qtc3RhdHVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YXR1cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0YXR1cy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRnNTdGF0dXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgcHVibGljIHBhZ2luZzogUGFnaW5hdGlvbkNvbnRyb2xsZXI7XG4gIEBJbnB1dCgpIHB1YmxpYyBzb3J0aW5nOiBTb3J0aW5nQ29udHJvbGxlcjtcbiAgQElucHV0KCkgcHVibGljIHJvd3M7XG5cbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5maXJzdC1sb2FkJylcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mcy1za2VsZXRvbi1wbGFjZWhvbGRlcicpXG4gIHB1YmxpYyBmaXJzdExvYWQ6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc29ydGluZy5zb3J0aW5nQ2hhbmdlZCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZURpcmVjdGlvbigpIHtcbiAgICBpZiAodGhpcy5zb3J0aW5nLnNvcnRpbmdDb2x1bW4uZGlyZWN0aW9uID09PSAnYXNjJykge1xuICAgICAgdGhpcy5zb3J0aW5nLnNvcnREaXJlY3Rpb24oU29ydGluZ0RpcmVjdGlvbi5kZXNjKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zb3J0aW5nLnNvcnREaXJlY3Rpb24oU29ydGluZ0RpcmVjdGlvbi5hc2MpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRTb3J0YWJsZUNvbHVtbihjb2x1bW4pIHtcbiAgICBpZiAodGhpcy5zb3J0aW5nLnNvcnRpbmdDb2x1bW4gIT09IGNvbHVtbikge1xuICAgICAgdGhpcy5zb3J0aW5nLnNvcnRCeShjb2x1bW4pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRMaW1pdChsaW1pdCkge1xuICAgIHRoaXMucGFnaW5nLnNldExpbWl0KGxpbWl0KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInN0YXR1c1wiPlxyXG4gIDxzbWFsbD5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdpbmcuZW5hYmxlZFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnaW5nLnJlY29yZHMgPiAwOyBlbHNlIGVtcHR5UmVzdWx0c1wiPlxyXG4gICAgICAgIFNob3dpbmcgPGEgW2ZzTWVudVRyaWdnZXJGb3JdPVwibGltaXRzTWVudVwiPnt7IHBhZ2luZy5zdGF0dXNMYWJlbCB9fTwvYT4gb2Yge3sgcGFnaW5nLnJlY29yZHMgfCBudW1iZXI6JzEuMCc6J2VuLVVTJyB9fSByZXN1bHRzXHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2VtcHR5UmVzdWx0cz5cclxuICAgICAgICBTaG93aW5nIDxhIFtmc01lbnVUcmlnZ2VyRm9yXT1cImxpbWl0c01lbnVcIj4wPC9hPiByZXN1bHRzXHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzb3J0ZWRCeVwiPjwvbmctY29udGFpbmVyPjwhLS1cclxuICAtLT48L25nLWNvbnRhaW5lcj48IS0tXHJcblxyXG4gIC0tPjxuZy1jb250YWluZXIgKm5nSWY9XCIoIXBhZ2luZy5lbmFibGVkKSAmJiBwYWdpbmcuZGlzcGxheWVkID4gMFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzY3JvbGxhYmxlOyBlbHNlIHNjcm9sbGFibGVcIj5cclxuICAgICAgU2hvd2luZ1xyXG4gICAgICA8c3BhbiAqbmdJZj1cInBhZ2luZy5kaXNwbGF5ZWQgPT09IDFcIj57eyBwYWdpbmcuZGlzcGxheWVkIH19IHJlc3VsdCA8L3NwYW4+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwicGFnaW5nLmRpc3BsYXllZCA+IDFcIj57eyBwYWdpbmcuZGlzcGxheWVkIHwgbnVtYmVyOicxLjAnOidlbi1VUycgfX0gcmVzdWx0cyA8L3NwYW4+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI3Njcm9sbGFibGU+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwicGFnaW5nLnJlY29yZHMgPT09IDFcIj57eyBwYWdpbmcucmVjb3JkcyB9fSByZXN1bHQgPC9zcGFuPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cInBhZ2luZy5yZWNvcmRzID4gMVwiPnt7IHBhZ2luZy5yZWNvcmRzIHwgbnVtYmVyOicxLjAnOidlbi1VUycgfX0gcmVzdWx0cyA8L3NwYW4+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNvcnRlZEJ5XCI+PC9uZy1jb250YWluZXI+PCEtLVxyXG4gIC0tPjwvbmctY29udGFpbmVyPjwhLS1cclxuXHJcbiAgLS0+PGZzLWxpc3Qtc2F2ZWQtZmlsdGVycyBjbGFzcz1cInNhdmVkLWZpbHRlcnNcIj48L2ZzLWxpc3Qtc2F2ZWQtZmlsdGVycz5cclxuXHJcbiAgICA8ZnMtbWVudSBbaGlkZGVuXT1cIiFwYWdpbmcuZW5hYmxlZFwiICNsaW1pdHNNZW51PlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBuZ0ZvclxyXG4gICAgICAgIGxldC1saW1pdFxyXG4gICAgICAgIFtuZ0Zvck9mXT1cInBhZ2luZy5saW1pdHNcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgZnMtbWVudS1pdGVtIChjbGljayk9XCJzZXRMaW1pdChsaW1pdClcIj5cclxuICAgICAgICAgIHt7IGxpbWl0IH19XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZnMtbWVudT5cclxuXHJcbiAgICA8ZnMtbWVudSBbaGlkZGVuXT1cIiFzb3J0aW5nLnNvcnRpbmdDb2x1bW4gfHwgcGFnaW5nLmRpc3BsYXllZCA9PT0gMFwiICNvcmRlckNvbHVtbnNNZW51PlxyXG4gICAgICA8IS0tIFJlYWwgc29ydGluZyBjb2x1bW5zIC0tPlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBuZ0ZvclxyXG4gICAgICAgIGxldC1jb2x1bW5cclxuICAgICAgICBbbmdGb3JPZl09XCJzb3J0aW5nLnNvcnRpbmdDb2x1bW5zXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGZzLW1lbnUtaXRlbSAoY2xpY2spPVwic2V0U29ydGFibGVDb2x1bW4oY29sdW1uKVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50aXRsZTsgZWxzZSBzb3J0QnlUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICB7eyBjb2x1bW4udGl0bGUgfX1cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzb3J0QnlUZW1wbGF0ZT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbHVtbi5oZWFkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8IS0tIEZha2Ugc29ydGluZyBjb2x1bW5zIC0tPlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBuZ0ZvclxyXG4gICAgICAgIGxldC1jb2x1bW5cclxuICAgICAgICBbbmdGb3JPZl09XCJzb3J0aW5nLmZha2VTb3J0aW5nQ29sdW1uc1wiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmcy1tZW51LWl0ZW0gKGNsaWNrKT1cInNldFNvcnRhYmxlQ29sdW1uKGNvbHVtbilcIj5cclxuICAgICAgICAgIHt7IGNvbHVtbi50aXRsZSB9fVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2ZzLW1lbnU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNzb3J0ZWRCeT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNvcnRpbmcuc29ydGluZ0NvbHVtblwiPlxyXG4gICAgICAgIHNvcnRlZCBieVxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3J0aW5nLnNvcnRpbmdDb2x1bW4udGl0bGU7IGVsc2Ugc29ydEJ5VGVtcGxhdGVcIj5cclxuICAgICAgICAgIDxhIGNsYXNzPVwib3JkZXItdG9nZ2xlXCIgW2ZzTWVudVRyaWdnZXJGb3JdPVwib3JkZXJDb2x1bW5zTWVudVwiPnt7IHNvcnRpbmcuc29ydGluZ0NvbHVtbi50aXRsZSB9fTwvYT4sXHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNzb3J0QnlUZW1wbGF0ZT5cclxuICAgICAgICAgIDxhIGNsYXNzPVwib3JkZXItdG9nZ2xlXCIgW2ZzTWVudVRyaWdnZXJGb3JdPVwib3JkZXJDb2x1bW5zTWVudVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic29ydGluZy5zb3J0aW5nQ29sdW1uLmhlYWRlclRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvYT4sXHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8YSBjbGFzcz1cIm9yZGVyLXRvZ2dsZVwiIChjbGljayk9XCJ0b2dnbGVEaXJlY3Rpb24oKVwiPnt7IHNvcnRpbmcuc29ydGluZ0NvbHVtbi5mdWxsTmFtZURpcmVjdGlvbiB9fTwvYT48IS0tXHJcbiAgICAtLT48L25nLWNvbnRhaW5lcj48IS0tXHJcbiAgLS0+PC9uZy10ZW1wbGF0ZT5cclxuICA8L3NtYWxsPiAgXHJcbjwvZGl2PlxyXG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zdGF0dXMvc3RhdHVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zdGF0dXMvc3RhdHVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7QUFVN0QsTUFBTSxPQUFPLGlCQUFpQjtJQUVaLElBQUksQ0FBTztJQUNYLElBQUksQ0FBQztJQUtkLFNBQVMsQ0FBVTtJQUVuQixrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQUN4QyxTQUFTLEdBQUcsTUFBTSxDQUFDO0lBQ25CLE1BQU0sQ0FBdUI7SUFDN0IsT0FBTyxDQUFvQjtJQUUxQixTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFcEMsUUFBUTtRQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWU7YUFDekIsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7YUFDcEIsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNwQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUN6QixNQUFNLEVBQUUsQ0FBQztZQUNULEtBQUssRUFBRSxDQUFDO1NBQ1QsQ0FBQzthQUNDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxNQUFNO1FBQzdCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO3VHQXZFVSxpQkFBaUI7MkZBQWpCLGlCQUFpQix5T0M1QjlCLHFpSEEwR007OzJGRDlFTyxpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLElBQUk7OEJBSVQsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUtDLFNBQVM7c0JBSGYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxrQkFBa0I7O3NCQUM5QixXQUFXO3VCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IExpc3QgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2xpc3QtY29udHJvbGxlcic7XG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvcGFnaW5hdGlvbi1jb250cm9sbGVyJztcbmltcG9ydCB7IFNvcnRpbmdDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9zb3J0aW5nLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgUGFnaW5hdGlvblN0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgU29ydGluZ0RpcmVjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9jb2x1bW4ubW9kZWwnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWxpc3Qtc3RhdHVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YXR1cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0YXR1cy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRnNTdGF0dXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgcHVibGljIGxpc3Q6IExpc3Q7XG4gIEBJbnB1dCgpIHB1YmxpYyByb3dzO1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmlyc3QtbG9hZCcpXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnMtc2tlbGV0b24tcGxhY2Vob2xkZXInKVxuICBwdWJsaWMgZmlyc3RMb2FkOiBib29sZWFuO1xuICBcbiAgcHVibGljIFBhZ2luYXRpb25TdHJhdGVneSA9IFBhZ2luYXRpb25TdHJhdGVneTtcbiAgcHVibGljIG1hbnlMYWJlbCA9ICdtYW55JztcbiAgcHVibGljIHBhZ2luZzogUGFnaW5hdGlvbkNvbnRyb2xsZXI7XG4gIHB1YmxpYyBzb3J0aW5nOiBTb3J0aW5nQ29udHJvbGxlcjtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX2NkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wYWdpbmcgPSB0aGlzLmxpc3QucGFnaW5nO1xuICAgIHRoaXMuc29ydGluZyA9IHRoaXMubGlzdC5zb3J0aW5nO1xuICAgIHRoaXMuc29ydGluZy5zb3J0aW5nQ2hhbmdlZCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmxpc3QuZmlsdGVyc1F1ZXJ5JFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5tYW55TGFiZWwgPSAnbWFueSc7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBtYW55Q2xpY2soKSB7XG4gICAgdGhpcy5saXN0LmZldGNoUmVtb3RlKHtcbiAgICAgIC4uLnRoaXMubGlzdC5maWx0ZXJzUXVlcnksXG4gICAgICBvZmZzZXQ6IDAsXG4gICAgICBsaW1pdDogMSxcbiAgICB9KVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5tYW55TGFiZWwgPSByZXNwb25zZS5wYWdpbmc/LnJlY29yZHMgfHwgMDtcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlRGlyZWN0aW9uKCkge1xuICAgIGlmICh0aGlzLnNvcnRpbmcuc29ydGluZ0NvbHVtbi5kaXJlY3Rpb24gPT09ICdhc2MnKSB7XG4gICAgICB0aGlzLnNvcnRpbmcuc29ydERpcmVjdGlvbihTb3J0aW5nRGlyZWN0aW9uLmRlc2MpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNvcnRpbmcuc29ydERpcmVjdGlvbihTb3J0aW5nRGlyZWN0aW9uLmFzYyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFNvcnRhYmxlQ29sdW1uKGNvbHVtbikge1xuICAgIGlmICh0aGlzLnNvcnRpbmcuc29ydGluZ0NvbHVtbiAhPT0gY29sdW1uKSB7XG4gICAgICB0aGlzLnNvcnRpbmcuc29ydEJ5KGNvbHVtbik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldExpbWl0KGxpbWl0KSB7XG4gICAgdGhpcy5wYWdpbmcuc2V0TGltaXQobGltaXQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3RhdHVzXCI+XHJcbiAgPHNtYWxsPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2luZy5lbmFibGVkXCI+XHJcbiAgICAgIFNob3dpbmdcclxuICAgICAgPGEgW2ZzTWVudVRyaWdnZXJGb3JdPVwibGltaXRzTWVudVwiPlxyXG4gICAgICAgIHt7IHBhZ2luZy5zdGF0dXNMYWJlbCB9fVxyXG4gICAgICA8L2E+XHJcbiAgICAgIG9mXHJcbiAgICAgIEBpZiAocGFnaW5nLmhhc01hbnlTdHJhdGVneSkge1xyXG4gICAgICBAaWYgKG1hbnlMYWJlbCA9PT0gJ21hbnknKSB7XHJcbiAgICAgICAgPGFcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm1hbnlDbGljaygpXCJcclxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ0NhbGN1bGF0ZSBudW1iZXIgb2YgcmVjb3JkcydcIj5cclxuICAgICAgICAgIG1hbnlcclxuICAgICAgICA8L2E+XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIHt7IG1hbnlMYWJlbCB9fVxyXG4gICAgICB9XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIHt7IHBhZ2luZy5yZWNvcmRzIHwgbnVtYmVyOicxLjAnOidlbi1VUycgfX0gcmVzdWx0c1xyXG4gICAgICB9XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzb3J0ZWRCeVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKCFwYWdpbmcuZW5hYmxlZCkgJiYgcGFnaW5nLmRpc3BsYXllZCA+IDBcIj5cclxuICAgICAgU2hvd2luZ1xyXG4gICAgICA8c3BhbiAqbmdJZj1cInBhZ2luZy5kaXNwbGF5ZWQgPT09IDFcIj5cclxuICAgICAgICB7eyBwYWdpbmcuZGlzcGxheWVkIH19IHJlc3VsdFxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwicGFnaW5nLmRpc3BsYXllZCA+IDFcIj5cclxuICAgICAgICB7eyBwYWdpbmcuZGlzcGxheWVkIHwgbnVtYmVyOicxLjAnOidlbi1VUycgfX0gcmVzdWx0c1xyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzb3J0ZWRCeVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8ZnMtbGlzdC1zYXZlZC1maWx0ZXJzIGNsYXNzPVwic2F2ZWQtZmlsdGVyc1wiPjwvZnMtbGlzdC1zYXZlZC1maWx0ZXJzPlxyXG4gICAgPGZzLW1lbnVcclxuICAgICAgICBbaGlkZGVuXT1cIiFwYWdpbmcuZW5hYmxlZFwiXHJcbiAgICAgICAgI2xpbWl0c01lbnU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgbmdGb3JcclxuICAgICAgICAgIGxldC1saW1pdFxyXG4gICAgICAgICAgW25nRm9yT2ZdPVwicGFnaW5nLmxpbWl0c1wiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICBmcy1tZW51LWl0ZW1cclxuICAgICAgICAgICAgKGNsaWNrKT1cInNldExpbWl0KGxpbWl0KVwiPlxyXG4gICAgICAgICAge3sgbGltaXQgfX1cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9mcy1tZW51PlxyXG4gICAgPGZzLW1lbnVcclxuICAgICAgICBbaGlkZGVuXT1cIiFzb3J0aW5nLnNvcnRpbmdDb2x1bW4gfHwgcGFnaW5nLmRpc3BsYXllZCA9PT0gMFwiXHJcbiAgICAgICAgI29yZGVyQ29sdW1uc01lbnU+XHJcbiAgICAgIDwhLS0gUmVhbCBzb3J0aW5nIGNvbHVtbnMgLS0+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgbmdGb3JcclxuICAgICAgICAgIGxldC1jb2x1bW5cclxuICAgICAgICAgIFtuZ0Zvck9mXT1cInNvcnRpbmcuc29ydGluZ0NvbHVtbnNcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICAgZnMtbWVudS1pdGVtXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZXRTb3J0YWJsZUNvbHVtbihjb2x1bW4pXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnRpdGxlOyBlbHNlIHNvcnRCeVRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIHt7IGNvbHVtbi50aXRsZSB9fVxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3NvcnRCeVRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uLmhlYWRlclRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPCEtLSBGYWtlIHNvcnRpbmcgY29sdW1ucyAtLT5cclxuICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICBuZ0ZvclxyXG4gICAgICAgICAgbGV0LWNvbHVtblxyXG4gICAgICAgICAgW25nRm9yT2ZdPVwic29ydGluZy5mYWtlU29ydGluZ0NvbHVtbnNcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICAgZnMtbWVudS1pdGVtXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZXRTb3J0YWJsZUNvbHVtbihjb2x1bW4pXCI+XHJcbiAgICAgICAgICB7eyBjb2x1bW4udGl0bGUgfX1cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9mcy1tZW51PlxyXG4gICAgPG5nLXRlbXBsYXRlICNzb3J0ZWRCeT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNvcnRpbmcuc29ydGluZ0NvbHVtblwiPlxyXG4gICAgICAgIHNvcnRlZCBieVxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3J0aW5nLnNvcnRpbmdDb2x1bW4udGl0bGU7IGVsc2Ugc29ydEJ5VGVtcGxhdGVcIj5cclxuICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvcmRlci10b2dnbGVcIlxyXG4gICAgICAgICAgICAgIFtmc01lbnVUcmlnZ2VyRm9yXT1cIm9yZGVyQ29sdW1uc01lbnVcIj5cclxuICAgICAgICAgICAge3sgc29ydGluZy5zb3J0aW5nQ29sdW1uLnRpdGxlIH19XHJcbiAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAsXHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNzb3J0QnlUZW1wbGF0ZT5cclxuICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvcmRlci10b2dnbGVcIlxyXG4gICAgICAgICAgICAgIFtmc01lbnVUcmlnZ2VyRm9yXT1cIm9yZGVyQ29sdW1uc01lbnVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNvcnRpbmcuc29ydGluZ0NvbHVtbi5oZWFkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAsXHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8YVxyXG4gICAgICAgICAgICBjbGFzcz1cIm9yZGVyLXRvZ2dsZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEaXJlY3Rpb24oKVwiPlxyXG4gICAgICAgICAge3sgc29ydGluZy5zb3J0aW5nQ29sdW1uLmZ1bGxOYW1lRGlyZWN0aW9uIH19XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9zbWFsbD5cclxuPC9kaXY+Il19
@@ -0,0 +1,6 @@
1
+ export * from './action-type.enum';
2
+ export * from './page-change-type.enum';
3
+ export * from './pagination-strategy.enum';
4
+ export * from './row-type.enum';
5
+ export * from './state.enum';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjdGlvbi10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlLWNoYW5nZS10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uLXN0cmF0ZWd5LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9yb3ctdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGUuZW51bSc7XG4iXX0=
@@ -2,6 +2,7 @@ export var PaginationStrategy;
2
2
  (function (PaginationStrategy) {
3
3
  PaginationStrategy["Page"] = "page";
4
4
  PaginationStrategy["Offset"] = "offset";
5
+ PaginationStrategy["Many"] = "many";
5
6
  PaginationStrategy["None"] = "none";
6
7
  })(PaginationStrategy || (PaginationStrategy = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1zdHJhdGVneS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9lbnVtcy9wYWdpbmF0aW9uLXN0cmF0ZWd5LmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QixtQ0FBYSxDQUFBO0lBQ2IsdUNBQWlCLENBQUE7SUFDakIsbUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFKVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBSTdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gUGFnaW5hdGlvblN0cmF0ZWd5IHtcclxuICBQYWdlID0gJ3BhZ2UnLFxyXG4gIE9mZnNldCA9ICdvZmZzZXQnLFxyXG4gIE5vbmUgPSAnbm9uZScsXHJcbn1cclxuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1zdHJhdGVneS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9lbnVtcy9wYWdpbmF0aW9uLXN0cmF0ZWd5LmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksa0JBS1g7QUFMRCxXQUFZLGtCQUFrQjtJQUM1QixtQ0FBYSxDQUFBO0lBQ2IsdUNBQWlCLENBQUE7SUFDakIsbUNBQWEsQ0FBQTtJQUNiLG1DQUFhLENBQUE7QUFDZixDQUFDLEVBTFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUs3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFBhZ2luYXRpb25TdHJhdGVneSB7XHJcbiAgUGFnZSA9ICdwYWdlJyxcclxuICBPZmZzZXQgPSAnb2Zmc2V0JyxcclxuICBNYW55ID0gJ21hbnknLFxyXG4gIE5vbmUgPSAnbm9uZScsXHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWNvbmZpZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2ludGVyZmFjZXMvY29sdW1uLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZzTGlzdENvbHVtbkRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvY29sdW1uL2NvbHVtbi5kaXJlY3RpdmUnO1xuXG5leHBvcnQgdHlwZSBGc0xpc3RDb2x1bW5Db25maWcgPSBQYXJ0aWFsPFBpY2s8XG4gIEZzTGlzdENvbHVtbkRpcmVjdGl2ZSxcbiAgJ2NsYXNzTmFtZScgfFxuICAnaGVhZGVyVGVtcGxhdGUnICB8XG4gICdoZWFkZXJDb25maWdzJyAgIHxcbiAgJ2NlbGxUZW1wbGF0ZScgICAgfFxuICAnY2VsbENvbmZpZ3MnICAgICB8XG4gICdmb290ZXJUZW1wbGF0ZScgIHxcbiAgJ2Zvb3RlckNvbmZpZ3MnICAgfFxuICAnZ3JvdXBIZWFkZXJUZW1wbGF0ZScgfFxuICAnZ3JvdXBIZWFkZXJDb25maWdzJyAgfFxuICAnZ3JvdXBGb290ZXJUZW1wbGF0ZScgfFxuICAnZ3JvdXBGb290ZXJDb25maWdzJyAgfFxuICAnZXhwYW5kVHJpZ2dlcicgfFxuICAnYXR0cmlidXRlcydcbj4+O1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWNvbmZpZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2ludGVyZmFjZXMvY29sdW1uLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZzTGlzdENvbHVtbkRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvY29sdW1uL2NvbHVtbi5kaXJlY3RpdmUnO1xuXG5leHBvcnQgdHlwZSBMaXN0Q29sdW1uQ29uZmlnID0gUGFydGlhbDxQaWNrPFxuICBGc0xpc3RDb2x1bW5EaXJlY3RpdmUsXG4gICdjbGFzc05hbWUnIHxcbiAgJ2hlYWRlclRlbXBsYXRlJyAgfFxuICAnaGVhZGVyQ29uZmlncycgICB8XG4gICdjZWxsVGVtcGxhdGUnICAgIHxcbiAgJ2NlbGxDb25maWdzJyAgICAgfFxuICAnZm9vdGVyVGVtcGxhdGUnICB8XG4gICdmb290ZXJDb25maWdzJyAgIHxcbiAgJ2dyb3VwSGVhZGVyVGVtcGxhdGUnIHxcbiAgJ2dyb3VwSGVhZGVyQ29uZmlncycgIHxcbiAgJ2dyb3VwRm9vdGVyVGVtcGxhdGUnIHxcbiAgJ2dyb3VwRm9vdGVyQ29uZmlncycgIHxcbiAgJ2V4cGFuZFRyaWdnZXInIHxcbiAgJ2F0dHJpYnV0ZXMnXG4+PjtcbiJdfQ==
@@ -1,5 +1,9 @@
1
1
  export * from './cellconfig.interface';
2
+ export * from './column-config.interface';
3
+ export * from './draggable-list.interface';
4
+ export * from './external-params.interface';
2
5
  export * from './listconfig.interface';
6
+ export * from './pagination-state.interface';
3
7
  export * from './pagination.interface';
4
8
  export * from './sorting-change-event.interface';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2VsbGNvbmZpZy5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpc3Rjb25maWcuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29ydGluZy1jaGFuZ2UtZXZlbnQuaW50ZXJmYWNlJztcclxuXHJcbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jZWxsY29uZmlnLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbHVtbi1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJhZ2dhYmxlLWxpc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZXh0ZXJuYWwtcGFyYW1zLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Rjb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvbi1zdGF0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3NvcnRpbmctY2hhbmdlLWV2ZW50LmludGVyZmFjZSc7XG5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2ludGVyZmFjZXMvcGFnaW5hdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhZ2VDaGFuZ2VUeXBlIH0gZnJvbSAnLi4vZW51bXMvcGFnZS1jaGFuZ2UtdHlwZS5lbnVtJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlQYWdlU3RyYXRlZ3kge1xyXG4gIHBhZ2U/OiBudW1iZXI7XHJcbiAgbGltaXQ/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlPZmZzZXRTdHJhdGVneSB7XHJcbiAgb2Zmc2V0PzogbnVtYmVyO1xyXG4gIGxpbWl0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VDaGFuZ2Uge1xyXG4gIHR5cGU6IFBhZ2VDaGFuZ2VUeXBlO1xyXG4gIHBheWxvYWQ6IGFueTtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2ludGVyZmFjZXMvcGFnaW5hdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhZ2VDaGFuZ2VUeXBlIH0gZnJvbSAnLi4vZW51bXMvcGFnZS1jaGFuZ2UtdHlwZS5lbnVtJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlQYWdlU3RyYXRlZ3kge1xyXG4gIHBhZ2U/OiBudW1iZXI7XHJcbiAgbGltaXQ/OiBudW1iZXI7XHJcbiAgcmVjb3Jkcz86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlPZmZzZXRTdHJhdGVneSB7XHJcbiAgb2Zmc2V0PzogbnVtYmVyO1xyXG4gIGxpbWl0PzogbnVtYmVyO1xyXG4gIHJlY29yZHM/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5TWFueVN0cmF0ZWd5IHtcclxuICBsaW1pdD86IG51bWJlcjtcclxuICByZWNvcmRzPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYWdlQ2hhbmdlIHtcclxuICB0eXBlOiBQYWdlQ2hhbmdlVHlwZTtcclxuICBwYXlsb2FkOiBhbnk7XHJcbn1cclxuIl19
@@ -170,4 +170,4 @@ export class Column {
170
170
  this._defaultDirection = config.attributes.direction;
171
171
  }
172
172
  }
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvY29sdW1uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBTWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLCtCQUFXLENBQUE7SUFDWCxpQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0I7QUFFRCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLE9BQU87SUFDUCxVQUFVO0lBQ1YsT0FBTztJQUNQLE9BQU87Q0FDUixDQUFDO0FBRUYsTUFBTSxPQUFPLE1BQU07SUFFVixjQUFjLENBQW1CO0lBQ2pDLG1CQUFtQixDQUFtQjtJQUN0QyxtQkFBbUIsQ0FBbUI7SUFDdEMsWUFBWSxDQUFtQjtJQUMvQixjQUFjLENBQW1CO0lBQ2pDLGFBQWEsQ0FBK0M7SUFFNUQsYUFBYSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRS9DLGtCQUFrQixHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ3BELGtCQUFrQixHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRXBELFdBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUU3QyxhQUFhLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7SUFFL0MsU0FBUyxDQUFjO0lBRXZCLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUN6QixxQkFBcUIsR0FBRyxLQUFLLENBQUM7SUFDOUIscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBQzlCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBRXhCLFdBQVcsQ0FB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Q0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGlzQm9vbGVhbiwgaXNPYmplY3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBGc0xpc3RHcm91cEV4cGFuZFRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2dyb3VwLWV4cGFuZC10cmlnZ2VyL2dyb3VwLWV4cGFuZC10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0xpc3RDb2x1bW5Db25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbHVtbi1jb25maWcuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgQ29sdW1uQXR0cmlidXRlcyB9IGZyb20gJy4vY29sdW1uLWF0dHJpYnV0ZXMnO1xuaW1wb3J0IHsgU3R5bGVDb25maWcgfSBmcm9tICcuL3N0eWxlQ29uZmlnLm1vZGVsJztcblxuZXhwb3J0IGVudW0gU29ydGluZ0RpcmVjdGlvbiB7XG4gIGFzYyA9ICdhc2MnLFxuICBkZXNjID0gJ2Rlc2MnXG59XG5cbmNvbnN0IEFMTE9XRURfREVGQVVMVFMgPSBbXG4gICd0aXRsZScsXG4gICdzb3J0YWJsZScsXG4gICdhbGlnbicsXG4gICdjbGFzcycsXG5dO1xuXG5leHBvcnQgY2xhc3MgQ29sdW1uIHtcblxuICBwdWJsaWMgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIHB1YmxpYyBncm91cEhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwdWJsaWMgZ3JvdXBGb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHVibGljIGNlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHVibGljIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwdWJsaWMgZXhwYW5kVHJpZ2dlcjogUXVlcnlMaXN0PEZzTGlzdEdyb3VwRXhwYW5kVHJpZ2dlckRpcmVjdGl2ZT47XG5cbiAgcHVibGljIGhlYWRlckNvbmZpZ3M6IFN0eWxlQ29uZmlnID0gbmV3IFN0eWxlQ29uZmlnKCk7XG5cbiAgcHVibGljIGdyb3VwSGVhZGVyQ29uZmlnczogU3R5bGVDb25maWcgPSBuZXcgU3R5bGVDb25maWcoKTtcbiAgcHVibGljIGdyb3VwRm9vdGVyQ29uZmlnczogU3R5bGVDb25maWcgPSBuZXcgU3R5bGVDb25maWcoKTtcblxuICBwdWJsaWMgY2VsbENvbmZpZ3M6IFN0eWxlQ29uZmlnID0gbmV3IFN0eWxlQ29uZmlnKCk7XG5cbiAgcHVibGljIGZvb3RlckNvbmZpZ3M6IFN0eWxlQ29uZmlnID0gbmV3IFN0eWxlQ29uZmlnKCk7XG5cbiAgcHVibGljIGNvbFN0eWxlczogU3R5bGVDb25maWc7XG5cbiAgcHVibGljIGhlYWRlckNvbHNwYW5uZWQgPSBmYWxzZTtcbiAgcHVibGljIGdyb3VwSGVhZGVyQ29sc3Bhbm5lZCA9IGZhbHNlO1xuICBwdWJsaWMgZ3JvdXBGb290ZXJDb2xzcGFubmVkID0gZmFsc2U7XG4gIHB1YmxpYyBjZWxsQ29sc3Bhbm5lZCA9IGZhbHNlO1xuICBwdWJsaWMgZm9vdGVyQ29sc3Bhbm5lZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2F0dHJpYnV0ZXM6IENvbHVtbkF0dHJpYnV0ZXM7XG4gIHByaXZhdGUgX2RlZmF1bHREaXJlY3Rpb246ICdhc2MnIHwgJ2Rlc2MnO1xuXG4gIHByaXZhdGUgX29yZGVyZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihjb2xDb25maWc6IEZzTGlzdENvbHVtbkNvbmZpZywgY29sRGVmYXVsdHM6IGFueSA9IGZhbHNlKSB7XG4gICAgdGhpcy5fcGFyc2VDb25maWcoY29sQ29uZmlnKTtcblxuICAgIHRoaXMuY29sU3R5bGVzID0gbmV3IFN0eWxlQ29uZmlnKHtcbiAgICAgIGNsYXNzTmFtZTogdGhpcy5fYXR0cmlidXRlcy5jbGFzc05hbWUsXG4gICAgICBhbGlnbjogdGhpcy5fYXR0cmlidXRlcy5hbGlnbixcbiAgICB9KTtcblxuICAgIHRoaXMubWVyZ2VXaXRoQ29sdW1uRGVmYXVsdHMoY29sRGVmYXVsdHMpO1xuICB9XG5cbiAgcHVibGljIHNldCB0aXRsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYXR0cmlidXRlcy50aXRsZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzLnRpdGxlO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXMubmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY3VzdG9taXplKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzLmN1c3RvbWl6ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgd2lkdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fYXR0cmlidXRlcy53aWR0aDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc29ydGFibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9hdHRyaWJ1dGVzLnNvcnRhYmxlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNvcnRhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzLnNvcnRhYmxlO1xuICB9XG5cbiAgcHVibGljIGdldCBzb3J0YWJsZURlZmF1bHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXMuc29ydGFibGVEZWZhdWx0O1xuICB9XG5cbiAgcHVibGljIHNldCBzb3J0aW5nRGlyZWN0aW9uKHZhbHVlOiAnYXNjJyB8ICdkZXNjJykge1xuICAgIHRoaXMuX2F0dHJpYnV0ZXMuZGlyZWN0aW9uID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNvcnRpbmdEaXJlY3Rpb24oKTogJ2FzYycgfCAnZGVzYycge1xuICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzLmRpcmVjdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc29ydGluZ0RpcmVjdGlvbiQoKTogT2JzZXJ2YWJsZTwnYXNjJyB8ICdkZXNjJz4ge1xuICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzLmRpcmVjdGlvbiQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXMudmlzaWJsZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmlzaWJsZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXMudmlzaWJsZSQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpcmVjdGlvbigpIHtcbiAgICByZXR1cm4gKHRoaXMuc29ydGluZ0RpcmVjdGlvbiA9PT0gU29ydGluZ0RpcmVjdGlvbi5hc2MpID8gJ2FzYycgOiAnZGVzYyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZ1bGxOYW1lRGlyZWN0aW9uKCkge1xuICAgIHJldHVybiAodGhpcy5zb3J0aW5nRGlyZWN0aW9uID09PSBTb3J0aW5nRGlyZWN0aW9uLmFzYykgPyAnQXNjZW5kaW5nJyA6ICdEZXNjZW5kaW5nJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3JkZXJlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fb3JkZXJlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgb3JkZXJlZCh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSAmJiB0aGlzLl9vcmRlcmVkICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5zb3J0aW5nRGlyZWN0aW9uID0gdGhpcy5fZGVmYXVsdERpcmVjdGlvbiA/PyBTb3J0aW5nRGlyZWN0aW9uLmFzYztcbiAgICB9XG5cbiAgICB0aGlzLl9vcmRlcmVkID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2Ugd2l0aCBkZWZhdWx0cyB3aXRoIGV4aXN0aW5nIGNvbmZpZ1xuICAgKlxuICAgKiBAcGFyYW0gZGVmYXVsdHNcbiAgICovXG4gIHB1YmxpYyBtZXJnZVdpdGhDb2x1bW5EZWZhdWx0cyhkZWZhdWx0cykge1xuICAgIGlmICghaXNPYmplY3QoZGVmYXVsdHMpKSB7XG4gICAgICBkZWZhdWx0cyA9IHt9O1xuICAgIH1cblxuICAgIEFMTE9XRURfREVGQVVMVFMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICBjYXNlICd0aXRsZSc6IHtcbiAgICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy50aXRsZSB8fCBkZWZhdWx0cy50aXRsZTtcbiAgICAgICAgfSBicmVhaztcblxuICAgICAgICBjYXNlICdzb3J0YWJsZSc6IHtcbiAgICAgICAgICBpZiAoaXNCb29sZWFuKGRlZmF1bHRzLnNvcnRhYmxlKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc29ydGFibGUgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgICB0aGlzLnNvcnRhYmxlID0gZGVmYXVsdHMuc29ydGFibGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2NsYXNzJzoge1xuICAgICAgICAgIHRoaXMuaGVhZGVyQ29uZmlncy5tZXJnZUNsYXNzQnlQcmlvcml0eSh0aGlzLmNvbFN0eWxlcywgZGVmYXVsdHMuaGVhZGVyKTtcbiAgICAgICAgICB0aGlzLmdyb3VwSGVhZGVyQ29uZmlncy5tZXJnZUNsYXNzQnlQcmlvcml0eSh0aGlzLmNvbFN0eWxlcywgZGVmYXVsdHMuY2VsbCk7XG4gICAgICAgICAgdGhpcy5ncm91cEZvb3RlckNvbmZpZ3MubWVyZ2VDbGFzc0J5UHJpb3JpdHkodGhpcy5jb2xTdHlsZXMsIGRlZmF1bHRzLmNlbGwpO1xuICAgICAgICAgIHRoaXMuY2VsbENvbmZpZ3MubWVyZ2VDbGFzc0J5UHJpb3JpdHkodGhpcy5jb2xTdHlsZXMsIGRlZmF1bHRzLmNlbGwpO1xuICAgICAgICAgIHRoaXMuZm9vdGVyQ29uZmlncy5tZXJnZUNsYXNzQnlQcmlvcml0eSh0aGlzLmNvbFN0eWxlcywgZGVmYXVsdHMuZm9vdGVyKTtcbiAgICAgICAgfSBicmVhaztcblxuICAgICAgICBjYXNlICdhbGlnbic6IHtcbiAgICAgICAgICB0aGlzLmhlYWRlckNvbmZpZ3MubWVyZ2VBbGlnbkJ5UHJpb3JpdHkodGhpcy5jb2xTdHlsZXMsIGRlZmF1bHRzLmhlYWRlcik7XG4gICAgICAgICAgdGhpcy5ncm91cEhlYWRlckNvbmZpZ3MubWVyZ2VBbGlnbkJ5UHJpb3JpdHkodGhpcy5jb2xTdHlsZXMsIGRlZmF1bHRzLmNlbGwpO1xuICAgICAgICAgIHRoaXMuZ3JvdXBGb290ZXJDb25maWdzLm1lcmdlQWxpZ25CeVByaW9yaXR5KHRoaXMuY29sU3R5bGVzLCBkZWZhdWx0cy5jZWxsKTtcbiAgICAgICAgICB0aGlzLmNlbGxDb25maWdzLm1lcmdlQWxpZ25CeVByaW9yaXR5KHRoaXMuY29sU3R5bGVzLCBkZWZhdWx0cy5jZWxsKTtcbiAgICAgICAgICB0aGlzLmZvb3RlckNvbmZpZ3MubWVyZ2VBbGlnbkJ5UHJpb3JpdHkodGhpcy5jb2xTdHlsZXMsIGRlZmF1bHRzLmZvb3Rlcik7XG4gICAgICAgIH0gYnJlYWs7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmhlYWRlckNvbmZpZ3MudXBkYXRlQ2xhc2VzQXJyYXkoKTtcbiAgICB0aGlzLmdyb3VwSGVhZGVyQ29uZmlncy51cGRhdGVDbGFzZXNBcnJheSgpO1xuICAgIHRoaXMuZ3JvdXBGb290ZXJDb25maWdzLnVwZGF0ZUNsYXNlc0FycmF5KCk7XG4gICAgdGhpcy5jZWxsQ29uZmlncy51cGRhdGVDbGFzZXNBcnJheSgpO1xuICAgIHRoaXMuZm9vdGVyQ29uZmlncy51cGRhdGVDbGFzZXNBcnJheSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSBzb3J0aW5nIGRpcmVjdGlvblxuICAgKi9cbiAgcHVibGljIGNoYW5nZURpcmVjdGlvbigpIHtcbiAgICB0aGlzLnNvcnRpbmdEaXJlY3Rpb24gPSB0aGlzLnNvcnRpbmdEaXJlY3Rpb24gPT09IFNvcnRpbmdEaXJlY3Rpb24uYXNjID8gU29ydGluZ0RpcmVjdGlvbi5kZXNjIDogU29ydGluZ0RpcmVjdGlvbi5hc2M7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlVmlzaWJpbGl0eSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2F0dHJpYnV0ZXMudmlzaWJsZSA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBfcGFyc2VDb25maWcoY29uZmlnOiBGc0xpc3RDb2x1bW5Db25maWcpIHtcbiAgICB0aGlzLl9hdHRyaWJ1dGVzID0gY29uZmlnLmF0dHJpYnV0ZXM7XG5cbiAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gY29uZmlnLmhlYWRlclRlbXBsYXRlO1xuICAgIHRoaXMuZ3JvdXBIZWFkZXJUZW1wbGF0ZSA9IGNvbmZpZy5ncm91cEhlYWRlclRlbXBsYXRlO1xuICAgIHRoaXMuZ3JvdXBGb290ZXJUZW1wbGF0ZSA9IGNvbmZpZy5ncm91cEZvb3RlclRlbXBsYXRlO1xuICAgIHRoaXMuY2VsbFRlbXBsYXRlID0gY29uZmlnLmNlbGxUZW1wbGF0ZTtcbiAgICB0aGlzLmZvb3RlclRlbXBsYXRlID0gY29uZmlnLmZvb3RlclRlbXBsYXRlO1xuICAgIHRoaXMuaGVhZGVyQ29uZmlncyA9IG5ldyBTdHlsZUNvbmZpZyhjb25maWcuaGVhZGVyQ29uZmlncyk7XG4gICAgdGhpcy5ncm91cEhlYWRlckNvbmZpZ3MgPSBuZXcgU3R5bGVDb25maWcoY29uZmlnLmdyb3VwSGVhZGVyQ29uZmlncyk7XG4gICAgdGhpcy5ncm91cEZvb3RlckNvbmZpZ3MgPSBuZXcgU3R5bGVDb25maWcoY29uZmlnLmdyb3VwRm9vdGVyQ29uZmlncyk7XG4gICAgdGhpcy5jZWxsQ29uZmlncyA9IG5ldyBTdHlsZUNvbmZpZyhjb25maWcuY2VsbENvbmZpZ3MpO1xuICAgIHRoaXMuZm9vdGVyQ29uZmlncyA9IG5ldyBTdHlsZUNvbmZpZyhjb25maWcuZm9vdGVyQ29uZmlncyk7XG4gICAgdGhpcy5leHBhbmRUcmlnZ2VyID0gY29uZmlnLmV4cGFuZFRyaWdnZXI7XG4gICAgdGhpcy5fZGVmYXVsdERpcmVjdGlvbiA9IGNvbmZpZy5hdHRyaWJ1dGVzLmRpcmVjdGlvbjtcbiAgfVxufVxuIl19
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvY29sdW1uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBTWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLCtCQUFXLENBQUE7SUFDWCxpQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0I7QUFFRCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLE9BQU87SUFDUCxVQUFVO0lBQ1YsT0FBTztJQUNQLE9BQU87Q0FDUixDQUFDO0FBRUYsTUFBTSxPQUFPLE1BQU07SUFFVixjQUFjLENBQW1CO0lBQ2pDLG1CQUFtQixDQUFtQjtJQUN0QyxtQkFBbUIsQ0FBbUI7SUFDdEMsWUFBWSxDQUFtQjtJQUMvQixjQUFjLENBQW1CO0lBQ2pDLGFBQWEsQ0FBK0M7SUFFNUQsYUFBYSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRS9DLGtCQUFrQixHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ3BELGtCQUFrQixHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRXBELFdBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUU3QyxhQUFhLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7SUFFL0MsU0FBUyxDQUFjO0lBRXZCLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUN6QixxQkFBcUIsR0FBRyxLQUFLLENBQUM7SUFDOUIscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBQzlCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBRXhCLFdBQVcsQ0FBbUI7SUFDOUIsaUJBQWlCLENBQWlCO0lBRWxDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFekIsWUFDRSxTQUEyQixFQUMzQixjQUFtQixLQUFLO1FBRXhCLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFdBQVcsQ0FBQztZQUMvQixTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTO1lBQ3JDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLEtBQUssQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQVcsZ0JBQWdCLENBQUMsS0FBcUI7UUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixLQUFLLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDdkYsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsT0FBTyxDQUFDLEtBQUs7UUFDdEIsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixJQUFJLGdCQUFnQixDQUFDLEdBQUcsQ0FBQztRQUN6RSxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSx1QkFBdUIsQ0FBQyxRQUFRO1FBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN4QixRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMvQixRQUFRLEdBQUcsRUFBRSxDQUFDO2dCQUNaLEtBQUssT0FBTztvQkFBRSxDQUFDO3dCQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDO29CQUM1QyxDQUFDO29CQUFDLE1BQU07Z0JBRVIsS0FBSyxVQUFVO29CQUFFLENBQUM7d0JBQ2hCLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDOzRCQUNqQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztnQ0FDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDOzRCQUNwQyxDQUFDO3dCQUNILENBQUM7b0JBQ0gsQ0FBQztvQkFBQyxNQUFNO2dCQUVSLEtBQUssT0FBTztvQkFBRSxDQUFDO3dCQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ3pFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDNUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUM1RSxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNyRSxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUMzRSxDQUFDO29CQUFDLE1BQU07Z0JBRVIsS0FBSyxPQUFPO29CQUFFLENBQUM7d0JBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDekUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUM1RSxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQzVFLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3JFLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzNFLENBQUM7b0JBQUMsTUFBTTtZQUNWLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNJLGVBQWU7UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDO0lBQ3hILENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRU8sWUFBWSxDQUFDLE1BQXdCO1FBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUVyQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUM7UUFDNUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQztRQUN0RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDO1FBQ3RELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN4QyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUM7UUFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO0lBQ3ZELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBpc0Jvb2xlYW4sIGlzT2JqZWN0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgRnNMaXN0R3JvdXBFeHBhbmRUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9ncm91cC1leHBhbmQtdHJpZ2dlci9ncm91cC1leHBhbmQtdHJpZ2dlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGlzdENvbHVtbkNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29sdW1uLWNvbmZpZy5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBDb2x1bW5BdHRyaWJ1dGVzIH0gZnJvbSAnLi9jb2x1bW4tYXR0cmlidXRlcyc7XG5pbXBvcnQgeyBTdHlsZUNvbmZpZyB9IGZyb20gJy4vc3R5bGVDb25maWcubW9kZWwnO1xuXG5leHBvcnQgZW51bSBTb3J0aW5nRGlyZWN0aW9uIHtcbiAgYXNjID0gJ2FzYycsXG4gIGRlc2MgPSAnZGVzYydcbn1cblxuY29uc3QgQUxMT1dFRF9ERUZBVUxUUyA9IFtcbiAgJ3RpdGxlJyxcbiAgJ3NvcnRhYmxlJyxcbiAgJ2FsaWduJyxcbiAgJ2NsYXNzJyxcbl07XG5cbmV4cG9ydCBjbGFzcyBDb2x1bW4ge1xuXG4gIHB1YmxpYyBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHVibGljIGdyb3VwSGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIHB1YmxpYyBncm91cEZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwdWJsaWMgY2VsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwdWJsaWMgZm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIHB1YmxpYyBleHBhbmRUcmlnZ2VyOiBRdWVyeUxpc3Q8RnNMaXN0R3JvdXBFeHBhbmRUcmlnZ2VyRGlyZWN0aXZlPjtcblxuICBwdWJsaWMgaGVhZGVyQ29uZmlnczogU3R5bGVDb25maWcgPSBuZXcgU3R5bGVDb25maWcoKTtcblxuICBwdWJsaWMgZ3JvdXBIZWFkZXJDb25maWdzOiBTdHlsZUNvbmZpZyA9IG5ldyBTdHlsZUNvbmZpZygpO1xuICBwdWJsaWMgZ3JvdXBGb290ZXJDb25maWdzOiBTdHlsZUNvbmZpZyA9IG5ldyBTdHlsZUNvbmZpZygpO1xuXG4gIHB1YmxpYyBjZWxsQ29uZmlnczogU3R5bGVDb25maWcgPSBuZXcgU3R5bGVDb25maWcoKTtcblxuICBwdWJsaWMgZm9vdGVyQ29uZmlnczogU3R5bGVDb25maWcgPSBuZXcgU3R5bGVDb25maWcoKTtcblxuICBwdWJsaWMgY29sU3R5bGVzOiBTdHlsZUNvbmZpZztcblxuICBwdWJsaWMgaGVhZGVyQ29sc3Bhbm5lZCA9IGZhbHNlO1xuICBwdWJsaWMgZ3JvdXBIZWFkZXJDb2xzcGFubmVkID0gZmFsc2U7XG4gIHB1YmxpYyBncm91cEZvb3RlckNvbHNwYW5uZWQgPSBmYWxzZTtcbiAgcHVibGljIGNlbGxDb2xzcGFubmVkID0gZmFsc2U7XG4gIHB1YmxpYyBmb290ZXJDb2xzcGFubmVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfYXR0cmlidXRlczogQ29sdW1uQXR0cmlidXRlcztcbiAgcHJpdmF0ZSBfZGVmYXVsdERpcmVjdGlvbjogJ2FzYycgfCAnZGVzYyc7XG5cbiAgcHJpdmF0ZSBfb3JkZXJlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvbENvbmZpZzogTGlzdENvbHVtbkNvbmZpZywgXG4gICAgY29sRGVmYXVsdHM6IGFueSA9IGZhbHNlLFxuICApIHtcbiAgICB0aGlzLl9wYXJzZUNvbmZpZyhjb2xDb25maWcpO1xuXG4gICAgdGhpcy5jb2xTdHlsZXMgPSBuZXcgU3R5bGVDb25maWcoe1xuICAgICAgY2xhc3NOYW1lOiB0aGlzLl9hdHRyaWJ1dGVzLmNsYXNzTmFtZSxcbiAgICAgIGFsaWduOiB0aGlzLl9hdHRyaWJ1dGVzLmFsaWduLFxuICAgIH0pO1xuXG4gICAgdGhpcy5tZXJnZVdpdGhDb2x1bW5EZWZhdWx0cyhjb2xEZWZhdWx0cyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IHRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9hdHRyaWJ1dGVzLnRpdGxlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXMudGl0bGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fYXR0cmlidXRlcy5uYW1lO1xuICB9XG5cbiAgcHVibGljIGdldCBjdXN0b21pemUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXMuY3VzdG9taXplO1xuICB9XG5cbiAgcHVibGljIGdldCB3aWR0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzLndpZHRoO1xuICB9XG5cbiAgcHVibGljIHNldCBzb3J0YWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2F0dHJpYnV0ZXMuc29ydGFibGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc29ydGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXMuc29ydGFibGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNvcnRhYmxlRGVmYXVsdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYXR0cmlidXRlcy5zb3J0YWJsZURlZmF1bHQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNvcnRpbmdEaXJlY3Rpb24odmFsdWU6ICdhc2MnIHwgJ2Rlc2MnKSB7XG4gICAgdGhpcy5fYXR0cmlidXRlcy5kaXJlY3Rpb24gPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc29ydGluZ0RpcmVjdGlvbigpOiAnYXNjJyB8ICdkZXNjJyB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXMuZGlyZWN0aW9uO1xuICB9XG5cbiAgcHVibGljIGdldCBzb3J0aW5nRGlyZWN0aW9uJCgpOiBPYnNlcnZhYmxlPCdhc2MnIHwgJ2Rlc2MnPiB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXMuZGlyZWN0aW9uJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYXR0cmlidXRlcy52aXNpYmxlO1xuICB9XG5cbiAgcHVibGljIGdldCB2aXNpYmxlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fYXR0cmlidXRlcy52aXNpYmxlJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlyZWN0aW9uKCkge1xuICAgIHJldHVybiAodGhpcy5zb3J0aW5nRGlyZWN0aW9uID09PSBTb3J0aW5nRGlyZWN0aW9uLmFzYykgPyAnYXNjJyA6ICdkZXNjJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZnVsbE5hbWVEaXJlY3Rpb24oKSB7XG4gICAgcmV0dXJuICh0aGlzLnNvcnRpbmdEaXJlY3Rpb24gPT09IFNvcnRpbmdEaXJlY3Rpb24uYXNjKSA/ICdBc2NlbmRpbmcnIDogJ0Rlc2NlbmRpbmcnO1xuICB9XG5cbiAgcHVibGljIGdldCBvcmRlcmVkKCkge1xuICAgIHJldHVybiB0aGlzLl9vcmRlcmVkO1xuICB9XG5cbiAgcHVibGljIHNldCBvcmRlcmVkKHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlICYmIHRoaXMuX29yZGVyZWQgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLnNvcnRpbmdEaXJlY3Rpb24gPSB0aGlzLl9kZWZhdWx0RGlyZWN0aW9uID8/IFNvcnRpbmdEaXJlY3Rpb24uYXNjO1xuICAgIH1cblxuICAgIHRoaXMuX29yZGVyZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZSB3aXRoIGRlZmF1bHRzIHdpdGggZXhpc3RpbmcgY29uZmlnXG4gICAqXG4gICAqIEBwYXJhbSBkZWZhdWx0c1xuICAgKi9cbiAgcHVibGljIG1lcmdlV2l0aENvbHVtbkRlZmF1bHRzKGRlZmF1bHRzKSB7XG4gICAgaWYgKCFpc09iamVjdChkZWZhdWx0cykpIHtcbiAgICAgIGRlZmF1bHRzID0ge307XG4gICAgfVxuXG4gICAgQUxMT1dFRF9ERUZBVUxUUy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgIGNhc2UgJ3RpdGxlJzoge1xuICAgICAgICAgIHRoaXMudGl0bGUgPSB0aGlzLnRpdGxlIHx8IGRlZmF1bHRzLnRpdGxlO1xuICAgICAgICB9IGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3NvcnRhYmxlJzoge1xuICAgICAgICAgIGlmIChpc0Jvb2xlYW4oZGVmYXVsdHMuc29ydGFibGUpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zb3J0YWJsZSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICAgIHRoaXMuc29ydGFibGUgPSBkZWZhdWx0cy5zb3J0YWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnY2xhc3MnOiB7XG4gICAgICAgICAgdGhpcy5oZWFkZXJDb25maWdzLm1lcmdlQ2xhc3NCeVByaW9yaXR5KHRoaXMuY29sU3R5bGVzLCBkZWZhdWx0cy5oZWFkZXIpO1xuICAgICAgICAgIHRoaXMuZ3JvdXBIZWFkZXJDb25maWdzLm1lcmdlQ2xhc3NCeVByaW9yaXR5KHRoaXMuY29sU3R5bGVzLCBkZWZhdWx0cy5jZWxsKTtcbiAgICAgICAgICB0aGlzLmdyb3VwRm9vdGVyQ29uZmlncy5tZXJnZUNsYXNzQnlQcmlvcml0eSh0aGlzLmNvbFN0eWxlcywgZGVmYXVsdHMuY2VsbCk7XG4gICAgICAgICAgdGhpcy5jZWxsQ29uZmlncy5tZXJnZUNsYXNzQnlQcmlvcml0eSh0aGlzLmNvbFN0eWxlcywgZGVmYXVsdHMuY2VsbCk7XG4gICAgICAgICAgdGhpcy5mb290ZXJDb25maWdzLm1lcmdlQ2xhc3NCeVByaW9yaXR5KHRoaXMuY29sU3R5bGVzLCBkZWZhdWx0cy5mb290ZXIpO1xuICAgICAgICB9IGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2FsaWduJzoge1xuICAgICAgICAgIHRoaXMuaGVhZGVyQ29uZmlncy5tZXJnZUFsaWduQnlQcmlvcml0eSh0aGlzLmNvbFN0eWxlcywgZGVmYXVsdHMuaGVhZGVyKTtcbiAgICAgICAgICB0aGlzLmdyb3VwSGVhZGVyQ29uZmlncy5tZXJnZUFsaWduQnlQcmlvcml0eSh0aGlzLmNvbFN0eWxlcywgZGVmYXVsdHMuY2VsbCk7XG4gICAgICAgICAgdGhpcy5ncm91cEZvb3RlckNvbmZpZ3MubWVyZ2VBbGlnbkJ5UHJpb3JpdHkodGhpcy5jb2xTdHlsZXMsIGRlZmF1bHRzLmNlbGwpO1xuICAgICAgICAgIHRoaXMuY2VsbENvbmZpZ3MubWVyZ2VBbGlnbkJ5UHJpb3JpdHkodGhpcy5jb2xTdHlsZXMsIGRlZmF1bHRzLmNlbGwpO1xuICAgICAgICAgIHRoaXMuZm9vdGVyQ29uZmlncy5tZXJnZUFsaWduQnlQcmlvcml0eSh0aGlzLmNvbFN0eWxlcywgZGVmYXVsdHMuZm9vdGVyKTtcbiAgICAgICAgfSBicmVhaztcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuaGVhZGVyQ29uZmlncy51cGRhdGVDbGFzZXNBcnJheSgpO1xuICAgIHRoaXMuZ3JvdXBIZWFkZXJDb25maWdzLnVwZGF0ZUNsYXNlc0FycmF5KCk7XG4gICAgdGhpcy5ncm91cEZvb3RlckNvbmZpZ3MudXBkYXRlQ2xhc2VzQXJyYXkoKTtcbiAgICB0aGlzLmNlbGxDb25maWdzLnVwZGF0ZUNsYXNlc0FycmF5KCk7XG4gICAgdGhpcy5mb290ZXJDb25maWdzLnVwZGF0ZUNsYXNlc0FycmF5KCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIHNvcnRpbmcgZGlyZWN0aW9uXG4gICAqL1xuICBwdWJsaWMgY2hhbmdlRGlyZWN0aW9uKCkge1xuICAgIHRoaXMuc29ydGluZ0RpcmVjdGlvbiA9IHRoaXMuc29ydGluZ0RpcmVjdGlvbiA9PT0gU29ydGluZ0RpcmVjdGlvbi5hc2MgPyBTb3J0aW5nRGlyZWN0aW9uLmRlc2MgOiBTb3J0aW5nRGlyZWN0aW9uLmFzYztcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVWaXNpYmlsaXR5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fYXR0cmlidXRlcy52aXNpYmxlID0gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIF9wYXJzZUNvbmZpZyhjb25maWc6IExpc3RDb2x1bW5Db25maWcpIHtcbiAgICB0aGlzLl9hdHRyaWJ1dGVzID0gY29uZmlnLmF0dHJpYnV0ZXM7XG5cbiAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gY29uZmlnLmhlYWRlclRlbXBsYXRlO1xuICAgIHRoaXMuZ3JvdXBIZWFkZXJUZW1wbGF0ZSA9IGNvbmZpZy5ncm91cEhlYWRlclRlbXBsYXRlO1xuICAgIHRoaXMuZ3JvdXBGb290ZXJUZW1wbGF0ZSA9IGNvbmZpZy5ncm91cEZvb3RlclRlbXBsYXRlO1xuICAgIHRoaXMuY2VsbFRlbXBsYXRlID0gY29uZmlnLmNlbGxUZW1wbGF0ZTtcbiAgICB0aGlzLmZvb3RlclRlbXBsYXRlID0gY29uZmlnLmZvb3RlclRlbXBsYXRlO1xuICAgIHRoaXMuaGVhZGVyQ29uZmlncyA9IG5ldyBTdHlsZUNvbmZpZyhjb25maWcuaGVhZGVyQ29uZmlncyk7XG4gICAgdGhpcy5ncm91cEhlYWRlckNvbmZpZ3MgPSBuZXcgU3R5bGVDb25maWcoY29uZmlnLmdyb3VwSGVhZGVyQ29uZmlncyk7XG4gICAgdGhpcy5ncm91cEZvb3RlckNvbmZpZ3MgPSBuZXcgU3R5bGVDb25maWcoY29uZmlnLmdyb3VwRm9vdGVyQ29uZmlncyk7XG4gICAgdGhpcy5jZWxsQ29uZmlncyA9IG5ldyBTdHlsZUNvbmZpZyhjb25maWcuY2VsbENvbmZpZ3MpO1xuICAgIHRoaXMuZm9vdGVyQ29uZmlncyA9IG5ldyBTdHlsZUNvbmZpZyhjb25maWcuZm9vdGVyQ29uZmlncyk7XG4gICAgdGhpcy5leHBhbmRUcmlnZ2VyID0gY29uZmlnLmV4cGFuZFRyaWdnZXI7XG4gICAgdGhpcy5fZGVmYXVsdERpcmVjdGlvbiA9IGNvbmZpZy5hdHRyaWJ1dGVzLmRpcmVjdGlvbjtcbiAgfVxufVxuIl19