@one-paragon/angular-utilities 0.0.8 → 0.0.9

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.
@@ -5,7 +5,7 @@ import { tap, map } from 'rxjs/operators';
5
5
  import { ColumnBuilderComponent } from '../column-builder/column-builder.component';
6
6
  import { GenericTableDataSource } from '../../classes/GenericTableDataSource';
7
7
  import { FieldType } from '../../interfaces/report-def';
8
- import { notNull, previousAndCurrent } from '../../../rxjs/rxjs-operators';
8
+ import { previousAndCurrent } from '../../../rxjs/rxjs-operators';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@angular/material/sort";
11
11
  import * as i2 from "../../classes/table-store";
@@ -14,9 +14,8 @@ import * as i4 from "@angular/material/checkbox";
14
14
  import * as i5 from "./paginator.component";
15
15
  import * as i6 from "@angular/material/icon";
16
16
  import * as i7 from "../../../utilities/directives/styler";
17
- import * as i8 from "@ngrx/component";
18
- import * as i9 from "@angular/material/tooltip";
19
- import * as i10 from "@angular/common";
17
+ import * as i8 from "@angular/material/tooltip";
18
+ import * as i9 from "@angular/common";
20
19
  export class GenericTableComponent {
21
20
  constructor(sort, state, componentFactoryResolver, viewContainer, injector) {
22
21
  this.sort = sort;
@@ -53,7 +52,7 @@ export class GenericTableComponent {
53
52
  this.masterToggleChecked$ = this.selection$.pipe(map(() => this.selection.hasValue() && this.isAllSelected()));
54
53
  this.masterToggleIndeterminate$ = this.selection$.pipe(map(() => this.selection.hasValue() && !this.isAllSelected()));
55
54
  this.defVal = 0;
56
- this.tableWidth = this.state.getUserDefinedTableSize$.pipe(notNull(), previousAndCurrent(0), map(([previousUserDefinedWidth, currentUserDefinedWidth]) => {
55
+ this.tableWidth = this.state.getUserDefinedTableSize$.pipe(previousAndCurrent(0), map(([previousUserDefinedWidth, currentUserDefinedWidth]) => {
57
56
  if (currentUserDefinedWidth) {
58
57
  return ({ width: `${currentUserDefinedWidth}px` });
59
58
  }
@@ -62,7 +61,7 @@ export class GenericTableComponent {
62
61
  }
63
62
  return ({});
64
63
  function wasReset() {
65
- return previousUserDefinedWidth >= 0 && currentUserDefinedWidth == null;
64
+ return (previousUserDefinedWidth ?? 0) >= 0 && currentUserDefinedWidth == null;
66
65
  }
67
66
  }));
68
67
  this.collapseFooter$ = this.state.state$.pipe(map(state => state.persistedTableSettings.collapseFooter));
@@ -121,10 +120,10 @@ export class GenericTableComponent {
121
120
  }
122
121
  }
123
122
  GenericTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: GenericTableComponent, deps: [{ token: i1.MatSort }, { token: i2.TableStore }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
124
- GenericTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: GenericTableComponent, selector: "tb-generic-table", inputs: { data$: "data$", IndexColumn: "IndexColumn", SelectionColumn: "SelectionColumn", trackBy: "trackBy", rows: "rows", isSticky: "isSticky", columnBuilders: "columnBuilders", columnInfos: "columnInfos" }, outputs: { selection$: "selection$" }, viewQueries: [{ propertyName: "table", first: true, predicate: MatTable, descendants: true, static: true }, { propertyName: "tableElRef", first: true, predicate: ["table"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<mat-table #table [dataSource]=\"dataSource\" [trackBy]='trackByFunction' [styler]=\"tableWidth | async\">\n\n <ng-container matColumnDef=\"select\">\n\n <mat-header-cell *matHeaderCellDef class=\"f-mat-header-cell\" style=\"flex: 0 0 30px;\" >\n <mat-checkbox *ngrxLet=\"masterToggleChecked$ as masterToggleChecked\" (change)=\"$event ? masterToggle() : null\"\n [checked]=\"masterToggleChecked\"\n [indeterminate]=\"masterToggleIndeterminate$ | async\">\n </mat-checkbox>\n </mat-header-cell>\n\n <mat-cell *matCellDef=\"let row\" style=\"flex: 0 0 30px;\">\n <mat-checkbox (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </mat-cell>\n\n <mat-footer-cell *matFooterCellDef style=\"flex: 0 0 30px;\">\n {{ selection.selected.length }}\n </mat-footer-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"index\">\n <mat-header-cell *matHeaderCellDef class=\"f-mat-header-cell\" >#</mat-header-cell>\n <mat-cell *matCellDef=\"let i = index;\"> {{ (tbPaginator.paginator.pageIndex * tbPaginator.paginator.pageSize) + i + 1 }} </mat-cell>\n <mat-footer-cell *matFooterCellDef></mat-footer-cell>\n\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"keys; sticky: isSticky\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: keys; let i = index\"></mat-row>\n <mat-footer-row *matFooterRowDef=\"keys\"></mat-footer-row>\n\n</mat-table>\n\n<div class=\"flx-row-end sticky\">\n <tb-paginator [dataSource]=\"dataSource\" [tableElRef]=\"tableElRef\" #tbPaginator\n [data$]=\"data$\"></tb-paginator>\n\n <mat-icon [matTooltip]=\"(collapseFooter$ | async) ? 'expand' : 'collapse'\" class=\"collapse-icon footer\" (click)=\"state.toggleCollapseFooter()\">\n {{(collapseFooter$ | async) ? 'expand_more' : 'expand_less'}}\n </mat-icon>\n\n</div>\n\n", styles: [".mat-table{overflow:auto}.mat-row:nth-child(odd){background-color:#cdeefe}.sticky{bottom:0px;position:sticky;border-top:.5px solid rgba(0,0,0,.12)}.page-amounts{color:#0000008a;font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px;margin-right:.2rem}.flx-row-end{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;background-color:#fff}:host::ng-deep .mat-paginator-container{min-height:initial!important}:host::ng-deep .mat-paginator-container .mat-form-field-infix{padding:0!important}\n", ".collapse-icon{font-size:16px;height:16px;padding-bottom:.2rem;color:#3f51b5}.collapse-icon.header{align-self:flex-end}.collapse-icon.footer{align-self:flex-start}.collapse-icon:hover{cursor:pointer}.hide{display:none}\n"], components: [{ type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i3.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { type: i5.PaginatorComponent, selector: "tb-paginator", inputs: ["dataSource", "tableElRef", "data$"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i7.StylerDirective, selector: "[styler]", inputs: ["styler"] }, { type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i8.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet"] }, { type: i3.MatCellDef, selector: "[matCellDef]" }, { type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i3.MatFooterCellDef, selector: "[matFooterCellDef]" }, { type: i3.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { type: i3.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], pipes: { "async": i10.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
123
+ GenericTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: GenericTableComponent, selector: "tb-generic-table", inputs: { data$: "data$", IndexColumn: "IndexColumn", SelectionColumn: "SelectionColumn", trackBy: "trackBy", rows: "rows", isSticky: "isSticky", columnBuilders: "columnBuilders", columnInfos: "columnInfos" }, outputs: { selection$: "selection$" }, viewQueries: [{ propertyName: "table", first: true, predicate: MatTable, descendants: true, static: true }, { propertyName: "tableElRef", first: true, predicate: ["table"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<mat-table #table [dataSource]=\"dataSource\" [trackBy]='trackByFunction' [styler]=\"tableWidth | async\">\n\n <ng-container matColumnDef=\"select\">\n\n <mat-header-cell *matHeaderCellDef class=\"f-mat-header-cell\" style=\"flex: 0 0 30px;\" >\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\n [checked]=\"!!(masterToggleChecked$ | async)\"\n [indeterminate]=\"masterToggleIndeterminate$ | async\">\n </mat-checkbox>\n </mat-header-cell>\n\n <mat-cell *matCellDef=\"let row\" style=\"flex: 0 0 30px;\">\n <mat-checkbox (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </mat-cell>\n\n <mat-footer-cell *matFooterCellDef style=\"flex: 0 0 30px;\">\n {{ selection.selected.length }}\n </mat-footer-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"index\">\n <mat-header-cell *matHeaderCellDef class=\"f-mat-header-cell\" >#</mat-header-cell>\n <mat-cell *matCellDef=\"let i = index;\"> {{ (tbPaginator.paginator.pageIndex * tbPaginator.paginator.pageSize) + i + 1 }} </mat-cell>\n <mat-footer-cell *matFooterCellDef></mat-footer-cell>\n\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"keys; sticky: isSticky\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: keys; let i = index\"></mat-row>\n <mat-footer-row *matFooterRowDef=\"keys\"></mat-footer-row>\n\n</mat-table>\n\n<div class=\"flx-row-end sticky\">\n <tb-paginator [dataSource]=\"dataSource\" [tableElRef]=\"tableElRef\" #tbPaginator\n [data$]=\"data$\"></tb-paginator>\n\n <mat-icon [matTooltip]=\"(collapseFooter$ | async) ? 'expand' : 'collapse'\" class=\"collapse-icon footer\" (click)=\"state.toggleCollapseFooter()\">\n {{(collapseFooter$ | async) ? 'expand_more' : 'expand_less'}}\n </mat-icon>\n\n</div>\n\n", styles: [".mat-table{overflow:auto}.mat-row:nth-child(odd){background-color:#cdeefe}.sticky{bottom:0px;position:sticky;border-top:.5px solid rgba(0,0,0,.12)}.page-amounts{color:#0000008a;font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px;margin-right:.2rem}.flx-row-end{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;background-color:#fff}:host::ng-deep .mat-paginator-container{min-height:initial!important}:host::ng-deep .mat-paginator-container .mat-form-field-infix{padding:0!important}\n", ".collapse-icon{font-size:16px;height:16px;padding-bottom:.2rem;color:#3f51b5}.collapse-icon.header{align-self:flex-end}.collapse-icon.footer{align-self:flex-start}.collapse-icon:hover{cursor:pointer}.hide{display:none}\n"], components: [{ type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i3.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { type: i5.PaginatorComponent, selector: "tb-paginator", inputs: ["dataSource", "tableElRef", "data$"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i7.StylerDirective, selector: "[styler]", inputs: ["styler"] }, { type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i3.MatCellDef, selector: "[matCellDef]" }, { type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i3.MatFooterCellDef, selector: "[matFooterCellDef]" }, { type: i3.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { type: i3.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], pipes: { "async": i9.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
125
124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: GenericTableComponent, decorators: [{
126
125
  type: Component,
127
- args: [{ selector: 'tb-generic-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-table #table [dataSource]=\"dataSource\" [trackBy]='trackByFunction' [styler]=\"tableWidth | async\">\n\n <ng-container matColumnDef=\"select\">\n\n <mat-header-cell *matHeaderCellDef class=\"f-mat-header-cell\" style=\"flex: 0 0 30px;\" >\n <mat-checkbox *ngrxLet=\"masterToggleChecked$ as masterToggleChecked\" (change)=\"$event ? masterToggle() : null\"\n [checked]=\"masterToggleChecked\"\n [indeterminate]=\"masterToggleIndeterminate$ | async\">\n </mat-checkbox>\n </mat-header-cell>\n\n <mat-cell *matCellDef=\"let row\" style=\"flex: 0 0 30px;\">\n <mat-checkbox (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </mat-cell>\n\n <mat-footer-cell *matFooterCellDef style=\"flex: 0 0 30px;\">\n {{ selection.selected.length }}\n </mat-footer-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"index\">\n <mat-header-cell *matHeaderCellDef class=\"f-mat-header-cell\" >#</mat-header-cell>\n <mat-cell *matCellDef=\"let i = index;\"> {{ (tbPaginator.paginator.pageIndex * tbPaginator.paginator.pageSize) + i + 1 }} </mat-cell>\n <mat-footer-cell *matFooterCellDef></mat-footer-cell>\n\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"keys; sticky: isSticky\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: keys; let i = index\"></mat-row>\n <mat-footer-row *matFooterRowDef=\"keys\"></mat-footer-row>\n\n</mat-table>\n\n<div class=\"flx-row-end sticky\">\n <tb-paginator [dataSource]=\"dataSource\" [tableElRef]=\"tableElRef\" #tbPaginator\n [data$]=\"data$\"></tb-paginator>\n\n <mat-icon [matTooltip]=\"(collapseFooter$ | async) ? 'expand' : 'collapse'\" class=\"collapse-icon footer\" (click)=\"state.toggleCollapseFooter()\">\n {{(collapseFooter$ | async) ? 'expand_more' : 'expand_less'}}\n </mat-icon>\n\n</div>\n\n", styles: [".mat-table{overflow:auto}.mat-row:nth-child(odd){background-color:#cdeefe}.sticky{bottom:0px;position:sticky;border-top:.5px solid rgba(0,0,0,.12)}.page-amounts{color:#0000008a;font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px;margin-right:.2rem}.flx-row-end{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;background-color:#fff}:host::ng-deep .mat-paginator-container{min-height:initial!important}:host::ng-deep .mat-paginator-container .mat-form-field-infix{padding:0!important}\n", ".collapse-icon{font-size:16px;height:16px;padding-bottom:.2rem;color:#3f51b5}.collapse-icon.header{align-self:flex-end}.collapse-icon.footer{align-self:flex-start}.collapse-icon:hover{cursor:pointer}.hide{display:none}\n"] }]
126
+ args: [{ selector: 'tb-generic-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-table #table [dataSource]=\"dataSource\" [trackBy]='trackByFunction' [styler]=\"tableWidth | async\">\n\n <ng-container matColumnDef=\"select\">\n\n <mat-header-cell *matHeaderCellDef class=\"f-mat-header-cell\" style=\"flex: 0 0 30px;\" >\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\n [checked]=\"!!(masterToggleChecked$ | async)\"\n [indeterminate]=\"masterToggleIndeterminate$ | async\">\n </mat-checkbox>\n </mat-header-cell>\n\n <mat-cell *matCellDef=\"let row\" style=\"flex: 0 0 30px;\">\n <mat-checkbox (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </mat-cell>\n\n <mat-footer-cell *matFooterCellDef style=\"flex: 0 0 30px;\">\n {{ selection.selected.length }}\n </mat-footer-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"index\">\n <mat-header-cell *matHeaderCellDef class=\"f-mat-header-cell\" >#</mat-header-cell>\n <mat-cell *matCellDef=\"let i = index;\"> {{ (tbPaginator.paginator.pageIndex * tbPaginator.paginator.pageSize) + i + 1 }} </mat-cell>\n <mat-footer-cell *matFooterCellDef></mat-footer-cell>\n\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"keys; sticky: isSticky\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: keys; let i = index\"></mat-row>\n <mat-footer-row *matFooterRowDef=\"keys\"></mat-footer-row>\n\n</mat-table>\n\n<div class=\"flx-row-end sticky\">\n <tb-paginator [dataSource]=\"dataSource\" [tableElRef]=\"tableElRef\" #tbPaginator\n [data$]=\"data$\"></tb-paginator>\n\n <mat-icon [matTooltip]=\"(collapseFooter$ | async) ? 'expand' : 'collapse'\" class=\"collapse-icon footer\" (click)=\"state.toggleCollapseFooter()\">\n {{(collapseFooter$ | async) ? 'expand_more' : 'expand_less'}}\n </mat-icon>\n\n</div>\n\n", styles: [".mat-table{overflow:auto}.mat-row:nth-child(odd){background-color:#cdeefe}.sticky{bottom:0px;position:sticky;border-top:.5px solid rgba(0,0,0,.12)}.page-amounts{color:#0000008a;font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px;margin-right:.2rem}.flx-row-end{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;background-color:#fff}:host::ng-deep .mat-paginator-container{min-height:initial!important}:host::ng-deep .mat-paginator-container .mat-form-field-infix{padding:0!important}\n", ".collapse-icon{font-size:16px;height:16px;padding-bottom:.2rem;color:#3f51b5}.collapse-icon.header{align-self:flex-end}.collapse-icon.footer{align-self:flex-start}.collapse-icon:hover{cursor:pointer}.hide{display:none}\n"] }]
128
127
  }], ctorParameters: function () { return [{ type: i1.MatSort }, { type: i2.TableStore }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i0.Injector }]; }, propDecorators: { data$: [{
129
128
  type: Input
130
129
  }], IndexColumn: [{
@@ -150,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
150
149
  }], selection$: [{
151
150
  type: Output
152
151
  }] } });
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2dlbmVyaWMtdGFibGUvZ2VuZXJpYy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2dlbmVyaWMtdGFibGUvZ2VuZXJpYy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFNTixVQUFVLEVBRVYsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBYSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVwRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7Ozs7QUFTM0UsTUFBTSxPQUFPLHFCQUFxQjtJQW1CaEMsWUFDVSxJQUFhLEVBQ2QsS0FBaUIsRUFDeEIsd0JBQWtELEVBQzFDLGFBQStCLEVBQ3ZDLFFBQWtCO1FBSlYsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNkLFVBQUssR0FBTCxLQUFLLENBQVk7UUFFaEIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBcEJoQyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUd4QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBUzFCLFNBQUksR0FBYyxFQUFFLENBQUM7UUFjckIsb0JBQWUsR0FBRyxDQUFDLEtBQVksRUFBRSxJQUFTLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNULE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUMzQjtZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFBO1FBQ0QsY0FBUyxHQUFvQixFQUFFLENBQUM7UUFDaEMsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQStCdkIsY0FBUyxHQUF1QyxFQUFFLENBQUM7UUFlbkQsc0JBQWlCLEdBQUcsQ0FBQyxJQUFxQixFQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2YsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUMvSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3pCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUE7UUFDRCxjQUFTLEdBQXlCLElBQUksY0FBYyxDQUFNLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxRCxlQUFVLEdBQW9CLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO1FBQy9ELHlCQUFvQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFFLEVBQUUsQ0FBQSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEcsK0JBQTBCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUUsRUFBRSxDQUFBLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBYy9HLFdBQU0sR0FBdUIsQ0FBQyxDQUFDO1FBRS9CLGVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FDbkQsT0FBTyxFQUFFLEVBQ1Qsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQ3JCLEdBQUcsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLEVBQUUsdUJBQXVCLENBQW9CLEVBQUUsRUFBRTtZQUM3RSxJQUFJLHVCQUF1QixFQUFFO2dCQUMzQixPQUFPLENBQUMsRUFBQyxLQUFLLEVBQUMsR0FBRyx1QkFBdUIsSUFBSSxFQUFDLENBQUMsQ0FBQzthQUNqRDtZQUFDLElBQUksUUFBUSxFQUFFLEVBQUU7Z0JBQ2hCLE9BQU8sQ0FBQyxFQUFDLEtBQUssRUFBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRVosU0FBUyxRQUFRO2dCQUNmLE9BQU8sd0JBQXdCLElBQUcsQ0FBQyxJQUFJLHVCQUF1QixJQUFJLElBQUksQ0FBQztZQUN6RSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBRUQsQ0FBQztRQUVKLG9CQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBM0dsRyxJQUFJLENBQUMsT0FBTyxHQUFHLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFFLEVBQUUsR0FBRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUEsQ0FBQSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDO0lBQ2hJLENBQUM7SUFhRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDdEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRTtZQUN4QyxPQUFPLENBQUMsT0FBTyxDQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBRSxDQUFBO1FBQUEsQ0FBQyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ2pELElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3pELENBQUMsQ0FBRSxDQUFDO0lBQ04sQ0FBQztJQUNELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxzQkFBc0IsQ0FDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFFLENBQUMsQ0FDckQsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkMsQ0FBQztJQUlELFdBQVcsQ0FBQyxNQUFrQjtRQUM1QixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEQsSUFBRyxhQUFhLEVBQUU7WUFDaEIsYUFBYSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1NBQzFDO2FBQU07WUFDTCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEYsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNsRCxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1lBQzlDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7U0FDMUQ7SUFDSCxDQUFDO0lBZ0JELGFBQWE7UUFDWCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzVDLE9BQU8sV0FBVyxLQUFLLE9BQU8sQ0FBQztJQUNqQyxDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLFlBQVk7UUFDVixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7O2tIQS9HVSxxQkFBcUI7c0dBQXJCLHFCQUFxQix3VkFXckIsUUFBUSwrSEFDUSxVQUFVLGtEQzlDdkMsaWpFQThDQTsyRkRaYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07b05BSXRDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFDaUMsS0FBSztzQkFBM0MsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNHLFVBQVU7c0JBQWpELFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztnQkFxRjVCLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdDaGlsZCxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgUXVlcnlMaXN0LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIENvbXBvbmVudEZhY3RvcnksXG4gIEluamVjdG9yLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFJvd0RlZiwgTWF0VGFibGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy90YWJsZS1zdG9yZSc7XG5pbXBvcnQgeyB0YXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbHVtbkJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb2x1bW4tYnVpbGRlci9jb2x1bW4tYnVpbGRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZGljdGlvbmFyeSc7XG5pbXBvcnQgeyBHZW5lcmljVGFibGVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9HZW5lcmljVGFibGVEYXRhU291cmNlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XG5pbXBvcnQgeyBub3ROdWxsLCBwcmV2aW91c0FuZEN1cnJlbnQgfSBmcm9tICcuLi8uLi8uLi9yeGpzL3J4anMtb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbHVtbkluZm8gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0NvbHVtbkluZm8nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0Yi1nZW5lcmljLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyaWMtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nZW5lcmljLXRhYmxlLmNvbXBvbmVudC5zY3NzJywnLi4vLi4vc3R5bGVzL2NvbGxhcHNlci5zdHlsZXMuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgR2VuZXJpY1RhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBkYXRhJCE6IE9ic2VydmFibGU8YW55W10+O1xuICBASW5wdXQoKSBJbmRleENvbHVtbiA9IGZhbHNlO1xuICBASW5wdXQoKSBTZWxlY3Rpb25Db2x1bW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdHJhY2tCeSE6IHN0cmluZztcbiAgQElucHV0KCkgcm93cyE6IFF1ZXJ5TGlzdDxNYXRSb3dEZWY8YW55Pj47XG4gIEBJbnB1dCgpIGlzU3RpY2t5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbHVtbkJ1aWxkZXJzITogQ29sdW1uQnVpbGRlckNvbXBvbmVudFtdO1xuXG4gIEBJbnB1dCgpIGNvbHVtbkluZm9zITogT2JzZXJ2YWJsZTxDb2x1bW5JbmZvW10+O1xuICBAVmlld0NoaWxkKE1hdFRhYmxlLCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWJsZSE6IE1hdFRhYmxlPGFueT47XG4gIEBWaWV3Q2hpbGQoJ3RhYmxlJywge3JlYWQ6IEVsZW1lbnRSZWZ9KSB0YWJsZUVsUmVmITogRWxlbWVudFJlZjtcbiAgY3VycmVudENvbHVtbnMhOiBzdHJpbmdbXTtcblxuICBkYXRhU291cmNlITogR2VuZXJpY1RhYmxlRGF0YVNvdXJjZTxhbnk+O1xuICBrZXlzOiBzdHJpbmcgW10gPSBbXTtcbiAgZmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeTxDb2x1bW5CdWlsZGVyQ29tcG9uZW50PiA7XG4gIGluamVjdG9yOiBJbmplY3RvcjtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzb3J0OiBNYXRTb3J0LFxuICAgIHB1YmxpYyBzdGF0ZTogVGFibGVTdG9yZSxcbiAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICkge1xuICAgIHRoaXMuZmFjdG9yeSA9IGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShDb2x1bW5CdWlsZGVyQ29tcG9uZW50KTtcbiAgICB0aGlzLmluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHsgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IE1hdFRhYmxlLCB1c2VGYWN0b3J5OiAoKT0+IHtyZXR1cm4gdGhpcy50YWJsZX0gfV0sIHBhcmVudDogaW5qZWN0b3J9KTtcbiAgfVxuXG4gIHRyYWNrQnlGdW5jdGlvbiA9IChpbmRleDpudW1iZXIsIGl0ZW06IGFueSkgPT4ge1xuICAgIGlmICghaXRlbSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLnRyYWNrQnkpIHtcbiAgICAgIHJldHVybiBpdGVtW3RoaXMudHJhY2tCeV07XG4gICAgfVxuICAgIHJldHVybiBpdGVtO1xuICB9XG4gIHJvd0RlZkFyciA6TWF0Um93RGVmPGFueT5bXT0gW107XG4gIGNvbHVtbnM6c3RyaW5nIFtdID0gW107XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5yb3dzICYmIHRoaXMucm93cyAmJiB0aGlzLm15Q29sdW1ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVJvd0RlZnMoWy4uLnRoaXMucm93c10pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLlNlbGVjdGlvbkNvbHVtbikge1xuICAgICAgdGhpcy5jb2x1bW5zLnB1c2goJ3NlbGVjdCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5JbmRleENvbHVtbikge1xuICAgICB0aGlzLmNvbHVtbnMucHVzaCgnaW5kZXgnKTtcbiAgICB9XG4gICAgdGhpcy5jcmVhdGVEYXRhU291cmNlKCk7XG5cbiAgICB0aGlzLnN0YXRlLm9uKHRoaXMuY29sdW1uSW5mb3MsIGNvbHVtbnMgPT4ge1xuICAgICAgY29sdW1ucy5mb3JFYWNoKCBjaSA9PiB0aGlzLmFkZE1ldGFEYXRhKGNpKSApfSk7XG4gICAgICB0aGlzLmluaXRpYWxpemVSb3dEZWZzKFsuLi50aGlzLnJvd3NdKTtcbiAgICB0aGlzLnN0YXRlLm9uKHRoaXMuc3RhdGUuZGlzcGxheWVkQ29sdW1ucyQsIGtleXMgPT4ge1xuICAgICAgdGhpcy5rZXlzID0gWy4uLnRoaXMuY29sdW1ucywgLi4ua2V5c107XG4gICAgICB0aGlzLnJvd0RlZkFycj8uZm9yRWFjaChyb3cgPT4gcm93LmNvbHVtbnMgPSB0aGlzLmtleXMpXG4gICAgfSApO1xuICB9XG4gIGNyZWF0ZURhdGFTb3VyY2UoKSB7XG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IEdlbmVyaWNUYWJsZURhdGFTb3VyY2UoXG4gICAgICB0aGlzLmRhdGEkLnBpcGUodGFwKChkKSA9PiB0aGlzLnNlbGVjdGlvbi5jbGVhcigpICkpXG4gICAgKTtcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcbiAgfVxuXG4gIG15Q29sdW1uczogRGljdGlvbmFyeTxDb2x1bW5CdWlsZGVyQ29tcG9uZW50PiA9IHt9O1xuXG4gIGFkZE1ldGFEYXRhKGNvbHVtbjogQ29sdW1uSW5mbykge1xuICAgIGxldCBjb2x1bW5CdWlsZGVyID0gdGhpcy5teUNvbHVtbnNbY29sdW1uLm1ldGFEYXRhLmtleV07XG4gICAgaWYoY29sdW1uQnVpbGRlcikge1xuICAgICAgY29sdW1uQnVpbGRlci5tZXRhRGF0YSA9IGNvbHVtbi5tZXRhRGF0YTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmZhY3RvcnksMCwgdGhpcy5pbmplY3Rvcik7XG4gICAgICBjb21wb25lbnQuaW5zdGFuY2UuY3VzdG9tQ2VsbCA9IGNvbHVtbi5jdXN0b21DZWxsO1xuICAgICAgY29tcG9uZW50Lmluc3RhbmNlLm1ldGFEYXRhID0gY29sdW1uLm1ldGFEYXRhO1xuICAgICAgY29tcG9uZW50Lmluc3RhbmNlLmRhdGEkID0gdGhpcy5kYXRhJDtcbiAgICAgIHRoaXMubXlDb2x1bW5zW2NvbHVtbi5tZXRhRGF0YS5rZXldID0gY29tcG9uZW50Lmluc3RhbmNlO1xuICAgIH1cbiAgfVxuXG4gIGluaXRpYWxpemVSb3dEZWZzID0gKGRlZnM6TWF0Um93RGVmPGFueT5bXSk9PntcbiAgICB0aGlzLnJvd0RlZkFyci5mb3JFYWNoKHI9PnRoaXMudGFibGUucmVtb3ZlUm93RGVmKHIpKTtcbiAgICB0aGlzLnJvd0RlZkFyciA9IGRlZnM7XG4gICAgZGVmcy5mb3JFYWNoKHIgPT4ge1xuICAgICAgci5jb2x1bW5zID0gdGhpcy5jb2x1bW5zLmNvbmNhdChPYmplY3QudmFsdWVzKHRoaXMubXlDb2x1bW5zKS5maWx0ZXIoYyA9PiBjLm1ldGFEYXRhLmZpZWxkVHlwZSAhPT0gRmllbGRUeXBlLkhpZGRlbikubWFwKGMgPT4gYy5tZXRhRGF0YS5rZXkpKTtcbiAgICAgIGlmICh0aGlzLnRhYmxlKSB7XG4gICAgICAgIHRoaXMudGFibGUuYWRkUm93RGVmKHIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHNlbGVjdGlvbiA6IFNlbGVjdGlvbk1vZGVsPGFueT4gPSBuZXcgU2VsZWN0aW9uTW9kZWw8YW55Pih0cnVlLCBbXSk7XG4gIEBPdXRwdXQoKSBzZWxlY3Rpb24kOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLnNlbGVjdGlvbi5jaGFuZ2VkO1xuICBtYXN0ZXJUb2dnbGVDaGVja2VkJCA9IHRoaXMuc2VsZWN0aW9uJC5waXBlKG1hcCgoKT0+dGhpcy5zZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiB0aGlzLmlzQWxsU2VsZWN0ZWQoKSkpO1xuICBtYXN0ZXJUb2dnbGVJbmRldGVybWluYXRlJCA9IHRoaXMuc2VsZWN0aW9uJC5waXBlKG1hcCgoKT0+dGhpcy5zZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiAhdGhpcy5pc0FsbFNlbGVjdGVkKCkpKTtcbiAgaXNBbGxTZWxlY3RlZCgpIHtcbiAgICBjb25zdCBudW1TZWxlY3RlZCA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aDtcbiAgICBjb25zdCBudW1Sb3dzID0gdGhpcy5kYXRhU291cmNlLmRhdGEubGVuZ3RoO1xuICAgIHJldHVybiBudW1TZWxlY3RlZCA9PT0gbnVtUm93cztcbiAgfVxuXG4gIC8qKiBTZWxlY3RzIGFsbCByb3dzIGlmIHRoZXkgYXJlIG5vdCBhbGwgc2VsZWN0ZWQ7IG90aGVyd2lzZSBjbGVhciBzZWxlY3Rpb24uICovXG4gIG1hc3RlclRvZ2dsZSgpIHtcbiAgICB0aGlzLmlzQWxsU2VsZWN0ZWQoKSA/XG4gICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpIDpcbiAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdCguLi50aGlzLmRhdGFTb3VyY2UuZGF0YSk7XG4gIH1cblxuICBkZWZWYWw6IG51bWJlciB8IHVuZGVmaW5lZCA9IDA7XG5cbiAgdGFibGVXaWR0aCA9IHRoaXMuc3RhdGUuZ2V0VXNlckRlZmluZWRUYWJsZVNpemUkLnBpcGUoXG4gICAgbm90TnVsbCgpLFxuICAgIHByZXZpb3VzQW5kQ3VycmVudCgwKSxcbiAgICBtYXAoKFtwcmV2aW91c1VzZXJEZWZpbmVkV2lkdGgsIGN1cnJlbnRVc2VyRGVmaW5lZFdpZHRoXSA6IFtudW1iZXIsIG51bWJlcl0pID0+IHtcbiAgICAgIGlmKCBjdXJyZW50VXNlckRlZmluZWRXaWR0aCApe1xuICAgICAgICByZXR1cm4gKHt3aWR0aDpgJHtjdXJyZW50VXNlckRlZmluZWRXaWR0aH1weGB9KTtcbiAgICAgIH0gaWYoIHdhc1Jlc2V0KCkgKXtcbiAgICAgICAgcmV0dXJuICh7d2lkdGg6J2luaXRpYWwnfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gKHt9KTtcblxuICAgICAgZnVuY3Rpb24gd2FzUmVzZXQoKXtcbiAgICAgICAgcmV0dXJuIHByZXZpb3VzVXNlckRlZmluZWRXaWR0aCA+PTAgJiYgY3VycmVudFVzZXJEZWZpbmVkV2lkdGggPT0gbnVsbDtcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgKTtcblxuICBjb2xsYXBzZUZvb3RlciQgPSB0aGlzLnN0YXRlLnN0YXRlJC5waXBlKG1hcChzdGF0ZSA9PiBzdGF0ZS5wZXJzaXN0ZWRUYWJsZVNldHRpbmdzLmNvbGxhcHNlRm9vdGVyKSk7XG59XG4iLCI8bWF0LXRhYmxlICN0YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgW3RyYWNrQnldPSd0cmFja0J5RnVuY3Rpb24nIFtzdHlsZXJdPVwidGFibGVXaWR0aCB8IGFzeW5jXCI+XG5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNlbGVjdFwiPlxuXG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJmLW1hdC1oZWFkZXItY2VsbFwiIHN0eWxlPVwiZmxleDogMCAwIDMwcHg7XCIgPlxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggKm5ncnhMZXQ9XCJtYXN0ZXJUb2dnbGVDaGVja2VkJCBhcyBtYXN0ZXJUb2dnbGVDaGVja2VkXCIgKGNoYW5nZSk9XCIkZXZlbnQgPyBtYXN0ZXJUb2dnbGUoKSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwibWFzdGVyVG9nZ2xlQ2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJtYXN0ZXJUb2dnbGVJbmRldGVybWluYXRlJCB8IGFzeW5jXCI+XG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgIDwvbWF0LWhlYWRlci1jZWxsPlxuXG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBzdHlsZT1cImZsZXg6IDAgMCAzMHB4O1wiPlxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHNlbGVjdGlvbi50b2dnbGUocm93KSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KVwiPlxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICA8L21hdC1jZWxsPlxuXG4gICAgICAgIDxtYXQtZm9vdGVyLWNlbGwgKm1hdEZvb3RlckNlbGxEZWYgc3R5bGU9XCJmbGV4OiAwIDAgMzBweDtcIj5cbiAgICAgICAgICB7eyBzZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoIH19XG4gICAgICAgIDwvbWF0LWZvb3Rlci1jZWxsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPVwiZi1tYXQtaGVhZGVyLWNlbGxcIiA+IzwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpID0gaW5kZXg7XCI+IHt7ICh0YlBhZ2luYXRvci5wYWdpbmF0b3IucGFnZUluZGV4ICogdGJQYWdpbmF0b3IucGFnaW5hdG9yLnBhZ2VTaXplKSArICBpICsgMSB9fSA8L21hdC1jZWxsPlxuICAgICAgICAgIDxtYXQtZm9vdGVyLWNlbGwgKm1hdEZvb3RlckNlbGxEZWY+PC9tYXQtZm9vdGVyLWNlbGw+XG5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gIDxtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwia2V5czsgc3RpY2t5OiBpc1N0aWNreVwiPjwvbWF0LWhlYWRlci1yb3c+XG4gIDxtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBrZXlzOyBsZXQgaSA9IGluZGV4XCI+PC9tYXQtcm93PlxuICA8bWF0LWZvb3Rlci1yb3cgKm1hdEZvb3RlclJvd0RlZj1cImtleXNcIj48L21hdC1mb290ZXItcm93PlxuXG48L21hdC10YWJsZT5cblxuPGRpdiBjbGFzcz1cImZseC1yb3ctZW5kIHN0aWNreVwiPlxuICA8dGItcGFnaW5hdG9yIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBbdGFibGVFbFJlZl09XCJ0YWJsZUVsUmVmXCIgI3RiUGFnaW5hdG9yXG4gIFtkYXRhJF09XCJkYXRhJFwiPjwvdGItcGFnaW5hdG9yPlxuXG4gIDxtYXQtaWNvbiBbbWF0VG9vbHRpcF09XCIoY29sbGFwc2VGb290ZXIkIHwgYXN5bmMpID8gJ2V4cGFuZCcgOiAnY29sbGFwc2UnXCIgY2xhc3M9XCJjb2xsYXBzZS1pY29uIGZvb3RlclwiIChjbGljayk9XCJzdGF0ZS50b2dnbGVDb2xsYXBzZUZvb3RlcigpXCI+XG4gICAge3soY29sbGFwc2VGb290ZXIkIHwgYXN5bmMpID8gJ2V4cGFuZF9tb3JlJyA6ICdleHBhbmRfbGVzcyd9fVxuICA8L21hdC1pY29uPlxuXG48L2Rpdj5cblxuIl19
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2dlbmVyaWMtdGFibGUvZ2VuZXJpYy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2dlbmVyaWMtdGFibGUvZ2VuZXJpYy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFNTixVQUFVLEVBRVYsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBYSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVwRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFXLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7O0FBUzNFLE1BQU0sT0FBTyxxQkFBcUI7SUFtQmhDLFlBQ1UsSUFBYSxFQUNkLEtBQWlCLEVBQ3hCLHdCQUFrRCxFQUMxQyxhQUErQixFQUN2QyxRQUFrQjtRQUpWLFNBQUksR0FBSixJQUFJLENBQVM7UUFDZCxVQUFLLEdBQUwsS0FBSyxD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cUI7a0JBTmpDLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07b05BSXRDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFDaUMsS0FBSztzQkFBM0MsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNHLFVBQVU7c0JBQWpELFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztnQkFxRjVCLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdDaGlsZCxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgUXVlcnlMaXN0LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIENvbXBvbmVudEZhY3RvcnksXG4gIEluamVjdG9yLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFJvd0RlZiwgTWF0VGFibGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy90YWJsZS1zdG9yZSc7XG5pbXBvcnQgeyB0YXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbHVtbkJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb2x1bW4tYnVpbGRlci9jb2x1bW4tYnVpbGRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZGljdGlvbmFyeSc7XG5pbXBvcnQgeyBHZW5lcmljVGFibGVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9HZW5lcmljVGFibGVEYXRhU291cmNlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XG5pbXBvcnQgeyBub3ROdWxsLCBwcmV2aW91c0FuZEN1cnJlbnQgfSBmcm9tICcuLi8uLi8uLi9yeGpzL3J4anMtb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbHVtbkluZm8gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0NvbHVtbkluZm8nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0Yi1nZW5lcmljLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyaWMtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nZW5lcmljLXRhYmxlLmNvbXBvbmVudC5zY3NzJywnLi4vLi4vc3R5bGVzL2NvbGxhcHNlci5zdHlsZXMuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgR2VuZXJpY1RhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBkYXRhJCE6IE9ic2VydmFibGU8YW55W10+O1xuICBASW5wdXQoKSBJbmRleENvbHVtbiA9IGZhbHNlO1xuICBASW5wdXQoKSBTZWxlY3Rpb25Db2x1bW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdHJhY2tCeSE6IHN0cmluZztcbiAgQElucHV0KCkgcm93cyE6IFF1ZXJ5TGlzdDxNYXRSb3dEZWY8YW55Pj47XG4gIEBJbnB1dCgpIGlzU3RpY2t5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbHVtbkJ1aWxkZXJzITogQ29sdW1uQnVpbGRlckNvbXBvbmVudFtdO1xuXG4gIEBJbnB1dCgpIGNvbHVtbkluZm9zITogT2JzZXJ2YWJsZTxDb2x1bW5JbmZvW10+O1xuICBAVmlld0NoaWxkKE1hdFRhYmxlLCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWJsZSE6IE1hdFRhYmxlPGFueT47XG4gIEBWaWV3Q2hpbGQoJ3RhYmxlJywge3JlYWQ6IEVsZW1lbnRSZWZ9KSB0YWJsZUVsUmVmITogRWxlbWVudFJlZjtcbiAgY3VycmVudENvbHVtbnMhOiBzdHJpbmdbXTtcblxuICBkYXRhU291cmNlITogR2VuZXJpY1RhYmxlRGF0YVNvdXJjZTxhbnk+O1xuICBrZXlzOiBzdHJpbmcgW10gPSBbXTtcbiAgZmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeTxDb2x1bW5CdWlsZGVyQ29tcG9uZW50PiA7XG4gIGluamVjdG9yOiBJbmplY3RvcjtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzb3J0OiBNYXRTb3J0LFxuICAgIHB1YmxpYyBzdGF0ZTogVGFibGVTdG9yZSxcbiAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICkge1xuICAgIHRoaXMuZmFjdG9yeSA9IGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShDb2x1bW5CdWlsZGVyQ29tcG9uZW50KTtcbiAgICB0aGlzLmluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHsgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IE1hdFRhYmxlLCB1c2VGYWN0b3J5OiAoKT0+IHtyZXR1cm4gdGhpcy50YWJsZX0gfV0sIHBhcmVudDogaW5qZWN0b3J9KTtcbiAgfVxuXG4gIHRyYWNrQnlGdW5jdGlvbiA9IChpbmRleDpudW1iZXIsIGl0ZW06IGFueSkgPT4ge1xuICAgIGlmICghaXRlbSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLnRyYWNrQnkpIHtcbiAgICAgIHJldHVybiBpdGVtW3RoaXMudHJhY2tCeV07XG4gICAgfVxuICAgIHJldHVybiBpdGVtO1xuICB9XG4gIHJvd0RlZkFyciA6TWF0Um93RGVmPGFueT5bXT0gW107XG4gIGNvbHVtbnM6c3RyaW5nIFtdID0gW107XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5yb3dzICYmIHRoaXMucm93cyAmJiB0aGlzLm15Q29sdW1ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVJvd0RlZnMoWy4uLnRoaXMucm93c10pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLlNlbGVjdGlvbkNvbHVtbikge1xuICAgICAgdGhpcy5jb2x1bW5zLnB1c2goJ3NlbGVjdCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5JbmRleENvbHVtbikge1xuICAgICB0aGlzLmNvbHVtbnMucHVzaCgnaW5kZXgnKTtcbiAgICB9XG4gICAgdGhpcy5jcmVhdGVEYXRhU291cmNlKCk7XG5cbiAgICB0aGlzLnN0YXRlLm9uKHRoaXMuY29sdW1uSW5mb3MsIGNvbHVtbnMgPT4ge1xuICAgICAgY29sdW1ucy5mb3JFYWNoKCBjaSA9PiB0aGlzLmFkZE1ldGFEYXRhKGNpKSApfSk7XG4gICAgICB0aGlzLmluaXRpYWxpemVSb3dEZWZzKFsuLi50aGlzLnJvd3NdKTtcbiAgICB0aGlzLnN0YXRlLm9uKHRoaXMuc3RhdGUuZGlzcGxheWVkQ29sdW1ucyQsIGtleXMgPT4ge1xuICAgICAgdGhpcy5rZXlzID0gWy4uLnRoaXMuY29sdW1ucywgLi4ua2V5c107XG4gICAgICB0aGlzLnJvd0RlZkFycj8uZm9yRWFjaChyb3cgPT4gcm93LmNvbHVtbnMgPSB0aGlzLmtleXMpXG4gICAgfSApO1xuICB9XG4gIGNyZWF0ZURhdGFTb3VyY2UoKSB7XG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IEdlbmVyaWNUYWJsZURhdGFTb3VyY2UoXG4gICAgICB0aGlzLmRhdGEkLnBpcGUodGFwKChkKSA9PiB0aGlzLnNlbGVjdGlvbi5jbGVhcigpICkpXG4gICAgKTtcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcbiAgfVxuXG4gIG15Q29sdW1uczogRGljdGlvbmFyeTxDb2x1bW5CdWlsZGVyQ29tcG9uZW50PiA9IHt9O1xuXG4gIGFkZE1ldGFEYXRhKGNvbHVtbjogQ29sdW1uSW5mbykge1xuICAgIGxldCBjb2x1bW5CdWlsZGVyID0gdGhpcy5teUNvbHVtbnNbY29sdW1uLm1ldGFEYXRhLmtleV07XG4gICAgaWYoY29sdW1uQnVpbGRlcikge1xuICAgICAgY29sdW1uQnVpbGRlci5tZXRhRGF0YSA9IGNvbHVtbi5tZXRhRGF0YTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmZhY3RvcnksMCwgdGhpcy5pbmplY3Rvcik7XG4gICAgICBjb21wb25lbnQuaW5zdGFuY2UuY3VzdG9tQ2VsbCA9IGNvbHVtbi5jdXN0b21DZWxsO1xuICAgICAgY29tcG9uZW50Lmluc3RhbmNlLm1ldGFEYXRhID0gY29sdW1uLm1ldGFEYXRhO1xuICAgICAgY29tcG9uZW50Lmluc3RhbmNlLmRhdGEkID0gdGhpcy5kYXRhJDtcbiAgICAgIHRoaXMubXlDb2x1bW5zW2NvbHVtbi5tZXRhRGF0YS5rZXldID0gY29tcG9uZW50Lmluc3RhbmNlO1xuICAgIH1cbiAgfVxuXG4gIGluaXRpYWxpemVSb3dEZWZzID0gKGRlZnM6TWF0Um93RGVmPGFueT5bXSk9PntcbiAgICB0aGlzLnJvd0RlZkFyci5mb3JFYWNoKHI9PnRoaXMudGFibGUucmVtb3ZlUm93RGVmKHIpKTtcbiAgICB0aGlzLnJvd0RlZkFyciA9IGRlZnM7XG4gICAgZGVmcy5mb3JFYWNoKHIgPT4ge1xuICAgICAgci5jb2x1bW5zID0gdGhpcy5jb2x1bW5zLmNvbmNhdChPYmplY3QudmFsdWVzKHRoaXMubXlDb2x1bW5zKS5maWx0ZXIoYyA9PiBjLm1ldGFEYXRhLmZpZWxkVHlwZSAhPT0gRmllbGRUeXBlLkhpZGRlbikubWFwKGMgPT4gYy5tZXRhRGF0YS5rZXkpKTtcbiAgICAgIGlmICh0aGlzLnRhYmxlKSB7XG4gICAgICAgIHRoaXMudGFibGUuYWRkUm93RGVmKHIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHNlbGVjdGlvbiA6IFNlbGVjdGlvbk1vZGVsPGFueT4gPSBuZXcgU2VsZWN0aW9uTW9kZWw8YW55Pih0cnVlLCBbXSk7XG4gIEBPdXRwdXQoKSBzZWxlY3Rpb24kOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLnNlbGVjdGlvbi5jaGFuZ2VkO1xuICBtYXN0ZXJUb2dnbGVDaGVja2VkJCA9IHRoaXMuc2VsZWN0aW9uJC5waXBlKG1hcCgoKT0+dGhpcy5zZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiB0aGlzLmlzQWxsU2VsZWN0ZWQoKSkpO1xuICBtYXN0ZXJUb2dnbGVJbmRldGVybWluYXRlJCA9IHRoaXMuc2VsZWN0aW9uJC5waXBlKG1hcCgoKT0+dGhpcy5zZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiAhdGhpcy5pc0FsbFNlbGVjdGVkKCkpKTtcbiAgaXNBbGxTZWxlY3RlZCgpIHtcbiAgICBjb25zdCBudW1TZWxlY3RlZCA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aDtcbiAgICBjb25zdCBudW1Sb3dzID0gdGhpcy5kYXRhU291cmNlLmRhdGEubGVuZ3RoO1xuICAgIHJldHVybiBudW1TZWxlY3RlZCA9PT0gbnVtUm93cztcbiAgfVxuXG4gIC8qKiBTZWxlY3RzIGFsbCByb3dzIGlmIHRoZXkgYXJlIG5vdCBhbGwgc2VsZWN0ZWQ7IG90aGVyd2lzZSBjbGVhciBzZWxlY3Rpb24uICovXG4gIG1hc3RlclRvZ2dsZSgpIHtcbiAgICB0aGlzLmlzQWxsU2VsZWN0ZWQoKSA/XG4gICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpIDpcbiAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdCguLi50aGlzLmRhdGFTb3VyY2UuZGF0YSk7XG4gIH1cblxuICBkZWZWYWw6IG51bWJlciB8IHVuZGVmaW5lZCA9IDA7XG5cbiAgdGFibGVXaWR0aCA9IHRoaXMuc3RhdGUuZ2V0VXNlckRlZmluZWRUYWJsZVNpemUkLnBpcGUoXG4gICAgcHJldmlvdXNBbmRDdXJyZW50PG51bWJlciB8IHVuZGVmaW5lZD4oMCksXG4gICAgbWFwKChbcHJldmlvdXNVc2VyRGVmaW5lZFdpZHRoLCBjdXJyZW50VXNlckRlZmluZWRXaWR0aF0pID0+IHtcbiAgICAgIGlmKCBjdXJyZW50VXNlckRlZmluZWRXaWR0aCl7XG4gICAgICAgIHJldHVybiAoe3dpZHRoOmAke2N1cnJlbnRVc2VyRGVmaW5lZFdpZHRofXB4YH0pO1xuICAgICAgfSBpZiggd2FzUmVzZXQoKSApe1xuICAgICAgICByZXR1cm4gKHt3aWR0aDonaW5pdGlhbCd9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAoe30pO1xuXG4gICAgICBmdW5jdGlvbiB3YXNSZXNldCgpe1xuICAgICAgICByZXR1cm4gKHByZXZpb3VzVXNlckRlZmluZWRXaWR0aCA/PyAwKSA+PTAgJiYgY3VycmVudFVzZXJEZWZpbmVkV2lkdGggPT0gbnVsbDtcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgKTtcblxuICBjb2xsYXBzZUZvb3RlciQgPSB0aGlzLnN0YXRlLnN0YXRlJC5waXBlKG1hcChzdGF0ZSA9PiBzdGF0ZS5wZXJzaXN0ZWRUYWJsZVNldHRpbmdzLmNvbGxhcHNlRm9vdGVyKSk7XG59XG4iLCI8bWF0LXRhYmxlICN0YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgW3RyYWNrQnldPSd0cmFja0J5RnVuY3Rpb24nIFtzdHlsZXJdPVwidGFibGVXaWR0aCB8IGFzeW5jXCI+XG5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNlbGVjdFwiPlxuXG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJmLW1hdC1oZWFkZXItY2VsbFwiIHN0eWxlPVwiZmxleDogMCAwIDMwcHg7XCIgPlxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggKGNoYW5nZSk9XCIkZXZlbnQgPyBtYXN0ZXJUb2dnbGUoKSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiISEobWFzdGVyVG9nZ2xlQ2hlY2tlZCQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwibWFzdGVyVG9nZ2xlSW5kZXRlcm1pbmF0ZSQgfCBhc3luY1wiPlxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICA8L21hdC1oZWFkZXItY2VsbD5cblxuICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgc3R5bGU9XCJmbGV4OiAwIDAgMzBweDtcIj5cbiAgICAgICAgICA8bWF0LWNoZWNrYm94IChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyBzZWxlY3Rpb24udG9nZ2xlKHJvdykgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdylcIj5cbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9tYXQtY2VsbD5cblxuICAgICAgICA8bWF0LWZvb3Rlci1jZWxsICptYXRGb290ZXJDZWxsRGVmIHN0eWxlPVwiZmxleDogMCAwIDMwcHg7XCI+XG4gICAgICAgICAge3sgc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aCB9fVxuICAgICAgICA8L21hdC1mb290ZXItY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImluZGV4XCI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz1cImYtbWF0LWhlYWRlci1jZWxsXCIgPiM8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaSA9IGluZGV4O1wiPiB7eyAodGJQYWdpbmF0b3IucGFnaW5hdG9yLnBhZ2VJbmRleCAqIHRiUGFnaW5hdG9yLnBhZ2luYXRvci5wYWdlU2l6ZSkgKyAgaSArIDEgfX0gPC9tYXQtY2VsbD5cbiAgICAgICAgICA8bWF0LWZvb3Rlci1jZWxsICptYXRGb290ZXJDZWxsRGVmPjwvbWF0LWZvb3Rlci1jZWxsPlxuXG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICA8bWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImtleXM7IHN0aWNreTogaXNTdGlja3lcIj48L21hdC1oZWFkZXItcm93PlxuICA8bWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczoga2V5czsgbGV0IGkgPSBpbmRleFwiPjwvbWF0LXJvdz5cbiAgPG1hdC1mb290ZXItcm93ICptYXRGb290ZXJSb3dEZWY9XCJrZXlzXCI+PC9tYXQtZm9vdGVyLXJvdz5cblxuPC9tYXQtdGFibGU+XG5cbjxkaXYgY2xhc3M9XCJmbHgtcm93LWVuZCBzdGlja3lcIj5cbiAgPHRiLXBhZ2luYXRvciBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgW3RhYmxlRWxSZWZdPVwidGFibGVFbFJlZlwiICN0YlBhZ2luYXRvclxuICBbZGF0YSRdPVwiZGF0YSRcIj48L3RiLXBhZ2luYXRvcj5cblxuICA8bWF0LWljb24gW21hdFRvb2x0aXBdPVwiKGNvbGxhcHNlRm9vdGVyJCB8IGFzeW5jKSA/ICdleHBhbmQnIDogJ2NvbGxhcHNlJ1wiIGNsYXNzPVwiY29sbGFwc2UtaWNvbiBmb290ZXJcIiAoY2xpY2spPVwic3RhdGUudG9nZ2xlQ29sbGFwc2VGb290ZXIoKVwiPlxuICAgIHt7KGNvbGxhcHNlRm9vdGVyJCB8IGFzeW5jKSA/ICdleHBhbmRfbW9yZScgOiAnZXhwYW5kX2xlc3MnfX1cbiAgPC9tYXQtaWNvbj5cblxuPC9kaXY+XG5cbiJdfQ==
@@ -30,7 +30,7 @@ export class InFilterComponent {
30
30
  throw new Error('Method not implemented.');
31
31
  }
32
32
  addInput() {
33
- this.value = [...this.value];
33
+ this.value = [...this.value, undefined];
34
34
  this.ref.markForCheck();
35
35
  this.onChange(this.value);
36
36
  }
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
63
63
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { type: [{
64
64
  type: Input
65
65
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvaW4tZmlsdGVyL2luLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2luLWZpbHRlci9pbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7O0FBYXhELE1BQU0sT0FBTyxpQkFBaUI7SUFLNUIsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFKMUMsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUV0QixVQUFLLEdBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQVUzQixhQUFRLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUszQixjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBWnBCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsVUFBVSxDQUFDLEdBQVU7UUFDbkIsSUFBRyxDQUFDLEdBQUcsRUFBRSxNQUFNO1lBQUUsR0FBRyxHQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBR0QsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYSxDQUFDLENBQVEsRUFBQyxLQUFzQjtRQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDOzs4R0E1Q1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsa0VBTmpCLENBQUM7WUFDVixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxpQkFBaUI7WUFDOUIsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLDBCQ2RKLDA0QkFhQTsyRkRHYSxpQkFBaUI7a0JBWDdCLFNBQVM7K0JBQ0UsZUFBZSxtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ25DLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxtQkFBbUI7NEJBQzlCLEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUM7d0dBSU8sSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWx0ZXJJbmZvIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXItaW5mbyc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWYnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItaW4tZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2luLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2luLWZpbHRlci5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjpDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogSW5GaWx0ZXJDb21wb25lbnQsXG4gICAgbXVsdGk6IHRydWVcbiAgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEluRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBGaWVsZFR5cGUgPSBGaWVsZFR5cGU7XG4gIEBJbnB1dCgpIHR5cGUhIDogRmllbGRUeXBlO1xuICB2YWx1ZTogYW55W10gPSBbdW5kZWZpbmVkXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLnZhbHVlID0gW3VuZGVmaW5lZF07XG4gIH1cbiAgd3JpdGVWYWx1ZShvYmo6IGFueVtdKTogdm9pZCB7XG4gICAgaWYoIW9iaj8ubGVuZ3RoKSBvYmogID0gW3VuZGVmaW5lZF07XG4gICAgdGhpcy52YWx1ZSA9IG9iajtcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgb25Ub3VjaGVkID0gKCkgPT4geyB9O1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgYWRkSW5wdXQoKXtcbiAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWVdO1xuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICByZW1vdmVJbnB1dChpbmRleDogbnVtYmVyKXtcbiAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWVdO1xuICAgIHRoaXMudmFsdWUuc3BsaWNlKGluZGV4LDEpO1xuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlKGk6bnVtYmVyLHZhbHVlOiBudW1iZXIgfCBzdHJpbmcpe1xuICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZV07XG4gICAgdGhpcy52YWx1ZVtpXSA9IHZhbHVlO1xuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1pbmxpbmU+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgdmFsIG9mIHZhbHVlOyBpbmRleCBhcyBpXCI+XG4gICAgICA8aW5wdXQgKm5nSWY9XCJ0eXBlID09PSBGaWVsZFR5cGUuTnVtYmVyIHx8IHR5cGUgPT09IEZpZWxkVHlwZS5DdXJyZW5jeVwiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoaSwkZXZlbnQpXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cImkrMSA8IHZhbHVlLmxlbmd0aFwiIHR5cGU9XCJudW1iZXJcIiBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6dHJ1ZX1cIiBbYXV0b0ZvY3VzXT1cImkgPT09IHZhbHVlLmxlbmd0aCAtIDFcIi8+XG4gICAgICA8aW5wdXQgKm5nSWY9XCJ0eXBlICE9PSBGaWVsZFR5cGUuTnVtYmVyICYmIHR5cGUgIT09IEZpZWxkVHlwZS5DdXJyZW5jeVwiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoaSwkZXZlbnQpXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cImkrMSA8IHZhbHVlLmxlbmd0aFwiIHR5cGU9XCJzdHJpbmdcIiBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6dHJ1ZX1cIlxuICAgICAgICAjaW5wdXQgW2F1dG9Gb2N1c109XCJpID09PSB2YWx1ZS5sZW5ndGggLSAxXCIgLz5cbiAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInZhbHVlLmxlbmd0aCA8PSAxXCIgKGNsaWNrKT1cInJlbW92ZUlucHV0KGkpXCI+LTwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cImkgPT09IHZhbHVlLmxlbmd0aCAtIDFcIiBbZGlzYWJsZWRdPVwidmFsID09IHVuZGVmaW5lZCB8fCB2YWwgPT09ICcnXCIgKGNsaWNrKT1cImFkZElucHV0KClcIj4rPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvaW4tZmlsdGVyL2luLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2luLWZpbHRlci9pbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7O0FBYXhELE1BQU0sT0FBTyxpQkFBaUI7SUFLNUIsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFKMUMsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUV0QixVQUFLLEdBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQVUzQixhQUFRLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUszQixjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBWnBCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsVUFBVSxDQUFDLEdBQVU7UUFDbkIsSUFBRyxDQUFDLEdBQUcsRUFBRSxNQUFNO1lBQUUsR0FBRyxHQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBR0QsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxDQUFRLEVBQUMsS0FBc0I7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7OEdBNUNVLGlCQUFpQjtrR0FBakIsaUJBQWlCLGtFQU5qQixDQUFDO1lBQ1YsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsaUJBQWlCO1lBQzlCLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQywwQkNkSiwwNEJBYUE7MkZER2EsaUJBQWlCO2tCQVg3QixTQUFTOytCQUNFLGVBQWUsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxhQUNuQyxDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsbUJBQW1COzRCQUM5QixLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDO3dHQUlPLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmlsdGVySW5mbyB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZmlsdGVyLWluZm8nO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWluLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbi1maWx0ZXIuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IEluRmlsdGVyQ29tcG9uZW50LFxuICAgIG11bHRpOiB0cnVlXG4gIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBJbkZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgRmllbGRUeXBlID0gRmllbGRUeXBlO1xuICBASW5wdXQoKSB0eXBlISA6IEZpZWxkVHlwZTtcbiAgdmFsdWU6IGFueVtdID0gW3VuZGVmaW5lZF07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy52YWx1ZSA9IFt1bmRlZmluZWRdO1xuICB9XG4gIHdyaXRlVmFsdWUob2JqOiBhbnlbXSk6IHZvaWQge1xuICAgIGlmKCFvYmo/Lmxlbmd0aCkgb2JqICA9IFt1bmRlZmluZWRdO1xuICAgIHRoaXMudmFsdWUgPSBvYmo7XG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cbiAgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG4gIG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIGFkZElucHV0KCl7XG4gICAgdGhpcy52YWx1ZSA9IFsuLi50aGlzLnZhbHVlLCB1bmRlZmluZWRdO1xuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICByZW1vdmVJbnB1dChpbmRleDogbnVtYmVyKXtcbiAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWVdO1xuICAgIHRoaXMudmFsdWUuc3BsaWNlKGluZGV4LDEpO1xuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlKGk6bnVtYmVyLHZhbHVlOiBudW1iZXIgfCBzdHJpbmcpe1xuICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZV07XG4gICAgdGhpcy52YWx1ZVtpXSA9IHZhbHVlO1xuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1pbmxpbmU+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgdmFsIG9mIHZhbHVlOyBpbmRleCBhcyBpXCI+XG4gICAgICA8aW5wdXQgKm5nSWY9XCJ0eXBlID09PSBGaWVsZFR5cGUuTnVtYmVyIHx8IHR5cGUgPT09IEZpZWxkVHlwZS5DdXJyZW5jeVwiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoaSwkZXZlbnQpXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cImkrMSA8IHZhbHVlLmxlbmd0aFwiIHR5cGU9XCJudW1iZXJcIiBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6dHJ1ZX1cIiBbYXV0b0ZvY3VzXT1cImkgPT09IHZhbHVlLmxlbmd0aCAtIDFcIi8+XG4gICAgICA8aW5wdXQgKm5nSWY9XCJ0eXBlICE9PSBGaWVsZFR5cGUuTnVtYmVyICYmIHR5cGUgIT09IEZpZWxkVHlwZS5DdXJyZW5jeVwiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoaSwkZXZlbnQpXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cImkrMSA8IHZhbHVlLmxlbmd0aFwiIHR5cGU9XCJzdHJpbmdcIiBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6dHJ1ZX1cIlxuICAgICAgICAjaW5wdXQgW2F1dG9Gb2N1c109XCJpID09PSB2YWx1ZS5sZW5ndGggLSAxXCIgLz5cbiAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInZhbHVlLmxlbmd0aCA8PSAxXCIgKGNsaWNrKT1cInJlbW92ZUlucHV0KGkpXCI+LTwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cImkgPT09IHZhbHVlLmxlbmd0aCAtIDFcIiBbZGlzYWJsZWRdPVwidmFsID09IHVuZGVmaW5lZCB8fCB2YWwgPT09ICcnXCIgKGNsaWNrKT1cImFkZElucHV0KClcIj4rPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -33,7 +33,7 @@ import * as i13 from "../../directives/multi-sort.directive";
33
33
  import * as i14 from "@ngrx/component";
34
34
  import * as i15 from "@angular/common";
35
35
  import * as i16 from "@angular/material/tooltip";
36
- import * as i17 from "../../../utilities/directives/buttonSubject";
36
+ import * as i17 from "../../../utilities/directives/clickEmitterDirective";
37
37
  import * as i18 from "../../../utilities/directives/stop-propagation.directive";
38
38
  import * as i19 from "../../../utilities/directives/dialog";
39
39
  import * as i20 from "@angular/material/input";
@@ -128,10 +128,10 @@ export class TableContainerComponent {
128
128
  }
129
129
  }
130
130
  TableContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TableContainerComponent, deps: [{ token: i1.TableStore }, { token: i2.ExportToCsvService }, { token: TableBuilderConfigToken }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Component });
131
- TableContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: TableContainerComponent, selector: "tb-table-container", inputs: { tableId: "tableId", SaveState: "SaveState", tableBuilder: "tableBuilder", IndexColumn: "IndexColumn", SelectionColumn: "SelectionColumn", trackBy: "trackBy", isSticky: "isSticky", pageSize: "pageSize", inputFilters: "inputFilters" }, outputs: { selection$: "selection$", data: "data", OnStateReset: "OnStateReset", OnSaveState: "OnSaveState", state$: "state$" }, providers: [TableStore, ExportToCsvService, WrapperFilterStore], queries: [{ propertyName: "customRows", predicate: MatRowDef }, { propertyName: "customCells", predicate: CustomCellDirective }], ngImport: i0, template: "<ng-container multiSort>\n <ng-container *ngrxLet=\"state.tableSettings$ as tableSettings\">\n\n\n <div class=\"header-wrapper\">\n <div class=\"title\">\n <ng-content select=\".tb-header-title\"\n *ngIf=\"(!(collapseHeader$ | async)) || tableSettings.showTitleWhenHeaderCollapsed\">\n\n </ng-content>\n </div>\n <div class=\"flx-row-end\">\n <lib-filter-list></lib-filter-list>\n <ng-container *ngIf=\"!(collapseHeader$ | async); else allMenu\">\n <ng-container *ngTemplateOutlet=\"headerMenu\"></ng-container>\n <button mat-icon-button color='primary' [matMenuTriggerFor]=\"mainMenu\"\n [ngClass]=\"{'flat-menu':(collapseHeader$ | async)}\">\n <mat-icon>{{(collapseHeader$ | async) ? 'more_horiz' : 'more_vert'}}</mat-icon>\n </button>\n <mat-menu #mainMenu='matMenu'>\n <ng-container *ngTemplateOutlet=\"headerMenuExtra\"></ng-container>\n </mat-menu>\n </ng-container>\n <ng-template #allMenu>\n <button mat-icon-button color='primary' [matMenuTriggerFor]=\"mainMenu\"\n [ngClass]=\"{'flat-menu':(collapseHeader$ | async)}\">\n <mat-icon>{{(collapseHeader$ | async) ? 'more_horiz' : 'more_vert'}}</mat-icon>\n </button>\n <mat-menu #mainMenu='matMenu'>\n <div class=\"flex-column\">\n <ng-container *ngTemplateOutlet=\"headerMenu\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"headerMenuExtra\"></ng-container>\n </mat-menu>\n </ng-template>\n <mat-icon [matTooltip]=\"(collapseHeader$ | async) ? 'expand' : 'collapse'\" class=\"collapse-icon header\"\n (click)=\"state.toggleCollapseHeader()\">\n {{(collapseHeader$ | async) ? 'expand_less' : 'expand_more'}}\n </mat-icon>\n </div>\n </div>\n\n <div style=\"clear: both;\">\n <tb-generic-table [rows]='customRows' [data$]=\"data\" [IndexColumn]='IndexColumn'\n [SelectionColumn]='SelectionColumn' (selection$)='selection$.emit($event)' [trackBy]='trackBy'\n [isSticky]='isSticky' [columnInfos]='myColumns$'>\n </tb-generic-table>\n </div>\n\n\n\n <ng-template #headerMenu>\n <ng-container>\n <tb-filter-displayer *ngIf=\"!tableSettings.hideFilter\">\n </tb-filter-displayer>\n <tb-col-displayer *ngIf=\"!tableSettings.hideColumnSettings\"></tb-col-displayer>\n <tb-sort-menu *ngIf=\"!tableSettings.hideSort\"></tb-sort-menu>\n </ng-container>\n </ng-template>\n <ng-template #headerMenuExtra>\n <button mat-menu-item (click)=\"state.resetState();OnStateReset.next(null)\">\n <mat-icon color=\"primary\">autorenew</mat-icon>\n <span>Reset table</span>\n </button>\n <button mat-menu-item (click)=\"exportToCsv()\" *ngIf=\"!tableSettings.hideExport\">\n <mat-icon color=\"primary\">file_download</mat-icon>\n <span>Export Table</span>\n </button>\n <ng-container *ngIf=\"currentStateKey$ | async as currentKey\">\n <button mat-menu-item *ngIf=\"tableId\" (click)=\"saveState()\">\n <mat-icon color=\"primary\">save</mat-icon>\n <span>Save to {{currentKey}}</span>\n </button>\n <button *ngIf='tableId' mat-menu-item [matMenuTriggerFor]=\"savedNames\">\n <span>Choose Profile</span>\n </button>\n </ng-container>\n\n <mat-menu #savedNames='matMenu' panelClass='wide-menu'>\n <button mat-menu-item clickSubject #add='clickSubject'>\n <mat-icon>add</mat-icon>\n <span>New</span>\n </button>\n <ng-container *ngFor='let key of stateKeys$ | async'>\n <button mat-menu-item (click)='setProfileState(key)'>\n <div style='display: flex; align-items: center; justify-content: space-between;'>\n <span style='display:flex;'>{{key}}</span>\n <span style='display:flex;'>\n <span style=\"width: 120px;\"></span>\n <mat-icon color='warn' (click)='deleteProfileState(key)' stop-propagation>delete_forever</mat-icon>\n </span>\n </div>\n </button>\n </ng-container>\n </mat-menu>\n <div *opDialog='add'>\n <mat-form-field>\n <input style='width:90%' matInput #addedKey />\n </mat-form-field>\n <button mat-button (click)='setProfileState(addedKey.value); add.next(false);'\n [disabled]=\"!addedKey.value\">Add</button>\n </div>\n </ng-template>\n\n </ng-container>\n\n</ng-container>\n", styles: [".wide-menu{width:200px!important}.header-wrapper{display:flex;flex-direction:row;justify-content:space-between;width:100%}.flx-row-end{display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.flat-menu{line-height:initial;height:initial}\n", ".collapse-icon{font-size:16px;height:16px;padding-bottom:.2rem;color:#3f51b5}.collapse-icon.header{align-self:flex-end}.collapse-icon.footer{align-self:flex-start}.collapse-icon:hover{cursor:pointer}.hide{display:none}\n"], components: [{ type: i4.FilterChipsComponent, selector: "lib-filter-list" }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.GenericTableComponent, selector: "tb-generic-table", inputs: ["data$", "IndexColumn", "SelectionColumn", "trackBy", "rows", "isSticky", "columnBuilders", "columnInfos"], outputs: ["selection$"] }, { type: i9.GenFilterDisplayerComponent, selector: "tb-filter-displayer" }, { type: i10.GenColDisplayerComponent, selector: "tb-col-displayer" }, { type: i11.SortMenuComponent, selector: "tb-sort-menu" }, { type: i7.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i12.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i13.MultiSortDirective, selector: "[multiSort]", inputs: ["matSortDisabled"], exportAs: ["multiSort"] }, { type: i14.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet"] }, { type: i15.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i15.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i15.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i16.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i17.DialogOpenDirective, selector: "button[clickSubject]", exportAs: ["clickSubject"] }, { type: i15.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i18.StopPropagationDirective, selector: "[stop-propagation]" }, { type: i19.DialogDirective, selector: "[opDialog]", inputs: ["opDialogConfig", "opDialog", "opDialogOrigin"], outputs: ["opDialogClosed"] }, { type: i20.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }], pipes: { "async": i15.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
131
+ TableContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: TableContainerComponent, selector: "tb-table-container", inputs: { tableId: "tableId", SaveState: "SaveState", tableBuilder: "tableBuilder", IndexColumn: "IndexColumn", SelectionColumn: "SelectionColumn", trackBy: "trackBy", isSticky: "isSticky", pageSize: "pageSize", inputFilters: "inputFilters" }, outputs: { selection$: "selection$", data: "data", OnStateReset: "OnStateReset", OnSaveState: "OnSaveState", state$: "state$" }, providers: [TableStore, ExportToCsvService, WrapperFilterStore], queries: [{ propertyName: "customRows", predicate: MatRowDef }, { propertyName: "customCells", predicate: CustomCellDirective }], ngImport: i0, template: "<ng-container multiSort>\n <ng-container *ngrxLet=\"state.tableSettings$ as tableSettings\">\n\n\n <div class=\"header-wrapper\">\n <div class=\"title\">\n <ng-content select=\".tb-header-title\"\n *ngIf=\"(!(collapseHeader$ | async)) || tableSettings.showTitleWhenHeaderCollapsed\">\n\n </ng-content>\n </div>\n <div class=\"flx-row-end\">\n <lib-filter-list></lib-filter-list>\n <ng-container *ngIf=\"!(collapseHeader$ | async); else allMenu\">\n <ng-container *ngTemplateOutlet=\"headerMenu\"></ng-container>\n <button mat-icon-button color='primary' [matMenuTriggerFor]=\"mainMenu\"\n [ngClass]=\"{'flat-menu':(collapseHeader$ | async)}\">\n <mat-icon>{{(collapseHeader$ | async) ? 'more_horiz' : 'more_vert'}}</mat-icon>\n </button>\n <mat-menu #mainMenu='matMenu'>\n <ng-container *ngTemplateOutlet=\"headerMenuExtra\"></ng-container>\n </mat-menu>\n </ng-container>\n <ng-template #allMenu>\n <button mat-icon-button color='primary' [matMenuTriggerFor]=\"mainMenu\"\n [ngClass]=\"{'flat-menu':(collapseHeader$ | async)}\">\n <mat-icon>{{(collapseHeader$ | async) ? 'more_horiz' : 'more_vert'}}</mat-icon>\n </button>\n <mat-menu #mainMenu='matMenu'>\n <div class=\"flex-column\">\n <ng-container *ngTemplateOutlet=\"headerMenu\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"headerMenuExtra\"></ng-container>\n </mat-menu>\n </ng-template>\n <mat-icon [matTooltip]=\"(collapseHeader$ | async) ? 'expand' : 'collapse'\" class=\"collapse-icon header\"\n (click)=\"state.toggleCollapseHeader()\">\n {{(collapseHeader$ | async) ? 'expand_less' : 'expand_more'}}\n </mat-icon>\n </div>\n </div>\n\n <div style=\"clear: both;\">\n <tb-generic-table [rows]='customRows' [data$]=\"data\" [IndexColumn]='IndexColumn'\n [SelectionColumn]='SelectionColumn' (selection$)='selection$.emit($event)' [trackBy]='trackBy'\n [isSticky]='isSticky' [columnInfos]='myColumns$'>\n </tb-generic-table>\n </div>\n\n\n\n <ng-template #headerMenu>\n <ng-container>\n <tb-filter-displayer *ngIf=\"!tableSettings.hideFilter\">\n </tb-filter-displayer>\n <tb-col-displayer *ngIf=\"!tableSettings.hideColumnSettings\"></tb-col-displayer>\n <tb-sort-menu *ngIf=\"!tableSettings.hideSort\"></tb-sort-menu>\n </ng-container>\n </ng-template>\n <ng-template #headerMenuExtra>\n <button mat-menu-item (click)=\"state.resetState();OnStateReset.next(null)\">\n <mat-icon color=\"primary\">autorenew</mat-icon>\n <span>Reset table</span>\n </button>\n <button mat-menu-item (click)=\"exportToCsv()\" *ngIf=\"!tableSettings.hideExport\">\n <mat-icon color=\"primary\">file_download</mat-icon>\n <span>Export Table</span>\n </button>\n <ng-container *ngIf=\"currentStateKey$ | async as currentKey\">\n <button mat-menu-item *ngIf=\"tableId\" (click)=\"saveState()\">\n <mat-icon color=\"primary\">save</mat-icon>\n <span>Save to {{currentKey}}</span>\n </button>\n <button *ngIf='tableId' mat-menu-item [matMenuTriggerFor]=\"savedNames\">\n <span>Choose Profile</span>\n </button>\n </ng-container>\n\n <mat-menu #savedNames='matMenu' panelClass='wide-menu'>\n <button mat-menu-item clickEmitter #add='clickEmitter'>\n <mat-icon>add</mat-icon>\n <span>New</span>\n </button>\n <ng-container *ngFor='let key of stateKeys$ | async'>\n <button mat-menu-item (click)='setProfileState(key)'>\n <div style='display: flex; align-items: center; justify-content: space-between;'>\n <span style='display:flex;'>{{key}}</span>\n <span style='display:flex;'>\n <span style=\"width: 120px;\"></span>\n <mat-icon color='warn' (click)='deleteProfileState(key)' stop-propagation>delete_forever</mat-icon>\n </span>\n </div>\n </button>\n </ng-container>\n </mat-menu>\n <div *opDialog='add'>\n <mat-form-field>\n <input style='width:90%' matInput #addedKey />\n </mat-form-field>\n <button mat-button (click)='setProfileState(addedKey.value); add.next(false);'\n [disabled]=\"!addedKey.value\">Add</button>\n </div>\n </ng-template>\n\n </ng-container>\n\n</ng-container>\n", styles: [".wide-menu{width:200px!important}.header-wrapper{display:flex;flex-direction:row;justify-content:space-between;width:100%}.flx-row-end{display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.flat-menu{line-height:initial;height:initial}\n", ".collapse-icon{font-size:16px;height:16px;padding-bottom:.2rem;color:#3f51b5}.collapse-icon.header{align-self:flex-end}.collapse-icon.footer{align-self:flex-start}.collapse-icon:hover{cursor:pointer}.hide{display:none}\n"], components: [{ type: i4.FilterChipsComponent, selector: "lib-filter-list" }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.GenericTableComponent, selector: "tb-generic-table", inputs: ["data$", "IndexColumn", "SelectionColumn", "trackBy", "rows", "isSticky", "columnBuilders", "columnInfos"], outputs: ["selection$"] }, { type: i9.GenFilterDisplayerComponent, selector: "tb-filter-displayer" }, { type: i10.GenColDisplayerComponent, selector: "tb-col-displayer" }, { type: i11.SortMenuComponent, selector: "tb-sort-menu" }, { type: i7.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i12.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i13.MultiSortDirective, selector: "[multiSort]", inputs: ["matSortDisabled"], exportAs: ["multiSort"] }, { type: i14.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet"] }, { type: i15.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i15.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i15.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i16.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i17.ClickEmitterDirective, selector: "[clickEmitter]", exportAs: ["clickEmitter"] }, { type: i15.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i18.StopPropagationDirective, selector: "[stop-propagation]" }, { type: i19.DialogDirective, selector: "[opDialog]", inputs: ["opDialogConfig", "opDialog", "opDialogOrigin"], outputs: ["opDialogClosed"] }, { type: i20.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }], pipes: { "async": i15.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
132
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TableContainerComponent, decorators: [{
133
133
  type: Component,
134
- args: [{ selector: 'tb-table-container', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TableStore, ExportToCsvService, WrapperFilterStore], template: "<ng-container multiSort>\n <ng-container *ngrxLet=\"state.tableSettings$ as tableSettings\">\n\n\n <div class=\"header-wrapper\">\n <div class=\"title\">\n <ng-content select=\".tb-header-title\"\n *ngIf=\"(!(collapseHeader$ | async)) || tableSettings.showTitleWhenHeaderCollapsed\">\n\n </ng-content>\n </div>\n <div class=\"flx-row-end\">\n <lib-filter-list></lib-filter-list>\n <ng-container *ngIf=\"!(collapseHeader$ | async); else allMenu\">\n <ng-container *ngTemplateOutlet=\"headerMenu\"></ng-container>\n <button mat-icon-button color='primary' [matMenuTriggerFor]=\"mainMenu\"\n [ngClass]=\"{'flat-menu':(collapseHeader$ | async)}\">\n <mat-icon>{{(collapseHeader$ | async) ? 'more_horiz' : 'more_vert'}}</mat-icon>\n </button>\n <mat-menu #mainMenu='matMenu'>\n <ng-container *ngTemplateOutlet=\"headerMenuExtra\"></ng-container>\n </mat-menu>\n </ng-container>\n <ng-template #allMenu>\n <button mat-icon-button color='primary' [matMenuTriggerFor]=\"mainMenu\"\n [ngClass]=\"{'flat-menu':(collapseHeader$ | async)}\">\n <mat-icon>{{(collapseHeader$ | async) ? 'more_horiz' : 'more_vert'}}</mat-icon>\n </button>\n <mat-menu #mainMenu='matMenu'>\n <div class=\"flex-column\">\n <ng-container *ngTemplateOutlet=\"headerMenu\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"headerMenuExtra\"></ng-container>\n </mat-menu>\n </ng-template>\n <mat-icon [matTooltip]=\"(collapseHeader$ | async) ? 'expand' : 'collapse'\" class=\"collapse-icon header\"\n (click)=\"state.toggleCollapseHeader()\">\n {{(collapseHeader$ | async) ? 'expand_less' : 'expand_more'}}\n </mat-icon>\n </div>\n </div>\n\n <div style=\"clear: both;\">\n <tb-generic-table [rows]='customRows' [data$]=\"data\" [IndexColumn]='IndexColumn'\n [SelectionColumn]='SelectionColumn' (selection$)='selection$.emit($event)' [trackBy]='trackBy'\n [isSticky]='isSticky' [columnInfos]='myColumns$'>\n </tb-generic-table>\n </div>\n\n\n\n <ng-template #headerMenu>\n <ng-container>\n <tb-filter-displayer *ngIf=\"!tableSettings.hideFilter\">\n </tb-filter-displayer>\n <tb-col-displayer *ngIf=\"!tableSettings.hideColumnSettings\"></tb-col-displayer>\n <tb-sort-menu *ngIf=\"!tableSettings.hideSort\"></tb-sort-menu>\n </ng-container>\n </ng-template>\n <ng-template #headerMenuExtra>\n <button mat-menu-item (click)=\"state.resetState();OnStateReset.next(null)\">\n <mat-icon color=\"primary\">autorenew</mat-icon>\n <span>Reset table</span>\n </button>\n <button mat-menu-item (click)=\"exportToCsv()\" *ngIf=\"!tableSettings.hideExport\">\n <mat-icon color=\"primary\">file_download</mat-icon>\n <span>Export Table</span>\n </button>\n <ng-container *ngIf=\"currentStateKey$ | async as currentKey\">\n <button mat-menu-item *ngIf=\"tableId\" (click)=\"saveState()\">\n <mat-icon color=\"primary\">save</mat-icon>\n <span>Save to {{currentKey}}</span>\n </button>\n <button *ngIf='tableId' mat-menu-item [matMenuTriggerFor]=\"savedNames\">\n <span>Choose Profile</span>\n </button>\n </ng-container>\n\n <mat-menu #savedNames='matMenu' panelClass='wide-menu'>\n <button mat-menu-item clickSubject #add='clickSubject'>\n <mat-icon>add</mat-icon>\n <span>New</span>\n </button>\n <ng-container *ngFor='let key of stateKeys$ | async'>\n <button mat-menu-item (click)='setProfileState(key)'>\n <div style='display: flex; align-items: center; justify-content: space-between;'>\n <span style='display:flex;'>{{key}}</span>\n <span style='display:flex;'>\n <span style=\"width: 120px;\"></span>\n <mat-icon color='warn' (click)='deleteProfileState(key)' stop-propagation>delete_forever</mat-icon>\n </span>\n </div>\n </button>\n </ng-container>\n </mat-menu>\n <div *opDialog='add'>\n <mat-form-field>\n <input style='width:90%' matInput #addedKey />\n </mat-form-field>\n <button mat-button (click)='setProfileState(addedKey.value); add.next(false);'\n [disabled]=\"!addedKey.value\">Add</button>\n </div>\n </ng-template>\n\n </ng-container>\n\n</ng-container>\n", styles: [".wide-menu{width:200px!important}.header-wrapper{display:flex;flex-direction:row;justify-content:space-between;width:100%}.flx-row-end{display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.flat-menu{line-height:initial;height:initial}\n", ".collapse-icon{font-size:16px;height:16px;padding-bottom:.2rem;color:#3f51b5}.collapse-icon.header{align-self:flex-end}.collapse-icon.footer{align-self:flex-start}.collapse-icon:hover{cursor:pointer}.hide{display:none}\n"] }]
134
+ args: [{ selector: 'tb-table-container', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TableStore, ExportToCsvService, WrapperFilterStore], template: "<ng-container multiSort>\n <ng-container *ngrxLet=\"state.tableSettings$ as tableSettings\">\n\n\n <div class=\"header-wrapper\">\n <div class=\"title\">\n <ng-content select=\".tb-header-title\"\n *ngIf=\"(!(collapseHeader$ | async)) || tableSettings.showTitleWhenHeaderCollapsed\">\n\n </ng-content>\n </div>\n <div class=\"flx-row-end\">\n <lib-filter-list></lib-filter-list>\n <ng-container *ngIf=\"!(collapseHeader$ | async); else allMenu\">\n <ng-container *ngTemplateOutlet=\"headerMenu\"></ng-container>\n <button mat-icon-button color='primary' [matMenuTriggerFor]=\"mainMenu\"\n [ngClass]=\"{'flat-menu':(collapseHeader$ | async)}\">\n <mat-icon>{{(collapseHeader$ | async) ? 'more_horiz' : 'more_vert'}}</mat-icon>\n </button>\n <mat-menu #mainMenu='matMenu'>\n <ng-container *ngTemplateOutlet=\"headerMenuExtra\"></ng-container>\n </mat-menu>\n </ng-container>\n <ng-template #allMenu>\n <button mat-icon-button color='primary' [matMenuTriggerFor]=\"mainMenu\"\n [ngClass]=\"{'flat-menu':(collapseHeader$ | async)}\">\n <mat-icon>{{(collapseHeader$ | async) ? 'more_horiz' : 'more_vert'}}</mat-icon>\n </button>\n <mat-menu #mainMenu='matMenu'>\n <div class=\"flex-column\">\n <ng-container *ngTemplateOutlet=\"headerMenu\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"headerMenuExtra\"></ng-container>\n </mat-menu>\n </ng-template>\n <mat-icon [matTooltip]=\"(collapseHeader$ | async) ? 'expand' : 'collapse'\" class=\"collapse-icon header\"\n (click)=\"state.toggleCollapseHeader()\">\n {{(collapseHeader$ | async) ? 'expand_less' : 'expand_more'}}\n </mat-icon>\n </div>\n </div>\n\n <div style=\"clear: both;\">\n <tb-generic-table [rows]='customRows' [data$]=\"data\" [IndexColumn]='IndexColumn'\n [SelectionColumn]='SelectionColumn' (selection$)='selection$.emit($event)' [trackBy]='trackBy'\n [isSticky]='isSticky' [columnInfos]='myColumns$'>\n </tb-generic-table>\n </div>\n\n\n\n <ng-template #headerMenu>\n <ng-container>\n <tb-filter-displayer *ngIf=\"!tableSettings.hideFilter\">\n </tb-filter-displayer>\n <tb-col-displayer *ngIf=\"!tableSettings.hideColumnSettings\"></tb-col-displayer>\n <tb-sort-menu *ngIf=\"!tableSettings.hideSort\"></tb-sort-menu>\n </ng-container>\n </ng-template>\n <ng-template #headerMenuExtra>\n <button mat-menu-item (click)=\"state.resetState();OnStateReset.next(null)\">\n <mat-icon color=\"primary\">autorenew</mat-icon>\n <span>Reset table</span>\n </button>\n <button mat-menu-item (click)=\"exportToCsv()\" *ngIf=\"!tableSettings.hideExport\">\n <mat-icon color=\"primary\">file_download</mat-icon>\n <span>Export Table</span>\n </button>\n <ng-container *ngIf=\"currentStateKey$ | async as currentKey\">\n <button mat-menu-item *ngIf=\"tableId\" (click)=\"saveState()\">\n <mat-icon color=\"primary\">save</mat-icon>\n <span>Save to {{currentKey}}</span>\n </button>\n <button *ngIf='tableId' mat-menu-item [matMenuTriggerFor]=\"savedNames\">\n <span>Choose Profile</span>\n </button>\n </ng-container>\n\n <mat-menu #savedNames='matMenu' panelClass='wide-menu'>\n <button mat-menu-item clickEmitter #add='clickEmitter'>\n <mat-icon>add</mat-icon>\n <span>New</span>\n </button>\n <ng-container *ngFor='let key of stateKeys$ | async'>\n <button mat-menu-item (click)='setProfileState(key)'>\n <div style='display: flex; align-items: center; justify-content: space-between;'>\n <span style='display:flex;'>{{key}}</span>\n <span style='display:flex;'>\n <span style=\"width: 120px;\"></span>\n <mat-icon color='warn' (click)='deleteProfileState(key)' stop-propagation>delete_forever</mat-icon>\n </span>\n </div>\n </button>\n </ng-container>\n </mat-menu>\n <div *opDialog='add'>\n <mat-form-field>\n <input style='width:90%' matInput #addedKey />\n </mat-form-field>\n <button mat-button (click)='setProfileState(addedKey.value); add.next(false);'\n [disabled]=\"!addedKey.value\">Add</button>\n </div>\n </ng-template>\n\n </ng-container>\n\n</ng-container>\n", styles: [".wide-menu{width:200px!important}.header-wrapper{display:flex;flex-direction:row;justify-content:space-between;width:100%}.flx-row-end{display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.flat-menu{line-height:initial;height:initial}\n", ".collapse-icon{font-size:16px;height:16px;padding-bottom:.2rem;color:#3f51b5}.collapse-icon.header{align-self:flex-end}.collapse-icon.footer{align-self:flex-start}.collapse-icon:hover{cursor:pointer}.hide{display:none}\n"] }]
135
135
  }], ctorParameters: function () { return [{ type: i1.TableStore }, { type: i2.ExportToCsvService }, { type: undefined, decorators: [{
136
136
  type: Inject,
137
137
  args: [TableBuilderConfigToken]
@@ -171,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
171
171
  type: Output
172
172
  }] } });
173
173
  const addTimeStamp = () => (obs) => obs.pipe(map((t, i) => ({ value: t, index: i })));
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy90YWJsZS1jb250YWluZXIvdGFibGUtY29udGFpbmVyLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy90YWJsZS1jb250YWluZXIvdGFibGUtY29udGFpbmVyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sRUFDTixlQUFlLEVBRWYsdUJBQXVCLEVBQ3ZCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQW1CLFNBQVMsRUFBWSxNQUFNLDZCQUE2QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBVSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUcsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFD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ckMsZUFBZTt1QkFBQyxTQUFTO2dCQUNZLFdBQVc7c0JBQWhELGVBQWU7dUJBQUMsbUJBQW1CO2dCQUMxQixZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNOztBQXdIVCxNQUFNLFlBQVksR0FBRyxHQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQWlCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgUXVlcnlMaXN0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFycmF5QWRkaXRpb25hbCwgRmllbGRUeXBlLCBNZXRhRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBmaXJzdCwgbGFzdCwgbWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRhYmxlQnVpbGRlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvdGFibGUtYnVpbGRlcic7XG5pbXBvcnQgeyBNYXRSb3dEZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBDdXN0b21DZWxsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyAgVGFibGVTdG9yZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xuaW1wb3J0IHsgRGF0YUZpbHRlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZGF0YS1maWx0ZXInO1xuaW1wb3J0IHsgbWFwQXJyYXksIG5vdE51bGwsIHNraXBPbmVXaGVuIH0gZnJvbSAnLi4vLi4vLi4vcnhqcy9yeGpzLW9wZXJhdG9ycyc7XG5pbXBvcnQgeyBFeHBvcnRUb0NzdlNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHBvcnQtdG8tY3N2LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXJyYXlEZWZhdWx0cyB9IGZyb20gJy4uLy4uL2NsYXNzZXMvRGVmYXVsdFNldHRpbmdzJztcbmltcG9ydCB7IFRhYmxlQnVpbGRlckNvbmZpZywgVGFibGVCdWlsZGVyQ29uZmlnVG9rZW4gfSBmcm9tICcuLi8uLi9jbGFzc2VzL1RhYmxlQnVpbGRlckNvbmZpZyc7XG5pbXBvcnQgKiBhcyBzZWxlY3RvcnMgZnJvbSAnLi4vLi4vbmdyeC9zZWxlY3RvcnMnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGRlbGV0ZUxvY2FsUHJvZmlsZXNTdGF0ZSwgc2V0TG9jYWxQcm9maWxlLCBzZXRMb2NhbFByb2ZpbGVzU3RhdGUgfSBmcm9tICcuLi8uLi9uZ3J4L2FjdGlvbnMnO1xuaW1wb3J0IHsgUGVyc2lzdGVkVGFibGVTdGF0ZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvVGFibGVTdGF0ZSc7XG5pbXBvcnQgeyBzb3J0RGF0YSB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9zb3J0LWRhdGEtZnVuY3Rpb24nO1xuaW1wb3J0IHsgV3JhcHBlckZpbHRlclN0b3JlIH0gZnJvbSAnLi4vdGFibGUtY29udGFpbmVyLWZpbHRlci90YWJsZS13cmFwcGVyLWZpbHRlci1zdG9yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQ29sdW1uSW5mbyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQ29sdW1uSW5mbyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RiLXRhYmxlLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jb250YWluZXIuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWNvbnRhaW5lci5jc3MnLCcuLi8uLi9zdHlsZXMvY29sbGFwc2VyLnN0eWxlcy5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtUYWJsZVN0b3JlLEV4cG9ydFRvQ3N2U2VydmljZSxXcmFwcGVyRmlsdGVyU3RvcmVdXG59KSBleHBvcnQgY2xhc3MgVGFibGVDb250YWluZXJDb21wb25lbnQ8VCA9IGFueT4ge1xuICBASW5wdXQoKSB0YWJsZUlkITogc3RyaW5nO1xuICBASW5wdXQoKSBTYXZlU3RhdGUgPSBmYWxzZTtcbiAgQElucHV0KCkgdGFibGVCdWlsZGVyITogVGFibGVCdWlsZGVyO1xuICBASW5wdXQoKSBJbmRleENvbHVtbiA9IGZhbHNlO1xuICBASW5wdXQoKSBTZWxlY3Rpb25Db2x1bW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdHJhY2tCeSE6IHN0cmluZztcbiAgQElucHV0KCkgaXNTdGlja3kgPSB0cnVlO1xuICBASW5wdXQoKSBzZXQgcGFnZVNpemUodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuc3RhdGUuc2V0UGFnZVNpemUodmFsdWUpO1xuICB9XG4gIEBJbnB1dCgpIGlucHV0RmlsdGVycyE6IE9ic2VydmFibGU8QXJyYXk8KHZhbDogVCkgPT4gYm9vbGVhbj4+O1xuICBAT3V0cHV0KCkgc2VsZWN0aW9uJCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgZGF0YVN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxPYnNlcnZhYmxlPFRbXT4+KDEpO1xuICBAT3V0cHV0KCkgZGF0YSA9IHRoaXMuZGF0YVN1YmplY3QucGlwZShcbiAgICBzd2l0Y2hNYXAoIGQgPT4gZCksXG4gICAgc2hhcmVSZXBsYXkoe3JlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pXG4gICk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihNYXRSb3dEZWYpIGN1c3RvbVJvd3MhOiBRdWVyeUxpc3Q8TWF0Um93RGVmPGFueT4+O1xuICBAQ29udGVudENoaWxkcmVuKEN1c3RvbUNlbGxEaXJlY3RpdmUpIGN1c3RvbUNlbGxzITogUXVlcnlMaXN0PEN1c3RvbUNlbGxEaXJlY3RpdmU+O1xuICBAT3V0cHV0KCkgT25TdGF0ZVJlc2V0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgT25TYXZlU3RhdGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzdGF0ZSQgOiBPYnNlcnZhYmxlPFBlcnNpc3RlZFRhYmxlU3RhdGU+O1xuXG4gIG15Q29sdW1ucyQhOiBPYnNlcnZhYmxlPENvbHVtbkluZm9bXT47XG5cbiAgc3RhdGVLZXlzJD86IE9ic2VydmFibGU8c3RyaW5nW10gfCBudWxsPjtcbiAgY3VycmVudFN0YXRlS2V5JD86IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc3RhdGU6IFRhYmxlU3RvcmUsXG4gICAgcHVibGljIGV4cG9ydFRvQ3N2U2VydmljZTogRXhwb3J0VG9Dc3ZTZXJ2aWNlPFQ+LFxuICAgIEBJbmplY3QoVGFibGVCdWlsZGVyQ29uZmlnVG9rZW4pIHByaXZhdGUgY29uZmlnOiBUYWJsZUJ1aWxkZXJDb25maWcsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PlxuICApIHtcbiAgICAgdGhpcy5zdGF0ZS5vbiggdGhpcy5zdGF0ZS5nZXRTYXZhYmxlU3RhdGUoKS5waXBlKGxhc3QoKSksIGZpbmFsU3RhdGUgPT4ge1xuICAgICAgaWYodGhpcy50YWJsZUlkKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2V0TG9jYWxQcm9maWxlKHtrZXk6dGhpcy50YWJsZUlkLHZhbHVlOiBmaW5hbFN0YXRlfSkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc3RhdGUkID0gdGhpcy5zdGF0ZS5nZXRTYXZhYmxlU3RhdGUoKS5waXBlKG1hcChzdGF0ZSA9PlxuICAgICAgY2xvbmVEZWVwKHN0YXRlKSksc2hhcmVSZXBsYXkoe3JlZkNvdW50OnRydWUsYnVmZmVyU2l6ZToxfSkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdGF0ZS5zZXRUYWJsZVNldHRpbmdzKHRoaXMudGFibGVCdWlsZGVyLnNldHRpbmdzKTtcbiAgICBpZih0aGlzLnRhYmxlSWQpIHtcbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlU3RhdGUoXG4gICAgICAgIHRoaXMuc3RvcmUucGlwZShcbiAgICAgICAgICBzZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdExvY2FsUHJvZmlsZVN0YXRlPGFueT4odGhpcy50YWJsZUlkKSApLFxuICAgICAgICAgIG5vdE51bGwoKSxcbiAgICAgICAgICB0aGlzLmNsZWFuU3RhdGVPbkluaXRpYWxMb2FkKCksXG4gICAgICAgICAgc2tpcE9uZVdoZW4odGhpcy5PblNhdmVTdGF0ZSksXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICB0aGlzLnN0YXRlS2V5cyQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0TG9jYWxQcm9maWxlS2V5cyh0aGlzLnRhYmxlSWQpKTtcbiAgICAgIHRoaXMuY3VycmVudFN0YXRlS2V5JCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RMb2NhbFByb2ZpbGVDdXJyZW50S2V5KHRoaXMudGFibGVJZCkpO1xuICAgIH1cbiAgICBjb25zdCBmaWx0ZXJzJCA9IHRoaXMuc3RhdGUuZmlsdGVycyQucGlwZShtYXAoIGZpbHRlcnMgPT4gT2JqZWN0LnZhbHVlcyhmaWx0ZXJzKSApKVxuICAgIGNvbnN0IGRhdGEgPSBuZXcgRGF0YUZpbHRlcih0aGlzLmlucHV0RmlsdGVycylcbiAgICAgIC5hcHBlbmRGaWx0ZXJzKGZpbHRlcnMkKVxuICAgICAgLmZpbHRlckRhdGEodGhpcy50YWJsZUJ1aWxkZXIuZ2V0RGF0YSQoKSk7XG4gICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KGRhdGEpO1xuICB9XG5cbiAgZXhwb3J0VG9Dc3YoKTogdm9pZCB7XG4gICAgY29uc3Qgc29ydGVkID0gdGhpcy5kYXRhLnBpcGUoXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0YXRlLnNvcnRlZCQpLFxuICAgICAgbWFwKChbZGF0YSwgc29ydGVkXSkgPT4gc29ydERhdGEoZGF0YSwgc29ydGVkKSlcbiAgICApO1xuICAgIHRoaXMuZXhwb3J0VG9Dc3ZTZXJ2aWNlLmV4cG9ydFRvQ3N2KHNvcnRlZCk7XG4gIH1cblxuICBzYXZlU3RhdGUoKSB7XG4gICAgdGhpcy5zdGF0ZS5nZXRTYXZhYmxlU3RhdGUoKS5waXBlKFxuICAgICAgZmlyc3QoKVxuICAgICkuc3Vic2NyaWJlKCB0YWJsZVN0YXRlID0+IHtcbiAgICAgIHRoaXMuT25TYXZlU3RhdGUubmV4dChudWxsKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2V0TG9jYWxQcm9maWxlKHsga2V5OiB0aGlzLnRhYmxlSWQsIHZhbHVlOnRhYmxlU3RhdGUsIHBlcnNpc3Q6IHRydWV9ICkpO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0UHJvZmlsZVN0YXRlKHZhbDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzZXRMb2NhbFByb2ZpbGVzU3RhdGUoe2tleTp0aGlzLnRhYmxlSWQsIGN1cnJlbnQ6IHZhbH0pKTtcbiAgfVxuXG4gIGRlbGV0ZVByb2ZpbGVTdGF0ZShzdGF0ZUtleTogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChkZWxldGVMb2NhbFByb2ZpbGVzU3RhdGUoe2tleTp0aGlzLnRhYmxlSWQsIHN0YXRlS2V5fSkpO1xuICB9XG5cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5Jbml0aWFsaXplQ29sdW1ucygpO1xuICB9XG5cblxuICBJbml0aWFsaXplQ29sdW1ucygpIHtcbiAgICBjb25zdCBjdXN0b21DZWxsTWFwID0gbmV3IE1hcCh0aGlzLmN1c3RvbUNlbGxzLm1hcChjYyA9PiBbY2MuY3VzdG9tQ2VsbCxjY10pKTtcbiAgICB0aGlzLnN0YXRlLnNldE1ldGFEYXRhKHRoaXMudGFibGVCdWlsZGVyLm1ldGFEYXRhJCEucGlwZShcbiAgICAgIGZpcnN0KCksXG4gICAgICBtYXAoKG1kcykgPT4ge1xuICAgICAgICBtZHMgPSBtZHMubWFwKHRoaXMubWFwTWV0YURhdGFzKTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAuLi5tZHMsXG4gICAgICAgICAgLi4udGhpcy5jdXN0b21DZWxscy5tYXAoIGNjID0+IGNjLmdldE1ldGFEYXRhKG1kcy5maW5kKCBpdGVtID0+IGl0ZW0ua2V5ID09PSBjYy5jdXN0b21DZWxsICkpIClcbiAgICAgICAgXVxuICAgICAgfSlcbiAgICApKTtcblxuICAgIHRoaXMubXlDb2x1bW5zJCA9IHRoaXMuc3RhdGUubWV0YURhdGFBcnJheSQucGlwZShcbiAgICAgIG1hcEFycmF5KCBtZXRhRGF0YSA9PiAoe21ldGFEYXRhLCBjdXN0b21DZWxsOiBjdXN0b21DZWxsTWFwLmdldChtZXRhRGF0YS5rZXkpIX0pKVxuICAgICk7XG4gIH1cbiAgbWFwTWV0YURhdGFzID0gKG1ldGEgOiBNZXRhRGF0YTxUPikgPT4ge1xuICAgIGlmKG1ldGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQXJyYXkpe1xuICAgICAgY29uc3QgYWRkaXRpb25hbCA9IHsuLi5tZXRhLmFkZGl0aW9uYWx9IGFzIEFycmF5QWRkaXRpb25hbDtcbiAgICAgIGFkZGl0aW9uYWwuYXJyYXlTdHlsZSA9IGFkZGl0aW9uYWw/LmFycmF5U3R5bGUgPz8gQXJyYXlEZWZhdWx0cy5hcnJheVN0eWxlO1xuICAgICAgYWRkaXRpb25hbC5saW1pdCA9IGFkZGl0aW9uYWwubGltaXQgPz8gdGhpcy5jb25maWcuYXJyYXlJbmZvPy5saW1pdCA/PyBBcnJheURlZmF1bHRzLmxpbWl0O1xuICAgICAgcmV0dXJuIHsuLi5tZXRhLGFkZGl0aW9uYWx9XG4gICAgfVxuICAgIHJldHVybiBtZXRhO1xuICB9XG5cbiAgY2xlYW5TdGF0ZU9uSW5pdGlhbExvYWQgPSAoKSA9PiAob2JzOk9ic2VydmFibGU8UGVyc2lzdGVkVGFibGVTdGF0ZT4pID0+XG4gICAgY29tYmluZUxhdGVzdChbb2JzLnBpcGUoYWRkVGltZVN0YW1wKCkpICwgdGhpcy50YWJsZUJ1aWxkZXIubWV0YURhdGEkIV0pLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKFtzdGF0ZV0sW3N0YXRlMl0pPT5zdGF0ZS5pbmRleCA9PT0gc3RhdGUyLmluZGV4KSxcbiAgICBtYXAoKFt7dmFsdWU6c3RhdGV9LG1ldGFzXSxpbmRleCk9PntcbiAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuXG4gICAgICAgIGNvbnN0IGZpbHRlcnMgPSBPYmplY3QudmFsdWVzKHN0YXRlLmZpbHRlcnMpLmZpbHRlcihmbHRyID0+IG1ldGFzLnNvbWUobSA9PiBtLmtleSA9PT0gZmx0ci5rZXkpKS5yZWR1Y2UoKG9iajogYW55LCBmaWx0ZXIpID0+IHtcbiAgICAgICAgICBvYmpbZmlsdGVyLmZpbHRlcklkIV0gPSBzdGF0ZS5maWx0ZXJzW2ZpbHRlci5maWx0ZXJJZCFdO1xuICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgIH0sIHt9KTtcbiAgICAgICAgY29uc3Qgc29ydGVkID0gc3RhdGUuc29ydGVkLmZpbHRlcihzID0+IG1ldGFzLnNvbWUobSA9PiBtLmtleSA9PT0gcy5hY3RpdmUpKTtcbiAgICAgICAgcmV0dXJuICh7Li4uc3RhdGUsZmlsdGVycyxzb3J0ZWR9KVxuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlXG4gICAgfSlcbiAgKTtcbiAgY29sbGFwc2VIZWFkZXIkID0gdGhpcy5zdGF0ZS5zdGF0ZSQucGlwZShtYXAoc3RhdGUgPT4gc3RhdGUucGVyc2lzdGVkVGFibGVTZXR0aW5ncy5jb2xsYXBzZUhlYWRlcikpO1xuXG59XG5jb25zdCBhZGRUaW1lU3RhbXAgPSA8VD4oKSA9PiAob2JzOk9ic2VydmFibGU8VD4pID0+IG9icy5waXBlKG1hcCgodCxpKSA9PiAoe3ZhbHVlOnQsaW5kZXg6aX0pKSk7XG4iLCI8bmctY29udGFpbmVyIG11bHRpU29ydD5cbiAgPG5nLWNvbnRhaW5lciAqbmdyeExldD1cInN0YXRlLnRhYmxlU2V0dGluZ3MkIGFzIHRhYmxlU2V0dGluZ3NcIj5cblxuXG4gICAgPGRpdiBjbGFzcz1cImhlYWRlci13cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLnRiLWhlYWRlci10aXRsZVwiXG4gICAgICAgICAgKm5nSWY9XCIoIShjb2xsYXBzZUhlYWRlciQgfCBhc3luYykpIHx8IHRhYmxlU2V0dGluZ3Muc2hvd1RpdGxlV2hlbkhlYWRlckNvbGxhcHNlZFwiPlxuXG4gICAgICAgIDwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZseC1yb3ctZW5kXCI+XG4gICAgICAgIDxsaWItZmlsdGVyLWxpc3Q+PC9saWItZmlsdGVyLWxpc3Q+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhKGNvbGxhcHNlSGVhZGVyJCB8IGFzeW5jKTsgZWxzZSBhbGxNZW51XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlck1lbnVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj0ncHJpbWFyeScgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1haW5NZW51XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZmxhdC1tZW51JzooY29sbGFwc2VIZWFkZXIkIHwgYXN5bmMpfVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPnt7KGNvbGxhcHNlSGVhZGVyJCB8IGFzeW5jKSA/ICdtb3JlX2hvcml6JyA6ICdtb3JlX3ZlcnQnfX08L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxtYXQtbWVudSAjbWFpbk1lbnU9J21hdE1lbnUnPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlck1lbnVFeHRyYVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2FsbE1lbnU+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY29sb3I9J3ByaW1hcnknIFttYXRNZW51VHJpZ2dlckZvcl09XCJtYWluTWVudVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ZsYXQtbWVudSc6KGNvbGxhcHNlSGVhZGVyJCB8IGFzeW5jKX1cIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj57eyhjb2xsYXBzZUhlYWRlciQgfCBhc3luYykgPyAnbW9yZV9ob3JpeicgOiAnbW9yZV92ZXJ0J319PC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8bWF0LW1lbnUgI21haW5NZW51PSdtYXRNZW51Jz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyTWVudVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyTWVudUV4dHJhXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG1hdC1pY29uIFttYXRUb29sdGlwXT1cIihjb2xsYXBzZUhlYWRlciQgfCBhc3luYykgPyAnZXhwYW5kJyA6ICdjb2xsYXBzZSdcIiBjbGFzcz1cImNvbGxhcHNlLWljb24gaGVhZGVyXCJcbiAgICAgICAgICAoY2xpY2spPVwic3RhdGUudG9nZ2xlQ29sbGFwc2VIZWFkZXIoKVwiPlxuICAgICAgICAgIHt7KGNvbGxhcHNlSGVhZGVyJCB8IGFzeW5jKSA/ICdleHBhbmRfbGVzcycgOiAnZXhwYW5kX21vcmUnfX1cbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBzdHlsZT1cImNsZWFyOiBib3RoO1wiPlxuICAgICAgPHRiLWdlbmVyaWMtdGFibGUgW3Jvd3NdPSdjdXN0b21Sb3dzJyBbZGF0YSRdPVwiZGF0YVwiIFtJbmRleENvbHVtbl09J0luZGV4Q29sdW1uJ1xuICAgICAgICBbU2VsZWN0aW9uQ29sdW1uXT0nU2VsZWN0aW9uQ29sdW1uJyAoc2VsZWN0aW9uJCk9J3NlbGVjdGlvbiQuZW1pdCgkZXZlbnQpJyBbdHJhY2tCeV09J3RyYWNrQnknXG4gICAgICAgIFtpc1N0aWNreV09J2lzU3RpY2t5JyBbY29sdW1uSW5mb3NdPSdteUNvbHVtbnMkJz5cbiAgICAgIDwvdGItZ2VuZXJpYy10YWJsZT5cbiAgICA8L2Rpdj5cblxuXG5cbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlck1lbnU+XG4gICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICA8dGItZmlsdGVyLWRpc3BsYXllciAqbmdJZj1cIiF0YWJsZVNldHRpbmdzLmhpZGVGaWx0ZXJcIj5cbiAgICAgICAgPC90Yi1maWx0ZXItZGlzcGxheWVyPlxuICAgICAgICA8dGItY29sLWRpc3BsYXllciAqbmdJZj1cIiF0YWJsZVNldHRpbmdzLmhpZGVDb2x1bW5TZXR0aW5nc1wiPjwvdGItY29sLWRpc3BsYXllcj5cbiAgICAgICAgPHRiLXNvcnQtbWVudSAqbmdJZj1cIiF0YWJsZVNldHRpbmdzLmhpZGVTb3J0XCI+PC90Yi1zb3J0LW1lbnU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyTWVudUV4dHJhPlxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzdGF0ZS5yZXNldFN0YXRlKCk7T25TdGF0ZVJlc2V0Lm5leHQobnVsbClcIj5cbiAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPmF1dG9yZW5ldzwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuPlJlc2V0IHRhYmxlPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImV4cG9ydFRvQ3N2KClcIiAqbmdJZj1cIiF0YWJsZVNldHRpbmdzLmhpZGVFeHBvcnRcIj5cbiAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPmZpbGVfZG93bmxvYWQ8L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj5FeHBvcnQgVGFibGU8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50U3RhdGVLZXkkIHwgYXN5bmMgYXMgY3VycmVudEtleVwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJ0YWJsZUlkXCIgKGNsaWNrKT1cInNhdmVTdGF0ZSgpXCI+XG4gICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPnNhdmU8L21hdC1pY29uPlxuICAgICAgICAgIDxzcGFuPlNhdmUgdG8ge3tjdXJyZW50S2V5fX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPSd0YWJsZUlkJyBtYXQtbWVudS1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJzYXZlZE5hbWVzXCI+XG4gICAgICAgICAgPHNwYW4+Q2hvb3NlIFByb2ZpbGU8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxtYXQtbWVudSAjc2F2ZWROYW1lcz0nbWF0TWVudScgcGFuZWxDbGFzcz0nd2lkZS1tZW51Jz5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIGNsaWNrU3ViamVjdCAjYWRkPSdjbGlja1N1YmplY3QnPlxuICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgICAgICAgIDxzcGFuPk5ldzwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPSdsZXQga2V5IG9mIHN0YXRlS2V5cyQgfCBhc3luYyc+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9J3NldFByb2ZpbGVTdGF0ZShrZXkpJz5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9J2Rpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsnPlxuICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0nZGlzcGxheTpmbGV4Oyc+e3trZXl9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9J2Rpc3BsYXk6ZmxleDsnPlxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwid2lkdGg6IDEyMHB4O1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY29sb3I9J3dhcm4nIChjbGljayk9J2RlbGV0ZVByb2ZpbGVTdGF0ZShrZXkpJyBzdG9wLXByb3BhZ2F0aW9uPmRlbGV0ZV9mb3JldmVyPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9tYXQtbWVudT5cbiAgICAgIDxkaXYgKm9wRGlhbG9nPSdhZGQnPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPGlucHV0IHN0eWxlPSd3aWR0aDo5MCUnIG1hdElucHV0ICNhZGRlZEtleSAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT0nc2V0UHJvZmlsZVN0YXRlKGFkZGVkS2V5LnZhbHVlKTsgYWRkLm5leHQoZmFsc2UpOydcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWFkZGVkS2V5LnZhbHVlXCI+QWRkPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gIDwvbmctY29udGFpbmVyPlxuXG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy90YWJsZS1jb250YWluZXIvdGFibGUtY29udGFpbmVyLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy90YWJsZS1jb250YWluZXIvdGFibGUtY29udGFpbmVyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sRUFDTixlQUFlLEVBRWYsdUJBQXVCLEVBQ3ZCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQW1CLFNBQVMsRUFBWSxNQUFNLDZCQUE2QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBVSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUcsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFD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ckMsZUFBZTt1QkFBQyxTQUFTO2dCQUNZLFdBQVc7c0JBQWhELGVBQWU7dUJBQUMsbUJBQW1CO2dCQUMxQixZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNOztBQXdIVCxNQUFNLFlBQVksR0FBRyxHQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQWlCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgUXVlcnlMaXN0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFycmF5QWRkaXRpb25hbCwgRmllbGRUeXBlLCBNZXRhRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBmaXJzdCwgbGFzdCwgbWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRhYmxlQnVpbGRlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvdGFibGUtYnVpbGRlcic7XG5pbXBvcnQgeyBNYXRSb3dEZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBDdXN0b21DZWxsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyAgVGFibGVTdG9yZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xuaW1wb3J0IHsgRGF0YUZpbHRlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZGF0YS1maWx0ZXInO1xuaW1wb3J0IHsgbWFwQXJyYXksIG5vdE51bGwsIHNraXBPbmVXaGVuIH0gZnJvbSAnLi4vLi4vLi4vcnhqcy9yeGpzLW9wZXJhdG9ycyc7XG5pbXBvcnQgeyBFeHBvcnRUb0NzdlNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHBvcnQtdG8tY3N2LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXJyYXlEZWZhdWx0cyB9IGZyb20gJy4uLy4uL2NsYXNzZXMvRGVmYXVsdFNldHRpbmdzJztcbmltcG9ydCB7IFRhYmxlQnVpbGRlckNvbmZpZywgVGFibGVCdWlsZGVyQ29uZmlnVG9rZW4gfSBmcm9tICcuLi8uLi9jbGFzc2VzL1RhYmxlQnVpbGRlckNvbmZpZyc7XG5pbXBvcnQgKiBhcyBzZWxlY3RvcnMgZnJvbSAnLi4vLi4vbmdyeC9zZWxlY3RvcnMnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGRlbGV0ZUxvY2FsUHJvZmlsZXNTdGF0ZSwgc2V0TG9jYWxQcm9maWxlLCBzZXRMb2NhbFByb2ZpbGVzU3RhdGUgfSBmcm9tICcuLi8uLi9uZ3J4L2FjdGlvbnMnO1xuaW1wb3J0IHsgUGVyc2lzdGVkVGFibGVTdGF0ZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvVGFibGVTdGF0ZSc7XG5pbXBvcnQgeyBzb3J0RGF0YSB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9zb3J0LWRhdGEtZnVuY3Rpb24nO1xuaW1wb3J0IHsgV3JhcHBlckZpbHRlclN0b3JlIH0gZnJvbSAnLi4vdGFibGUtY29udGFpbmVyLWZpbHRlci90YWJsZS13cmFwcGVyLWZpbHRlci1zdG9yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQ29sdW1uSW5mbyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQ29sdW1uSW5mbyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RiLXRhYmxlLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jb250YWluZXIuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWNvbnRhaW5lci5jc3MnLCcuLi8uLi9zdHlsZXMvY29sbGFwc2VyLnN0eWxlcy5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtUYWJsZVN0b3JlLEV4cG9ydFRvQ3N2U2VydmljZSxXcmFwcGVyRmlsdGVyU3RvcmVdXG59KSBleHBvcnQgY2xhc3MgVGFibGVDb250YWluZXJDb21wb25lbnQ8VCA9IGFueT4ge1xuICBASW5wdXQoKSB0YWJsZUlkITogc3RyaW5nO1xuICBASW5wdXQoKSBTYXZlU3RhdGUgPSBmYWxzZTtcbiAgQElucHV0KCkgdGFibGVCdWlsZGVyITogVGFibGVCdWlsZGVyO1xuICBASW5wdXQoKSBJbmRleENvbHVtbiA9IGZhbHNlO1xuICBASW5wdXQoKSBTZWxlY3Rpb25Db2x1bW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdHJhY2tCeSE6IHN0cmluZztcbiAgQElucHV0KCkgaXNTdGlja3kgPSB0cnVlO1xuICBASW5wdXQoKSBzZXQgcGFnZVNpemUodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuc3RhdGUuc2V0UGFnZVNpemUodmFsdWUpO1xuICB9XG4gIEBJbnB1dCgpIGlucHV0RmlsdGVycyE6IE9ic2VydmFibGU8QXJyYXk8KHZhbDogVCkgPT4gYm9vbGVhbj4+O1xuICBAT3V0cHV0KCkgc2VsZWN0aW9uJCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgZGF0YVN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxPYnNlcnZhYmxlPFRbXT4+KDEpO1xuICBAT3V0cHV0KCkgZGF0YSA9IHRoaXMuZGF0YVN1YmplY3QucGlwZShcbiAgICBzd2l0Y2hNYXAoIGQgPT4gZCksXG4gICAgc2hhcmVSZXBsYXkoe3JlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pXG4gICk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihNYXRSb3dEZWYpIGN1c3RvbVJvd3MhOiBRdWVyeUxpc3Q8TWF0Um93RGVmPGFueT4+O1xuICBAQ29udGVudENoaWxkcmVuKEN1c3RvbUNlbGxEaXJlY3RpdmUpIGN1c3RvbUNlbGxzITogUXVlcnlMaXN0PEN1c3RvbUNlbGxEaXJlY3RpdmU+O1xuICBAT3V0cHV0KCkgT25TdGF0ZVJlc2V0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgT25TYXZlU3RhdGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzdGF0ZSQgOiBPYnNlcnZhYmxlPFBlcnNpc3RlZFRhYmxlU3RhdGU+O1xuXG4gIG15Q29sdW1ucyQhOiBPYnNlcnZhYmxlPENvbHVtbkluZm9bXT47XG5cbiAgc3RhdGVLZXlzJD86IE9ic2VydmFibGU8c3RyaW5nW10gfCBudWxsPjtcbiAgY3VycmVudFN0YXRlS2V5JD86IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc3RhdGU6IFRhYmxlU3RvcmUsXG4gICAgcHVibGljIGV4cG9ydFRvQ3N2U2VydmljZTogRXhwb3J0VG9Dc3ZTZXJ2aWNlPFQ+LFxuICAgIEBJbmplY3QoVGFibGVCdWlsZGVyQ29uZmlnVG9rZW4pIHByaXZhdGUgY29uZmlnOiBUYWJsZUJ1aWxkZXJDb25maWcsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PlxuICApIHtcbiAgICAgdGhpcy5zdGF0ZS5vbiggdGhpcy5zdGF0ZS5nZXRTYXZhYmxlU3RhdGUoKS5waXBlKGxhc3QoKSksIGZpbmFsU3RhdGUgPT4ge1xuICAgICAgaWYodGhpcy50YWJsZUlkKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2V0TG9jYWxQcm9maWxlKHtrZXk6dGhpcy50YWJsZUlkLHZhbHVlOiBmaW5hbFN0YXRlfSkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc3RhdGUkID0gdGhpcy5zdGF0ZS5nZXRTYXZhYmxlU3RhdGUoKS5waXBlKG1hcChzdGF0ZSA9PlxuICAgICAgY2xvbmVEZWVwKHN0YXRlKSksc2hhcmVSZXBsYXkoe3JlZkNvdW50OnRydWUsYnVmZmVyU2l6ZToxfSkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdGF0ZS5zZXRUYWJsZVNldHRpbmdzKHRoaXMudGFibGVCdWlsZGVyLnNldHRpbmdzKTtcbiAgICBpZih0aGlzLnRhYmxlSWQpIHtcbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlU3RhdGUoXG4gICAgICAgIHRoaXMuc3RvcmUucGlwZShcbiAgICAgICAgICBzZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdExvY2FsUHJvZmlsZVN0YXRlPGFueT4odGhpcy50YWJsZUlkKSApLFxuICAgICAgICAgIG5vdE51bGwoKSxcbiAgICAgICAgICB0aGlzLmNsZWFuU3RhdGVPbkluaXRpYWxMb2FkKCksXG4gICAgICAgICAgc2tpcE9uZVdoZW4odGhpcy5PblNhdmVTdGF0ZSksXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICB0aGlzLnN0YXRlS2V5cyQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0TG9jYWxQcm9maWxlS2V5cyh0aGlzLnRhYmxlSWQpKTtcbiAgICAgIHRoaXMuY3VycmVudFN0YXRlS2V5JCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RMb2NhbFByb2ZpbGVDdXJyZW50S2V5KHRoaXMudGFibGVJZCkpO1xuICAgIH1cbiAgICBjb25zdCBmaWx0ZXJzJCA9IHRoaXMuc3RhdGUuZmlsdGVycyQucGlwZShtYXAoIGZpbHRlcnMgPT4gT2JqZWN0LnZhbHVlcyhmaWx0ZXJzKSApKVxuICAgIGNvbnN0IGRhdGEgPSBuZXcgRGF0YUZpbHRlcih0aGlzLmlucHV0RmlsdGVycylcbiAgICAgIC5hcHBlbmRGaWx0ZXJzKGZpbHRlcnMkKVxuICAgICAgLmZpbHRlckRhdGEodGhpcy50YWJsZUJ1aWxkZXIuZ2V0RGF0YSQoKSk7XG4gICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KGRhdGEpO1xuICB9XG5cbiAgZXhwb3J0VG9Dc3YoKTogdm9pZCB7XG4gICAgY29uc3Qgc29ydGVkID0gdGhpcy5kYXRhLnBpcGUoXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0YXRlLnNvcnRlZCQpLFxuICAgICAgbWFwKChbZGF0YSwgc29ydGVkXSkgPT4gc29ydERhdGEoZGF0YSwgc29ydGVkKSlcbiAgICApO1xuICAgIHRoaXMuZXhwb3J0VG9Dc3ZTZXJ2aWNlLmV4cG9ydFRvQ3N2KHNvcnRlZCk7XG4gIH1cblxuICBzYXZlU3RhdGUoKSB7XG4gICAgdGhpcy5zdGF0ZS5nZXRTYXZhYmxlU3RhdGUoKS5waXBlKFxuICAgICAgZmlyc3QoKVxuICAgICkuc3Vic2NyaWJlKCB0YWJsZVN0YXRlID0+IHtcbiAgICAgIHRoaXMuT25TYXZlU3RhdGUubmV4dChudWxsKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2V0TG9jYWxQcm9maWxlKHsga2V5OiB0aGlzLnRhYmxlSWQsIHZhbHVlOnRhYmxlU3RhdGUsIHBlcnNpc3Q6IHRydWV9ICkpO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0UHJvZmlsZVN0YXRlKHZhbDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzZXRMb2NhbFByb2ZpbGVzU3RhdGUoe2tleTp0aGlzLnRhYmxlSWQsIGN1cnJlbnQ6IHZhbH0pKTtcbiAgfVxuXG4gIGRlbGV0ZVByb2ZpbGVTdGF0ZShzdGF0ZUtleTogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChkZWxldGVMb2NhbFByb2ZpbGVzU3RhdGUoe2tleTp0aGlzLnRhYmxlSWQsIHN0YXRlS2V5fSkpO1xuICB9XG5cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5Jbml0aWFsaXplQ29sdW1ucygpO1xuICB9XG5cblxuICBJbml0aWFsaXplQ29sdW1ucygpIHtcbiAgICBjb25zdCBjdXN0b21DZWxsTWFwID0gbmV3IE1hcCh0aGlzLmN1c3RvbUNlbGxzLm1hcChjYyA9PiBbY2MuY3VzdG9tQ2VsbCxjY10pKTtcbiAgICB0aGlzLnN0YXRlLnNldE1ldGFEYXRhKHRoaXMudGFibGVCdWlsZGVyLm1ldGFEYXRhJCEucGlwZShcbiAgICAgIGZpcnN0KCksXG4gICAgICBtYXAoKG1kcykgPT4ge1xuICAgICAgICBtZHMgPSBtZHMubWFwKHRoaXMubWFwTWV0YURhdGFzKTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAuLi5tZHMsXG4gICAgICAgICAgLi4udGhpcy5jdXN0b21DZWxscy5tYXAoIGNjID0+IGNjLmdldE1ldGFEYXRhKG1kcy5maW5kKCBpdGVtID0+IGl0ZW0ua2V5ID09PSBjYy5jdXN0b21DZWxsICkpIClcbiAgICAgICAgXVxuICAgICAgfSlcbiAgICApKTtcblxuICAgIHRoaXMubXlDb2x1bW5zJCA9IHRoaXMuc3RhdGUubWV0YURhdGFBcnJheSQucGlwZShcbiAgICAgIG1hcEFycmF5KCBtZXRhRGF0YSA9PiAoe21ldGFEYXRhLCBjdXN0b21DZWxsOiBjdXN0b21DZWxsTWFwLmdldChtZXRhRGF0YS5rZXkpIX0pKVxuICAgICk7XG4gIH1cbiAgbWFwTWV0YURhdGFzID0gKG1ldGEgOiBNZXRhRGF0YTxUPikgPT4ge1xuICAgIGlmKG1ldGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQXJyYXkpe1xuICAgICAgY29uc3QgYWRkaXRpb25hbCA9IHsuLi5tZXRhLmFkZGl0aW9uYWx9IGFzIEFycmF5QWRkaXRpb25hbDtcbiAgICAgIGFkZGl0aW9uYWwuYXJyYXlTdHlsZSA9IGFkZGl0aW9uYWw/LmFycmF5U3R5bGUgPz8gQXJyYXlEZWZhdWx0cy5hcnJheVN0eWxlO1xuICAgICAgYWRkaXRpb25hbC5saW1pdCA9IGFkZGl0aW9uYWwubGltaXQgPz8gdGhpcy5jb25maWcuYXJyYXlJbmZvPy5saW1pdCA/PyBBcnJheURlZmF1bHRzLmxpbWl0O1xuICAgICAgcmV0dXJuIHsuLi5tZXRhLGFkZGl0aW9uYWx9XG4gICAgfVxuICAgIHJldHVybiBtZXRhO1xuICB9XG5cbiAgY2xlYW5TdGF0ZU9uSW5pdGlhbExvYWQgPSAoKSA9PiAob2JzOk9ic2VydmFibGU8UGVyc2lzdGVkVGFibGVTdGF0ZT4pID0+XG4gICAgY29tYmluZUxhdGVzdChbb2JzLnBpcGUoYWRkVGltZVN0YW1wKCkpICwgdGhpcy50YWJsZUJ1aWxkZXIubWV0YURhdGEkIV0pLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKFtzdGF0ZV0sW3N0YXRlMl0pPT5zdGF0ZS5pbmRleCA9PT0gc3RhdGUyLmluZGV4KSxcbiAgICBtYXAoKFt7dmFsdWU6c3RhdGV9LG1ldGFzXSxpbmRleCk9PntcbiAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuXG4gICAgICAgIGNvbnN0IGZpbHRlcnMgPSBPYmplY3QudmFsdWVzKHN0YXRlLmZpbHRlcnMpLmZpbHRlcihmbHRyID0+IG1ldGFzLnNvbWUobSA9PiBtLmtleSA9PT0gZmx0ci5rZXkpKS5yZWR1Y2UoKG9iajogYW55LCBmaWx0ZXIpID0+IHtcbiAgICAgICAgICBvYmpbZmlsdGVyLmZpbHRlcklkIV0gPSBzdGF0ZS5maWx0ZXJzW2ZpbHRlci5maWx0ZXJJZCFdO1xuICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgIH0sIHt9KTtcbiAgICAgICAgY29uc3Qgc29ydGVkID0gc3RhdGUuc29ydGVkLmZpbHRlcihzID0+IG1ldGFzLnNvbWUobSA9PiBtLmtleSA9PT0gcy5hY3RpdmUpKTtcbiAgICAgICAgcmV0dXJuICh7Li4uc3RhdGUsZmlsdGVycyxzb3J0ZWR9KVxuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlXG4gICAgfSlcbiAgKTtcbiAgY29sbGFwc2VIZWFkZXIkID0gdGhpcy5zdGF0ZS5zdGF0ZSQucGlwZShtYXAoc3RhdGUgPT4gc3RhdGUucGVyc2lzdGVkVGFibGVTZXR0aW5ncy5jb2xsYXBzZUhlYWRlcikpO1xuXG59XG5jb25zdCBhZGRUaW1lU3RhbXAgPSA8VD4oKSA9PiAob2JzOk9ic2VydmFibGU8VD4pID0+IG9icy5waXBlKG1hcCgodCxpKSA9PiAoe3ZhbHVlOnQsaW5kZXg6aX0pKSk7XG4iLCI8bmctY29udGFpbmVyIG11bHRpU29ydD5cbiAgPG5nLWNvbnRhaW5lciAqbmdyeExldD1cInN0YXRlLnRhYmxlU2V0dGluZ3MkIGFzIHRhYmxlU2V0dGluZ3NcIj5cblxuXG4gICAgPGRpdiBjbGFzcz1cImhlYWRlci13cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLnRiLWhlYWRlci10aXRsZVwiXG4gICAgICAgICAgKm5nSWY9XCIoIShjb2xsYXBzZUhlYWRlciQgfCBhc3luYykpIHx8IHRhYmxlU2V0dGluZ3Muc2hvd1RpdGxlV2hlbkhlYWRlckNvbGxhcHNlZFwiPlxuXG4gICAgICAgIDwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZseC1yb3ctZW5kXCI+XG4gICAgICAgIDxsaWItZmlsdGVyLWxpc3Q+PC9saWItZmlsdGVyLWxpc3Q+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhKGNvbGxhcHNlSGVhZGVyJCB8IGFzeW5jKTsgZWxzZSBhbGxNZW51XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlck1lbnVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj0ncHJpbWFyeScgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1haW5NZW51XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZmxhdC1tZW51JzooY29sbGFwc2VIZWFkZXIkIHwgYXN5bmMpfVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPnt7KGNvbGxhcHNlSGVhZGVyJCB8IGFzeW5jKSA/ICdtb3JlX2hvcml6JyA6ICdtb3JlX3ZlcnQnfX08L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxtYXQtbWVudSAjbWFpbk1lbnU9J21hdE1lbnUnPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlck1lbnVFeHRyYVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2FsbE1lbnU+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY29sb3I9J3ByaW1hcnknIFttYXRNZW51VHJpZ2dlckZvcl09XCJtYWluTWVudVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ZsYXQtbWVudSc6KGNvbGxhcHNlSGVhZGVyJCB8IGFzeW5jKX1cIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj57eyhjb2xsYXBzZUhlYWRlciQgfCBhc3luYykgPyAnbW9yZV9ob3JpeicgOiAnbW9yZV92ZXJ0J319PC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8bWF0LW1lbnUgI21haW5NZW51PSdtYXRNZW51Jz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyTWVudVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyTWVudUV4dHJhXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG1hdC1pY29uIFttYXRUb29sdGlwXT1cIihjb2xsYXBzZUhlYWRlciQgfCBhc3luYykgPyAnZXhwYW5kJyA6ICdjb2xsYXBzZSdcIiBjbGFzcz1cImNvbGxhcHNlLWljb24gaGVhZGVyXCJcbiAgICAgICAgICAoY2xpY2spPVwic3RhdGUudG9nZ2xlQ29sbGFwc2VIZWFkZXIoKVwiPlxuICAgICAgICAgIHt7KGNvbGxhcHNlSGVhZGVyJCB8IGFzeW5jKSA/ICdleHBhbmRfbGVzcycgOiAnZXhwYW5kX21vcmUnfX1cbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBzdHlsZT1cImNsZWFyOiBib3RoO1wiPlxuICAgICAgPHRiLWdlbmVyaWMtdGFibGUgW3Jvd3NdPSdjdXN0b21Sb3dzJyBbZGF0YSRdPVwiZGF0YVwiIFtJbmRleENvbHVtbl09J0luZGV4Q29sdW1uJ1xuICAgICAgICBbU2VsZWN0aW9uQ29sdW1uXT0nU2VsZWN0aW9uQ29sdW1uJyAoc2VsZWN0aW9uJCk9J3NlbGVjdGlvbiQuZW1pdCgkZXZlbnQpJyBbdHJhY2tCeV09J3RyYWNrQnknXG4gICAgICAgIFtpc1N0aWNreV09J2lzU3RpY2t5JyBbY29sdW1uSW5mb3NdPSdteUNvbHVtbnMkJz5cbiAgICAgIDwvdGItZ2VuZXJpYy10YWJsZT5cbiAgICA8L2Rpdj5cblxuXG5cbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlck1lbnU+XG4gICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICA8dGItZmlsdGVyLWRpc3BsYXllciAqbmdJZj1cIiF0YWJsZVNldHRpbmdzLmhpZGVGaWx0ZXJcIj5cbiAgICAgICAgPC90Yi1maWx0ZXItZGlzcGxheWVyPlxuICAgICAgICA8dGItY29sLWRpc3BsYXllciAqbmdJZj1cIiF0YWJsZVNldHRpbmdzLmhpZGVDb2x1bW5TZXR0aW5nc1wiPjwvdGItY29sLWRpc3BsYXllcj5cbiAgICAgICAgPHRiLXNvcnQtbWVudSAqbmdJZj1cIiF0YWJsZVNldHRpbmdzLmhpZGVTb3J0XCI+PC90Yi1zb3J0LW1lbnU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyTWVudUV4dHJhPlxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzdGF0ZS5yZXNldFN0YXRlKCk7T25TdGF0ZVJlc2V0Lm5leHQobnVsbClcIj5cbiAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPmF1dG9yZW5ldzwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuPlJlc2V0IHRhYmxlPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImV4cG9ydFRvQ3N2KClcIiAqbmdJZj1cIiF0YWJsZVNldHRpbmdzLmhpZGVFeHBvcnRcIj5cbiAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPmZpbGVfZG93bmxvYWQ8L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj5FeHBvcnQgVGFibGU8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50U3RhdGVLZXkkIHwgYXN5bmMgYXMgY3VycmVudEtleVwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJ0YWJsZUlkXCIgKGNsaWNrKT1cInNhdmVTdGF0ZSgpXCI+XG4gICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPnNhdmU8L21hdC1pY29uPlxuICAgICAgICAgIDxzcGFuPlNhdmUgdG8ge3tjdXJyZW50S2V5fX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPSd0YWJsZUlkJyBtYXQtbWVudS1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJzYXZlZE5hbWVzXCI+XG4gICAgICAgICAgPHNwYW4+Q2hvb3NlIFByb2ZpbGU8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxtYXQtbWVudSAjc2F2ZWROYW1lcz0nbWF0TWVudScgcGFuZWxDbGFzcz0nd2lkZS1tZW51Jz5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIGNsaWNrRW1pdHRlciAgI2FkZD0nY2xpY2tFbWl0dGVyJz5cbiAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj5OZXc8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj0nbGV0IGtleSBvZiBzdGF0ZUtleXMkIHwgYXN5bmMnPlxuICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPSdzZXRQcm9maWxlU3RhdGUoa2V5KSc+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPSdkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47Jz5cbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9J2Rpc3BsYXk6ZmxleDsnPnt7a2V5fX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSdkaXNwbGF5OmZsZXg7Jz5cbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cIndpZHRoOiAxMjBweDtcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNvbG9yPSd3YXJuJyAoY2xpY2spPSdkZWxldGVQcm9maWxlU3RhdGUoa2V5KScgc3RvcC1wcm9wYWdhdGlvbj5kZWxldGVfZm9yZXZlcjwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbWF0LW1lbnU+XG4gICAgICA8ZGl2ICpvcERpYWxvZz0nYWRkJz5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxpbnB1dCBzdHlsZT0nd2lkdGg6OTAlJyBtYXRJbnB1dCAjYWRkZWRLZXkgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9J3NldFByb2ZpbGVTdGF0ZShhZGRlZEtleS52YWx1ZSk7IGFkZC5uZXh0KGZhbHNlKTsnXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFhZGRlZEtleS52YWx1ZVwiPkFkZDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICA8L25nLWNvbnRhaW5lcj5cblxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -164,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
164
164
  ]
165
165
  }]
166
166
  }] });
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYnVpbGRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci90YWJsZS1idWlsZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlGQUF5RixDQUFDO0FBQ3RJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFOUYsT0FBTyxFQUFzQix1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixD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QkFDdkI7b0JBQ0QsU0FBUyxFQUFHO3dCQUNWLGFBQWE7d0JBQ2IsUUFBUTt3QkFDUixZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysb0JBQW9CO3FCQUNyQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdlbmVyaWNUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmljLXRhYmxlL2dlbmVyaWMtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbUNlbGxEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY3VzdG9tLWNlbGwtZGlyZWN0aXZlJztcbmltcG9ydCB7IEdlbkNvbERpc3BsYXllckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nZW4tY29sLWRpc3BsYXllci9nZW4tY29sLWRpc3BsYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VuRmlsdGVyRGlzcGxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWNvbnRhaW5lci1maWx0ZXIvZ2VuLWZpbHRlci1kaXNwbGF5ZXIvZ2VuLWZpbHRlci1kaXNwbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIERhdGVQaXBlLCBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTcGFjZUNhc2VQaXBlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL3BpcGVzL3NwYWNlLWNhc2UucGlwZXMnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBEYXRlRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtZmlsdGVyL2RhdGUtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1jb250YWluZXIvdGFibGUtY29udGFpbmVyJztcbmltcG9ydCB7IENvbHVtblRvdGFsUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLXRvdGFsLnBpcGUnO1xuaW1wb3J0IHsgTXVsdGlTb3J0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL211bHRpLXNvcnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbHVtbkJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sdW1uLWJ1aWxkZXIvY29sdW1uLWJ1aWxkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYmxlQnVpbGRlckNvbmZpZywgVGFibGVCdWlsZGVyQ29uZmlnVG9rZW4gfSBmcm9tICcuL2NsYXNzZXMvVGFibGVCdWlsZGVyQ29uZmlnJztcbmltcG9ydCB7IE51bWJlckZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9udW1iZXItZmlsdGVyL251bWJlci1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgc3RvcmFnZVN0YXRlUmVkdWNlciB9IGZyb20gJy4vbmdyeC9yZWR1Y2VyJztcbmltcG9ydCB7IEhlYWRlck1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaGVhZGVyLW1lbnUvaGVhZGVyLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFNhdmVUYWJsZUVmZmVjdHMgfSBmcm9tICcuL25ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBLZXlEaXNwbGF5UGlwZSB9IGZyb20gJy4vcGlwZXMva2V5LWRpc3BsYXknO1xuaW1wb3J0IHsgUGhvbmVOdW1iZXJQaXBlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL3BpcGVzL3Bob25lLnBpcGUnO1xuaW1wb3J0IHsgRnVuY3Rpb25QaXBlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL3BpcGVzL2Z1bmN0aW9uLnBpcGUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uL3V0aWxpdGllcy9kaXJlY3RpdmVzL3N0b3AtcHJvcGFnYXRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEFycmF5Q29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FycmF5LWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3R5bGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2RpcmVjdGl2ZXMvc3R5bGVyJztcbmltcG9ydCB7IFByZXZlbnRFbnRlckRpcmVjdGl2ZSB9IGZyb20gJy4uL3V0aWxpdGllcy9kaXJlY3RpdmVzL3ByZXZlbnQtZW50ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEluRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2luLWZpbHRlci9pbi1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7QXV0b0ZvY3VzRGlyZWN0aXZlfSBmcm9tICcuLi91dGlsaXRpZXMvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEZvcm1hdEZpbHRlclZhbHVlUGlwZSB9IGZyb20gJy4vcGlwZXMvZm9ybWF0LWZpbHRlci12YWx1ZS5waXBlJztcbmltcG9ydCB7IEZvcm1hdEZpbHRlclR5cGVQaXBlIH0gZnJvbSAnLi9waXBlcy9mb3JtYXQtZmlsdGVyLXR5cGUucGlwZSc7XG5pbXBvcnQgeyBEaWFsb2dPcGVuRGlyZWN0aXZlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2RpcmVjdGl2ZXMvYnV0dG9uU3ViamVjdCc7XG5pbXBvcnQgeyBEaWFsb2dEaXJlY3RpdmUgfSBmcm9tICcuLi91dGlsaXRpZXMvZGlyZWN0aXZlcy9kaWFsb2cnO1xuaW1wb3J0IHsgUmVzaXplQ29sdW1uRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3Jlc2l6ZS1jb2x1bW4uZGlyZWN0aXZlJztcbmltcG9ydCB7UmVhY3RpdmVDb21wb25lbnRNb2R1bGV9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudCdcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBJbml0aWFsaXphdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbml0aWFsaXphdGlvbi1jb21wb25lbnQvaW5pdGlhbGl6YXRpb24tY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlVGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy90YWJsZS10ZW1wbGF0ZS1zZXJ2aWNlJztcbmltcG9ydCB7IEluTGlzdEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWx0ZXIvaW4tbGlzdC9pbi1saXN0LWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU29ydE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc29ydC1tZW51L3NvcnQtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyQ2hpcHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtY29udGFpbmVyLWZpbHRlci9maWx0ZXItbGlzdC9maWx0ZXItbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2dlbmVyaWMtdGFibGUvcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVdGlsaXRpZXNNb2R1bGUgfSBmcm9tICcuLi91dGlsaXRpZXMnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoJ2dsb2JhbFN0b3JhZ2VTdGF0ZScsIHN0b3JhZ2VTdGF0ZVJlZHVjZXIpLFxuICAgIEVmZmVjdHNNb2R1bGUuZm9yRmVhdHVyZShbU2F2ZVRhYmxlRWZmZWN0c10pLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBSZWFjdGl2ZUNvbXBvbmVudE1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICBVdGlsaXRpZXNNb2R1bGUsXG4gIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBHZW5lcmljVGFibGVDb21wb25lbnQsXG4gICAgICAgIFBhZ2luYXRvckNvbXBvbmVudCxcbiAgICAgICAgVGFibGVDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgIEN1c3RvbUNlbGxEaXJlY3RpdmUsXG4gICAgICAgIEdlbkNvbERpc3BsYXllckNvbXBvbmVudCxcbiAgICAgICAgR2VuRmlsdGVyRGlzcGxheWVyQ29tcG9uZW50LFxuICAgICAgICBGaWx0ZXJDb21wb25lbnQsXG4gICAgICAgIE11bHRpU29ydERpcmVjdGl2ZSxcbiAgICAgICAgUmVzaXplQ29sdW1uRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIENvbHVtblRvdGFsUGlwZSxcbiAgICAgICAgVGFibGVDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgIEdlbmVyaWNUYWJsZUNvbXBvbmVudCxcbiAgICAgICAgUGFnaW5hdG9yQ29tcG9uZW50LFxuICAgICAgICBDdXN0b21DZWxsRGlyZWN0aXZlLFxuICAgICAgICBHZW5Db2xEaXNwbGF5ZXJDb21wb25lbnQsXG4gICAgICAgIEdlbkZpbHRlckRpc3BsYXllckNvbXBvbmVudCxcbiAgICAgICAgRGF0ZUZpbHRlckNvbXBvbmVudCxcbiAgICAgICAgRmlsdGVyQ29tcG9uZW50LFxuICAgICAgICBNdWx0aVNvcnREaXJlY3RpdmUsXG4gICAgICAgIE51bWJlckZpbHRlckNvbXBvbmVudCxcbiAgICAgICAgQ29sdW1uQnVpbGRlckNvbXBvbmVudCxcbiAgICAgICAgQXJyYXlDb2x1bW5Db21wb25lbnQsXG4gICAgICAgIEhlYWRlck1lbnVDb21wb25lbnQsXG4gICAgICAgIEtleURpc3BsYXlQaXBlLFxuICAgICAgICBGb3JtYXRGaWx0ZXJWYWx1ZVBpcGUsXG4gICAgICAgIEZvcm1hdEZpbHRlclR5cGVQaXBlLFxuICAgICAgICBSZXNpemVDb2x1bW5EaXJlY3RpdmUsXG4gICAgICAgIEluRmlsdGVyQ29tcG9uZW50LFxuICAgICAgICBJbml0aWFsaXphdGlvbkNvbXBvbmVudCxcbiAgICAgICAgSW5MaXN0RmlsdGVyQ29tcG9uZW50LFxuICAgICAgICBTb3J0TWVudUNvbXBvbmVudCxcbiAgICAgICAgRmlsdGVyQ2hpcHNDb21wb25lbnQsXG4gICAgXSxcbiAgICBwcm92aWRlcnMgOiBbXG4gICAgICBTcGFjZUNhc2VQaXBlLFxuICAgICAgRGF0ZVBpcGUsXG4gICAgICBDdXJyZW5jeVBpcGUsXG4gICAgICBQaG9uZU51bWJlclBpcGUsXG4gICAgICBUYWJsZVRlbXBsYXRlU2VydmljZSxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQnVpbGRlck1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogVGFibGVCdWlsZGVyQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxUYWJsZUJ1aWxkZXJNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFRhYmxlQnVpbGRlck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBNdWx0aVNvcnREaXJlY3RpdmUsXG4gICAgICAgIHsgcHJvdmlkZSA6IFRhYmxlQnVpbGRlckNvbmZpZ1Rva2VuICwgdXNlVmFsdWU6IGNvbmZpZ31cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYnVpbGRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci90YWJsZS1idWlsZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlGQUF5RixDQUFDO0FBQ3RJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFOUYsT0FBTyxFQUFzQix1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixD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QkFDdkI7b0JBQ0QsU0FBUyxFQUFHO3dCQUNWLGFBQWE7d0JBQ2IsUUFBUTt3QkFDUixZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysb0JBQW9CO3FCQUNyQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdlbmVyaWNUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmljLXRhYmxlL2dlbmVyaWMtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbUNlbGxEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY3VzdG9tLWNlbGwtZGlyZWN0aXZlJztcbmltcG9ydCB7IEdlbkNvbERpc3BsYXllckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nZW4tY29sLWRpc3BsYXllci9nZW4tY29sLWRpc3BsYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VuRmlsdGVyRGlzcGxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWNvbnRhaW5lci1maWx0ZXIvZ2VuLWZpbHRlci1kaXNwbGF5ZXIvZ2VuLWZpbHRlci1kaXNwbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIERhdGVQaXBlLCBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTcGFjZUNhc2VQaXBlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL3BpcGVzL3NwYWNlLWNhc2UucGlwZXMnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBEYXRlRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtZmlsdGVyL2RhdGUtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1jb250YWluZXIvdGFibGUtY29udGFpbmVyJztcbmltcG9ydCB7IENvbHVtblRvdGFsUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLXRvdGFsLnBpcGUnO1xuaW1wb3J0IHsgTXVsdGlTb3J0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL211bHRpLXNvcnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbHVtbkJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sdW1uLWJ1aWxkZXIvY29sdW1uLWJ1aWxkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYmxlQnVpbGRlckNvbmZpZywgVGFibGVCdWlsZGVyQ29uZmlnVG9rZW4gfSBmcm9tICcuL2NsYXNzZXMvVGFibGVCdWlsZGVyQ29uZmlnJztcbmltcG9ydCB7IE51bWJlckZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9udW1iZXItZmlsdGVyL251bWJlci1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgc3RvcmFnZVN0YXRlUmVkdWNlciB9IGZyb20gJy4vbmdyeC9yZWR1Y2VyJztcbmltcG9ydCB7IEhlYWRlck1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaGVhZGVyLW1lbnUvaGVhZGVyLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFNhdmVUYWJsZUVmZmVjdHMgfSBmcm9tICcuL25ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBLZXlEaXNwbGF5UGlwZSB9IGZyb20gJy4vcGlwZXMva2V5LWRpc3BsYXknO1xuaW1wb3J0IHsgUGhvbmVOdW1iZXJQaXBlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL3BpcGVzL3Bob25lLnBpcGUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFycmF5Q29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FycmF5LWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5GaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW4tZmlsdGVyL2luLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybWF0RmlsdGVyVmFsdWVQaXBlIH0gZnJvbSAnLi9waXBlcy9mb3JtYXQtZmlsdGVyLXZhbHVlLnBpcGUnO1xuaW1wb3J0IHsgRm9ybWF0RmlsdGVyVHlwZVBpcGUgfSBmcm9tICcuL3BpcGVzL2Zvcm1hdC1maWx0ZXItdHlwZS5waXBlJztcbmltcG9ydCB7IFJlc2l6ZUNvbHVtbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9yZXNpemUtY29sdW1uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1JlYWN0aXZlQ29tcG9uZW50TW9kdWxlfSBmcm9tICdAbmdyeC9jb21wb25lbnQnXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgSW5pdGlhbGl6YXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5pdGlhbGl6YXRpb24tY29tcG9uZW50L2luaXRpYWxpemF0aW9uLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZVRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGFibGUtdGVtcGxhdGUtc2VydmljZSc7XG5pbXBvcnQgeyBJbkxpc3RGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsdGVyL2luLWxpc3QvaW4tbGlzdC1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNvcnRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NvcnQtbWVudS9zb3J0LW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlckNoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWNvbnRhaW5lci1maWx0ZXIvZmlsdGVyLWxpc3QvZmlsdGVyLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2luYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmljLXRhYmxlL3BhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXRpbGl0aWVzTW9kdWxlIH0gZnJvbSAnLi4vdXRpbGl0aWVzJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKCdnbG9iYWxTdG9yYWdlU3RhdGUnLCBzdG9yYWdlU3RhdGVSZWR1Y2VyKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW1NhdmVUYWJsZUVmZmVjdHNdKSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgUmVhY3RpdmVDb21wb25lbnRNb2R1bGUsXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgVXRpbGl0aWVzTW9kdWxlLFxuICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgR2VuZXJpY1RhYmxlQ29tcG9uZW50LFxuICAgICAgICBQYWdpbmF0b3JDb21wb25lbnQsXG4gICAgICAgIFRhYmxlQ29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBDdXN0b21DZWxsRGlyZWN0aXZlLFxuICAgICAgICBHZW5Db2xEaXNwbGF5ZXJDb21wb25lbnQsXG4gICAgICAgIEdlbkZpbHRlckRpc3BsYXllckNvbXBvbmVudCxcbiAgICAgICAgRmlsdGVyQ29tcG9uZW50LFxuICAgICAgICBNdWx0aVNvcnREaXJlY3RpdmUsXG4gICAgICAgIFJlc2l6ZUNvbHVtbkRpcmVjdGl2ZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBDb2x1bW5Ub3RhbFBpcGUsXG4gICAgICAgIFRhYmxlQ29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBHZW5lcmljVGFibGVDb21wb25lbnQsXG4gICAgICAgIFBhZ2luYXRvckNvbXBvbmVudCxcbiAgICAgICAgQ3VzdG9tQ2VsbERpcmVjdGl2ZSxcbiAgICAgICAgR2VuQ29sRGlzcGxheWVyQ29tcG9uZW50LFxuICAgICAgICBHZW5GaWx0ZXJEaXNwbGF5ZXJDb21wb25lbnQsXG4gICAgICAgIERhdGVGaWx0ZXJDb21wb25lbnQsXG4gICAgICAgIEZpbHRlckNvbXBvbmVudCxcbiAgICAgICAgTXVsdGlTb3J0RGlyZWN0aXZlLFxuICAgICAgICBOdW1iZXJGaWx0ZXJDb21wb25lbnQsXG4gICAgICAgIENvbHVtbkJ1aWxkZXJDb21wb25lbnQsXG4gICAgICAgIEFycmF5Q29sdW1uQ29tcG9uZW50LFxuICAgICAgICBIZWFkZXJNZW51Q29tcG9uZW50LFxuICAgICAgICBLZXlEaXNwbGF5UGlwZSxcbiAgICAgICAgRm9ybWF0RmlsdGVyVmFsdWVQaXBlLFxuICAgICAgICBGb3JtYXRGaWx0ZXJUeXBlUGlwZSxcbiAgICAgICAgUmVzaXplQ29sdW1uRGlyZWN0aXZlLFxuICAgICAgICBJbkZpbHRlckNvbXBvbmVudCxcbiAgICAgICAgSW5pdGlhbGl6YXRpb25Db21wb25lbnQsXG4gICAgICAgIEluTGlzdEZpbHRlckNvbXBvbmVudCxcbiAgICAgICAgU29ydE1lbnVDb21wb25lbnQsXG4gICAgICAgIEZpbHRlckNoaXBzQ29tcG9uZW50LFxuICAgIF0sXG4gICAgcHJvdmlkZXJzIDogW1xuICAgICAgU3BhY2VDYXNlUGlwZSxcbiAgICAgIERhdGVQaXBlLFxuICAgICAgQ3VycmVuY3lQaXBlLFxuICAgICAgUGhvbmVOdW1iZXJQaXBlLFxuICAgICAgVGFibGVUZW1wbGF0ZVNlcnZpY2UsXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUJ1aWxkZXJNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IFRhYmxlQnVpbGRlckNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VGFibGVCdWlsZGVyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBUYWJsZUJ1aWxkZXJNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTXVsdGlTb3J0RGlyZWN0aXZlLFxuICAgICAgICB7IHByb3ZpZGUgOiBUYWJsZUJ1aWxkZXJDb25maWdUb2tlbiAsIHVzZVZhbHVlOiBjb25maWd9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,21 @@
1
+ import { Directive } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class ClickEmitterDirective extends Subject {
5
+ constructor() {
6
+ super();
7
+ }
8
+ }
9
+ ClickEmitterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ClickEmitterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10
+ ClickEmitterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: ClickEmitterDirective, selector: "[clickEmitter]", host: { listeners: { "click": "next(true)" } }, exportAs: ["clickEmitter"], usesInheritance: true, ngImport: i0 });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ClickEmitterDirective, decorators: [{
12
+ type: Directive,
13
+ args: [{
14
+ selector: '[clickEmitter]',
15
+ exportAs: 'clickEmitter',
16
+ host: {
17
+ '(click)': 'next(true)'
18
+ }
19
+ }]
20
+ }], ctorParameters: function () { return []; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2tFbWl0dGVyRGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3V0aWxpdGllcy9kaXJlY3RpdmVzL2NsaWNrRW1pdHRlckRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBUzVCLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxPQUFnQjtJQUM1RDtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQzs7a0hBSGEscUJBQXFCO3NHQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFOcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsSUFBSSxFQUFFO3dCQUNKLFNBQVMsRUFBRSxZQUFZO3FCQUN4QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbGlja0VtaXR0ZXJdJyxcbiAgZXhwb3J0QXM6ICdjbGlja0VtaXR0ZXInLFxuICBob3N0OiB7XG4gICAgJyhjbGljayknOiAnbmV4dCh0cnVlKSdcbiAgfVxufSkgZXhwb3J0IGNsYXNzIENsaWNrRW1pdHRlckRpcmVjdGl2ZSBleHRlbmRzIFN1YmplY3Q8Ym9vbGVhbj4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class ClickSubjectDirective extends Subject {
5
+ constructor() {
6
+ super();
7
+ }
8
+ set clickSubject(val) {
9
+ this._val = val;
10
+ }
11
+ }
12
+ ClickSubjectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ClickSubjectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13
+ ClickSubjectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: ClickSubjectDirective, selector: "[clickSubject]", inputs: { clickSubject: "clickSubject" }, host: { listeners: { "click": "next(this._val)" } }, exportAs: ["clickSubject"], usesInheritance: true, ngImport: i0 });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ClickSubjectDirective, decorators: [{
15
+ type: Directive,
16
+ args: [{
17
+ selector: '[clickSubject]',
18
+ exportAs: 'clickSubject',
19
+ host: {
20
+ '(click)': 'next(this._val)'
21
+ }
22
+ }]
23
+ }], ctorParameters: function () { return []; }, propDecorators: { clickSubject: [{
24
+ type: Input,
25
+ args: ['clickSubject']
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2tTdWJqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3V0aWxpdGllcy9kaXJlY3RpdmVzL2NsaWNrU3ViamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQVE1QixNQUFNLE9BQU8scUJBQW1DLFNBQVEsT0FBVTtJQUNuRTtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUdELElBQTJCLFlBQVksQ0FBRSxHQUFNO1FBQzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLENBQUM7O2tIQVJhLHFCQUFxQjtzR0FBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBTnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLElBQUksRUFBRTt3QkFDSixTQUFTLEVBQUUsaUJBQWlCO3FCQUM3QjtpQkFDRjswRUFNNEIsWUFBWTtzQkFBdEMsS0FBSzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2xpY2tTdWJqZWN0XScsXG4gIGV4cG9ydEFzOiAnY2xpY2tTdWJqZWN0JyxcbiAgaG9zdDoge1xuICAgICcoY2xpY2spJzogJ25leHQodGhpcy5fdmFsKSdcbiAgfVxufSkgZXhwb3J0IGNsYXNzIENsaWNrU3ViamVjdERpcmVjdGl2ZTxUID0gYm9vbGVhbj4gZXh0ZW5kcyBTdWJqZWN0PFQ+IHtcbiAgY29uc3RydWN0b3IoICkge1xuICAgIHN1cGVyKCk7XG4gIH1cbiAgX3ZhbCE6IFQ7XG5cbiAgQElucHV0KCdjbGlja1N1YmplY3QnKSBzZXQgY2xpY2tTdWJqZWN0KCB2YWw6IFQpIHtcbiAgICB0aGlzLl92YWwgPSB2YWw7XG4gIH1cbn1cbiJdfQ==
@@ -1,11 +1,12 @@
1
1
  export * from './directives/prevent-enter.directive';
2
2
  export * from './directives/stop-propagation.directive';
3
3
  export * from './directives/auto-focus.directive';
4
- export * from './directives/buttonSubject';
4
+ export * from './directives/clickSubject';
5
+ export * from './directives/clickEmitterDirective';
5
6
  export * from './directives/dialog';
6
7
  export * from './directives/styler';
7
8
  export * from './pipes/function.pipe';
8
9
  export * from './pipes/phone.pipe';
9
10
  export * from './pipes/space-case.pipes';
10
11
  export * from './module';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdXRpbGl0aWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBRXBDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDBCQUEwQixDQUFDO0FBR3pDLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3ByZXZlbnQtZW50ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9zdG9wLXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2J1dHRvblN1YmplY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RpYWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvc3R5bGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9mdW5jdGlvbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvcGhvbmUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3NwYWNlLWNhc2UucGlwZXMnO1xuXG5cbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlJztcblxuXG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdXRpbGl0aWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFFcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMEJBQTBCLENBQUM7QUFHekMsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvcHJldmVudC1lbnRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3N0b3AtcHJvcGFnYXRpb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9hdXRvLWZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvY2xpY2tTdWJqZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9jbGlja0VtaXR0ZXJEaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RpYWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvc3R5bGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9mdW5jdGlvbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvcGhvbmUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3NwYWNlLWNhc2UucGlwZXMnO1xuXG5cbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlJztcblxuXG4iXX0=