libey-ng-component-library 0.0.21 → 0.0.23

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.
@@ -4,6 +4,7 @@ import { FormsModule } from '@angular/forms';
4
4
  import { LibeyNgTableModule } from './table/libey-ng-table.module';
5
5
  import { LibeyNgSignatureModule } from './signature/libey-ng-signature.module';
6
6
  import { SignaturePadModule } from 'angular2-signaturepad';
7
+ import { IconsModule } from './icons/icons.module';
7
8
  import * as i0 from "@angular/core";
8
9
  export class LibeyNgComponentLibraryModule {
9
10
  }
@@ -12,18 +13,22 @@ LibeyNgComponentLibraryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12
12
13
  FormsModule,
13
14
  LibeyNgTableModule,
14
15
  LibeyNgSignatureModule,
15
- SignaturePadModule], exports: [LibeyNgTableModule,
16
+ SignaturePadModule,
17
+ IconsModule], exports: [LibeyNgTableModule,
16
18
  LibeyNgSignatureModule,
17
- SignaturePadModule] });
19
+ SignaturePadModule,
20
+ IconsModule] });
18
21
  LibeyNgComponentLibraryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryModule, providers: [DatePipe], imports: [[
19
22
  CommonModule,
20
23
  FormsModule,
21
24
  LibeyNgTableModule,
22
25
  LibeyNgSignatureModule,
23
- SignaturePadModule
26
+ SignaturePadModule,
27
+ IconsModule
24
28
  ], LibeyNgTableModule,
25
29
  LibeyNgSignatureModule,
26
- SignaturePadModule] });
30
+ SignaturePadModule,
31
+ IconsModule] });
27
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryModule, decorators: [{
28
33
  type: NgModule,
29
34
  args: [{
@@ -33,14 +38,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
33
38
  FormsModule,
34
39
  LibeyNgTableModule,
35
40
  LibeyNgSignatureModule,
36
- SignaturePadModule
41
+ SignaturePadModule,
42
+ IconsModule
37
43
  ],
38
44
  exports: [
39
45
  LibeyNgTableModule,
40
46
  LibeyNgSignatureModule,
41
- SignaturePadModule
47
+ SignaturePadModule,
48
+ IconsModule
42
49
  ],
43
50
  providers: [DatePipe]
44
51
  }]
45
52
  }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliZXktbmctY29tcG9uZW50LWxpYnJhcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9saWJleS1uZy1jb21wb25lbnQtbGlicmFyeS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFxQjNELE1BQU0sT0FBTyw2QkFBNkI7OzJIQUE3Qiw2QkFBNkI7NEhBQTdCLDZCQUE2QixZQWJ0QyxZQUFZO1FBQ1osV0FBVztRQUNYLGtCQUFrQjtRQUNsQixzQkFBc0I7UUFDdEIsa0JBQWtCLGFBR2xCLGtCQUFrQjtRQUNsQixzQkFBc0I7UUFDdEIsa0JBQWtCOzRIQUlULDZCQUE2QixhQUY3QixDQUFDLFFBQVEsQ0FBQyxZQVpaO1lBQ1AsWUFBWTtZQUNaLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLGtCQUFrQjtTQUNuQixFQUVDLGtCQUFrQjtRQUNsQixzQkFBc0I7UUFDdEIsa0JBQWtCOzRGQUlULDZCQUE2QjtrQkFqQnpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLGtCQUFrQjtxQkFDbkI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2lCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTGliZXlOZ1RhYmxlTW9kdWxlIH0gZnJvbSAnLi90YWJsZS9saWJleS1uZy10YWJsZS5tb2R1bGUnO1xuaW1wb3J0IHsgTGliZXlOZ1NpZ25hdHVyZU1vZHVsZSB9IGZyb20gJy4vc2lnbmF0dXJlL2xpYmV5LW5nLXNpZ25hdHVyZS5tb2R1bGUnO1xuaW1wb3J0IHsgU2lnbmF0dXJlUGFkTW9kdWxlIH0gZnJvbSAnYW5ndWxhcjItc2lnbmF0dXJlcGFkJztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIExpYmV5TmdUYWJsZU1vZHVsZSxcbiAgICBMaWJleU5nU2lnbmF0dXJlTW9kdWxlLFxuICAgIFNpZ25hdHVyZVBhZE1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTGliZXlOZ1RhYmxlTW9kdWxlLFxuICAgIExpYmV5TmdTaWduYXR1cmVNb2R1bGUsXG4gICAgU2lnbmF0dXJlUGFkTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW0RhdGVQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBMaWJleU5nQ29tcG9uZW50TGlicmFyeU1vZHVsZSB7IH1cbiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliZXktbmctY29tcG9uZW50LWxpYnJhcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9saWJleS1uZy1jb21wb25lbnQtbGlicmFyeS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBc0JuRCxNQUFNLE9BQU8sNkJBQTZCOzsySEFBN0IsNkJBQTZCOzRIQUE3Qiw2QkFBNkIsWUFmdEMsWUFBWTtRQUNaLFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsc0JBQXNCO1FBQ3RCLGtCQUFrQjtRQUNsQixXQUFXLGFBR1gsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0QixrQkFBa0I7UUFDbEIsV0FBVzs0SEFJRiw2QkFBNkIsYUFGN0IsQ0FBQyxRQUFRLENBQUMsWUFkWjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0QixrQkFBa0I7WUFDbEIsV0FBVztTQUNaLEVBRUMsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0QixrQkFBa0I7UUFDbEIsV0FBVzs0RkFJRiw2QkFBNkI7a0JBbkJ6QyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLGtCQUFrQjt3QkFDbEIsV0FBVztxQkFDWjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLGtCQUFrQjt3QkFDbEIsV0FBVztxQkFDWjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMaWJleU5nVGFibGVNb2R1bGUgfSBmcm9tICcuL3RhYmxlL2xpYmV5LW5nLXRhYmxlLm1vZHVsZSc7XHJcbmltcG9ydCB7IExpYmV5TmdTaWduYXR1cmVNb2R1bGUgfSBmcm9tICcuL3NpZ25hdHVyZS9saWJleS1uZy1zaWduYXR1cmUubW9kdWxlJztcclxuaW1wb3J0IHsgU2lnbmF0dXJlUGFkTW9kdWxlIH0gZnJvbSAnYW5ndWxhcjItc2lnbmF0dXJlcGFkJztcclxuaW1wb3J0IHsgSWNvbnNNb2R1bGUgfSBmcm9tICcuL2ljb25zL2ljb25zLm1vZHVsZSc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTGliZXlOZ1RhYmxlTW9kdWxlLFxyXG4gICAgTGliZXlOZ1NpZ25hdHVyZU1vZHVsZSxcclxuICAgIFNpZ25hdHVyZVBhZE1vZHVsZSxcclxuICAgIEljb25zTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBMaWJleU5nVGFibGVNb2R1bGUsXHJcbiAgICBMaWJleU5nU2lnbmF0dXJlTW9kdWxlLFxyXG4gICAgU2lnbmF0dXJlUGFkTW9kdWxlLFxyXG4gICAgSWNvbnNNb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW0RhdGVQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliZXlOZ0NvbXBvbmVudExpYnJhcnlNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -181,7 +181,7 @@ export class LibeyNgTableComponent {
181
181
  }
182
182
  }
183
183
  LibeyNgTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
184
- LibeyNgTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LibeyNgTableComponent, selector: "libey-ng-table", inputs: { data: "data", pageSize: "pageSize", totalSize: "totalSize", maxPageButtons: "maxPageButtons", height: "height", expandable: "expandable", viewPaginate: "viewPaginate", childTableTemplate: "childTableTemplate", headerfixed: "headerfixed", class: "class", internalPagination: "internalPagination", currentPage: "currentPage" }, outputs: { pageChange: "pageChange" }, queries: [{ propertyName: "columns", predicate: LibeyColumnDirective }], viewQueries: [{ propertyName: "tableContainer", first: true, predicate: ["tableContainer"], descendants: true }, { propertyName: "tableElement", first: true, predicate: ["table"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"table-container\" #tableContainer [style.height]=\"height == null ? 'auto':(height + 'px')\">\r\n <!-- <table cdkDropList (cdkDropListDropped)=\"drop($event)\"> -->\r\n <table #table [ngClass]=\"class\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"expandable\" [ngClass]=\"headerfixed == true ? 'th-fixed':''\" style=\"width: 25px;\"></th>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <th *ngIf=\"column.view\" [style.width]=\"column.width ? (column.width + 'px') : 'auto'\"\r\n [ngClass]=\"headerfixed == true ? (column.classHeader + ' th-fixed'): column.classHeader\">\r\n <!-- Custom header template -->\r\n <ng-container *ngIf=\"column.headerTemplate; else defaultHeader\">\r\n <ng-container [ngTemplateOutlet]=\"column.headerTemplate\"\r\n [ngTemplateOutletContext]=\"{ column: column, index: i }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <span style=\"white-space: nowrap;\">{{ column.header }}</span>\r\n </ng-template>\r\n <div class=\"resize-handle\" (mousedown)=\"onResizeStart(i, $event)\"></div>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"_data.length == 0\">\r\n <tr>\r\n <td [colSpan]=\"expandable ? (columns.length + 1) : (columns.length)\" class=\"text-center\">\r\n No existen datos disponibles\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"paginatedData.length != 0\">\r\n <ng-container *ngFor=\"let item of paginatedData; let a = index\">\r\n <tr>\r\n <td *ngIf=\"expandable\">\r\n <button (click)=\"toggleRow(a)\">\r\n <i [ngClass]=\"rowExpandable[a] ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </td>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <td \r\n *ngIf=\"column.view && (column.isRowspan && column.rowspan(item) > 0)\"\r\n [attr.rowspan]=\"column.rowspan(item)\"\r\n [ngClass]=\"column.class\" (click)=\"toggleRowDetail(i, a, column, item)\" [class]=\"column.expandable ? 'cursor-pointer': ''\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"detailTd\" \r\n [ngTemplateOutletContext]=\"{item:item, column:column, indexData:a, indexColumn:i}\">\r\n </ng-container> \r\n </td>\r\n <td \r\n *ngIf=\"column.view && column.isRowspan != true\"\r\n [ngClass]=\"column.class\" (click)=\"toggleRowDetail(i, a, column, item)\" [class]=\"column.expandable ? 'cursor-pointer': ''\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"detailTd\" \r\n [ngTemplateOutletContext]=\"{item:item, column:column, indexData:a, indexColumn:i}\">\r\n </ng-container> \r\n </td>\r\n </ng-container>\r\n </tr>\r\n <ng-container *ngIf=\"viewRowExpandableDetail(a)\">\r\n <ng-container *ngTemplateOutlet=\"findRowExpandableDetail(a); context: { $implicit: item }\"></ng-container>\r\n </ng-container>\r\n <tr *ngIf=\"rowExpandable[a]\">\r\n <td [attr.colspan]=\"columns.length + (expandable ? 1 : 0)\">\r\n <ng-container [ngTemplateOutlet]=\"childTableTemplate\"\r\n [ngTemplateOutletContext]=\"{ parentRow: item }\">\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n</div>\r\n<div *ngIf=\"viewPaginate && _data.length != 0\" class=\"pagination-controls\">\r\n <div class=\"d-align-center\">\r\n <label class=\"lbl-footer me-20px\"># Registros: {{this.totalSize}}</label>\r\n <label class=\"lbl-footer\"># Filas: {{this.pageSize}}</label>\r\n </div>\r\n <div>\r\n <button (click)=\"goToPage(1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-first-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(currentPage - 1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-previous-page\"></i>\r\n </button>\r\n <ng-container *ngFor=\"let page of pageRange()\">\r\n <button\r\n (click)=\"goToPage(page)\"\r\n [class.active]=\"currentPage === page\"\r\n [disabled]=\"currentPage === page\">\r\n {{ page }}\r\n </button>\r\n </ng-container>\r\n <button (click)=\"goToPage(currentPage + 1)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-next-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(totalPages)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-last-page\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n<ng-template #detailTd let-item=\"item\" let-column=\"column\" let-indexData=\"indexData\" let-indexColumn=\"indexColumn\">\r\n <ng-container *ngIf=\"column.getCellTemplate(); else defaultCell\">\r\n <div style=\"display: flex; justify-content: space-between; white-space: nowrap;\">\r\n <ng-container [ngTemplateOutlet]=\"column.getCellTemplate()\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item, column: column, index: indexData }\">\r\n </ng-container>\r\n <button *ngIf=\"column.expandable\">\r\n <i [ngClass]=\"existRowExpandableDetail(indexColumn, indexData) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultCell>\r\n <div style=\"display: flex; justify-content: space-between; white-space: nowrap;\">\r\n {{ getCellValue(item, column) }}\r\n <button *ngIf=\"column.expandable\">\r\n <i [ngClass]=\"existRowExpandableDetail(indexColumn, indexData) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-template>\r\n</ng-template>", styles: [".libey-table{table {width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed;};.table-container {width: 100%; overflow-x: auto;};td,th {padding: 5px 15px; text-align: left; position: relative; overflow: hidden;};th {font-weight: 400; color: #1087E8; border-top: 1px solid #D6DEE5; background-color: #EEF5FC; border-right: 1px solid #fff;};th:last-child {border-right: 1px solid #D6DEE5;};td {border-bottom: 1px solid #D6DEE5; border-style: none none solid none;};tr td:last-child {border-right: 1px solid #D6DEE5;};tr td:first-child {border-left: 1px solid #D6DEE5;};th.sortable {cursor: pointer;};.th-fixed{position: sticky !important; top: 0 !important; z-index: 1 !important;};.th-fixed::after {content: \"\"; position: absolute; left: 0; bottom: 0; width: 100%;};.table-actions {margin-bottom: 10px; display: flex; justify-content: space-between;};.table-pagination {margin-top: 10px; display: flex; justify-content: space-between;};.pagination-controls {border-radius: 10px; justify-content: space-between; border: 1px solid #D6DEE5; padding: 0px 15px; display: flex; align-items: center; margin-top: 10px; grid-gap: 5px; gap: 5px;};button {font-size: 14px; border: 0px; padding: 5px; cursor: pointer; background-color: transparent;};button.active {font-weight: 600; color: #38E8C6;};tr:first-child th:first-child {border-top-left-radius: 10px; border-left: 1px solid #D6DEE5;};tr:first-child th:last-child {border-top-right-radius: 10px; border-right: 1px solid #D6DEE5;};tr:last-child td:first-child {border-bottom-left-radius: 10px;};tr:last-child td:last-child {border-bottom-right-radius: 10px;};.d-align-center {display: flex !important; align-items: center !important;};.me-20px{margin-right: 20px;};.icon-first-page {background-repeat: no-repeat; display: block; width: 12px; height: 10px; background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.0922 0.292893C10.4827 -0.0976311 11.1159 -0.0976311 11.5064 0.292893C11.8969 0.683417 11.8969 1.31658 11.5064 1.70711L8.21353 5L11.5064 8.29289C11.8969 8.68342 11.8969 9.31658 11.5064 9.70711C11.1159 10.0976 10.4827 10.0976 10.0922 9.70711L6.09221 5.70711C5.70169 5.31658 5.70169 4.68342 6.09221 4.29289L10.0922 0.292893ZM4.49211 0.292893C4.88264 -0.0976311 5.5158 -0.0976311 5.90633 0.292893C6.29685 0.683417 6.29685 1.31658 5.90633 1.70711L2.61343 5L5.90633 8.29289C6.29685 8.68342 6.29685 9.31658 5.90633 9.70711C5.5158 10.0976 4.88264 10.0976 4.49211 9.70711L0.492111 5.70711C0.101587 5.31658 0.101587 4.68342 0.492111 4.29289L4.49211 0.292893Z' fill='%2338E8C6'/%3E%3C/svg%3E%0A\");};button:disabled .icon-first-page {background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.0922 0.292893C10.4827 -0.0976311 11.1159 -0.0976311 11.5064 0.292893C11.8969 0.683417 11.8969 1.31658 11.5064 1.70711L8.21353 5L11.5064 8.29289C11.8969 8.68342 11.8969 9.31658 11.5064 9.70711C11.1159 10.0976 10.4827 10.0976 10.0922 9.70711L6.09221 5.70711C5.70169 5.31658 5.70169 4.68342 6.09221 4.29289L10.0922 0.292893ZM4.49211 0.292893C4.88264 -0.0976311 5.5158 -0.0976311 5.90633 0.292893C6.29685 0.683417 6.29685 1.31658 5.90633 1.70711L2.61343 5L5.90633 8.29289C6.29685 8.68342 6.29685 9.31658 5.90633 9.70711C5.5158 10.0976 4.88264 10.0976 4.49211 9.70711L0.492111 5.70711C0.101587 5.31658 0.101587 4.68342 0.492111 4.29289L4.49211 0.292893Z' fill='%23D0D0D0'/%3E%3C/svg%3E%0A\");};.icon-previous-page {background-repeat: no-repeat; display: block; width: 7px; height: 10px; background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 7 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.90681 0.292893C6.29734 0.683417 6.29734 1.31658 5.90681 1.70711L2.61392 5L5.90681 8.29289C6.29734 8.68342 6.29734 9.31658 5.90681 9.70711C5.51629 10.0976 4.88312 10.0976 4.4926 9.70711L0.4926 5.70711C0.102076 5.31658 0.102076 4.68342 0.4926 4.29289L4.4926 0.292893C4.88312 -0.0976311 5.51629 -0.0976311 5.90681 0.292893Z' fill='%2338E8C6'/%3E%3C/svg%3E%0A\");};button:disabled .icon-previous-page {background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 7 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.90681 0.292893C6.29734 0.683417 6.29734 1.31658 5.90681 1.70711L2.61392 5L5.90681 8.29289C6.29734 8.68342 6.29734 9.31658 5.90681 9.70711C5.51629 10.0976 4.88312 10.0976 4.4926 9.70711L0.4926 5.70711C0.102076 5.31658 0.102076 4.68342 0.4926 4.29289L4.4926 0.292893C4.88312 -0.0976311 5.51629 -0.0976311 5.90681 0.292893Z' fill='%23D0D0D0'/%3E%3C/svg%3E%0A\");};.icon-next-page {background-repeat: no-repeat; display: block; width: 7px; height: 10px; background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 7 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.4926 0.292893C0.102076 0.683417 0.102076 1.31658 0.4926 1.70711L3.78549 5L0.4926 8.29289C0.102076 8.68342 0.102076 9.31658 0.4926 9.70711C0.883124 10.0976 1.51629 10.0976 1.90681 9.70711L5.90681 5.70711C6.29734 5.31658 6.29734 4.68342 5.90681 4.29289L1.90681 0.292893C1.51629 -0.0976311 0.883124 -0.0976311 0.4926 0.292893Z' fill='%2338E8C6'/%3E%3C/svg%3E%0A\");};button:disabled .icon-next-page {background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 7 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.4926 0.292893C0.102076 0.683417 0.102076 1.31658 0.4926 1.70711L3.78549 5L0.4926 8.29289C0.102076 8.68342 0.102076 9.31658 0.4926 9.70711C0.883124 10.0976 1.51629 10.0976 1.90681 9.70711L5.90681 5.70711C6.29734 5.31658 6.29734 4.68342 5.90681 4.29289L1.90681 0.292893C1.51629 -0.0976311 0.883124 -0.0976311 0.4926 0.292893Z' fill='%23D0D0D0'/%3E%3C/svg%3E%0A\");};.icon-last-page {background-repeat: no-repeat; display: block; width: 12px; height: 10px; background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.10701 0.292893C1.71648 -0.0976311 1.08332 -0.0976311 0.692796 0.292893C0.302271 0.683417 0.302271 1.31658 0.692796 1.70711L3.98569 5L0.692796 8.29289C0.302271 8.68342 0.302271 9.31658 0.692796 9.70711C1.08332 10.0976 1.71648 10.0976 2.10701 9.70711L6.10701 5.70711C6.49753 5.31658 6.49753 4.68342 6.10701 4.29289L2.10701 0.292893ZM7.70711 0.292893C7.31658 -0.0976311 6.68342 -0.0976311 6.29289 0.292893C5.90237 0.683417 5.90237 1.31658 6.29289 1.70711L9.58579 5L6.29289 8.29289C5.90237 8.68342 5.90237 9.31658 6.29289 9.70711C6.68342 10.0976 7.31658 10.0976 7.70711 9.70711L11.7071 5.70711C12.0976 5.31658 12.0976 4.68342 11.7071 4.29289L7.70711 0.292893Z' fill='%2338E8C6'/%3E%3C/svg%3E%0A\");};button:disabled .icon-last-page {background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.10701 0.292893C1.71648 -0.0976311 1.08332 -0.0976311 0.692796 0.292893C0.302271 0.683417 0.302271 1.31658 0.692796 1.70711L3.98569 5L0.692796 8.29289C0.302271 8.68342 0.302271 9.31658 0.692796 9.70711C1.08332 10.0976 1.71648 10.0976 2.10701 9.70711L6.10701 5.70711C6.49753 5.31658 6.49753 4.68342 6.10701 4.29289L2.10701 0.292893ZM7.70711 0.292893C7.31658 -0.0976311 6.68342 -0.0976311 6.29289 0.292893C5.90237 0.683417 5.90237 1.31658 6.29289 1.70711L9.58579 5L6.29289 8.29289C5.90237 8.68342 5.90237 9.31658 6.29289 9.70711C6.68342 10.0976 7.31658 10.0976 7.70711 9.70711L11.7071 5.70711C12.0976 5.31658 12.0976 4.68342 11.7071 4.29289L7.70711 0.292893Z' fill='%23D0D0D0'/%3E%3C/svg%3E%0A\");};.resize-handle {position: absolute; right: 0; top: 0; bottom: 0; width: 5px; cursor: col-resize; background-color: transparent;};::-webkit-scrollbar {width: .7rem; height: .7rem;};::-webkit-scrollbar-thumb {background-color: #d9d9d9 !important; border-radius: 20px !important; border: 3px solid #d9d9d9 !important;};.icon-arrow-up {background-repeat: no-repeat; display: block; width: 12px; height: 8px; background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 19 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.347794 9.61517C0.825615 10.1134 1.6169 10.13 2.11517 9.65221L9.07106 2.98186L16.0269 9.65221C16.5252 10.13 17.3165 10.1134 17.7943 9.61517C18.2721 9.11689 18.2556 8.32561 17.7573 7.84779L9.93623 0.347793C9.45266 -0.115931 8.68946 -0.115931 8.20589 0.347793L0.38483 7.84779C-0.113445 8.32561 -0.130027 9.11689 0.347794 9.61517Z' fill='%23224051'/%3E%3C/svg%3E%0A\");};.icon-arrow-down {background-repeat: no-repeat; display: block; width: 12px; height: 8px; background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 18 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.6234 0.387653C17.1213 -0.129218 16.3073 -0.129218 15.8051 0.387653L9 7.39295L2.19485 0.387652C1.69275 -0.129219 0.878679 -0.129219 0.376577 0.387651C-0.125527 0.904522 -0.125527 1.74253 0.376577 2.25941L8.09086 10.2006C8.59296 10.7175 9.40703 10.7175 9.90914 10.2006L17.6234 2.25941C18.1255 1.74254 18.1255 0.904523 17.6234 0.387653Z' fill='%23224051'/%3E%3C/svg%3E%0A\");};.text-center {text-align: center !important;};.cursor-pointer{cursor: pointer;}}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
184
+ LibeyNgTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LibeyNgTableComponent, selector: "libey-ng-table", inputs: { data: "data", pageSize: "pageSize", totalSize: "totalSize", maxPageButtons: "maxPageButtons", height: "height", expandable: "expandable", viewPaginate: "viewPaginate", childTableTemplate: "childTableTemplate", headerfixed: "headerfixed", class: "class", internalPagination: "internalPagination", currentPage: "currentPage" }, outputs: { pageChange: "pageChange" }, queries: [{ propertyName: "columns", predicate: LibeyColumnDirective }], viewQueries: [{ propertyName: "tableContainer", first: true, predicate: ["tableContainer"], descendants: true }, { propertyName: "tableElement", first: true, predicate: ["table"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"table-container\" #tableContainer [style.height]=\"height == null ? 'auto':(height + 'px')\">\r\n <!-- <table cdkDropList (cdkDropListDropped)=\"drop($event)\"> -->\r\n <table #table [ngClass]=\"class\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"expandable\" [ngClass]=\"headerfixed == true ? 'th-fixed':''\" style=\"width: 25px;\"></th>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <th *ngIf=\"column.view\" [style.width]=\"column.width ? (column.width + 'px') : 'auto'\"\r\n [ngClass]=\"headerfixed == true ? (column.classHeader + ' th-fixed'): column.classHeader\">\r\n <!-- Custom header template -->\r\n <ng-container *ngIf=\"column.headerTemplate; else defaultHeader\">\r\n <ng-container [ngTemplateOutlet]=\"column.headerTemplate\"\r\n [ngTemplateOutletContext]=\"{ column: column, index: i }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <span style=\"white-space: nowrap;\">{{ column.header }}</span>\r\n </ng-template>\r\n <div class=\"resize-handle\" (mousedown)=\"onResizeStart(i, $event)\"></div>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"_data.length == 0\">\r\n <tr>\r\n <td [colSpan]=\"expandable ? (columns.length + 1) : (columns.length)\" class=\"text-center\">\r\n No existen datos disponibles\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"paginatedData.length != 0\">\r\n <ng-container *ngFor=\"let item of paginatedData; let a = index\">\r\n <tr>\r\n <td *ngIf=\"expandable\">\r\n <button (click)=\"toggleRow(a)\">\r\n <i [ngClass]=\"rowExpandable[a] ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </td>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <td\r\n *ngIf=\"column.view && (column.isRowspan && column.rowspan(item) > 0)\"\r\n [attr.rowspan]=\"column.rowspan(item)\"\r\n [ngClass]=\"column.class\" (click)=\"toggleRowDetail(i, a, column, item)\" [class]=\"column.expandable ? 'cursor-pointer': ''\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"detailTd\"\r\n [ngTemplateOutletContext]=\"{item:item, column:column, indexData:a, indexColumn:i}\">\r\n </ng-container>\r\n </td>\r\n <td\r\n *ngIf=\"column.view && column.isRowspan != true\"\r\n [ngClass]=\"column.class\" (click)=\"toggleRowDetail(i, a, column, item)\" [class]=\"column.expandable ? 'cursor-pointer': ''\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"detailTd\"\r\n [ngTemplateOutletContext]=\"{item:item, column:column, indexData:a, indexColumn:i}\">\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n <ng-container *ngIf=\"viewRowExpandableDetail(a)\">\r\n <ng-container *ngTemplateOutlet=\"findRowExpandableDetail(a); context: { $implicit: item }\"></ng-container>\r\n </ng-container>\r\n <tr *ngIf=\"rowExpandable[a]\">\r\n <td [attr.colspan]=\"columns.length + (expandable ? 1 : 0)\">\r\n <ng-container [ngTemplateOutlet]=\"childTableTemplate\"\r\n [ngTemplateOutletContext]=\"{ parentRow: item }\">\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n</div>\r\n<div *ngIf=\"viewPaginate && _data.length != 0\" class=\"pagination-controls\">\r\n <div class=\"d-align-center\">\r\n <label class=\"lbl-footer me-20px\"># Registros: {{this.totalSize}}</label>\r\n <label class=\"lbl-footer\"># Filas: {{this.pageSize}}</label>\r\n </div>\r\n <div class=\"d-align-center\">\r\n <button (click)=\"goToPage(1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-first-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(currentPage - 1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-previous-page\"></i>\r\n </button>\r\n <ng-container *ngFor=\"let page of pageRange()\">\r\n <button class=\"numbers\"\r\n (click)=\"goToPage(page)\"\r\n [class.active]=\"currentPage === page\"\r\n [disabled]=\"currentPage === page\">\r\n {{ page }}\r\n </button>\r\n </ng-container>\r\n <button (click)=\"goToPage(currentPage + 1)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-next-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(totalPages)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-last-page\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n<ng-template #detailTd let-item=\"item\" let-column=\"column\" let-indexData=\"indexData\" let-indexColumn=\"indexColumn\">\r\n <ng-container *ngIf=\"column.getCellTemplate(); else defaultCell\">\r\n <div style=\"display: flex; justify-content: space-between; white-space: nowrap;\">\r\n <ng-container [ngTemplateOutlet]=\"column.getCellTemplate()\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item, column: column, index: indexData }\">\r\n </ng-container>\r\n <button *ngIf=\"column.expandable\">\r\n <i [ngClass]=\"existRowExpandableDetail(indexColumn, indexData) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultCell>\r\n <div style=\"display: flex; justify-content: space-between; white-space: nowrap;\">\r\n {{ getCellValue(item, column) }}\r\n <button *ngIf=\"column.expandable\">\r\n <i [ngClass]=\"existRowExpandableDetail(indexColumn, indexData) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-template>\r\n</ng-template>", styles: [".libey-table{table {font-size: 1.077rem; width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed;};.table-container {width: 100%; overflow-x: auto;};td,th {height: 30px; padding: 0rem 1.154rem; text-align: left; position: relative; overflow: hidden; vertical-align: middle;};td lib-libey-ng-icons {height: 30px;};th {font-weight: 400; color: #1087E8; border-top: .077rem solid #D6DEE5; background-color: #EEF5FC; border-right: .077rem solid #fff;};th:last-child {border-right: .077rem solid #D6DEE5;};td {border-bottom: .077rem solid #D6DEE5; border-style: none none solid none; text-transform: uppercase;};tr td:last-child {border-right: .077rem solid #D6DEE5;};tr td:first-child {border-left: .077rem solid #D6DEE5;};th.sortable {cursor: pointer;};.th-fixed{position: sticky !important; top: 0 !important; z-index: 1 !important;};.th-fixed::after {content: \"\"; position: absolute; left: 0; bottom: 0; width: 100%;};.table-actions {margin-bottom: .769rem; display: flex; justify-content: space-between;};.table-pagination {margin-top: .769rem; display: flex; justify-content: space-between;};.pagination-controls {border-radius: .769rem; justify-content: space-between; border: .077rem solid #D6DEE5; padding: 0 1.154rem; display: flex; align-items: center; margin-top: .769rem; grid-gap: .385rem; gap: .385rem; height: 2.308rem;};button {font-size: 1.077rem; border: .077rem solid transparent; border-radius: .308rem; cursor: pointer; min-width: 1.692rem; margin: .077rem; justify-content: center; height: 1.692rem; background-color: transparent; padding: 0 .231rem; display: flex; justify-content: center; align-items: center;};button.active {border: .077rem solid #38E8C6; background-color: #38E8C6; font-weight: 600; color: #FFF;};button:hover.numbers {border: .077rem solid #38E8C6 !important; border-radius: .308rem;};tr:first-child th:first-child {border-top-left-radius: .769rem; border-left: .077rem solid #D6DEE5;};tr:first-child th:last-child {border-top-right-radius: .769rem; border-right: .077rem solid #D6DEE5;};tr:last-child td:first-child {border-bottom-left-radius: .769rem;};tr:last-child td:last-child {border-bottom-right-radius: .769rem;};.d-align-center {display: flex !important; align-items: center !important;};.me-20px{margin-right: 1.538rem;};.icon-first-page {background-repeat: no-repeat; display: block; width: .923rem; height: .769rem; background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.0922 0.292893C10.4827 -0.0976311 11.1159 -0.0976311 11.5064 0.292893C11.8969 0.683417 11.8969 1.31658 11.5064 1.70711L8.21353 5L11.5064 8.29289C11.8969 8.68342 11.8969 9.31658 11.5064 9.70711C11.1159 10.0976 10.4827 10.0976 10.0922 9.70711L6.09221 5.70711C5.70169 5.31658 5.70169 4.68342 6.09221 4.29289L10.0922 0.292893ZM4.49211 0.292893C4.88264 -0.0976311 5.5158 -0.0976311 5.90633 0.292893C6.29685 0.683417 6.29685 1.31658 5.90633 1.70711L2.61343 5L5.90633 8.29289C6.29685 8.68342 6.29685 9.31658 5.90633 9.70711C5.5158 10.0976 4.88264 10.0976 4.49211 9.70711L0.492111 5.70711C0.101587 5.31658 0.101587 4.68342 0.492111 4.29289L4.49211 0.292893Z' fill='%2338E8C6'/%3E%3C/svg%3E%0A\");};button:disabled .icon-first-page {background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.0922 0.292893C10.4827 -0.0976311 11.1159 -0.0976311 11.5064 0.292893C11.8969 0.683417 11.8969 1.31658 11.5064 1.70711L8.21353 5L11.5064 8.29289C11.8969 8.68342 11.8969 9.31658 11.5064 9.70711C11.1159 10.0976 10.4827 10.0976 10.0922 9.70711L6.09221 5.70711C5.70169 5.31658 5.70169 4.68342 6.09221 4.29289L10.0922 0.292893ZM4.49211 0.292893C4.88264 -0.0976311 5.5158 -0.0976311 5.90633 0.292893C6.29685 0.683417 6.29685 1.31658 5.90633 1.70711L2.61343 5L5.90633 8.29289C6.29685 8.68342 6.29685 9.31658 5.90633 9.70711C5.5158 10.0976 4.88264 10.0976 4.49211 9.70711L0.492111 5.70711C0.101587 5.31658 0.101587 4.68342 0.492111 4.29289L4.49211 0.292893Z' fill='%23D0D0D0'/%3E%3C/svg%3E%0A\");};.icon-previous-page {background-repeat: no-repeat; display: block; width: .538rem; height: .769rem; background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 7 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.90681 0.292893C6.29734 0.683417 6.29734 1.31658 5.90681 1.70711L2.61392 5L5.90681 8.29289C6.29734 8.68342 6.29734 9.31658 5.90681 9.70711C5.51629 10.0976 4.88312 10.0976 4.4926 9.70711L0.4926 5.70711C0.102076 5.31658 0.102076 4.68342 0.4926 4.29289L4.4926 0.292893C4.88312 -0.0976311 5.51629 -0.0976311 5.90681 0.292893Z' fill='%2338E8C6'/%3E%3C/svg%3E%0A\");};button:disabled .icon-previous-page {background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 7 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.90681 0.292893C6.29734 0.683417 6.29734 1.31658 5.90681 1.70711L2.61392 5L5.90681 8.29289C6.29734 8.68342 6.29734 9.31658 5.90681 9.70711C5.51629 10.0976 4.88312 10.0976 4.4926 9.70711L0.4926 5.70711C0.102076 5.31658 0.102076 4.68342 0.4926 4.29289L4.4926 0.292893C4.88312 -0.0976311 5.51629 -0.0976311 5.90681 0.292893Z' fill='%23D0D0D0'/%3E%3C/svg%3E%0A\");};.icon-next-page {background-repeat: no-repeat; display: block; width: .538rem; height: .769rem; background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 7 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.4926 0.292893C0.102076 0.683417 0.102076 1.31658 0.4926 1.70711L3.78549 5L0.4926 8.29289C0.102076 8.68342 0.102076 9.31658 0.4926 9.70711C0.883124 10.0976 1.51629 10.0976 1.90681 9.70711L5.90681 5.70711C6.29734 5.31658 6.29734 4.68342 5.90681 4.29289L1.90681 0.292893C1.51629 -0.0976311 0.883124 -0.0976311 0.4926 0.292893Z' fill='%2338E8C6'/%3E%3C/svg%3E%0A\");};button:disabled .icon-next-page {background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 7 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.4926 0.292893C0.102076 0.683417 0.102076 1.31658 0.4926 1.70711L3.78549 5L0.4926 8.29289C0.102076 8.68342 0.102076 9.31658 0.4926 9.70711C0.883124 10.0976 1.51629 10.0976 1.90681 9.70711L5.90681 5.70711C6.29734 5.31658 6.29734 4.68342 5.90681 4.29289L1.90681 0.292893C1.51629 -0.0976311 0.883124 -0.0976311 0.4926 0.292893Z' fill='%23D0D0D0'/%3E%3C/svg%3E%0A\");};.icon-last-page {background-repeat: no-repeat; display: block; width: .923rem; height: .769rem; background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.10701 0.292893C1.71648 -0.0976311 1.08332 -0.0976311 0.692796 0.292893C0.302271 0.683417 0.302271 1.31658 0.692796 1.70711L3.98569 5L0.692796 8.29289C0.302271 8.68342 0.302271 9.31658 0.692796 9.70711C1.08332 10.0976 1.71648 10.0976 2.10701 9.70711L6.10701 5.70711C6.49753 5.31658 6.49753 4.68342 6.10701 4.29289L2.10701 0.292893ZM7.70711 0.292893C7.31658 -0.0976311 6.68342 -0.0976311 6.29289 0.292893C5.90237 0.683417 5.90237 1.31658 6.29289 1.70711L9.58579 5L6.29289 8.29289C5.90237 8.68342 5.90237 9.31658 6.29289 9.70711C6.68342 10.0976 7.31658 10.0976 7.70711 9.70711L11.7071 5.70711C12.0976 5.31658 12.0976 4.68342 11.7071 4.29289L7.70711 0.292893Z' fill='%2338E8C6'/%3E%3C/svg%3E%0A\");};button:disabled .icon-last-page {background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.10701 0.292893C1.71648 -0.0976311 1.08332 -0.0976311 0.692796 0.292893C0.302271 0.683417 0.302271 1.31658 0.692796 1.70711L3.98569 5L0.692796 8.29289C0.302271 8.68342 0.302271 9.31658 0.692796 9.70711C1.08332 10.0976 1.71648 10.0976 2.10701 9.70711L6.10701 5.70711C6.49753 5.31658 6.49753 4.68342 6.10701 4.29289L2.10701 0.292893ZM7.70711 0.292893C7.31658 -0.0976311 6.68342 -0.0976311 6.29289 0.292893C5.90237 0.683417 5.90237 1.31658 6.29289 1.70711L9.58579 5L6.29289 8.29289C5.90237 8.68342 5.90237 9.31658 6.29289 9.70711C6.68342 10.0976 7.31658 10.0976 7.70711 9.70711L11.7071 5.70711C12.0976 5.31658 12.0976 4.68342 11.7071 4.29289L7.70711 0.292893Z' fill='%23D0D0D0'/%3E%3C/svg%3E%0A\");};.resize-handle {position: absolute; right: 0; top: 0; bottom: 0; width: .385rem; cursor: col-resize; background-color: transparent;};::-webkit-scrollbar {width: .7rem; height: .7rem;};::-webkit-scrollbar-thumb {background-color: #d9d9d9 !important; border-radius: 1.538rem !important; border: .231rem solid #d9d9d9 !important;};.icon-arrow-up {background-repeat: no-repeat; display: block; width: .923rem; height: .615rem; background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 19 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.347794 9.61517C0.825615 10.1134 1.6169 10.13 2.11517 9.65221L9.07106 2.98186L16.0269 9.65221C16.5252 10.13 17.3165 10.1134 17.7943 9.61517C18.2721 9.11689 18.2556 8.32561 17.7573 7.84779L9.93623 0.347793C9.45266 -0.115931 8.68946 -0.115931 8.20589 0.347793L0.38483 7.84779C-0.113445 8.32561 -0.130027 9.11689 0.347794 9.61517Z' fill='%23224051'/%3E%3C/svg%3E%0A\");};.icon-arrow-down {background-repeat: no-repeat; display: block; width: .923rem; height: .615rem; background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 18 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.6234 0.387653C17.1213 -0.129218 16.3073 -0.129218 15.8051 0.387653L9 7.39295L2.19485 0.387652C1.69275 -0.129219 0.878679 -0.129219 0.376577 0.387651C-0.125527 0.904522 -0.125527 1.74253 0.376577 2.25941L8.09086 10.2006C8.59296 10.7175 9.40703 10.7175 9.90914 10.2006L17.6234 2.25941C18.1255 1.74254 18.1255 0.904523 17.6234 0.387653Z' fill='%23224051'/%3E%3C/svg%3E%0A\");};.text-center {text-align: center !important;};.cursor-pointer{cursor: pointer;}}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
185
185
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgTableComponent, decorators: [{
186
186
  type: Component,
187
187
  args: [{
@@ -226,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
226
226
  type: ViewChild,
227
227
  args: ['table']
228
228
  }] } });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliZXktbmctdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi90YWJsZS9saWJleS1uZy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWJleS1uZy1jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL3RhYmxlL2xpYmV5LW5nLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFFLGVBQWUsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQXlDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5TixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBUzNFLE1BQU0sT0FBTztDQU9aO0FBU0QsTUFBTSxPQUFPLHFCQUFxQjtJQWdDaEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF6QmpDLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUUzQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBRTdCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUNuQyxnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUN2QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUlsRCxrQkFBYSxHQUFjLEVBQUUsQ0FBQztRQUM5Qix3QkFBbUIsR0FBZSxFQUFFLENBQUM7UUFDckMsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFDMUIsVUFBSyxHQUFVLEVBQUUsQ0FBQztRQUNsQixp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TUFBTTtnQkFFZ0MsT0FBTztzQkFBN0MsZUFBZTt1QkFBQyxvQkFBb0I7Z0JBVVIsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ1AsWUFBWTtzQkFBL0IsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpYmV5Q29sdW1uRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2xpYmV5LWNvbHVtbi5kaXJlY3RpdmUnO1xyXG5pbnRlcmZhY2UgSURhdGFLZXkge1xyXG4gIGtleTogbnVtYmVyO1xyXG4gIGRhdGFLZXk6IG51bWJlcjtcclxuICBjaGlsZFRhYmxlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgZGF0YTogYW55W107XHJcbiAgYXV0b0Nsb3NlOiBib29sZWFuO1xyXG59XHJcblxyXG5jbGFzcyBEYXRhS2V5IGltcGxlbWVudHMgSURhdGFLZXkge1xyXG4gIGtleTogbnVtYmVyO1xyXG4gIGRhdGFLZXk6IG51bWJlcjtcclxuICBjaGlsZFRhYmxlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgZGF0YTogYW55W107XHJcbiAgYXV0b0Nsb3NlOiBib29sZWFuO1xyXG4gIHJvd3NwYW46IG51bWJlcjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWJleS1uZy10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYmV5LW5nLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saWJleS1uZy10YWJsZS5jb21wb25lbnQuY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIExpYmV5TmdUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBzZXQgZGF0YSh2YWx1ZTogYW55W10pIHtcclxuICAgIHRoaXMuX2RhdGEgPSB2YWx1ZTtcclxuICB9XHJcbiAgZ2V0IGRhdGEoKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHBhZ2VTaXplOiBudW1iZXIgPSAxMDtcclxuICBASW5wdXQoKSB0b3RhbFNpemU6IG51bWJlciA9IDA7XHJcbiAgQElucHV0KCkgbWF4UGFnZUJ1dHRvbnM6IG51bWJlciA9IDU7XHJcbiAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XHJcbiAgQElucHV0KCkgZXhwYW5kYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHZpZXdQYWdpbmF0ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgY2hpbGRUYWJsZVRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBoZWFkZXJmaXhlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNsYXNzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaW50ZXJuYWxQYWdpbmF0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBAT3V0cHV0KCkgcGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIFxyXG4gIEBDb250ZW50Q2hpbGRyZW4oTGliZXlDb2x1bW5EaXJlY3RpdmUpIGNvbHVtbnMhOiBRdWVyeUxpc3Q8TGliZXlDb2x1bW5EaXJlY3RpdmU+O1xyXG5cclxuICByb3dFeHBhbmRhYmxlOiBib29sZWFuW10gPSBbXTtcclxuICByb3dFeHBhbmRhYmxlRGV0YWlsOiBJRGF0YUtleVtdID0gW107XHJcbiAgcGFnaW5hdGVkRGF0YTogYW55W10gPSBbXTtcclxuICBfZGF0YTogYW55W10gPSBbXTtcclxuICBjb2x1bW5XaWR0aHM6IG51bWJlcltdID0gW107XHJcbiAgcmVzaXppbmdDb2x1bW5JbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgc3RhcnRYOiBudW1iZXIgPSAwO1xyXG4gIHN0YXJ0V2lkdGg6IG51bWJlciA9IDA7XHJcbiAgQFZpZXdDaGlsZCgndGFibGVDb250YWluZXInKSB0YWJsZUNvbnRhaW5lciE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgndGFibGUnKSB0YWJsZUVsZW1lbnQhOiBFbGVtZW50UmVmO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZihjaGFuZ2VzLmRhdGEgJiYgY2hhbmdlcy5kYXRhLnByZXZpb3VzVmFsdWUpe1xyXG4gICAgICBjaGFuZ2VzLmRhdGEuY3VycmVudFZhbHVlLmZvckVhY2goKHZhbHVlLCBpbmRleCkgPT4ge1xyXG4gICAgICAgIHZhciBmaW5kRGF0YSA9IHRoaXMucm93RXhwYW5kYWJsZURldGFpbC5maW5kKHggPT4geC5kYXRhS2V5ID09IGluZGV4KTtcclxuICAgICAgICBpZihmaW5kRGF0YSAhPSBudWxsKVxyXG4gICAgICAgICAgZmluZERhdGEuYXV0b0Nsb3NlID0gdmFsdWUuYXV0b0Nsb3NlO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fZGF0YSA9IGNoYW5nZXMuZGF0YS5jdXJyZW50VmFsdWU7XHJcbiAgICAgIHRoaXMudXBkYXRlUGFnaW5hdGVkRGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudXBkYXRlUGFnaW5hdGVkRGF0YSgpO1xyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVDb2x1bW5XaWR0aHMoKTtcclxuICAgIC8vIHRoaXMuYWRqdXN0VGFibGVXaWR0aCgpXHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplQ29sdW1uV2lkdGhzKCkge1xyXG4gICAgdmFyIHBhZGRpbmcgPSAzMVxyXG4gICAgdmFyIHdpZHRoRGVmYXVsdCA9IDE1MFxyXG4gICAgdGhpcy5jb2x1bW5XaWR0aHMgPSB0aGlzLmNvbHVtbnMubWFwKGNvbHVtbiA9PiBjb2x1bW4ud2lkdGgpO1xyXG4gICAgY29uc3QgY29udGFpbmVyV2lkdGggPSB0aGlzLnRhYmxlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgICBjb25zdCBhdXRvQ29sdW1ucyA9IHRoaXMuY29sdW1ucy5maWx0ZXIoY29sdW1uID0+IGNvbHVtbi53aWR0aCA9PSBudWxsKTtcclxuICAgIGNvbnN0IHRvdGFsRml4ZWRXaWR0aCA9IHRoaXMuY29sdW1ucy5yZWR1Y2UoKHN1bSwgY29sdW1uKSA9PlxyXG4gICAgICBjb2x1bW4ud2lkdGggIT0gbnVsbCA/IChzdW0gKyB0aGlzLmdldFdpZHRoVmFsdWUoY29sdW1uLndpZHRoKSkgOiBzdW0sIDApO1xyXG4gICAgY29uc3QgcmVtYWluaW5nV2lkdGggPSBjb250YWluZXJXaWR0aCAtICh0b3RhbEZpeGVkV2lkdGggKyAoKCh0aGlzLmNvbHVtbnMubGVuZ3RoIC0gYXV0b0NvbHVtbnMubGVuZ3RoKSAqIHBhZGRpbmcpKyAodGhpcy5leHBhbmRhYmxlID8gNjEgOiAwKSkpO1xyXG5cclxuICAgIGlmIChhdXRvQ29sdW1ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHZhciBhdXRvQ29sdW1uV2lkdGggPSAwO1xyXG4gICAgICBpZihyZW1haW5pbmdXaWR0aCA8IHdpZHRoRGVmYXVsdClcclxuICAgICAgICBhdXRvQ29sdW1uV2lkdGggPSB3aWR0aERlZmF1bHQ7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBhdXRvQ29sdW1uV2lkdGggPSBNYXRoLm1heCgwLCByZW1haW5pbmdXaWR0aCAvIGF1dG9Db2x1bW5zLmxlbmd0aCk7XHJcbiAgICAgIGF1dG9Db2x1bW5zLmZvckVhY2goY29sdW1uID0+IGNvbHVtbi53aWR0aCA9IGF1dG9Db2x1bW5XaWR0aC0gcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbHVtbldpZHRocyA9IHRoaXMuY29sdW1ucy5tYXAoY29sdW1uID0+IGNvbHVtbi53aWR0aCk7XHJcbiAgfVxyXG4gIC8vIGFkanVzdFRhYmxlV2lkdGgoKSB7XHJcbiAgLy8gICBjb25zdCB0b3RhbFdpZHRoID0gdGhpcy5jb2x1bW5zLnJlZHVjZSgoc3VtLCBjb2x1bW4pID0+IHN1bSArIHRoaXMuZ2V0V2lkdGhWYWx1ZShjb2x1bW4ud2lkdGgpLCAwKTtcclxuICAvLyAgIHRoaXMudGFibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSBgJHt0b3RhbFdpZHRofXB4YDtcclxuICAvLyB9XHJcbiAgZ2V0V2lkdGhWYWx1ZSh3aWR0aDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB3aWR0aCA9PT0gbnVsbCA/IDEwMCA6IHdpZHRoO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRvdGFsUGFnZXMoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy50b3RhbFNpemUgLyB0aGlzLnBhZ2VTaXplKTtcclxuICB9XHJcblxyXG4gIGdldENlbGxWYWx1ZShpdGVtOiBhbnksIGNvbHVtbjogTGliZXlDb2x1bW5EaXJlY3RpdmUpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldE5lc3RlZFZhbHVlKGl0ZW0sIGNvbHVtbi5wcm9wZXJ0eSk7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgY29sdW1uLmFycmF5TWFwKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZS5tYXAodiA9PiB0aGlzLmdldE5lc3RlZFZhbHVlKHYsIGNvbHVtbi5hcnJheU1hcCEpKS5qb2luKCcsICcpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXROZXN0ZWRWYWx1ZShvYmo6IGFueSwgcGF0aDogc3RyaW5nKTogYW55IHtcclxuICAgIHJldHVybiBwYXRoLnNwbGl0KCcuJykucmVkdWNlKChvLCBrZXkpID0+IHtcclxuICAgICAgaWYgKG8gJiYgdHlwZW9mIG8gPT09ICdvYmplY3QnICYmIGtleSBpbiBvKSB7XHJcbiAgICAgICAgcmV0dXJuIG9ba2V5XTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfSwgb2JqKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlUGFnaW5hdGVkRGF0YSgpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMudmlld1BhZ2luYXRlICYmIHRoaXMuaW50ZXJuYWxQYWdpbmF0aW9uKXtcclxuICAgICAgY29uc3Qgc3RhcnQgPSAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5wYWdlU2l6ZTtcclxuICAgICAgY29uc3QgZW5kID0gc3RhcnQgKyB0aGlzLnBhZ2VTaXplO1xyXG4gICAgICB0aGlzLnBhZ2luYXRlZERhdGEgPSB0aGlzLmRhdGEuc2xpY2Uoc3RhcnQsIGVuZCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5wYWdpbmF0ZWREYXRhID0gdGhpcy5kYXRhO1xyXG4gICAgfSAgICBcclxuICB9XHJcbiAgcGFnZVJhbmdlKCk6IG51bWJlcltdIHtcclxuICAgIGNvbnN0IHN0YXJ0ID0gTWF0aC5tYXgoMSwgdGhpcy5jdXJyZW50UGFnZSAtIE1hdGguZmxvb3IodGhpcy5tYXhQYWdlQnV0dG9ucyAvIDIpKTtcclxuICAgIGNvbnN0IGVuZCA9IE1hdGgubWluKHRoaXMudG90YWxQYWdlcywgc3RhcnQgKyB0aGlzLm1heFBhZ2VCdXR0b25zIC0gMSk7XHJcbiAgICBjb25zdCBzdGFydFByZUZpbmlzaCA9IGVuZCAtIHRoaXMubWF4UGFnZUJ1dHRvbnMgKyAxO1xyXG4gICAgY29uc3Qgc3RhcnRGaW5pc2ggPSBzdGFydFByZUZpbmlzaCA8IDEgPyAxIDogc3RhcnRQcmVGaW5pc2g7XHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7bGVuZ3RoOiBlbmQgLSBzdGFydEZpbmlzaCArIDF9LCAoXywgaSkgPT4gc3RhcnRGaW5pc2ggKyBpKTtcclxuICB9XHJcbiAgZ29Ub1BhZ2UocGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gTWF0aC5tYXgoMSwgTWF0aC5taW4ocGFnZSwgdGhpcy50b3RhbFBhZ2VzKSk7XHJcbiAgICBpZih0aGlzLmludGVybmFsUGFnaW5hdGlvbil7ICAgICAgXHJcbiAgICAgIHRoaXMudXBkYXRlUGFnaW5hdGVkRGF0YSgpOyAgICAgIFxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KHRoaXMuY3VycmVudFBhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBoYXNDaGlsZHJlbihyb3c6IGFueSk6IGJvb2xlYW57XHJcbiAgLy8gICByZXR1cm4gQXJyYXkuaXNBcnJheShyb3cuY2hpbGQpICYmIHJvdy5jaGlsZC5sZW5ndGggPiAwO1xyXG4gIC8vIH1cclxuICB0b2dnbGVSb3coaW5kZXg6IG51bWJlcil7XHJcbiAgICB0aGlzLnJvd0V4cGFuZGFibGVbaW5kZXhdID0gIXRoaXMucm93RXhwYW5kYWJsZVtpbmRleF07XHJcbiAgfVxyXG4gIHRvZ2dsZVJvd0RldGFpbChrZXk6IG51bWJlciwgaW5kZXhEYXRhOiBudW1iZXIsIGNvbHVtbjogTGliZXlDb2x1bW5EaXJlY3RpdmUsIGRhdGE6IGFueSl7XHJcbiAgICBpZihjb2x1bW4uZXhwYW5kYWJsZSl7XHJcbiAgICAgIHZhciBleGlzdCA9IHRoaXMucm93RXhwYW5kYWJsZURldGFpbC5maW5kKHggPT4geC5rZXkgPT0ga2V5ICYmIHguZGF0YUtleSA9PSBpbmRleERhdGEpO1xyXG4gICAgICBpZihleGlzdCA9PSBudWxsKXtcclxuICAgICAgICB0aGlzLnJvd0V4cGFuZGFibGVEZXRhaWwgPSB0aGlzLnJvd0V4cGFuZGFibGVEZXRhaWwuZmlsdGVyKHggPT4gKHgua2V5ICE9IGtleSB8fCB4LmRhdGFLZXkgIT0gaW5kZXhEYXRhKSAmJiB4LmF1dG9DbG9zZSA9PSBmYWxzZSk7XHJcbiAgICAgICAgdmFyIGl0ZW0gPSBuZXcgRGF0YUtleSgpO1xyXG4gICAgICAgIGl0ZW0ua2V5ID0ga2V5O1xyXG4gICAgICAgIGl0ZW0uZGF0YUtleSA9IGluZGV4RGF0YTtcclxuICAgICAgICBpdGVtLmNoaWxkVGFibGVUZW1wbGF0ZSA9IGNvbHVtbi5jaGlsZFRhYmxlVGVtcGxhdGU7XHJcbiAgICAgICAgaXRlbS5hdXRvQ2xvc2UgPSBjb2x1bW4uaXNBdXRvQ2xvc2UoZGF0YSk7XHJcbiAgICAgICAgdGhpcy5yb3dFeHBhbmRhYmxlRGV0YWlsLnB1c2goaXRlbSk7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMucm93RXhwYW5kYWJsZURldGFpbCA9IHRoaXMucm93RXhwYW5kYWJsZURldGFpbC5maWx0ZXIoeCA9PiB4LmtleSAhPSBrZXkgfHwgeC5kYXRhS2V5ICE9IGluZGV4RGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0Q2hpbGRyZW4oZmlsYTogYW55KTogYW55W10ge1xyXG4gICAgcmV0dXJuIGZpbGEuaGlqb3MgfHwgW107XHJcbiAgfVxyXG4gIG9uUmVzaXplU3RhcnQoaW5kZXg6IG51bWJlciwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMucmVzaXppbmdDb2x1bW5JbmRleCA9IGluZGV4O1xyXG4gICAgdGhpcy5zdGFydFggPSBldmVudC5wYWdlWDtcclxuICAgIHRoaXMuc3RhcnRXaWR0aCA9IHRoaXMuY29sdW1uV2lkdGhzW2luZGV4XTtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25SZXNpemVNb3ZlKTtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uUmVzaXplRW5kKTtcclxuICB9XHJcbiAgb25SZXNpemVNb3ZlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICBpZiAodGhpcy5yZXNpemluZ0NvbHVtbkluZGV4ICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGRpZmYgPSBldmVudC5wYWdlWCAtIHRoaXMuc3RhcnRYO1xyXG4gICAgICB0aGlzLmNvbHVtbldpZHRoc1t0aGlzLnJlc2l6aW5nQ29sdW1uSW5kZXhdID0gTWF0aC5tYXgodGhpcy5zdGFydFdpZHRoICsgZGlmZiwgNTApO1xyXG5cclxuICAgIH1cclxuICB9XHJcbiAgb25SZXNpemVFbmQgPSAoKSA9PiB7XHJcbiAgICB0aGlzLnJlc2l6aW5nQ29sdW1uSW5kZXggPSBudWxsO1xyXG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vblJlc2l6ZU1vdmUpO1xyXG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMub25SZXNpemVFbmQpO1xyXG4gIH1cclxuICBleGlzdFJvd0V4cGFuZGFibGVEZXRhaWwoa2V5OiBudW1iZXIsIGluZGV4RGF0YTogbnVtYmVyKSA6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy5yb3dFeHBhbmRhYmxlRGV0YWlsLmZpbHRlcih4ID0+IHgua2V5ID09IGtleSAmJiB4LmRhdGFLZXkgPT0gaW5kZXhEYXRhKS5sZW5ndGggPiAwO1xyXG4gIH1cclxuICB2aWV3Um93RXhwYW5kYWJsZURldGFpbChpbmRleERhdGE6IG51bWJlcikgOmJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy5yb3dFeHBhbmRhYmxlRGV0YWlsLmZpbHRlcih4ID0+IHguZGF0YUtleSA9PSBpbmRleERhdGEpLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG4gIGZpbmRSb3dFeHBhbmRhYmxlRGV0YWlsKGluZGV4RGF0YTogbnVtYmVyKSA6VGVtcGxhdGVSZWY8YW55PntcclxuICAgIHZhciBmaW5kID0gdGhpcy5yb3dFeHBhbmRhYmxlRGV0YWlsLmZpbmQoeCA9PiB4LmRhdGFLZXkgPT0gaW5kZXhEYXRhKTtcclxuICAgIGlmKGZpbmQpXHJcbiAgICAgIHJldHVybiBmaW5kLmNoaWxkVGFibGVUZW1wbGF0ZTsgXHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICBnZXRSb3dTcGFuKGNvbHVtbjogTGliZXlDb2x1bW5EaXJlY3RpdmUsIGRhdGE6IGFueSl7XHJcbiAgICByZXR1cm4gY29sdW1uLnJvd3NwYW4oZGF0YSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0YWJsZS1jb250YWluZXJcIiAgI3RhYmxlQ29udGFpbmVyIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0ID09IG51bGwgPyAnYXV0byc6KGhlaWdodCArICdweCcpXCI+XHJcbiAgPCEtLSA8dGFibGUgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj4gLS0+XHJcbiAgPHRhYmxlICN0YWJsZSBbbmdDbGFzc109XCJjbGFzc1wiPlxyXG4gICAgPHRoZWFkPlxyXG4gICAgICA8dHI+XHJcbiAgICAgICAgPHRoICpuZ0lmPVwiZXhwYW5kYWJsZVwiIFtuZ0NsYXNzXT1cImhlYWRlcmZpeGVkID09IHRydWUgPyAndGgtZml4ZWQnOicnXCIgc3R5bGU9XCJ3aWR0aDogMjVweDtcIj48L3RoPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8dGggKm5nSWY9XCJjb2x1bW4udmlld1wiIFtzdHlsZS53aWR0aF09XCJjb2x1bW4ud2lkdGggPyAoY29sdW1uLndpZHRoICsgJ3B4JykgOiAnYXV0bydcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImhlYWRlcmZpeGVkID09IHRydWUgPyAoY29sdW1uLmNsYXNzSGVhZGVyICsgJyB0aC1maXhlZCcpOiBjb2x1bW4uY2xhc3NIZWFkZXJcIj5cclxuICAgICAgICAgICAgPCEtLSBDdXN0b20gaGVhZGVyIHRlbXBsYXRlIC0tPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLmhlYWRlclRlbXBsYXRlOyBlbHNlIGRlZmF1bHRIZWFkZXJcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbHVtbi5oZWFkZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgY29sdW1uOiBjb2x1bW4sIGluZGV4OiBpIH1cIj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEhlYWRlcj5cclxuICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7XCI+e3sgY29sdW1uLmhlYWRlciB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc2l6ZS1oYW5kbGVcIiAobW91c2Vkb3duKT1cIm9uUmVzaXplU3RhcnQoaSwgJGV2ZW50KVwiPjwvZGl2PlxyXG4gICAgICAgICAgPC90aD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGhlYWQ+XHJcbiAgICA8dGJvZHk+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfZGF0YS5sZW5ndGggPT0gMFwiPlxyXG4gICAgICAgIDx0cj5cclxuICAgICAgICAgIDx0ZCBbY29sU3Bhbl09XCJleHBhbmRhYmxlID8gKGNvbHVtbnMubGVuZ3RoICsgMSkgOiAoY29sdW1ucy5sZW5ndGgpXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICBObyBleGlzdGVuIGRhdG9zIGRpc3BvbmlibGVzXHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnaW5hdGVkRGF0YS5sZW5ndGggIT0gMFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcGFnaW5hdGVkRGF0YTsgbGV0IGEgPSBpbmRleFwiPlxyXG4gICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJleHBhbmRhYmxlXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlUm93KGEpXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBbbmdDbGFzc109XCJyb3dFeHBhbmRhYmxlW2FdID8gJ2ljb24tYXJyb3ctdXAnOidpY29uLWFycm93LWRvd24nXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgIDx0ZCBcclxuICAgICAgICAgICAgICAqbmdJZj1cImNvbHVtbi52aWV3ICYmIChjb2x1bW4uaXNSb3dzcGFuICYmIGNvbHVtbi5yb3dzcGFuKGl0ZW0pID4gMClcIlxyXG4gICAgICAgICAgICAgIFthdHRyLnJvd3NwYW5dPVwiY29sdW1uLnJvd3NwYW4oaXRlbSlcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbHVtbi5jbGFzc1wiIChjbGljayk9XCJ0b2dnbGVSb3dEZXRhaWwoaSwgYSwgY29sdW1uLCBpdGVtKVwiIFtjbGFzc109XCJjb2x1bW4uZXhwYW5kYWJsZSA/ICdjdXJzb3ItcG9pbnRlcic6ICcnXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRldGFpbFRkXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOml0ZW0sIGNvbHVtbjpjb2x1bW4sIGluZGV4RGF0YTphLCBpbmRleENvbHVtbjppfVwiPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+ICBcclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZCBcclxuICAgICAgICAgICAgICAqbmdJZj1cImNvbHVtbi52aWV3ICYmIGNvbHVtbi5pc1Jvd3NwYW4gIT0gdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29sdW1uLmNsYXNzXCIgKGNsaWNrKT1cInRvZ2dsZVJvd0RldGFpbChpLCBhLCBjb2x1bW4sIGl0ZW0pXCIgW2NsYXNzXT1cImNvbHVtbi5leHBhbmRhYmxlID8gJ2N1cnNvci1wb2ludGVyJzogJydcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgXHJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGV0YWlsVGRcIiBcclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06aXRlbSwgY29sdW1uOmNvbHVtbiwgaW5kZXhEYXRhOmEsIGluZGV4Q29sdW1uOml9XCI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gIFxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2aWV3Um93RXhwYW5kYWJsZURldGFpbChhKVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmluZFJvd0V4cGFuZGFibGVEZXRhaWwoYSk7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPHRyICpuZ0lmPVwicm93RXhwYW5kYWJsZVthXVwiPlxyXG4gICAgICAgICAgICA8dGQgW2F0dHIuY29sc3Bhbl09XCJjb2x1bW5zLmxlbmd0aCArIChleHBhbmRhYmxlID8gMSA6IDApXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlsZFRhYmxlVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgcGFyZW50Um93OiBpdGVtIH1cIj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC90Ym9keT5cclxuICA8L3RhYmxlPlxyXG48L2Rpdj5cclxuPGRpdiAqbmdJZj1cInZpZXdQYWdpbmF0ZSAmJiBfZGF0YS5sZW5ndGggIT0gMFwiIGNsYXNzPVwicGFnaW5hdGlvbi1jb250cm9sc1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJkLWFsaWduLWNlbnRlclwiPlxyXG4gICAgPGxhYmVsIGNsYXNzPVwibGJsLWZvb3RlciBtZS0yMHB4XCI+IyBSZWdpc3Ryb3M6IHt7dGhpcy50b3RhbFNpemV9fTwvbGFiZWw+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYmwtZm9vdGVyXCI+IyBGaWxhczoge3t0aGlzLnBhZ2VTaXplfX08L2xhYmVsPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXY+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJnb1RvUGFnZSgxKVwiIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSA9PT0gMVwiPlxyXG4gICAgICA8aSBjbGFzcz1cImljb24tZmlyc3QtcGFnZVwiPjwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwiZ29Ub1BhZ2UoY3VycmVudFBhZ2UgLSAxKVwiIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSA9PT0gMVwiPlxyXG4gICAgICA8aSBjbGFzcz1cImljb24tcHJldmlvdXMtcGFnZVwiPjwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFnZSBvZiBwYWdlUmFuZ2UoKVwiPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgKGNsaWNrKT1cImdvVG9QYWdlKHBhZ2UpXCJcclxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRQYWdlID09PSBwYWdlXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudFBhZ2UgPT09IHBhZ2VcIj5cclxuICAgICAgICB7eyBwYWdlIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJnb1RvUGFnZShjdXJyZW50UGFnZSArIDEpXCIgW2Rpc2FibGVkXT1cImN1cnJlbnRQYWdlID09PSB0b3RhbFBhZ2VzXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiaWNvbi1uZXh0LXBhZ2VcIj48L2k+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cImdvVG9QYWdlKHRvdGFsUGFnZXMpXCIgW2Rpc2FibGVkXT1cImN1cnJlbnRQYWdlID09PSB0b3RhbFBhZ2VzXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiaWNvbi1sYXN0LXBhZ2VcIj48L2k+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxuZy10ZW1wbGF0ZSAjZGV0YWlsVGQgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWNvbHVtbj1cImNvbHVtblwiIGxldC1pbmRleERhdGE9XCJpbmRleERhdGFcIiBsZXQtaW5kZXhDb2x1bW49XCJpbmRleENvbHVtblwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4uZ2V0Q2VsbFRlbXBsYXRlKCk7IGVsc2UgZGVmYXVsdENlbGxcIj5cclxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHdoaXRlLXNwYWNlOiBub3dyYXA7XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uLmdldENlbGxUZW1wbGF0ZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLCBjb2x1bW46IGNvbHVtbiwgaW5kZXg6IGluZGV4RGF0YSB9XCI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8YnV0dG9uICpuZ0lmPVwiY29sdW1uLmV4cGFuZGFibGVcIj5cclxuICAgICAgICA8aSBbbmdDbGFzc109XCJleGlzdFJvd0V4cGFuZGFibGVEZXRhaWwoaW5kZXhDb2x1bW4sIGluZGV4RGF0YSkgPyAnaWNvbi1hcnJvdy11cCc6J2ljb24tYXJyb3ctZG93bidcIj48L2k+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q2VsbD5cclxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHdoaXRlLXNwYWNlOiBub3dyYXA7XCI+XHJcbiAgICAgIHt7IGdldENlbGxWYWx1ZShpdGVtLCBjb2x1bW4pIH19XHJcbiAgICAgIDxidXR0b24gKm5nSWY9XCJjb2x1bW4uZXhwYW5kYWJsZVwiPlxyXG4gICAgICAgIDxpIFtuZ0NsYXNzXT1cImV4aXN0Um93RXhwYW5kYWJsZURldGFpbChpbmRleENvbHVtbiwgaW5kZXhEYXRhKSA/ICdpY29uLWFycm93LXVwJzonaWNvbi1hcnJvdy1kb3duJ1wiPjwvaT5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliZXktbmctdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi90YWJsZS9saWJleS1uZy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWJleS1uZy1jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL3RhYmxlL2xpYmV5LW5nLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFFLGVBQWUsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQXlDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5TixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBUzNFLE1BQU0sT0FBTztDQU9aO0FBU0QsTUFBTSxPQUFPLHFCQUFxQjtJQWdDaEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF6QmpDLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUUzQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBRTdCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUNuQyxnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUN2QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUlsRCxrQkFBYSxHQUFjLEVBQUUsQ0FBQztRQUM5Qix3QkFBbUIsR0FBZSxFQUFFLENBQUM7UUFDckMsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFDMUIsVUFBSyxHQUFVLEVBQUUsQ0FBQztRQUNsQixp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TUFBTTtnQkFFZ0MsT0FBTztzQkFBN0MsZUFBZTt1QkFBQyxvQkFBb0I7Z0JBVVIsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ1AsWUFBWTtzQkFBL0IsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpYmV5Q29sdW1uRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2xpYmV5LWNvbHVtbi5kaXJlY3RpdmUnO1xyXG5pbnRlcmZhY2UgSURhdGFLZXkge1xyXG4gIGtleTogbnVtYmVyO1xyXG4gIGRhdGFLZXk6IG51bWJlcjtcclxuICBjaGlsZFRhYmxlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgZGF0YTogYW55W107XHJcbiAgYXV0b0Nsb3NlOiBib29sZWFuO1xyXG59XHJcblxyXG5jbGFzcyBEYXRhS2V5IGltcGxlbWVudHMgSURhdGFLZXkge1xyXG4gIGtleTogbnVtYmVyO1xyXG4gIGRhdGFLZXk6IG51bWJlcjtcclxuICBjaGlsZFRhYmxlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgZGF0YTogYW55W107XHJcbiAgYXV0b0Nsb3NlOiBib29sZWFuO1xyXG4gIHJvd3NwYW46IG51bWJlcjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWJleS1uZy10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYmV5LW5nLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saWJleS1uZy10YWJsZS5jb21wb25lbnQuY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIExpYmV5TmdUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBzZXQgZGF0YSh2YWx1ZTogYW55W10pIHtcclxuICAgIHRoaXMuX2RhdGEgPSB2YWx1ZTtcclxuICB9XHJcbiAgZ2V0IGRhdGEoKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHBhZ2VTaXplOiBudW1iZXIgPSAxMDtcclxuICBASW5wdXQoKSB0b3RhbFNpemU6IG51bWJlciA9IDA7XHJcbiAgQElucHV0KCkgbWF4UGFnZUJ1dHRvbnM6IG51bWJlciA9IDU7XHJcbiAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XHJcbiAgQElucHV0KCkgZXhwYW5kYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHZpZXdQYWdpbmF0ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgY2hpbGRUYWJsZVRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBoZWFkZXJmaXhlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNsYXNzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaW50ZXJuYWxQYWdpbmF0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBAT3V0cHV0KCkgcGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIFxyXG4gIEBDb250ZW50Q2hpbGRyZW4oTGliZXlDb2x1bW5EaXJlY3RpdmUpIGNvbHVtbnMhOiBRdWVyeUxpc3Q8TGliZXlDb2x1bW5EaXJlY3RpdmU+O1xyXG5cclxuICByb3dFeHBhbmRhYmxlOiBib29sZWFuW10gPSBbXTtcclxuICByb3dFeHBhbmRhYmxlRGV0YWlsOiBJRGF0YUtleVtdID0gW107XHJcbiAgcGFnaW5hdGVkRGF0YTogYW55W10gPSBbXTtcclxuICBfZGF0YTogYW55W10gPSBbXTtcclxuICBjb2x1bW5XaWR0aHM6IG51bWJlcltdID0gW107XHJcbiAgcmVzaXppbmdDb2x1bW5JbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgc3RhcnRYOiBudW1iZXIgPSAwO1xyXG4gIHN0YXJ0V2lkdGg6IG51bWJlciA9IDA7XHJcbiAgQFZpZXdDaGlsZCgndGFibGVDb250YWluZXInKSB0YWJsZUNvbnRhaW5lciE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgndGFibGUnKSB0YWJsZUVsZW1lbnQhOiBFbGVtZW50UmVmO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZihjaGFuZ2VzLmRhdGEgJiYgY2hhbmdlcy5kYXRhLnByZXZpb3VzVmFsdWUpe1xyXG4gICAgICBjaGFuZ2VzLmRhdGEuY3VycmVudFZhbHVlLmZvckVhY2goKHZhbHVlLCBpbmRleCkgPT4ge1xyXG4gICAgICAgIHZhciBmaW5kRGF0YSA9IHRoaXMucm93RXhwYW5kYWJsZURldGFpbC5maW5kKHggPT4geC5kYXRhS2V5ID09IGluZGV4KTtcclxuICAgICAgICBpZihmaW5kRGF0YSAhPSBudWxsKVxyXG4gICAgICAgICAgZmluZERhdGEuYXV0b0Nsb3NlID0gdmFsdWUuYXV0b0Nsb3NlO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fZGF0YSA9IGNoYW5nZXMuZGF0YS5jdXJyZW50VmFsdWU7XHJcbiAgICAgIHRoaXMudXBkYXRlUGFnaW5hdGVkRGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudXBkYXRlUGFnaW5hdGVkRGF0YSgpO1xyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVDb2x1bW5XaWR0aHMoKTtcclxuICAgIC8vIHRoaXMuYWRqdXN0VGFibGVXaWR0aCgpXHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplQ29sdW1uV2lkdGhzKCkge1xyXG4gICAgdmFyIHBhZGRpbmcgPSAzMVxyXG4gICAgdmFyIHdpZHRoRGVmYXVsdCA9IDE1MFxyXG4gICAgdGhpcy5jb2x1bW5XaWR0aHMgPSB0aGlzLmNvbHVtbnMubWFwKGNvbHVtbiA9PiBjb2x1bW4ud2lkdGgpO1xyXG4gICAgY29uc3QgY29udGFpbmVyV2lkdGggPSB0aGlzLnRhYmxlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgICBjb25zdCBhdXRvQ29sdW1ucyA9IHRoaXMuY29sdW1ucy5maWx0ZXIoY29sdW1uID0+IGNvbHVtbi53aWR0aCA9PSBudWxsKTtcclxuICAgIGNvbnN0IHRvdGFsRml4ZWRXaWR0aCA9IHRoaXMuY29sdW1ucy5yZWR1Y2UoKHN1bSwgY29sdW1uKSA9PlxyXG4gICAgICBjb2x1bW4ud2lkdGggIT0gbnVsbCA/IChzdW0gKyB0aGlzLmdldFdpZHRoVmFsdWUoY29sdW1uLndpZHRoKSkgOiBzdW0sIDApO1xyXG4gICAgY29uc3QgcmVtYWluaW5nV2lkdGggPSBjb250YWluZXJXaWR0aCAtICh0b3RhbEZpeGVkV2lkdGggKyAoKCh0aGlzLmNvbHVtbnMubGVuZ3RoIC0gYXV0b0NvbHVtbnMubGVuZ3RoKSAqIHBhZGRpbmcpKyAodGhpcy5leHBhbmRhYmxlID8gNjEgOiAwKSkpO1xyXG5cclxuICAgIGlmIChhdXRvQ29sdW1ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHZhciBhdXRvQ29sdW1uV2lkdGggPSAwO1xyXG4gICAgICBpZihyZW1haW5pbmdXaWR0aCA8IHdpZHRoRGVmYXVsdClcclxuICAgICAgICBhdXRvQ29sdW1uV2lkdGggPSB3aWR0aERlZmF1bHQ7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBhdXRvQ29sdW1uV2lkdGggPSBNYXRoLm1heCgwLCByZW1haW5pbmdXaWR0aCAvIGF1dG9Db2x1bW5zLmxlbmd0aCk7XHJcbiAgICAgIGF1dG9Db2x1bW5zLmZvckVhY2goY29sdW1uID0+IGNvbHVtbi53aWR0aCA9IGF1dG9Db2x1bW5XaWR0aC0gcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbHVtbldpZHRocyA9IHRoaXMuY29sdW1ucy5tYXAoY29sdW1uID0+IGNvbHVtbi53aWR0aCk7XHJcbiAgfVxyXG4gIC8vIGFkanVzdFRhYmxlV2lkdGgoKSB7XHJcbiAgLy8gICBjb25zdCB0b3RhbFdpZHRoID0gdGhpcy5jb2x1bW5zLnJlZHVjZSgoc3VtLCBjb2x1bW4pID0+IHN1bSArIHRoaXMuZ2V0V2lkdGhWYWx1ZShjb2x1bW4ud2lkdGgpLCAwKTtcclxuICAvLyAgIHRoaXMudGFibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSBgJHt0b3RhbFdpZHRofXB4YDtcclxuICAvLyB9XHJcbiAgZ2V0V2lkdGhWYWx1ZSh3aWR0aDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB3aWR0aCA9PT0gbnVsbCA/IDEwMCA6IHdpZHRoO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRvdGFsUGFnZXMoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy50b3RhbFNpemUgLyB0aGlzLnBhZ2VTaXplKTtcclxuICB9XHJcblxyXG4gIGdldENlbGxWYWx1ZShpdGVtOiBhbnksIGNvbHVtbjogTGliZXlDb2x1bW5EaXJlY3RpdmUpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldE5lc3RlZFZhbHVlKGl0ZW0sIGNvbHVtbi5wcm9wZXJ0eSk7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgY29sdW1uLmFycmF5TWFwKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZS5tYXAodiA9PiB0aGlzLmdldE5lc3RlZFZhbHVlKHYsIGNvbHVtbi5hcnJheU1hcCEpKS5qb2luKCcsICcpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXROZXN0ZWRWYWx1ZShvYmo6IGFueSwgcGF0aDogc3RyaW5nKTogYW55IHtcclxuICAgIHJldHVybiBwYXRoLnNwbGl0KCcuJykucmVkdWNlKChvLCBrZXkpID0+IHtcclxuICAgICAgaWYgKG8gJiYgdHlwZW9mIG8gPT09ICdvYmplY3QnICYmIGtleSBpbiBvKSB7XHJcbiAgICAgICAgcmV0dXJuIG9ba2V5XTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfSwgb2JqKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlUGFnaW5hdGVkRGF0YSgpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMudmlld1BhZ2luYXRlICYmIHRoaXMuaW50ZXJuYWxQYWdpbmF0aW9uKXtcclxuICAgICAgY29uc3Qgc3RhcnQgPSAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5wYWdlU2l6ZTtcclxuICAgICAgY29uc3QgZW5kID0gc3RhcnQgKyB0aGlzLnBhZ2VTaXplO1xyXG4gICAgICB0aGlzLnBhZ2luYXRlZERhdGEgPSB0aGlzLmRhdGEuc2xpY2Uoc3RhcnQsIGVuZCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5wYWdpbmF0ZWREYXRhID0gdGhpcy5kYXRhO1xyXG4gICAgfSAgICBcclxuICB9XHJcbiAgcGFnZVJhbmdlKCk6IG51bWJlcltdIHtcclxuICAgIGNvbnN0IHN0YXJ0ID0gTWF0aC5tYXgoMSwgdGhpcy5jdXJyZW50UGFnZSAtIE1hdGguZmxvb3IodGhpcy5tYXhQYWdlQnV0dG9ucyAvIDIpKTtcclxuICAgIGNvbnN0IGVuZCA9IE1hdGgubWluKHRoaXMudG90YWxQYWdlcywgc3RhcnQgKyB0aGlzLm1heFBhZ2VCdXR0b25zIC0gMSk7XHJcbiAgICBjb25zdCBzdGFydFByZUZpbmlzaCA9IGVuZCAtIHRoaXMubWF4UGFnZUJ1dHRvbnMgKyAxO1xyXG4gICAgY29uc3Qgc3RhcnRGaW5pc2ggPSBzdGFydFByZUZpbmlzaCA8IDEgPyAxIDogc3RhcnRQcmVGaW5pc2g7XHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7bGVuZ3RoOiBlbmQgLSBzdGFydEZpbmlzaCArIDF9LCAoXywgaSkgPT4gc3RhcnRGaW5pc2ggKyBpKTtcclxuICB9XHJcbiAgZ29Ub1BhZ2UocGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gTWF0aC5tYXgoMSwgTWF0aC5taW4ocGFnZSwgdGhpcy50b3RhbFBhZ2VzKSk7XHJcbiAgICBpZih0aGlzLmludGVybmFsUGFnaW5hdGlvbil7ICAgICAgXHJcbiAgICAgIHRoaXMudXBkYXRlUGFnaW5hdGVkRGF0YSgpOyAgICAgIFxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KHRoaXMuY3VycmVudFBhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBoYXNDaGlsZHJlbihyb3c6IGFueSk6IGJvb2xlYW57XHJcbiAgLy8gICByZXR1cm4gQXJyYXkuaXNBcnJheShyb3cuY2hpbGQpICYmIHJvdy5jaGlsZC5sZW5ndGggPiAwO1xyXG4gIC8vIH1cclxuICB0b2dnbGVSb3coaW5kZXg6IG51bWJlcil7XHJcbiAgICB0aGlzLnJvd0V4cGFuZGFibGVbaW5kZXhdID0gIXRoaXMucm93RXhwYW5kYWJsZVtpbmRleF07XHJcbiAgfVxyXG4gIHRvZ2dsZVJvd0RldGFpbChrZXk6IG51bWJlciwgaW5kZXhEYXRhOiBudW1iZXIsIGNvbHVtbjogTGliZXlDb2x1bW5EaXJlY3RpdmUsIGRhdGE6IGFueSl7XHJcbiAgICBpZihjb2x1bW4uZXhwYW5kYWJsZSl7XHJcbiAgICAgIHZhciBleGlzdCA9IHRoaXMucm93RXhwYW5kYWJsZURldGFpbC5maW5kKHggPT4geC5rZXkgPT0ga2V5ICYmIHguZGF0YUtleSA9PSBpbmRleERhdGEpO1xyXG4gICAgICBpZihleGlzdCA9PSBudWxsKXtcclxuICAgICAgICB0aGlzLnJvd0V4cGFuZGFibGVEZXRhaWwgPSB0aGlzLnJvd0V4cGFuZGFibGVEZXRhaWwuZmlsdGVyKHggPT4gKHgua2V5ICE9IGtleSB8fCB4LmRhdGFLZXkgIT0gaW5kZXhEYXRhKSAmJiB4LmF1dG9DbG9zZSA9PSBmYWxzZSk7XHJcbiAgICAgICAgdmFyIGl0ZW0gPSBuZXcgRGF0YUtleSgpO1xyXG4gICAgICAgIGl0ZW0ua2V5ID0ga2V5O1xyXG4gICAgICAgIGl0ZW0uZGF0YUtleSA9IGluZGV4RGF0YTtcclxuICAgICAgICBpdGVtLmNoaWxkVGFibGVUZW1wbGF0ZSA9IGNvbHVtbi5jaGlsZFRhYmxlVGVtcGxhdGU7XHJcbiAgICAgICAgaXRlbS5hdXRvQ2xvc2UgPSBjb2x1bW4uaXNBdXRvQ2xvc2UoZGF0YSk7XHJcbiAgICAgICAgdGhpcy5yb3dFeHBhbmRhYmxlRGV0YWlsLnB1c2goaXRlbSk7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMucm93RXhwYW5kYWJsZURldGFpbCA9IHRoaXMucm93RXhwYW5kYWJsZURldGFpbC5maWx0ZXIoeCA9PiB4LmtleSAhPSBrZXkgfHwgeC5kYXRhS2V5ICE9IGluZGV4RGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0Q2hpbGRyZW4oZmlsYTogYW55KTogYW55W10ge1xyXG4gICAgcmV0dXJuIGZpbGEuaGlqb3MgfHwgW107XHJcbiAgfVxyXG4gIG9uUmVzaXplU3RhcnQoaW5kZXg6IG51bWJlciwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMucmVzaXppbmdDb2x1bW5JbmRleCA9IGluZGV4O1xyXG4gICAgdGhpcy5zdGFydFggPSBldmVudC5wYWdlWDtcclxuICAgIHRoaXMuc3RhcnRXaWR0aCA9IHRoaXMuY29sdW1uV2lkdGhzW2luZGV4XTtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25SZXNpemVNb3ZlKTtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uUmVzaXplRW5kKTtcclxuICB9XHJcbiAgb25SZXNpemVNb3ZlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICBpZiAodGhpcy5yZXNpemluZ0NvbHVtbkluZGV4ICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGRpZmYgPSBldmVudC5wYWdlWCAtIHRoaXMuc3RhcnRYO1xyXG4gICAgICB0aGlzLmNvbHVtbldpZHRoc1t0aGlzLnJlc2l6aW5nQ29sdW1uSW5kZXhdID0gTWF0aC5tYXgodGhpcy5zdGFydFdpZHRoICsgZGlmZiwgNTApO1xyXG5cclxuICAgIH1cclxuICB9XHJcbiAgb25SZXNpemVFbmQgPSAoKSA9PiB7XHJcbiAgICB0aGlzLnJlc2l6aW5nQ29sdW1uSW5kZXggPSBudWxsO1xyXG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vblJlc2l6ZU1vdmUpO1xyXG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMub25SZXNpemVFbmQpO1xyXG4gIH1cclxuICBleGlzdFJvd0V4cGFuZGFibGVEZXRhaWwoa2V5OiBudW1iZXIsIGluZGV4RGF0YTogbnVtYmVyKSA6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy5yb3dFeHBhbmRhYmxlRGV0YWlsLmZpbHRlcih4ID0+IHgua2V5ID09IGtleSAmJiB4LmRhdGFLZXkgPT0gaW5kZXhEYXRhKS5sZW5ndGggPiAwO1xyXG4gIH1cclxuICB2aWV3Um93RXhwYW5kYWJsZURldGFpbChpbmRleERhdGE6IG51bWJlcikgOmJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy5yb3dFeHBhbmRhYmxlRGV0YWlsLmZpbHRlcih4ID0+IHguZGF0YUtleSA9PSBpbmRleERhdGEpLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG4gIGZpbmRSb3dFeHBhbmRhYmxlRGV0YWlsKGluZGV4RGF0YTogbnVtYmVyKSA6VGVtcGxhdGVSZWY8YW55PntcclxuICAgIHZhciBmaW5kID0gdGhpcy5yb3dFeHBhbmRhYmxlRGV0YWlsLmZpbmQoeCA9PiB4LmRhdGFLZXkgPT0gaW5kZXhEYXRhKTtcclxuICAgIGlmKGZpbmQpXHJcbiAgICAgIHJldHVybiBmaW5kLmNoaWxkVGFibGVUZW1wbGF0ZTsgXHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICBnZXRSb3dTcGFuKGNvbHVtbjogTGliZXlDb2x1bW5EaXJlY3RpdmUsIGRhdGE6IGFueSl7XHJcbiAgICByZXR1cm4gY29sdW1uLnJvd3NwYW4oZGF0YSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0YWJsZS1jb250YWluZXJcIiAgI3RhYmxlQ29udGFpbmVyIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0ID09IG51bGwgPyAnYXV0byc6KGhlaWdodCArICdweCcpXCI+XHJcbiAgPCEtLSA8dGFibGUgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj4gLS0+XHJcbiAgPHRhYmxlICN0YWJsZSBbbmdDbGFzc109XCJjbGFzc1wiPlxyXG4gICAgPHRoZWFkPlxyXG4gICAgICA8dHI+XHJcbiAgICAgICAgPHRoICpuZ0lmPVwiZXhwYW5kYWJsZVwiIFtuZ0NsYXNzXT1cImhlYWRlcmZpeGVkID09IHRydWUgPyAndGgtZml4ZWQnOicnXCIgc3R5bGU9XCJ3aWR0aDogMjVweDtcIj48L3RoPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8dGggKm5nSWY9XCJjb2x1bW4udmlld1wiIFtzdHlsZS53aWR0aF09XCJjb2x1bW4ud2lkdGggPyAoY29sdW1uLndpZHRoICsgJ3B4JykgOiAnYXV0bydcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImhlYWRlcmZpeGVkID09IHRydWUgPyAoY29sdW1uLmNsYXNzSGVhZGVyICsgJyB0aC1maXhlZCcpOiBjb2x1bW4uY2xhc3NIZWFkZXJcIj5cclxuICAgICAgICAgICAgPCEtLSBDdXN0b20gaGVhZGVyIHRlbXBsYXRlIC0tPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLmhlYWRlclRlbXBsYXRlOyBlbHNlIGRlZmF1bHRIZWFkZXJcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbHVtbi5oZWFkZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgY29sdW1uOiBjb2x1bW4sIGluZGV4OiBpIH1cIj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEhlYWRlcj5cclxuICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7XCI+e3sgY29sdW1uLmhlYWRlciB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc2l6ZS1oYW5kbGVcIiAobW91c2Vkb3duKT1cIm9uUmVzaXplU3RhcnQoaSwgJGV2ZW50KVwiPjwvZGl2PlxyXG4gICAgICAgICAgPC90aD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGhlYWQ+XHJcbiAgICA8dGJvZHk+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfZGF0YS5sZW5ndGggPT0gMFwiPlxyXG4gICAgICAgIDx0cj5cclxuICAgICAgICAgIDx0ZCBbY29sU3Bhbl09XCJleHBhbmRhYmxlID8gKGNvbHVtbnMubGVuZ3RoICsgMSkgOiAoY29sdW1ucy5sZW5ndGgpXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICBObyBleGlzdGVuIGRhdG9zIGRpc3BvbmlibGVzXHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnaW5hdGVkRGF0YS5sZW5ndGggIT0gMFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcGFnaW5hdGVkRGF0YTsgbGV0IGEgPSBpbmRleFwiPlxyXG4gICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJleHBhbmRhYmxlXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlUm93KGEpXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBbbmdDbGFzc109XCJyb3dFeHBhbmRhYmxlW2FdID8gJ2ljb24tYXJyb3ctdXAnOidpY29uLWFycm93LWRvd24nXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLnZpZXcgJiYgKGNvbHVtbi5pc1Jvd3NwYW4gJiYgY29sdW1uLnJvd3NwYW4oaXRlbSkgPiAwKVwiXHJcbiAgICAgICAgICAgICAgW2F0dHIucm93c3Bhbl09XCJjb2x1bW4ucm93c3BhbihpdGVtKVwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29sdW1uLmNsYXNzXCIgKGNsaWNrKT1cInRvZ2dsZVJvd0RldGFpbChpLCBhLCBjb2x1bW4sIGl0ZW0pXCIgW2NsYXNzXT1cImNvbHVtbi5leHBhbmRhYmxlID8gJ2N1cnNvci1wb2ludGVyJzogJydcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkZXRhaWxUZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOml0ZW0sIGNvbHVtbjpjb2x1bW4sIGluZGV4RGF0YTphLCBpbmRleENvbHVtbjppfVwiPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8dGRcclxuICAgICAgICAgICAgICAqbmdJZj1cImNvbHVtbi52aWV3ICYmIGNvbHVtbi5pc1Jvd3NwYW4gIT0gdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29sdW1uLmNsYXNzXCIgKGNsaWNrKT1cInRvZ2dsZVJvd0RldGFpbChpLCBhLCBjb2x1bW4sIGl0ZW0pXCIgW2NsYXNzXT1cImNvbHVtbi5leHBhbmRhYmxlID8gJ2N1cnNvci1wb2ludGVyJzogJydcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkZXRhaWxUZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOml0ZW0sIGNvbHVtbjpjb2x1bW4sIGluZGV4RGF0YTphLCBpbmRleENvbHVtbjppfVwiPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZpZXdSb3dFeHBhbmRhYmxlRGV0YWlsKGEpXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaW5kUm93RXhwYW5kYWJsZURldGFpbChhKTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8dHIgKm5nSWY9XCJyb3dFeHBhbmRhYmxlW2FdXCI+XHJcbiAgICAgICAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cImNvbHVtbnMubGVuZ3RoICsgKGV4cGFuZGFibGUgPyAxIDogMClcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNoaWxkVGFibGVUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBwYXJlbnRSb3c6IGl0ZW0gfVwiPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L3Rib2R5PlxyXG4gIDwvdGFibGU+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwidmlld1BhZ2luYXRlICYmIF9kYXRhLmxlbmd0aCAhPSAwXCIgY2xhc3M9XCJwYWdpbmF0aW9uLWNvbnRyb2xzXCI+XHJcbiAgPGRpdiBjbGFzcz1cImQtYWxpZ24tY2VudGVyXCI+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYmwtZm9vdGVyIG1lLTIwcHhcIj4jIFJlZ2lzdHJvczoge3t0aGlzLnRvdGFsU2l6ZX19PC9sYWJlbD5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxibC1mb290ZXJcIj4jIEZpbGFzOiB7e3RoaXMucGFnZVNpemV9fTwvbGFiZWw+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImQtYWxpZ24tY2VudGVyXCI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJnb1RvUGFnZSgxKVwiIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSA9PT0gMVwiPlxyXG4gICAgICA8aSBjbGFzcz1cImljb24tZmlyc3QtcGFnZVwiPjwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwiZ29Ub1BhZ2UoY3VycmVudFBhZ2UgLSAxKVwiIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSA9PT0gMVwiPlxyXG4gICAgICA8aSBjbGFzcz1cImljb24tcHJldmlvdXMtcGFnZVwiPjwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFnZSBvZiBwYWdlUmFuZ2UoKVwiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwibnVtYmVyc1wiXHJcbiAgICAgICAgKGNsaWNrKT1cImdvVG9QYWdlKHBhZ2UpXCJcclxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRQYWdlID09PSBwYWdlXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudFBhZ2UgPT09IHBhZ2VcIj5cclxuICAgICAgICB7eyBwYWdlIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJnb1RvUGFnZShjdXJyZW50UGFnZSArIDEpXCIgW2Rpc2FibGVkXT1cImN1cnJlbnRQYWdlID09PSB0b3RhbFBhZ2VzXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiaWNvbi1uZXh0LXBhZ2VcIj48L2k+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cImdvVG9QYWdlKHRvdGFsUGFnZXMpXCIgW2Rpc2FibGVkXT1cImN1cnJlbnRQYWdlID09PSB0b3RhbFBhZ2VzXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiaWNvbi1sYXN0LXBhZ2VcIj48L2k+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxuZy10ZW1wbGF0ZSAjZGV0YWlsVGQgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWNvbHVtbj1cImNvbHVtblwiIGxldC1pbmRleERhdGE9XCJpbmRleERhdGFcIiBsZXQtaW5kZXhDb2x1bW49XCJpbmRleENvbHVtblwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4uZ2V0Q2VsbFRlbXBsYXRlKCk7IGVsc2UgZGVmYXVsdENlbGxcIj5cclxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHdoaXRlLXNwYWNlOiBub3dyYXA7XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uLmdldENlbGxUZW1wbGF0ZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLCBjb2x1bW46IGNvbHVtbiwgaW5kZXg6IGluZGV4RGF0YSB9XCI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8YnV0dG9uICpuZ0lmPVwiY29sdW1uLmV4cGFuZGFibGVcIj5cclxuICAgICAgICA8aSBbbmdDbGFzc109XCJleGlzdFJvd0V4cGFuZGFibGVEZXRhaWwoaW5kZXhDb2x1bW4sIGluZGV4RGF0YSkgPyAnaWNvbi1hcnJvdy11cCc6J2ljb24tYXJyb3ctZG93bidcIj48L2k+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q2VsbD5cclxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHdoaXRlLXNwYWNlOiBub3dyYXA7XCI+XHJcbiAgICAgIHt7IGdldENlbGxWYWx1ZShpdGVtLCBjb2x1bW4pIH19XHJcbiAgICAgIDxidXR0b24gKm5nSWY9XCJjb2x1bW4uZXhwYW5kYWJsZVwiPlxyXG4gICAgICAgIDxpIFtuZ0NsYXNzXT1cImV4aXN0Um93RXhwYW5kYWJsZURldGFpbChpbmRleENvbHVtbiwgaW5kZXhEYXRhKSA/ICdpY29uLWFycm93LXVwJzonaWNvbi1hcnJvdy1kb3duJ1wiPjwvaT5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -10,9 +10,11 @@ export * from './lib/table/directives/libey-column.directive';
10
10
  export * from './lib/signature/libey-ng-signature.module';
11
11
  export * from './lib/signature/libey-ng-signature/libey-ng-signature.component';
12
12
  export * from './utils/SigWeb/SigWeb';
13
+ export * from './lib/icons/icons.module';
14
+ export * from './lib/icons/libey-ng-icons/libey-ng-icons.component';
13
15
  import { SignaturePadModule, SignaturePad } from 'angular2-signaturepad';
14
16
  export { SignaturePadModule, SignaturePad };
15
17
  export { NgSelectModule } from '@ng-select/ng-select';
16
18
  export { NgbModule } from '@ng-bootstrap/ng-bootstrap';
17
19
  export * from '@popperjs/core';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGxpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9saWJleS1uZy1jb21wb25lbnQtbGlicmFyeS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlL2xpYmV5LW5nLXRhYmxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS9saWJleS1uZy10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUvZGlyZWN0aXZlcy9saWJleS1jb2x1bW4uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NpZ25hdHVyZS9saWJleS1uZy1zaWduYXR1cmUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NpZ25hdHVyZS9saWJleS1uZy1zaWduYXR1cmUvbGliZXktbmctc2lnbmF0dXJlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL1NpZ1dlYi9TaWdXZWInO1xuaW1wb3J0IHsgU2lnbmF0dXJlUGFkTW9kdWxlLCBTaWduYXR1cmVQYWQgfSBmcm9tICdhbmd1bGFyMi1zaWduYXR1cmVwYWQnO1xuZXhwb3J0IHsgU2lnbmF0dXJlUGFkTW9kdWxlLCBTaWduYXR1cmVQYWQgfTtcbmV4cG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuZXhwb3J0IHsgTmdiTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuZXhwb3J0ICogZnJvbSAnQHBvcHBlcmpzL2NvcmUnO1xuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBsaWJleS1uZy1jb21wb25lbnQtbGlicmFyeVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS9saWJleS1uZy10YWJsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUvbGliZXktbmctdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlL2RpcmVjdGl2ZXMvbGliZXktY29sdW1uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaWduYXR1cmUvbGliZXktbmctc2lnbmF0dXJlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaWduYXR1cmUvbGliZXktbmctc2lnbmF0dXJlL2xpYmV5LW5nLXNpZ25hdHVyZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9TaWdXZWIvU2lnV2ViJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ljb25zL2ljb25zLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pY29ucy9saWJleS1uZy1pY29ucy9saWJleS1uZy1pY29ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lnbmF0dXJlUGFkTW9kdWxlLCBTaWduYXR1cmVQYWQgfSBmcm9tICdhbmd1bGFyMi1zaWduYXR1cmVwYWQnO1xuZXhwb3J0IHsgU2lnbmF0dXJlUGFkTW9kdWxlLCBTaWduYXR1cmVQYWQgfTtcbmV4cG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuZXhwb3J0IHsgTmdiTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuZXhwb3J0ICogZnJvbSAnQHBvcHBlcmpzL2NvcmUnO1xuIl19