@biit-solutions/wizardry-theme 1.22.17 → 1.22.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/esm2020/button/biit-action-button/biit-action-button.component.mjs +2 -2
  2. package/esm2020/inputs/biit-dropdown/biit-dropdown.component.mjs +2 -2
  3. package/esm2020/navigation/biit-nav-menu/biit-nav-menu.component.mjs +2 -2
  4. package/esm2020/navigation/biit-nav-user/biit-nav-user.component.mjs +2 -2
  5. package/esm2020/table/biit-datatable/biit-datatable.component.mjs +2 -2
  6. package/esm2020/table/biit-table/biit-table.component.mjs +3 -3
  7. package/fesm2015/biit-solutions-wizardry-theme-button.mjs +2 -2
  8. package/fesm2015/biit-solutions-wizardry-theme-button.mjs.map +1 -1
  9. package/fesm2015/biit-solutions-wizardry-theme-inputs.mjs +2 -2
  10. package/fesm2015/biit-solutions-wizardry-theme-inputs.mjs.map +1 -1
  11. package/fesm2015/biit-solutions-wizardry-theme-navigation.mjs +4 -4
  12. package/fesm2015/biit-solutions-wizardry-theme-navigation.mjs.map +1 -1
  13. package/fesm2015/biit-solutions-wizardry-theme-table.mjs +4 -4
  14. package/fesm2015/biit-solutions-wizardry-theme-table.mjs.map +1 -1
  15. package/fesm2020/biit-solutions-wizardry-theme-button.mjs +2 -2
  16. package/fesm2020/biit-solutions-wizardry-theme-button.mjs.map +1 -1
  17. package/fesm2020/biit-solutions-wizardry-theme-inputs.mjs +2 -2
  18. package/fesm2020/biit-solutions-wizardry-theme-inputs.mjs.map +1 -1
  19. package/fesm2020/biit-solutions-wizardry-theme-navigation.mjs +4 -4
  20. package/fesm2020/biit-solutions-wizardry-theme-navigation.mjs.map +1 -1
  21. package/fesm2020/biit-solutions-wizardry-theme-table.mjs +4 -4
  22. package/fesm2020/biit-solutions-wizardry-theme-table.mjs.map +1 -1
  23. package/package.json +1 -1
@@ -272,13 +272,13 @@ BiitTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", versi
272
272
  BiitTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitTableComponent, selector: "biit-table", inputs: { _data: ["metadata", "_data"], _loading: ["loading", "_loading"], columns: "columns", pageSizes: "pageSizes", defaultPageSize: "defaultPageSize" }, outputs: { onUpdate: "onUpdate", onCellAction: "onCellAction", onRowClick: "onRowClick" }, providers: [{
273
273
  provide: TRANSLOCO_SCOPE,
274
274
  useValue: { scope: 'wizardry-theme/table', alias: "table" }
275
- }], queries: [{ propertyName: "actionsTpl", first: true, predicate: ["actions"], descendants: true }], ngImport: i0, template: "<div class=\"canvas\" *transloco=\"let t\">\n <div class=\"header\" *ngIf=\"!hideHeader\">\n <div class=\"buttons\" id=\"menu\">\n <biit-vertical-menu *ngIf=\"actionsTpl\" class=\"vertical-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </biit-vertical-menu>\n <div *ngIf=\"actionsTpl\" class=\"horizontal-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </div>\n <div *ngIf=\"!actionsTpl\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"forms\">\n <biit-input-text id=\"search-field\" [(ngModel)]=\"search\"\n (onActionPerformed)=\"\n paginator.currentPage = 1;\n onTableUpdate(true);\n \"\n (focusout)=\"resetInputValue()\"\n (ngModelChange)=\"onTableUpdate()\"\n icon=\"search\"\n [placeholder]=\"t('table.search')\"\n ></biit-input-text>\n <biit-multiselect id=\"column-selector\" [ngModel]=\"columns | visibleColumns\"\n (ngModelChange)=\"setColumnVisibility($event)\"\n [data]=\"columns\"\n label=\"label\"\n value=\"visible\"\n [title]=\"t('table.column-selector')\"\n [type]=\"BiitMultiselectType.ICON\"\n [compact]=\"true\"\n ></biit-multiselect>\n </div>\n </div>\n\n <div class=\"content\">\n <div *ngIf=\"loading\" style=\"position: relative\">\n <biit-progress-bar style=\"position: absolute; top: 2.1rem; left: 0.2rem; width: calc(100% - 0.1rem);\"></biit-progress-bar>\n </div>\n <table>\n <thead>\n <tr>\n <th *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox *ngIf=\"isSelectable\"\n [ngModel]=\"data?.data.length && selectedRows.size == data?.data.length\"\n (ngModelChange)=\"$event ? data?.data.forEach(selectedRows.add, selectedRows) : selectedRows.clear()\"\n ></biit-checkbox>\n </th>\n <th *ngFor=\"let column of columns, index as i\"\n [class.sortable]=\"isSortable\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : ''\"\n (click)=\"isSortable ? onTableSort(column) : false\"\n >\n <div class=\"label\">\n {{column.label}}\n </div>\n <biit-icon *ngIf=\"isSortable\"\n [name]=\"sorting?.name == column.name ? 'right_arrow' : 'up_down_arrow'\"\n [pathStyle]=\"{fill: '#FFFFFF'}\"\n class=\"sort\"\n [class.asc]=\"sorting?.name == column.name && sorting?.order == 'asc'\"\n [class.desc]=\"sorting?.name == column.name && sorting?.order == 'desc'\"\n ></biit-icon>\n <div class=\"column-resizer\"\n (mousedown)=\"resizeColumn($event, column, i)\"\n (click)=\"$event.preventDefault();\n $event.stopPropagation();\n $event.stopImmediatePropagation();\"\n ></div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data?.data; index as i\"\n [class.selectable]=\"isSelectable\"\n [class.selected]=\"selectedRows.has(item)\"\n (pointerdown)=\"emitRowClick(item)\"\n >\n <td *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox id=\"select{{i}}\"\n [ngModel]=\"selectedRows.has(item)\"\n (ngModelChange)=\"selectRow(item, true)\"\n ></biit-checkbox>\n </td>\n <td *ngFor=\"let column of columns\"\n (pointerdown)=\"selectRow(item, $event.ctrlKey)\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : null\"\n >\n <div *ngIf=\"column.format == BiitTableColumnFormat.DEFAULT\">\n {{item | columnData: column.name}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BOOLEAN\">\n {{(item | columnData: column.name) ? t('table.yes') : t('table.no') }}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.DATE\">\n {{(item | columnData: column.name) | localizedDate}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-button tertiary\n (pointerdown)=\"emitCellAction(item, column.name, $event)\">\n {{item | columnData: column.name}}\n </button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON_BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-icon [icon]=\"item | columnData: column.name\"\n (pointerdown)=\"emitCellAction(item, column.name, $event);\"></button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON\"\n style=\"width: auto; height: 1.05rem;\">\n <biit-icon [name]=\"item | columnData: column.name\"></biit-icon>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.CUSTOM_HTML\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <div [innerHTML]=\"item | columnData: column.name\"></div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n </div>\n\n <div class=\"footer\" *ngIf=\"!hideFooter\">\n <div class=\"selected\">\n <a style=\"margin-right: 0.7rem\" *ngIf=\"selectedRows.size\">Selected:</a>\n <a *ngIf=\"selectedRows.size\">{{selectedRows.size}}</a>\n </div>\n <biit-paginator *ngIf=\"paginator\"\n [ngModel]=\"paginator\" (ngModelChange)=\"paginator = $event; onTableUpdate()\"></biit-paginator>\n </div>\n</div>\n", styles: [".canvas{height:100%;display:flex;flex-direction:column;box-sizing:border-box;row-gap:1.05rem}.canvas>.header{display:flex;flex-direction:row;justify-content:space-between}.canvas>.header>*{display:flex;flex-direction:row}.canvas>.header>.buttons ::ng-deep>*{height:2.1rem;min-width:2.1rem;display:flex;align-items:center;justify-content:center}.canvas>.header>.forms{column-gap:.7rem}.canvas>.header>.forms ::ng-deep biit-input-text .biit-input{min-height:0;padding-top:0}.canvas>.content{overflow:auto;display:flex;flex-grow:1;flex-direction:column;box-sizing:border-box}.canvas>.content *{box-sizing:border-box}.canvas>.content>table{width:100%;height:-moz-fit-content;height:fit-content;margin-top:-.2rem;table-layout:fixed;border-spacing:.2rem}.canvas>.content>table thead{text-transform:uppercase;position:sticky;top:0;background:var(--chart-background);z-index:1}.canvas>.content>table thead th{position:relative;height:2.1rem;color:var(--chart-background);font-weight:500;background:var(--table-header-color);padding:.4rem 2.4rem;text-align:center;text-align:-moz-center;text-align:-webkit-center;cursor:default}.canvas>.content>table thead th.select{width:2.1rem;padding:.3rem .7rem;background:var(--chart-background)}.canvas>.content>table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.canvas>.content>table thead th>.column-resizer{position:absolute;right:-.2rem;top:0;height:100%;width:.6rem;cursor:col-resize}.canvas>.content>table thead th>.label{width:-moz-fit-content;width:fit-content}.canvas>.content>table thead th>.sort{position:absolute;width:.7rem;height:.7rem;top:calc(50% - .35rem);right:.7rem;pointer-events:none}.canvas>.content>table thead th>.sort.asc{rotate:-90deg}.canvas>.content>table thead th>.sort.desc{rotate:90deg}.canvas>.content>table tbody tr{cursor:default}.canvas>.content>table tbody tr.selected{background:var(--main-background)}.canvas>.content>table tbody tr:hover{background:var(--hover-color)}.canvas>.content>table tbody tr:hover.selectable{cursor:pointer}.canvas>.content>table tbody tr>td{height:2.1rem;border-bottom:.2rem solid var(--table-border-color);padding:.3rem .7rem;overflow:hidden}.canvas>.content>table tbody tr>td.select{width:2.1rem;padding:.3rem .7rem}.canvas>.footer{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.canvas>.footer>biit-paginator{width:50%;display:block}@media screen and (max-width: 600px){.page-size-selector,.horizontal-menu{display:none!important}}@media screen and (min-width: 601px){.vertical-menu{display:none!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.BiitPaginatorComponent, selector: "biit-paginator" }, { kind: "component", type: i4.BiitMultiselectComponent, selector: "biit-multiselect", inputs: ["title", "type", "icon", "label", "value", "descriptionField", "description", "data", "primitive", "compact", "disabled", "required", "sort-asc", "sort-desc"], outputs: ["onCreate"] }, { kind: "component", type: i4.BiitInputTextComponent, selector: "biit-input-text", inputs: ["placeholder", "error", "description", "info", "type", "icon", "fieldName", "disabled", "required", "readonly", "min", "max", "minLength", "maxLength", "regEx"], outputs: ["onActionPerformed"] }, { kind: "component", type: i4.BiitCheckboxComponent, selector: "biit-checkbox", inputs: ["disabled", "description", "showAlwaysDescription"], outputs: ["onValueChange"] }, { kind: "component", type: i5.BiitProgressBarComponent, selector: "biit-progress-bar", inputs: ["type", "_value", "value"] }, { kind: "directive", type: i6.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i7.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "component", type: i8.BiitButtonComponent, selector: "button[biit-button]" }, { kind: "directive", type: i8.BiitButtonTertiaryDirective, selector: "[tertiary]" }, { kind: "component", type: i8.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }, { kind: "component", type: i9.BiitVerticalMenuComponent, selector: "biit-vertical-menu" }, { kind: "directive", type: BiitTableSelectableDirective, selector: "[selectable]" }, { kind: "directive", type: BiitTableSortableDirective, selector: "[sortable]" }, { kind: "pipe", type: i10.LocalizedDatePipe, name: "localizedDate" }, { kind: "pipe", type: i11.VisibleColumnsPipe, name: "visibleColumns" }, { kind: "pipe", type: i12.ColumnDataPipe, name: "columnData" }] });
275
+ }], queries: [{ propertyName: "actionsTpl", first: true, predicate: ["actions"], descendants: true }], ngImport: i0, template: "<div class=\"canvas\" *transloco=\"let t\">\n <div class=\"header\" *ngIf=\"!hideHeader\">\n <div class=\"buttons\" id=\"menu\">\n <biit-vertical-menu *ngIf=\"actionsTpl\" class=\"vertical-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </biit-vertical-menu>\n <div *ngIf=\"actionsTpl\" class=\"horizontal-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </div>\n <div *ngIf=\"!actionsTpl\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"forms\">\n <biit-input-text id=\"search-field\" [(ngModel)]=\"search\"\n (onActionPerformed)=\"\n paginator.currentPage = 1;\n onTableUpdate(true);\n \"\n (focusout)=\"resetInputValue()\"\n (ngModelChange)=\"onTableUpdate()\"\n icon=\"search\"\n [placeholder]=\"t('table.search')\"\n ></biit-input-text>\n <biit-multiselect id=\"column-selector\" [ngModel]=\"columns | visibleColumns\"\n (ngModelChange)=\"setColumnVisibility($event)\"\n [data]=\"columns\"\n label=\"label\"\n value=\"visible\"\n [title]=\"t('table.column-selector')\"\n [type]=\"BiitMultiselectType.ICON\"\n [compact]=\"true\"\n ></biit-multiselect>\n </div>\n </div>\n\n <div class=\"content\">\n <div *ngIf=\"loading\" style=\"position: relative\">\n <biit-progress-bar style=\"position: absolute; top: 2.1rem; left: 0.2rem; width: calc(100% - 0.1rem);\"></biit-progress-bar>\n </div>\n <table>\n <thead>\n <tr>\n <th *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox *ngIf=\"isSelectable\"\n [ngModel]=\"data?.data.length && selectedRows.size == data?.data.length\"\n (ngModelChange)=\"$event ? data?.data.forEach(selectedRows.add, selectedRows) : selectedRows.clear()\"\n ></biit-checkbox>\n </th>\n <th *ngFor=\"let column of columns, index as i\"\n [class.sortable]=\"isSortable\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : ''\"\n (click)=\"isSortable ? onTableSort(column) : false\"\n >\n <div class=\"label\">\n {{column.label}}\n </div>\n <biit-icon *ngIf=\"isSortable\"\n [name]=\"sorting?.name == column.name ? 'right_arrow' : 'up_down_arrow'\"\n [pathStyle]=\"{fill: '#FFFFFF'}\"\n class=\"sort\"\n [class.asc]=\"sorting?.name == column.name && sorting?.order == 'asc'\"\n [class.desc]=\"sorting?.name == column.name && sorting?.order == 'desc'\"\n ></biit-icon>\n <div class=\"column-resizer\"\n (mousedown)=\"resizeColumn($event, column, i)\"\n (click)=\"$event.preventDefault();\n $event.stopPropagation();\n $event.stopImmediatePropagation();\"\n ></div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data?.data; index as i\"\n [class.selectable]=\"isSelectable\"\n [class.selected]=\"selectedRows.has(item)\"\n (pointerdown)=\"emitRowClick(item)\"\n >\n <td *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox id=\"select{{i}}\"\n [ngModel]=\"selectedRows.has(item)\"\n (ngModelChange)=\"selectRow(item, true)\"\n ></biit-checkbox>\n </td>\n <td *ngFor=\"let column of columns\"\n (pointerdown)=\"selectRow(item, $event.ctrlKey)\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : null\"\n >\n <div *ngIf=\"column.format == BiitTableColumnFormat.DEFAULT\">\n {{item | columnData: column.name}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BOOLEAN\">\n {{(item | columnData: column.name) ? t('table.yes') : t('table.no') }}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.DATE\">\n {{(item | columnData: column.name) | localizedDate}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-button tertiary\n (pointerdown)=\"emitCellAction(item, column.name, $event)\">\n {{item | columnData: column.name}}\n </button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON_BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-icon [icon]=\"item | columnData: column.name\"\n (pointerdown)=\"emitCellAction(item, column.name, $event);\"></button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON\"\n style=\"width: auto; height: 1.05rem;\">\n <biit-icon [name]=\"item | columnData: column.name\"></biit-icon>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.CUSTOM_HTML\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <div [innerHTML]=\"item | columnData: column.name\"></div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n </div>\n\n <div class=\"footer\" *ngIf=\"!hideFooter\">\n <div class=\"selected\">\n <a style=\"margin-right: 0.7rem\" *ngIf=\"selectedRows.size\">Selected:</a>\n <a *ngIf=\"selectedRows.size\">{{selectedRows.size}}</a>\n </div>\n <biit-paginator *ngIf=\"paginator\"\n [ngModel]=\"paginator\" (ngModelChange)=\"paginator = $event; onTableUpdate()\"></biit-paginator>\n </div>\n</div>\n", styles: [".canvas{height:100%;display:flex;flex-direction:column;box-sizing:border-box;row-gap:1.05rem}.canvas>.header{display:flex;flex-direction:row;justify-content:space-between}.canvas>.header>*{display:flex;flex-direction:row}.canvas>.header>.buttons ::ng-deep>*{height:2.1rem;min-width:2.1rem;display:flex;align-items:center;justify-content:center}.canvas>.header>.forms{column-gap:.7rem}.canvas>.header>.forms ::ng-deep biit-input-text .biit-input{min-height:0;padding-top:0}.canvas>.content{overflow:auto;display:flex;flex-grow:1;flex-direction:column;box-sizing:border-box}.canvas>.content *{box-sizing:border-box}.canvas>.content>table{width:100%;height:-moz-fit-content;height:fit-content;margin-top:-.2rem;table-layout:fixed;border-spacing:.2rem}.canvas>.content>table thead{text-transform:uppercase;position:sticky;top:0;background:var(--chart-background);z-index:1}.canvas>.content>table thead th{position:relative;height:2.1rem;color:var(--chart-background);font-weight:500;background:var(--table-header-color);padding:.4rem 2.4rem;text-align:center;text-align:-moz-center;text-align:-webkit-center;cursor:default}.canvas>.content>table thead th.select{width:2.1rem;padding:.3rem .7rem;background:var(--chart-background)}.canvas>.content>table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.canvas>.content>table thead th>.column-resizer{position:absolute;right:-.2rem;top:0;height:100%;width:.6rem;cursor:col-resize}.canvas>.content>table thead th>.label{width:-moz-fit-content;width:fit-content}.canvas>.content>table thead th>.sort{position:absolute;width:.7rem;height:.7rem;top:calc(50% - .35rem);right:.7rem;pointer-events:none}.canvas>.content>table thead th>.sort.asc{rotate:-90deg}.canvas>.content>table thead th>.sort.desc{rotate:90deg}.canvas>.content>table tbody tr{cursor:default}.canvas>.content>table tbody tr.selected{background:var(--table-selected-row-color)}.canvas>.content>table tbody tr:hover{background:var(--hover-color)}.canvas>.content>table tbody tr:hover.selectable{cursor:pointer}.canvas>.content>table tbody tr>td{height:2.1rem;border-bottom:.2rem solid var(--table-border-color);padding:.3rem .7rem;overflow:hidden}.canvas>.content>table tbody tr>td.select{width:2.1rem;padding:.3rem .7rem}.canvas>.footer{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.canvas>.footer>biit-paginator{width:50%;display:block}@media screen and (max-width: 600px){.page-size-selector,.horizontal-menu{display:none!important}}@media screen and (min-width: 601px){.vertical-menu{display:none!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.BiitPaginatorComponent, selector: "biit-paginator" }, { kind: "component", type: i4.BiitMultiselectComponent, selector: "biit-multiselect", inputs: ["title", "type", "icon", "label", "value", "descriptionField", "description", "data", "primitive", "compact", "disabled", "required", "sort-asc", "sort-desc"], outputs: ["onCreate"] }, { kind: "component", type: i4.BiitInputTextComponent, selector: "biit-input-text", inputs: ["placeholder", "error", "description", "info", "type", "icon", "fieldName", "disabled", "required", "readonly", "min", "max", "minLength", "maxLength", "regEx"], outputs: ["onActionPerformed"] }, { kind: "component", type: i4.BiitCheckboxComponent, selector: "biit-checkbox", inputs: ["disabled", "description", "showAlwaysDescription"], outputs: ["onValueChange"] }, { kind: "component", type: i5.BiitProgressBarComponent, selector: "biit-progress-bar", inputs: ["type", "_value", "value"] }, { kind: "directive", type: i6.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i7.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "component", type: i8.BiitButtonComponent, selector: "button[biit-button]" }, { kind: "directive", type: i8.BiitButtonTertiaryDirective, selector: "[tertiary]" }, { kind: "component", type: i8.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }, { kind: "component", type: i9.BiitVerticalMenuComponent, selector: "biit-vertical-menu" }, { kind: "directive", type: BiitTableSelectableDirective, selector: "[selectable]" }, { kind: "directive", type: BiitTableSortableDirective, selector: "[sortable]" }, { kind: "pipe", type: i10.LocalizedDatePipe, name: "localizedDate" }, { kind: "pipe", type: i11.VisibleColumnsPipe, name: "visibleColumns" }, { kind: "pipe", type: i12.ColumnDataPipe, name: "columnData" }] });
276
276
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableComponent, decorators: [{
277
277
  type: Component,
278
278
  args: [{ selector: 'biit-table', providers: [{
279
279
  provide: TRANSLOCO_SCOPE,
280
280
  useValue: { scope: 'wizardry-theme/table', alias: "table" }
281
- }], template: "<div class=\"canvas\" *transloco=\"let t\">\n <div class=\"header\" *ngIf=\"!hideHeader\">\n <div class=\"buttons\" id=\"menu\">\n <biit-vertical-menu *ngIf=\"actionsTpl\" class=\"vertical-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </biit-vertical-menu>\n <div *ngIf=\"actionsTpl\" class=\"horizontal-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </div>\n <div *ngIf=\"!actionsTpl\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"forms\">\n <biit-input-text id=\"search-field\" [(ngModel)]=\"search\"\n (onActionPerformed)=\"\n paginator.currentPage = 1;\n onTableUpdate(true);\n \"\n (focusout)=\"resetInputValue()\"\n (ngModelChange)=\"onTableUpdate()\"\n icon=\"search\"\n [placeholder]=\"t('table.search')\"\n ></biit-input-text>\n <biit-multiselect id=\"column-selector\" [ngModel]=\"columns | visibleColumns\"\n (ngModelChange)=\"setColumnVisibility($event)\"\n [data]=\"columns\"\n label=\"label\"\n value=\"visible\"\n [title]=\"t('table.column-selector')\"\n [type]=\"BiitMultiselectType.ICON\"\n [compact]=\"true\"\n ></biit-multiselect>\n </div>\n </div>\n\n <div class=\"content\">\n <div *ngIf=\"loading\" style=\"position: relative\">\n <biit-progress-bar style=\"position: absolute; top: 2.1rem; left: 0.2rem; width: calc(100% - 0.1rem);\"></biit-progress-bar>\n </div>\n <table>\n <thead>\n <tr>\n <th *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox *ngIf=\"isSelectable\"\n [ngModel]=\"data?.data.length && selectedRows.size == data?.data.length\"\n (ngModelChange)=\"$event ? data?.data.forEach(selectedRows.add, selectedRows) : selectedRows.clear()\"\n ></biit-checkbox>\n </th>\n <th *ngFor=\"let column of columns, index as i\"\n [class.sortable]=\"isSortable\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : ''\"\n (click)=\"isSortable ? onTableSort(column) : false\"\n >\n <div class=\"label\">\n {{column.label}}\n </div>\n <biit-icon *ngIf=\"isSortable\"\n [name]=\"sorting?.name == column.name ? 'right_arrow' : 'up_down_arrow'\"\n [pathStyle]=\"{fill: '#FFFFFF'}\"\n class=\"sort\"\n [class.asc]=\"sorting?.name == column.name && sorting?.order == 'asc'\"\n [class.desc]=\"sorting?.name == column.name && sorting?.order == 'desc'\"\n ></biit-icon>\n <div class=\"column-resizer\"\n (mousedown)=\"resizeColumn($event, column, i)\"\n (click)=\"$event.preventDefault();\n $event.stopPropagation();\n $event.stopImmediatePropagation();\"\n ></div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data?.data; index as i\"\n [class.selectable]=\"isSelectable\"\n [class.selected]=\"selectedRows.has(item)\"\n (pointerdown)=\"emitRowClick(item)\"\n >\n <td *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox id=\"select{{i}}\"\n [ngModel]=\"selectedRows.has(item)\"\n (ngModelChange)=\"selectRow(item, true)\"\n ></biit-checkbox>\n </td>\n <td *ngFor=\"let column of columns\"\n (pointerdown)=\"selectRow(item, $event.ctrlKey)\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : null\"\n >\n <div *ngIf=\"column.format == BiitTableColumnFormat.DEFAULT\">\n {{item | columnData: column.name}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BOOLEAN\">\n {{(item | columnData: column.name) ? t('table.yes') : t('table.no') }}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.DATE\">\n {{(item | columnData: column.name) | localizedDate}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-button tertiary\n (pointerdown)=\"emitCellAction(item, column.name, $event)\">\n {{item | columnData: column.name}}\n </button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON_BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-icon [icon]=\"item | columnData: column.name\"\n (pointerdown)=\"emitCellAction(item, column.name, $event);\"></button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON\"\n style=\"width: auto; height: 1.05rem;\">\n <biit-icon [name]=\"item | columnData: column.name\"></biit-icon>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.CUSTOM_HTML\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <div [innerHTML]=\"item | columnData: column.name\"></div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n </div>\n\n <div class=\"footer\" *ngIf=\"!hideFooter\">\n <div class=\"selected\">\n <a style=\"margin-right: 0.7rem\" *ngIf=\"selectedRows.size\">Selected:</a>\n <a *ngIf=\"selectedRows.size\">{{selectedRows.size}}</a>\n </div>\n <biit-paginator *ngIf=\"paginator\"\n [ngModel]=\"paginator\" (ngModelChange)=\"paginator = $event; onTableUpdate()\"></biit-paginator>\n </div>\n</div>\n", styles: [".canvas{height:100%;display:flex;flex-direction:column;box-sizing:border-box;row-gap:1.05rem}.canvas>.header{display:flex;flex-direction:row;justify-content:space-between}.canvas>.header>*{display:flex;flex-direction:row}.canvas>.header>.buttons ::ng-deep>*{height:2.1rem;min-width:2.1rem;display:flex;align-items:center;justify-content:center}.canvas>.header>.forms{column-gap:.7rem}.canvas>.header>.forms ::ng-deep biit-input-text .biit-input{min-height:0;padding-top:0}.canvas>.content{overflow:auto;display:flex;flex-grow:1;flex-direction:column;box-sizing:border-box}.canvas>.content *{box-sizing:border-box}.canvas>.content>table{width:100%;height:-moz-fit-content;height:fit-content;margin-top:-.2rem;table-layout:fixed;border-spacing:.2rem}.canvas>.content>table thead{text-transform:uppercase;position:sticky;top:0;background:var(--chart-background);z-index:1}.canvas>.content>table thead th{position:relative;height:2.1rem;color:var(--chart-background);font-weight:500;background:var(--table-header-color);padding:.4rem 2.4rem;text-align:center;text-align:-moz-center;text-align:-webkit-center;cursor:default}.canvas>.content>table thead th.select{width:2.1rem;padding:.3rem .7rem;background:var(--chart-background)}.canvas>.content>table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.canvas>.content>table thead th>.column-resizer{position:absolute;right:-.2rem;top:0;height:100%;width:.6rem;cursor:col-resize}.canvas>.content>table thead th>.label{width:-moz-fit-content;width:fit-content}.canvas>.content>table thead th>.sort{position:absolute;width:.7rem;height:.7rem;top:calc(50% - .35rem);right:.7rem;pointer-events:none}.canvas>.content>table thead th>.sort.asc{rotate:-90deg}.canvas>.content>table thead th>.sort.desc{rotate:90deg}.canvas>.content>table tbody tr{cursor:default}.canvas>.content>table tbody tr.selected{background:var(--main-background)}.canvas>.content>table tbody tr:hover{background:var(--hover-color)}.canvas>.content>table tbody tr:hover.selectable{cursor:pointer}.canvas>.content>table tbody tr>td{height:2.1rem;border-bottom:.2rem solid var(--table-border-color);padding:.3rem .7rem;overflow:hidden}.canvas>.content>table tbody tr>td.select{width:2.1rem;padding:.3rem .7rem}.canvas>.footer{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.canvas>.footer>biit-paginator{width:50%;display:block}@media screen and (max-width: 600px){.page-size-selector,.horizontal-menu{display:none!important}}@media screen and (min-width: 601px){.vertical-menu{display:none!important}}\n"] }]
281
+ }], template: "<div class=\"canvas\" *transloco=\"let t\">\n <div class=\"header\" *ngIf=\"!hideHeader\">\n <div class=\"buttons\" id=\"menu\">\n <biit-vertical-menu *ngIf=\"actionsTpl\" class=\"vertical-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </biit-vertical-menu>\n <div *ngIf=\"actionsTpl\" class=\"horizontal-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </div>\n <div *ngIf=\"!actionsTpl\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"forms\">\n <biit-input-text id=\"search-field\" [(ngModel)]=\"search\"\n (onActionPerformed)=\"\n paginator.currentPage = 1;\n onTableUpdate(true);\n \"\n (focusout)=\"resetInputValue()\"\n (ngModelChange)=\"onTableUpdate()\"\n icon=\"search\"\n [placeholder]=\"t('table.search')\"\n ></biit-input-text>\n <biit-multiselect id=\"column-selector\" [ngModel]=\"columns | visibleColumns\"\n (ngModelChange)=\"setColumnVisibility($event)\"\n [data]=\"columns\"\n label=\"label\"\n value=\"visible\"\n [title]=\"t('table.column-selector')\"\n [type]=\"BiitMultiselectType.ICON\"\n [compact]=\"true\"\n ></biit-multiselect>\n </div>\n </div>\n\n <div class=\"content\">\n <div *ngIf=\"loading\" style=\"position: relative\">\n <biit-progress-bar style=\"position: absolute; top: 2.1rem; left: 0.2rem; width: calc(100% - 0.1rem);\"></biit-progress-bar>\n </div>\n <table>\n <thead>\n <tr>\n <th *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox *ngIf=\"isSelectable\"\n [ngModel]=\"data?.data.length && selectedRows.size == data?.data.length\"\n (ngModelChange)=\"$event ? data?.data.forEach(selectedRows.add, selectedRows) : selectedRows.clear()\"\n ></biit-checkbox>\n </th>\n <th *ngFor=\"let column of columns, index as i\"\n [class.sortable]=\"isSortable\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : ''\"\n (click)=\"isSortable ? onTableSort(column) : false\"\n >\n <div class=\"label\">\n {{column.label}}\n </div>\n <biit-icon *ngIf=\"isSortable\"\n [name]=\"sorting?.name == column.name ? 'right_arrow' : 'up_down_arrow'\"\n [pathStyle]=\"{fill: '#FFFFFF'}\"\n class=\"sort\"\n [class.asc]=\"sorting?.name == column.name && sorting?.order == 'asc'\"\n [class.desc]=\"sorting?.name == column.name && sorting?.order == 'desc'\"\n ></biit-icon>\n <div class=\"column-resizer\"\n (mousedown)=\"resizeColumn($event, column, i)\"\n (click)=\"$event.preventDefault();\n $event.stopPropagation();\n $event.stopImmediatePropagation();\"\n ></div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data?.data; index as i\"\n [class.selectable]=\"isSelectable\"\n [class.selected]=\"selectedRows.has(item)\"\n (pointerdown)=\"emitRowClick(item)\"\n >\n <td *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox id=\"select{{i}}\"\n [ngModel]=\"selectedRows.has(item)\"\n (ngModelChange)=\"selectRow(item, true)\"\n ></biit-checkbox>\n </td>\n <td *ngFor=\"let column of columns\"\n (pointerdown)=\"selectRow(item, $event.ctrlKey)\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : null\"\n >\n <div *ngIf=\"column.format == BiitTableColumnFormat.DEFAULT\">\n {{item | columnData: column.name}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BOOLEAN\">\n {{(item | columnData: column.name) ? t('table.yes') : t('table.no') }}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.DATE\">\n {{(item | columnData: column.name) | localizedDate}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-button tertiary\n (pointerdown)=\"emitCellAction(item, column.name, $event)\">\n {{item | columnData: column.name}}\n </button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON_BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-icon [icon]=\"item | columnData: column.name\"\n (pointerdown)=\"emitCellAction(item, column.name, $event);\"></button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON\"\n style=\"width: auto; height: 1.05rem;\">\n <biit-icon [name]=\"item | columnData: column.name\"></biit-icon>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.CUSTOM_HTML\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <div [innerHTML]=\"item | columnData: column.name\"></div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n </div>\n\n <div class=\"footer\" *ngIf=\"!hideFooter\">\n <div class=\"selected\">\n <a style=\"margin-right: 0.7rem\" *ngIf=\"selectedRows.size\">Selected:</a>\n <a *ngIf=\"selectedRows.size\">{{selectedRows.size}}</a>\n </div>\n <biit-paginator *ngIf=\"paginator\"\n [ngModel]=\"paginator\" (ngModelChange)=\"paginator = $event; onTableUpdate()\"></biit-paginator>\n </div>\n</div>\n", styles: [".canvas{height:100%;display:flex;flex-direction:column;box-sizing:border-box;row-gap:1.05rem}.canvas>.header{display:flex;flex-direction:row;justify-content:space-between}.canvas>.header>*{display:flex;flex-direction:row}.canvas>.header>.buttons ::ng-deep>*{height:2.1rem;min-width:2.1rem;display:flex;align-items:center;justify-content:center}.canvas>.header>.forms{column-gap:.7rem}.canvas>.header>.forms ::ng-deep biit-input-text .biit-input{min-height:0;padding-top:0}.canvas>.content{overflow:auto;display:flex;flex-grow:1;flex-direction:column;box-sizing:border-box}.canvas>.content *{box-sizing:border-box}.canvas>.content>table{width:100%;height:-moz-fit-content;height:fit-content;margin-top:-.2rem;table-layout:fixed;border-spacing:.2rem}.canvas>.content>table thead{text-transform:uppercase;position:sticky;top:0;background:var(--chart-background);z-index:1}.canvas>.content>table thead th{position:relative;height:2.1rem;color:var(--chart-background);font-weight:500;background:var(--table-header-color);padding:.4rem 2.4rem;text-align:center;text-align:-moz-center;text-align:-webkit-center;cursor:default}.canvas>.content>table thead th.select{width:2.1rem;padding:.3rem .7rem;background:var(--chart-background)}.canvas>.content>table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.canvas>.content>table thead th>.column-resizer{position:absolute;right:-.2rem;top:0;height:100%;width:.6rem;cursor:col-resize}.canvas>.content>table thead th>.label{width:-moz-fit-content;width:fit-content}.canvas>.content>table thead th>.sort{position:absolute;width:.7rem;height:.7rem;top:calc(50% - .35rem);right:.7rem;pointer-events:none}.canvas>.content>table thead th>.sort.asc{rotate:-90deg}.canvas>.content>table thead th>.sort.desc{rotate:90deg}.canvas>.content>table tbody tr{cursor:default}.canvas>.content>table tbody tr.selected{background:var(--table-selected-row-color)}.canvas>.content>table tbody tr:hover{background:var(--hover-color)}.canvas>.content>table tbody tr:hover.selectable{cursor:pointer}.canvas>.content>table tbody tr>td{height:2.1rem;border-bottom:.2rem solid var(--table-border-color);padding:.3rem .7rem;overflow:hidden}.canvas>.content>table tbody tr>td.select{width:2.1rem;padding:.3rem .7rem}.canvas>.footer{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.canvas>.footer>biit-paginator{width:50%;display:block}@media screen and (max-width: 600px){.page-size-selector,.horizontal-menu{display:none!important}}@media screen and (min-width: 601px){.vertical-menu{display:none!important}}\n"] }]
282
282
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { _data: [{
283
283
  type: Input,
284
284
  args: ['metadata']
@@ -301,4 +301,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
301
301
  }], onRowClick: [{
302
302
  type: Output
303
303
  }] } });
304
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS90YWJsZS9zcmMvYmlpdC10YWJsZS9iaWl0LXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL3RhYmxlL3NyYy9iaWl0LXRhYmxlL2JpaXQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBa0IscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBSzVFLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFBb0IsTUFBMEI7UUFBMUIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDNUMsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7MEhBSFUsNEJBQTRCOzhHQUE1Qiw0QkFBNEI7NEZBQTVCLDRCQUE0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RUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksdUJBQXVCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFTO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25DLENBQUM7O2dIQXZOVSxrQkFBa0I7b0dBQWxCLGtCQUFrQiw2UkFMbEIsQ0FBQztZQUNWLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDO1NBQzFELENBQUMsNkhDM0VKLHc4TUF3SUEsdTNKRDlHYSw0QkFBNEIseURBa0I1QiwwQkFBMEI7NEZBaUMxQixrQkFBa0I7a0JBVDlCLFNBQVM7K0JBQ0UsWUFBWSxhQUdYLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDO3lCQUMxRCxDQUFDO3lIQUlxQixLQUFLO3NCQUEzQixLQUFLO3VCQUFDLFVBQVU7Z0JBVUssUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxTQUFTO2dCQVNQLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRW1CLFVBQVU7c0JBQWxDLFlBQVk7dUJBQUMsU0FBUztnQkFRYixRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCaWl0UGFnaW5hdG9yT3B0aW9uc30gZnJvbSAnLi4vYmlpdC1wYWdpbmF0b3IvbW9kZWxzL2JpaXQtcGFnaW5hdG9yLW9wdGlvbnMnO1xuaW1wb3J0IHtCaWl0VGFibGVDb2x1bW4sIEJpaXRUYWJsZUNvbHVtbkZvcm1hdH0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtDb2x1bW5SZXNpemVIYW5kbGVyfSBmcm9tICcuL21vZGVscy9jb2x1bW4tcmVzaXplLWhhbmRsZXInO1xuaW1wb3J0IHtCaWl0VGFibGVSZXNwb25zZX0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1yZXNwb25zZSc7XG5pbXBvcnQge0JpaXRUYWJsZURhdGF9IGZyb20gJy4vbW9kZWxzL2JpaXQtdGFibGUtZGF0YSc7XG5pbXBvcnQge0JpaXRUYWJsZVNvcnRpbmcsIEJpaXRUYWJsZVNvcnRpbmdPcmRlcn0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1zb3J0aW5nJztcbmltcG9ydCB7QmlpdE11bHRpc2VsZWN0VHlwZX0gZnJvbSAnQGJpaXQtc29sdXRpb25zL3dpemFyZHJ5LXRoZW1lL2lucHV0cyc7XG5pbXBvcnQge1RSQU5TTE9DT19TQ09QRX0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xuaW1wb3J0IHtCaWl0VGFibGVBY3Rpb25SZXNwb25zZX0gZnJvbSBcIi4vbW9kZWxzL2JpaXQtdGFibGUtYWN0aW9uLXJlc3BvbnNlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzZWxlY3RhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlU2VsZWN0YWJsZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyZW50OiBCaWl0VGFibGVDb21wb25lbnQpIHtcbiAgICBwYXJlbnQuaXNTZWxlY3RhYmxlID0gdHJ1ZTtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2VsZWN0YWJsZVNpbmdsZV0nXG59KVxuZXhwb3J0IGNsYXNzIEJpaXRUYWJsZVNlbGVjdGFibGVTaW5nbGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogQmlpdFRhYmxlQ29tcG9uZW50KSB7XG4gICAgcGFyZW50LmlzU2VsZWN0YWJsZVNpbmdsZSA9IHRydWU7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NvcnRhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlU29ydGFibGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogQmlpdFRhYmxlQ29tcG9uZW50KSB7XG4gICAgcGFyZW50LmlzU29ydGFibGUgPSB0cnVlO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1toaWRlSGVhZGVyXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlSGVhZGVybGVzc0RpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyZW50OiBCaWl0VGFibGVDb21wb25lbnQpIHtcbiAgICBwYXJlbnQuaGlkZUhlYWRlciA9IHRydWU7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2hpZGVGb290ZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBCaWl0VGFibGVGb290ZXJsZXNzRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYXJlbnQ6IEJpaXRUYWJsZUNvbXBvbmVudCkge1xuICAgIHBhcmVudC5oaWRlRm9vdGVyID0gdHJ1ZTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWl0LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JpaXQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iaWl0LXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBUUkFOU0xPQ09fU0NPUEUsXG4gICAgdXNlVmFsdWU6IHtzY29wZTogJ3dpemFyZHJ5LXRoZW1lL3RhYmxlJywgYWxpYXM6IFwidGFibGVcIn1cbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdDaGVja2VkIHtcblxuICBASW5wdXQoJ21ldGFkYXRhJykgc2V0IF9kYXRhKGRhdGE6IEJpaXRUYWJsZURhdGE8YW55Pikge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuY2xlYXIoKTtcbiAgICAgIGlmICh0aGlzLnBhZ2luYXRvcikge1xuICAgICAgICB0aGlzLnBhZ2luYXRvciA9IG5ldyBCaWl0UGFnaW5hdG9yT3B0aW9ucyh0aGlzLnBhZ2luYXRvci5jdXJyZW50UGFnZSwgdGhpcy5wYWdpbmF0b3IucGFnZVNpemUsIHRoaXMucGFnZVNpemVzLCBkYXRhLnRvdGFsSXRlbXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnbG9hZGluZycpIHNldCBfbG9hZGluZyhsb2FkaW5nOiBib29sZWFuKSB7XG4gICAgaWYgKGxvYWRpbmcpIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IGxvYWRpbmc7XG4gICAgICB0aGlzLnNldExvYWRpbmdCYXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgY29sdW1uczogQmlpdFRhYmxlQ29sdW1uW10gPSBbXTtcbiAgQElucHV0KCkgcGFnZVNpemVzOiBudW1iZXJbXSA9IFtdO1xuICBASW5wdXQoKSBkZWZhdWx0UGFnZVNpemU6IG51bWJlcjtcblxuICBAQ29udGVudENoaWxkKCdhY3Rpb25zJykgYWN0aW9uc1RwbCE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgaXNTZWxlY3RhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGlzU2VsZWN0YWJsZVNpbmdsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1NvcnRhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGhpZGVIZWFkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaGlkZUZvb3RlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBvblVwZGF0ZTogRXZlbnRFbWl0dGVyPEJpaXRUYWJsZVJlc3BvbnNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QmlpdFRhYmxlUmVzcG9uc2U+KCk7XG4gIEBPdXRwdXQoKSBvbkNlbGxBY3Rpb246IEV2ZW50RW1pdHRlcjxCaWl0VGFibGVBY3Rpb25SZXNwb25zZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEJpaXRUYWJsZUFjdGlvblJlc3BvbnNlPigpO1xuICBAT3V0cHV0KCkgb25Sb3dDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwcm90ZWN0ZWQgZGF0YTogQmlpdFRhYmxlRGF0YTxhbnk+O1xuICBwcm90ZWN0ZWQgcGFnaW5hdG9yO1xuICBwcm90ZWN0ZWQgc29ydGluZzogQmlpdFRhYmxlU29ydGluZztcbiAgcHJvdGVjdGVkIHNlbGVjdGVkUm93czogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcbiAgcHJvdGVjdGVkIGNvbHVtblJlc2l6ZTogQ29sdW1uUmVzaXplSGFuZGxlciA9IG5ldyBDb2x1bW5SZXNpemVIYW5kbGVyKCk7XG4gIHByb3RlY3RlZCBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBzZWFyY2g6IHN0cmluZyA9ICcnO1xuICBwcm90ZWN0ZWQgY3VycmVudFNlYXJjaDogc3RyaW5nID0gJyc7XG4gIHByb3RlY3RlZCByZWFkb25seSBCaWl0TXVsdGlzZWxlY3RUeXBlID0gQmlpdE11bHRpc2VsZWN0VHlwZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEJpaXRUYWJsZUNvbHVtbkZvcm1hdCA9IEJpaXRUYWJsZUNvbHVtbkZvcm1hdDtcblxuICBwcml2YXRlIGZpbmRUaW1lb3V0OiBOb2RlSlMuVGltZW91dDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgIHByaXZhdGUgZWxlbTogRWxlbWVudFJlZikge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdpbmF0b3IgPSBuZXcgQmlpdFBhZ2luYXRvck9wdGlvbnMoMSwgdGhpcy5kZWZhdWx0UGFnZVNpemUsIHRoaXMucGFnZVNpemVzLCB0aGlzLmRhdGEgPyB0aGlzLmRhdGEudG90YWxJdGVtcyA6IDEpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIHRoaXMuc2V0Q29sdW1uU2l6ZSgpO1xuICB9XG5cbiAgLy8gRml4IGZvciByZXNpemFibGUgY29sdW1uc1xuICBwcml2YXRlIHNldENvbHVtblNpemUoKSB7XG4gICAgLy8gVGFrZXMgc2Nyb2xsYmFyIHBhZGRpbmcgaW4gbWluZCBiZWZvcmUgaGFyZGNvZGluZyB3aWR0aHNcbiAgICB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY29udGVudCcpLnN0eWxlLnBhZGRpbmdSaWdodCA9ICcwLjdyZW0nO1xuXG4gICAgQXJyYXkuZnJvbSh0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd0aGVhZCcpLmZpcnN0Q2hpbGQuY2hpbGRyZW4pLmZvckVhY2gob2dDb2x1bW4gPT4ge1xuICAgICAgY29uc3QgY29sdW1uID0gb2dDb2x1bW4gYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgIGlmIChjb2x1bW4uY2xhc3NMaXN0LmNvbnRhaW5zKCdzZWxlY3QnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoY29sdW1uLnN0eWxlLndpZHRoID09ICcnICYmICFjb2x1bW4uY2xhc3NMaXN0LmNvbnRhaW5zKCdzZWxlY3QnKSkge1xuICAgICAgICBjb2x1bW4uc3R5bGUud2lkdGggPSBjb2x1bW4ub2Zmc2V0V2lkdGggLSAxMCArICdweCc7XG4gICAgICB9XG4gICAgICB0aGlzLmNvbHVtbklubmVyV29yZEZpdENoZWNrKGNvbHVtbik7XG4gICAgfSk7XG4gICAgdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNvbnRlbnQnKS5zdHlsZS5wYWRkaW5nUmlnaHQgPSBudWxsO1xuXG4gICAgdGhpcy5zZXRMb2FkaW5nQmFyKCk7XG4gIH1cblxuICBjb2x1bW5Jbm5lcldvcmRGaXRDaGVjayhjb2x1bW46IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgbWluQ29sdW1uU2l6ZSA9IChjb2x1bW4uZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldFdpZHRoXG4gICAgICArIDIuNCAqIHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmZvbnRTaXplKSAqIDI7XG5cbiAgICAvLyBJZiBpbm5lciB0ZXh0IHdpZHRoIHBsdXMgaGVhZGVyIHBhZGRpbmdzIGFyZSBsZXNzIHRoYW4gdGhlIGN1cnJlbnQgaGVhZGVyIHdpZHRoIChzZXQgYnkgdXNlciBjb2x1bW4gcHJvcGVydGllcylcbiAgICBpZiAobWluQ29sdW1uU2l6ZSA+IGNvbHVtbi5vZmZzZXRXaWR0aCkge1xuICAgICAgKGNvbHVtbiBhcyBIVE1MRWxlbWVudCkuc3R5bGUud2lkdGggPSBtaW5Db2x1bW5TaXplICsgJ3B4JztcbiAgICB9XG4gIH1cblxuICBzZXRMb2FkaW5nQmFyKCk6IHZvaWQge1xuICAgIGNvbnN0IHByb2dyZXNzQmFyID0gdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignYmlpdC1wcm9ncmVzcy1iYXInKTtcbiAgICBpZiAocHJvZ3Jlc3NCYXIpIHtcbiAgICAgIHByb2dyZXNzQmFyLnN0eWxlLnRvcCA9XG4gICAgICAgIHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RoZWFkJykub2Zmc2V0SGVpZ2h0ICsgJ3B4JztcbiAgICB9XG4gIH1cblxuICBvblRhYmxlVXBkYXRlKGZvcmNlOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBpZiAodGhpcy5maW5kVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZmluZFRpbWVvdXQpO1xuICAgIH1cbiAgICB0aGlzLmZpbmRUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRTZWFyY2ggPSB0aGlzLnNlYXJjaDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmNsZWFyKCk7XG4gICAgICB0aGlzLm9uVXBkYXRlLmVtaXQobmV3IEJpaXRUYWJsZVJlc3BvbnNlKFxuICAgICAgICB0aGlzLnBhZ2luYXRvci5jdXJyZW50UGFnZSxcbiAgICAgICAgdGhpcy5wYWdpbmF0b3IucGFnZVNpemUsXG4gICAgICAgIHRoaXMuc2VhcmNoLFxuICAgICAgICB0aGlzLnNvcnRpbmdcbiAgICAgICkpO1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZmluZFRpbWVvdXQpO1xuICAgICAgdGhpcy5maW5kVGltZW91dCA9IG51bGw7XG4gICAgfSwgZm9yY2UgPyAwIDogNTAwKTtcbiAgfVxuXG4gIG9uVGFibGVTb3J0KGNvbHVtbjogQmlpdFRhYmxlQ29sdW1uKSB7XG4gICAgaWYgKHRoaXMuc29ydGluZyAmJiB0aGlzLnNvcnRpbmcubmFtZSA9PSBjb2x1bW4ubmFtZSkge1xuICAgICAgc3dpdGNoICh0aGlzLnNvcnRpbmcub3JkZXIpIHtcbiAgICAgICAgY2FzZSBCaWl0VGFibGVTb3J0aW5nT3JkZXIuQVNDOlxuICAgICAgICAgIHRoaXMuc29ydGluZy5vcmRlciA9IEJpaXRUYWJsZVNvcnRpbmdPcmRlci5ERVNDO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEJpaXRUYWJsZVNvcnRpbmdPcmRlci5ERVNDOlxuICAgICAgICAgIHRoaXMuc29ydGluZyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zb3J0aW5nID0gbmV3IEJpaXRUYWJsZVNvcnRpbmcoY29sdW1uLm5hbWUsIEJpaXRUYWJsZVNvcnRpbmdPcmRlci5BU0MpO1xuICAgIH1cblxuICAgIHRoaXMub25UYWJsZVVwZGF0ZSgpO1xuICB9XG5cbiAgc25ha2VUb0NhbWVsKHN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyaW5nLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvWy1fXVthLXpdL2csIChncm91cCkgPT4gZ3JvdXAuc2xpY2UoLTEpLnRvVXBwZXJDYXNlKCkpO1xuICB9XG5cbiAgcmVzaXplQ29sdW1uKGV2ZW50LCBjb2x1bW46IEJpaXRUYWJsZUNvbHVtbiwgaW5kZXgpIHtcbiAgICB0aGlzLmNvbHVtblJlc2l6ZS5zdGFydCA9IGV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmNvbHVtblJlc2l6ZS5wcmVzc2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNvbHVtblJlc2l6ZS5zdGFydFggPSBldmVudC54O1xuICAgIHRoaXMuY29sdW1uUmVzaXplLnN0YXJ0V2lkdGggPSAodGhpcy5jb2x1bW5SZXNpemUuc3RhcnQucGFyZW50Tm9kZSBhcyBIVE1MRWxlbWVudCkub2Zmc2V0V2lkdGg7XG5cbiAgICBsZXQgY29sdW1uRWxlbSA9IHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RoZWFkJykuZmlyc3RDaGlsZC5jaGlsZHJlblt0aGlzLmlzU2VsZWN0YWJsZSA/IGluZGV4ICsgMSA6IGluZGV4XTtcbiAgICB0aGlzLmNvbHVtblJlc2l6ZS5taW5XaWR0aCA9IChjb2x1bW5FbGVtLmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxFbGVtZW50KS5vZmZzZXRXaWR0aFxuICAgICAgKyAyLjQgKiBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5mb250U2l6ZSkgKiAyO1xuXG4gICAgdGhpcy5pbml0UmVzaXphYmxlQ29sdW1ucyhjb2x1bW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0UmVzaXphYmxlQ29sdW1ucyhjb2x1bW46IEJpaXRUYWJsZUNvbHVtbikge1xuICAgIGNvbnN0IG1vdmVMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAnbW91c2Vtb3ZlJywgKGV2ZW50KSA9PiB7XG4gICAgICBpZiAodGhpcy5jb2x1bW5SZXNpemUucHJlc3NlZCkge1xuICAgICAgICBsZXQgd2lkdGggPSB0aGlzLmNvbHVtblJlc2l6ZS5zdGFydFdpZHRoICsgKGV2ZW50LnggLSB0aGlzLmNvbHVtblJlc2l6ZS5zdGFydFgpO1xuICAgICAgICBpZiAod2lkdGggPiB0aGlzLmNvbHVtblJlc2l6ZS5taW5XaWR0aCkge1xuICAgICAgICAgIGNvbHVtbi53aWR0aCA9IHdpZHRoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgICBjb25zdCByZWxlYXNlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ21vdXNldXAnLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmICh0aGlzLmNvbHVtblJlc2l6ZS5wcmVzc2VkKSB7XG4gICAgICAgIHRoaXMuY29sdW1uUmVzaXplLnByZXNzZWQgPSBmYWxzZTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICBtb3ZlTGlzdGVuZXIoKTtcbiAgICAgICAgcmVsZWFzZUxpc3RlbmVyKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBzZXRDb2x1bW5WaXNpYmlsaXR5KHJlc3BvbnNlOiBCaWl0VGFibGVDb2x1bW5bXSkge1xuICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKGMgPT4gcmVzcG9uc2Uuc29tZShlID0+IGUubmFtZSA9PSBjLm5hbWUpID8gYy52aXNpYmxlID0gdHJ1ZSA6IGMudmlzaWJsZSA9IGZhbHNlKTtcbiAgfVxuXG4gIHNlbGVjdFJvdyhpdGVtLCBob2xkQ3RybCkge1xuICAgIGlmICghaG9sZEN0cmwgfHwgdGhpcy5pc1NlbGVjdGFibGVTaW5nbGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmNsZWFyKCk7XG4gICAgICB0aGlzLnNlbGVjdGVkUm93cy5hZGQoaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5zZWxlY3RlZFJvd3MuaGFzKGl0ZW0pKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmFkZChpdGVtKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmRlbGV0ZShpdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRTZWxlY3RlZFJvd3MoKTogYW55W10ge1xuICAgIHJldHVybiBbLi4udGhpcy5zZWxlY3RlZFJvd3NdO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRSb3dzKF9zZWxlY3RlZFJvd3M6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFJvd3MgPSBuZXcgU2V0PGFueT4oX3NlbGVjdGVkUm93cy5maWx0ZXIociA9PiB0aGlzLmRhdGEuZGF0YS5pbmNsdWRlcyhyKSkpO1xuICB9XG5cbiAgZW1pdENlbGxBY3Rpb24oaXRlbTogYW55LCBjb2x1bW46IHN0cmluZywgZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5vbkNlbGxBY3Rpb24uZW1pdChuZXcgQmlpdFRhYmxlQWN0aW9uUmVzcG9uc2UoaXRlbSwgY29sdW1uKSk7XG4gIH1cblxuICBlbWl0Um93Q2xpY2soaXRlbTogYW55KSB7XG4gICAgdGhpcy5vblJvd0NsaWNrLmVtaXQoaXRlbSk7XG4gIH1cblxuICByZXNldElucHV0VmFsdWUoKSB7XG4gICAgdGhpcy5zZWFyY2ggPSB0aGlzLmN1cnJlbnRTZWFyY2g7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYW52YXNcIiAqdHJhbnNsb2NvPVwibGV0IHRcIj5cbiAgPGRpdiBjbGFzcz1cImhlYWRlclwiICpuZ0lmPVwiIWhpZGVIZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiIGlkPVwibWVudVwiPlxuICAgICAgPGJpaXQtdmVydGljYWwtbWVudSAqbmdJZj1cImFjdGlvbnNUcGxcIiBjbGFzcz1cInZlcnRpY2FsLW1lbnVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFjdGlvbnNUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYmlpdC12ZXJ0aWNhbC1tZW51PlxuICAgICAgPGRpdiAqbmdJZj1cImFjdGlvbnNUcGxcIiBjbGFzcz1cImhvcml6b250YWwtbWVudVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWN0aW9uc1RwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIWFjdGlvbnNUcGxcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZvcm1zXCI+XG4gICAgICA8YmlpdC1pbnB1dC10ZXh0IGlkPVwic2VhcmNoLWZpZWxkXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAob25BY3Rpb25QZXJmb3JtZWQpPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgcGFnaW5hdG9yLmN1cnJlbnRQYWdlID0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICBvblRhYmxlVXBkYXRlKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwicmVzZXRJbnB1dFZhbHVlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblRhYmxlVXBkYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwic2VhcmNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInQoJ3RhYmxlLnNlYXJjaCcpXCJcbiAgICAgID48L2JpaXQtaW5wdXQtdGV4dD5cbiAgICAgIDxiaWl0LW11bHRpc2VsZWN0IGlkPVwiY29sdW1uLXNlbGVjdG9yXCIgW25nTW9kZWxdPVwiY29sdW1ucyB8IHZpc2libGVDb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldENvbHVtblZpc2liaWxpdHkoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJjb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwibGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJ2aXNpYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJ0KCd0YWJsZS5jb2x1bW4tc2VsZWN0b3InKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJCaWl0TXVsdGlzZWxlY3RUeXBlLklDT05cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBhY3RdPVwidHJ1ZVwiXG4gICAgICA+PC9iaWl0LW11bHRpc2VsZWN0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmVcIj5cbiAgICAgIDxiaWl0LXByb2dyZXNzLWJhciBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAyLjFyZW07IGxlZnQ6IDAuMnJlbTsgd2lkdGg6IGNhbGMoMTAwJSAtIDAuMXJlbSk7XCI+PC9iaWl0LXByb2dyZXNzLWJhcj5cbiAgICA8L2Rpdj5cbiAgICA8dGFibGU+XG4gICAgICA8dGhlYWQ+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGggKm5nSWY9XCJpc1NlbGVjdGFibGUgfHwgaXNTZWxlY3RhYmxlU2luZ2xlXCIgY2xhc3M9XCJzZWxlY3RcIj5cbiAgICAgICAgICAgIDxiaWl0LWNoZWNrYm94ICpuZ0lmPVwiaXNTZWxlY3RhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImRhdGE/LmRhdGEubGVuZ3RoICYmIHNlbGVjdGVkUm93cy5zaXplID09IGRhdGE/LmRhdGEubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIiRldmVudCA/IGRhdGE/LmRhdGEuZm9yRWFjaChzZWxlY3RlZFJvd3MuYWRkLCBzZWxlY3RlZFJvd3MpIDogc2VsZWN0ZWRSb3dzLmNsZWFyKClcIlxuICAgICAgICAgICAgPjwvYmlpdC1jaGVja2JveD5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnMsIGluZGV4IGFzIGlcIlxuICAgICAgICAgICAgICBbY2xhc3Muc29ydGFibGVdPVwiaXNTb3J0YWJsZVwiXG4gICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIiFjb2x1bW4udmlzaWJsZSA/ICdub25lJyA6IG51bGxcIlxuICAgICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwiY29sdW1uLndpZHRoID8gY29sdW1uLndpZHRoICsgJ3B4JyA6ICcnXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImlzU29ydGFibGUgPyBvblRhYmxlU29ydChjb2x1bW4pIDogZmFsc2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICB7e2NvbHVtbi5sYWJlbH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxiaWl0LWljb24gKm5nSWY9XCJpc1NvcnRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwic29ydGluZz8ubmFtZSA9PSBjb2x1bW4ubmFtZSA/ICdyaWdodF9hcnJvdycgOiAndXBfZG93bl9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnI0ZGRkZGRid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFzY109XCJzb3J0aW5nPy5uYW1lID09IGNvbHVtbi5uYW1lICYmIHNvcnRpbmc/Lm9yZGVyID09ICdhc2MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRlc2NdPVwic29ydGluZz8ubmFtZSA9PSBjb2x1bW4ubmFtZSAmJiBzb3J0aW5nPy5vcmRlciA9PSAnZGVzYydcIlxuICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1yZXNpemVyXCJcbiAgICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJyZXNpemVDb2x1bW4oJGV2ZW50LCBjb2x1bW4sIGkpXCJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcIlxuICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5PlxuICAgICAgICA8dHIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YT8uZGF0YTsgaW5kZXggYXMgaVwiXG4gICAgICAgICAgICBbY2xhc3Muc2VsZWN0YWJsZV09XCJpc1NlbGVjdGFibGVcIlxuICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkUm93cy5oYXMoaXRlbSlcIlxuICAgICAgICAgICAgKHBvaW50ZXJkb3duKT1cImVtaXRSb3dDbGljayhpdGVtKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImlzU2VsZWN0YWJsZSB8fCBpc1NlbGVjdGFibGVTaW5nbGVcIiBjbGFzcz1cInNlbGVjdFwiPlxuICAgICAgICAgICAgICA8YmlpdC1jaGVja2JveCBpZD1cInNlbGVjdHt7aX19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwic2VsZWN0ZWRSb3dzLmhhcyhpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdFJvdyhpdGVtLCB0cnVlKVwiXG4gICAgICAgICAgICAgID48L2JpaXQtY2hlY2tib3g+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uc1wiXG4gICAgICAgICAgICAgICAgKHBvaW50ZXJkb3duKT1cInNlbGVjdFJvdyhpdGVtLCAkZXZlbnQuY3RybEtleSlcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIiFjb2x1bW4udmlzaWJsZSA/ICdub25lJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJjb2x1bW4ud2lkdGggPyBjb2x1bW4ud2lkdGggKyAncHgnIDogbnVsbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5ERUZBVUxUXCI+XG4gICAgICAgICAgICAgICAge3tpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWV9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5mb3JtYXQgPT0gQmlpdFRhYmxlQ29sdW1uRm9ybWF0LkJPT0xFQU5cIj5cbiAgICAgICAgICAgICAgICB7eyhpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWUpID8gdCgndGFibGUueWVzJykgOiB0KCd0YWJsZS5ubycpIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmZvcm1hdCA9PSBCaWl0VGFibGVDb2x1bW5Gb3JtYXQuREFURVwiPlxuICAgICAgICAgICAgICAgIHt7KGl0ZW0gfCBjb2x1bW5EYXRhOiBjb2x1bW4ubmFtZSkgfCBsb2NhbGl6ZWREYXRlfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5CVVRUT05cIlxuICAgICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IGF1dG87IHRleHQtYWxpZ246IC13ZWJraXQtY2VudGVyOyB0ZXh0LWFsaWduOiAtbW96LWNlbnRlcjtcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGJpaXQtYnV0dG9uIHRlcnRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAocG9pbnRlcmRvd24pPVwiZW1pdENlbGxBY3Rpb24oaXRlbSwgY29sdW1uLm5hbWUsICRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgIHt7aXRlbSB8IGNvbHVtbkRhdGE6IGNvbHVtbi5uYW1lfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5JQ09OX0JVVFRPTlwiXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzsgdGV4dC1hbGlnbjogLXdlYmtpdC1jZW50ZXI7IHRleHQtYWxpZ246IC1tb3otY2VudGVyO1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gYmlpdC1pY29uIFtpY29uXT1cIml0ZW0gfCBjb2x1bW5EYXRhOiBjb2x1bW4ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAocG9pbnRlcmRvd24pPVwiZW1pdENlbGxBY3Rpb24oaXRlbSwgY29sdW1uLm5hbWUsICRldmVudCk7XCI+PC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmZvcm1hdCA9PSBCaWl0VGFibGVDb2x1bW5Gb3JtYXQuSUNPTlwiXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzsgaGVpZ2h0OiAxLjA1cmVtO1wiPlxuICAgICAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiaXRlbSB8IGNvbHVtbkRhdGE6IGNvbHVtbi5uYW1lXCI+PC9iaWl0LWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmZvcm1hdCA9PSBCaWl0VGFibGVDb2x1bW5Gb3JtYXQuQ1VTVE9NX0hUTUxcIlxuICAgICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IGF1dG87IHRleHQtYWxpZ246IC13ZWJraXQtY2VudGVyOyB0ZXh0LWFsaWduOiAtbW96LWNlbnRlcjtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiaXRlbSB8IGNvbHVtbkRhdGE6IGNvbHVtbi5uYW1lXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cblxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCIgKm5nSWY9XCIhaGlkZUZvb3RlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZFwiPlxuICAgICAgPGEgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDAuN3JlbVwiICpuZ0lmPVwic2VsZWN0ZWRSb3dzLnNpemVcIj5TZWxlY3RlZDo8L2E+XG4gICAgICA8YSAqbmdJZj1cInNlbGVjdGVkUm93cy5zaXplXCI+e3tzZWxlY3RlZFJvd3Muc2l6ZX19PC9hPlxuICAgIDwvZGl2PlxuICAgIDxiaWl0LXBhZ2luYXRvciAqbmdJZj1cInBhZ2luYXRvclwiXG4gICAgICBbbmdNb2RlbF09XCJwYWdpbmF0b3JcIiAobmdNb2RlbENoYW5nZSk9XCJwYWdpbmF0b3IgPSAkZXZlbnQ7IG9uVGFibGVVcGRhdGUoKVwiPjwvYmlpdC1wYWdpbmF0b3I+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS90YWJsZS9zcmMvYmlpdC10YWJsZS9iaWl0LXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL3RhYmxlL3NyYy9iaWl0LXRhYmxlL2JpaXQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBa0IscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBSzVFLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFBb0IsTUFBMEI7UUFBMUIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDNUMsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7MEhBSFUsNEJBQTRCOzhHQUE1Qiw0QkFBNEI7NEZBQTVCLDRCQUE0QjtrQkFIeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7O0FBVUQsTUFBTSxPQUFPLGtDQUFrQztJQUM3QyxZQUFvQixNQUEwQjtRQUExQixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUM1QyxNQUFNLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0lBQ25DLENBQUM7O2dJQUhVLGtDQUFrQztvSEFBbEMsa0NBQWtDOzRGQUFsQyxrQ0FBa0M7a0JBSDlDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtpQkFDL0I7O0FBVUQsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxZQUFvQixNQUEwQjtRQUExQixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUM1QyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDOzt3SEFIVSwwQkFBMEI7NEdBQTFCLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO2lCQUN2Qjs7QUFVRCxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDLFlBQW9CLE1BQTBCO1FBQTFCLFdBQU0sR0FBTixNQUFNLENBQW9CO1FBQzVDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7OzBIQUhVLDRCQUE0Qjs4R0FBNUIsNEJBQTRCOzRGQUE1Qiw0QkFBNEI7a0JBSHhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCOztBQVVELE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFBb0IsTUFBMEI7UUFBMUIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDNUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQzs7MEhBSFUsNEJBQTRCOzhHQUE1Qiw0QkFBNEI7NEZBQTVCLDRCQUE0QjtrQkFIeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7O0FBZ0JELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsSUFBdUIsS0FBSyxDQUFDLElBQXdCO1FBQ25ELElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMxQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNqSTtTQUNGO0lBQ0gsQ0FBQztJQUVELElBQXNCLFFBQVEsQ0FBQyxPQUFnQjtRQUM3QyxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN0QjthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBK0JELFlBQW9CLFFBQW1CLEVBQ25CLElBQWdCO1FBRGhCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQTlCM0IsWUFBTyxHQUFzQixFQUFFLENBQUM7UUFDaEMsY0FBUyxHQUFhLEVBQUUsQ0FBQztRQUtsQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5Qix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFbEIsYUFBUSxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUNsRixpQkFBWSxHQUEwQyxJQUFJLFlBQVksRUFBMkIsQ0FBQztRQUNsRyxlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFLeEQsaUJBQVksR0FBYSxJQUFJLEdBQUcsRUFBTyxDQUFDO1FBQ3hDLGlCQUFZLEdBQXdCLElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUM5RCxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFDcEIsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDbEIsd0JBQW1CLEdBQUcsbUJBQW1CLENBQUM7UUFDMUMsMEJBQXFCLEdBQUcscUJBQXFCLENBQUM7SUFNakUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksb0JBQW9CLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELDRCQUE0QjtJQUNwQixhQUFhO1FBQ25CLDJEQUEyRDtRQUMzRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7UUFFaEYsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNoRyxNQUFNLE1BQU0sR0FBRyxRQUF1QixDQUFDO1lBRXZDLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3ZDLE9BQU87YUFDUjtZQUNELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3BFLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQzthQUNyRDtZQUNELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUU1RSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELHVCQUF1QixDQUFDLE1BQW1CO1FBQ3pDLE1BQU0sYUFBYSxHQUFJLE1BQU0sQ0FBQyxpQkFBaUMsQ0FBQyxXQUFXO2NBQ3ZFLEdBQUcsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU5RSxrSEFBa0g7UUFDbEgsSUFBSSxhQUFhLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRTtZQUNyQyxNQUFzQixDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsYUFBYSxHQUFHLElBQUksQ0FBQztTQUM1RDtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDL0UsSUFBSSxXQUFXLEVBQUU7WUFDZixXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUc7Z0JBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQ3RFO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFpQixLQUFLO1FBQ2xDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksaUJBQWlCLENBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFDdkIsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUMsQ0FBQztZQUNILFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXVCO1FBQ2pDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ3BELFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7Z0JBQzFCLEtBQUsscUJBQXFCLENBQUMsR0FBRztvQkFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDO29CQUNoRCxNQUFNO2dCQUNSLEtBQUsscUJBQXFCLENBQUMsSUFBSTtvQkFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7b0JBQ3pCLE1BQU07YUFDVDtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3RTtRQUVELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWM7UUFDekIsT0FBTyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBdUIsRUFBRSxLQUFLO1FBQ2hELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEdBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsVUFBMEIsQ0FBQyxXQUFXLENBQUM7UUFFL0YsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEdBQUksVUFBVSxDQUFDLGlCQUFpQyxDQUFDLFdBQVc7Y0FDbEYsR0FBRyxHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTlFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sb0JBQW9CLENBQUMsTUFBdUI7UUFDbEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3pFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7Z0JBQzdCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNoRixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtvQkFDdEMsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7aUJBQ3RCO2FBQ0Y7WUFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRTtnQkFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNsQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDeEIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7Z0JBQ2pDLFlBQVksRUFBRSxDQUFDO2dCQUNmLGVBQWUsRUFBRSxDQUFDO2FBQ25CO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxRQUEyQjtRQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDekcsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUTtRQUN0QixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzdCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2hDO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsZUFBZSxDQUFDLGFBQW9CO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQU0sYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFTLEVBQUUsTUFBYyxFQUFFLEtBQVk7UUFDcEQsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksdUJBQXVCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFTO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25DLENBQUM7O2dIQXZOVSxrQkFBa0I7b0dBQWxCLGtCQUFrQiw2UkFMbEIsQ0FBQztZQUNWLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDO1NBQzFELENBQUMsNkhDM0VKLHc4TUF3SUEsZzRKRDlHYSw0QkFBNEIseURBa0I1QiwwQkFBMEI7NEZBaUMxQixrQkFBa0I7a0JBVDlCLFNBQVM7K0JBQ0UsWUFBWSxhQUdYLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDO3lCQUMxRCxDQUFDO3lIQUlxQixLQUFLO3NCQUEzQixLQUFLO3VCQUFDLFVBQVU7Z0JBVUssUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxTQUFTO2dCQVNQLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRW1CLFVBQVU7c0JBQWxDLFlBQVk7dUJBQUMsU0FBUztnQkFRYixRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCaWl0UGFnaW5hdG9yT3B0aW9uc30gZnJvbSAnLi4vYmlpdC1wYWdpbmF0b3IvbW9kZWxzL2JpaXQtcGFnaW5hdG9yLW9wdGlvbnMnO1xuaW1wb3J0IHtCaWl0VGFibGVDb2x1bW4sIEJpaXRUYWJsZUNvbHVtbkZvcm1hdH0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtDb2x1bW5SZXNpemVIYW5kbGVyfSBmcm9tICcuL21vZGVscy9jb2x1bW4tcmVzaXplLWhhbmRsZXInO1xuaW1wb3J0IHtCaWl0VGFibGVSZXNwb25zZX0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1yZXNwb25zZSc7XG5pbXBvcnQge0JpaXRUYWJsZURhdGF9IGZyb20gJy4vbW9kZWxzL2JpaXQtdGFibGUtZGF0YSc7XG5pbXBvcnQge0JpaXRUYWJsZVNvcnRpbmcsIEJpaXRUYWJsZVNvcnRpbmdPcmRlcn0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1zb3J0aW5nJztcbmltcG9ydCB7QmlpdE11bHRpc2VsZWN0VHlwZX0gZnJvbSAnQGJpaXQtc29sdXRpb25zL3dpemFyZHJ5LXRoZW1lL2lucHV0cyc7XG5pbXBvcnQge1RSQU5TTE9DT19TQ09QRX0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xuaW1wb3J0IHtCaWl0VGFibGVBY3Rpb25SZXNwb25zZX0gZnJvbSBcIi4vbW9kZWxzL2JpaXQtdGFibGUtYWN0aW9uLXJlc3BvbnNlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzZWxlY3RhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlU2VsZWN0YWJsZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyZW50OiBCaWl0VGFibGVDb21wb25lbnQpIHtcbiAgICBwYXJlbnQuaXNTZWxlY3RhYmxlID0gdHJ1ZTtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2VsZWN0YWJsZVNpbmdsZV0nXG59KVxuZXhwb3J0IGNsYXNzIEJpaXRUYWJsZVNlbGVjdGFibGVTaW5nbGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogQmlpdFRhYmxlQ29tcG9uZW50KSB7XG4gICAgcGFyZW50LmlzU2VsZWN0YWJsZVNpbmdsZSA9IHRydWU7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NvcnRhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlU29ydGFibGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogQmlpdFRhYmxlQ29tcG9uZW50KSB7XG4gICAgcGFyZW50LmlzU29ydGFibGUgPSB0cnVlO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1toaWRlSGVhZGVyXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlSGVhZGVybGVzc0RpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyZW50OiBCaWl0VGFibGVDb21wb25lbnQpIHtcbiAgICBwYXJlbnQuaGlkZUhlYWRlciA9IHRydWU7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2hpZGVGb290ZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBCaWl0VGFibGVGb290ZXJsZXNzRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYXJlbnQ6IEJpaXRUYWJsZUNvbXBvbmVudCkge1xuICAgIHBhcmVudC5oaWRlRm9vdGVyID0gdHJ1ZTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWl0LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JpaXQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iaWl0LXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBUUkFOU0xPQ09fU0NPUEUsXG4gICAgdXNlVmFsdWU6IHtzY29wZTogJ3dpemFyZHJ5LXRoZW1lL3RhYmxlJywgYWxpYXM6IFwidGFibGVcIn1cbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdDaGVja2VkIHtcblxuICBASW5wdXQoJ21ldGFkYXRhJykgc2V0IF9kYXRhKGRhdGE6IEJpaXRUYWJsZURhdGE8YW55Pikge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuY2xlYXIoKTtcbiAgICAgIGlmICh0aGlzLnBhZ2luYXRvcikge1xuICAgICAgICB0aGlzLnBhZ2luYXRvciA9IG5ldyBCaWl0UGFnaW5hdG9yT3B0aW9ucyh0aGlzLnBhZ2luYXRvci5jdXJyZW50UGFnZSwgdGhpcy5wYWdpbmF0b3IucGFnZVNpemUsIHRoaXMucGFnZVNpemVzLCBkYXRhLnRvdGFsSXRlbXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnbG9hZGluZycpIHNldCBfbG9hZGluZyhsb2FkaW5nOiBib29sZWFuKSB7XG4gICAgaWYgKGxvYWRpbmcpIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IGxvYWRpbmc7XG4gICAgICB0aGlzLnNldExvYWRpbmdCYXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgY29sdW1uczogQmlpdFRhYmxlQ29sdW1uW10gPSBbXTtcbiAgQElucHV0KCkgcGFnZVNpemVzOiBudW1iZXJbXSA9IFtdO1xuICBASW5wdXQoKSBkZWZhdWx0UGFnZVNpemU6IG51bWJlcjtcblxuICBAQ29udGVudENoaWxkKCdhY3Rpb25zJykgYWN0aW9uc1RwbCE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgaXNTZWxlY3RhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGlzU2VsZWN0YWJsZVNpbmdsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1NvcnRhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGhpZGVIZWFkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaGlkZUZvb3RlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBvblVwZGF0ZTogRXZlbnRFbWl0dGVyPEJpaXRUYWJsZVJlc3BvbnNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QmlpdFRhYmxlUmVzcG9uc2U+KCk7XG4gIEBPdXRwdXQoKSBvbkNlbGxBY3Rpb246IEV2ZW50RW1pdHRlcjxCaWl0VGFibGVBY3Rpb25SZXNwb25zZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEJpaXRUYWJsZUFjdGlvblJlc3BvbnNlPigpO1xuICBAT3V0cHV0KCkgb25Sb3dDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwcm90ZWN0ZWQgZGF0YTogQmlpdFRhYmxlRGF0YTxhbnk+O1xuICBwcm90ZWN0ZWQgcGFnaW5hdG9yO1xuICBwcm90ZWN0ZWQgc29ydGluZzogQmlpdFRhYmxlU29ydGluZztcbiAgcHJvdGVjdGVkIHNlbGVjdGVkUm93czogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcbiAgcHJvdGVjdGVkIGNvbHVtblJlc2l6ZTogQ29sdW1uUmVzaXplSGFuZGxlciA9IG5ldyBDb2x1bW5SZXNpemVIYW5kbGVyKCk7XG4gIHByb3RlY3RlZCBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBzZWFyY2g6IHN0cmluZyA9ICcnO1xuICBwcm90ZWN0ZWQgY3VycmVudFNlYXJjaDogc3RyaW5nID0gJyc7XG4gIHByb3RlY3RlZCByZWFkb25seSBCaWl0TXVsdGlzZWxlY3RUeXBlID0gQmlpdE11bHRpc2VsZWN0VHlwZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEJpaXRUYWJsZUNvbHVtbkZvcm1hdCA9IEJpaXRUYWJsZUNvbHVtbkZvcm1hdDtcblxuICBwcml2YXRlIGZpbmRUaW1lb3V0OiBOb2RlSlMuVGltZW91dDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgIHByaXZhdGUgZWxlbTogRWxlbWVudFJlZikge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdpbmF0b3IgPSBuZXcgQmlpdFBhZ2luYXRvck9wdGlvbnMoMSwgdGhpcy5kZWZhdWx0UGFnZVNpemUsIHRoaXMucGFnZVNpemVzLCB0aGlzLmRhdGEgPyB0aGlzLmRhdGEudG90YWxJdGVtcyA6IDEpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIHRoaXMuc2V0Q29sdW1uU2l6ZSgpO1xuICB9XG5cbiAgLy8gRml4IGZvciByZXNpemFibGUgY29sdW1uc1xuICBwcml2YXRlIHNldENvbHVtblNpemUoKSB7XG4gICAgLy8gVGFrZXMgc2Nyb2xsYmFyIHBhZGRpbmcgaW4gbWluZCBiZWZvcmUgaGFyZGNvZGluZyB3aWR0aHNcbiAgICB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY29udGVudCcpLnN0eWxlLnBhZGRpbmdSaWdodCA9ICcwLjdyZW0nO1xuXG4gICAgQXJyYXkuZnJvbSh0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd0aGVhZCcpLmZpcnN0Q2hpbGQuY2hpbGRyZW4pLmZvckVhY2gob2dDb2x1bW4gPT4ge1xuICAgICAgY29uc3QgY29sdW1uID0gb2dDb2x1bW4gYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgIGlmIChjb2x1bW4uY2xhc3NMaXN0LmNvbnRhaW5zKCdzZWxlY3QnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoY29sdW1uLnN0eWxlLndpZHRoID09ICcnICYmICFjb2x1bW4uY2xhc3NMaXN0LmNvbnRhaW5zKCdzZWxlY3QnKSkge1xuICAgICAgICBjb2x1bW4uc3R5bGUud2lkdGggPSBjb2x1bW4ub2Zmc2V0V2lkdGggLSAxMCArICdweCc7XG4gICAgICB9XG4gICAgICB0aGlzLmNvbHVtbklubmVyV29yZEZpdENoZWNrKGNvbHVtbik7XG4gICAgfSk7XG4gICAgdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNvbnRlbnQnKS5zdHlsZS5wYWRkaW5nUmlnaHQgPSBudWxsO1xuXG4gICAgdGhpcy5zZXRMb2FkaW5nQmFyKCk7XG4gIH1cblxuICBjb2x1bW5Jbm5lcldvcmRGaXRDaGVjayhjb2x1bW46IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgbWluQ29sdW1uU2l6ZSA9IChjb2x1bW4uZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldFdpZHRoXG4gICAgICArIDIuNCAqIHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmZvbnRTaXplKSAqIDI7XG5cbiAgICAvLyBJZiBpbm5lciB0ZXh0IHdpZHRoIHBsdXMgaGVhZGVyIHBhZGRpbmdzIGFyZSBsZXNzIHRoYW4gdGhlIGN1cnJlbnQgaGVhZGVyIHdpZHRoIChzZXQgYnkgdXNlciBjb2x1bW4gcHJvcGVydGllcylcbiAgICBpZiAobWluQ29sdW1uU2l6ZSA+IGNvbHVtbi5vZmZzZXRXaWR0aCkge1xuICAgICAgKGNvbHVtbiBhcyBIVE1MRWxlbWVudCkuc3R5bGUud2lkdGggPSBtaW5Db2x1bW5TaXplICsgJ3B4JztcbiAgICB9XG4gIH1cblxuICBzZXRMb2FkaW5nQmFyKCk6IHZvaWQge1xuICAgIGNvbnN0IHByb2dyZXNzQmFyID0gdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignYmlpdC1wcm9ncmVzcy1iYXInKTtcbiAgICBpZiAocHJvZ3Jlc3NCYXIpIHtcbiAgICAgIHByb2dyZXNzQmFyLnN0eWxlLnRvcCA9XG4gICAgICAgIHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RoZWFkJykub2Zmc2V0SGVpZ2h0ICsgJ3B4JztcbiAgICB9XG4gIH1cblxuICBvblRhYmxlVXBkYXRlKGZvcmNlOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBpZiAodGhpcy5maW5kVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZmluZFRpbWVvdXQpO1xuICAgIH1cbiAgICB0aGlzLmZpbmRUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRTZWFyY2ggPSB0aGlzLnNlYXJjaDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmNsZWFyKCk7XG4gICAgICB0aGlzLm9uVXBkYXRlLmVtaXQobmV3IEJpaXRUYWJsZVJlc3BvbnNlKFxuICAgICAgICB0aGlzLnBhZ2luYXRvci5jdXJyZW50UGFnZSxcbiAgICAgICAgdGhpcy5wYWdpbmF0b3IucGFnZVNpemUsXG4gICAgICAgIHRoaXMuc2VhcmNoLFxuICAgICAgICB0aGlzLnNvcnRpbmdcbiAgICAgICkpO1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZmluZFRpbWVvdXQpO1xuICAgICAgdGhpcy5maW5kVGltZW91dCA9IG51bGw7XG4gICAgfSwgZm9yY2UgPyAwIDogNTAwKTtcbiAgfVxuXG4gIG9uVGFibGVTb3J0KGNvbHVtbjogQmlpdFRhYmxlQ29sdW1uKSB7XG4gICAgaWYgKHRoaXMuc29ydGluZyAmJiB0aGlzLnNvcnRpbmcubmFtZSA9PSBjb2x1bW4ubmFtZSkge1xuICAgICAgc3dpdGNoICh0aGlzLnNvcnRpbmcub3JkZXIpIHtcbiAgICAgICAgY2FzZSBCaWl0VGFibGVTb3J0aW5nT3JkZXIuQVNDOlxuICAgICAgICAgIHRoaXMuc29ydGluZy5vcmRlciA9IEJpaXRUYWJsZVNvcnRpbmdPcmRlci5ERVNDO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEJpaXRUYWJsZVNvcnRpbmdPcmRlci5ERVNDOlxuICAgICAgICAgIHRoaXMuc29ydGluZyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zb3J0aW5nID0gbmV3IEJpaXRUYWJsZVNvcnRpbmcoY29sdW1uLm5hbWUsIEJpaXRUYWJsZVNvcnRpbmdPcmRlci5BU0MpO1xuICAgIH1cblxuICAgIHRoaXMub25UYWJsZVVwZGF0ZSgpO1xuICB9XG5cbiAgc25ha2VUb0NhbWVsKHN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyaW5nLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvWy1fXVthLXpdL2csIChncm91cCkgPT4gZ3JvdXAuc2xpY2UoLTEpLnRvVXBwZXJDYXNlKCkpO1xuICB9XG5cbiAgcmVzaXplQ29sdW1uKGV2ZW50LCBjb2x1bW46IEJpaXRUYWJsZUNvbHVtbiwgaW5kZXgpIHtcbiAgICB0aGlzLmNvbHVtblJlc2l6ZS5zdGFydCA9IGV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmNvbHVtblJlc2l6ZS5wcmVzc2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNvbHVtblJlc2l6ZS5zdGFydFggPSBldmVudC54O1xuICAgIHRoaXMuY29sdW1uUmVzaXplLnN0YXJ0V2lkdGggPSAodGhpcy5jb2x1bW5SZXNpemUuc3RhcnQucGFyZW50Tm9kZSBhcyBIVE1MRWxlbWVudCkub2Zmc2V0V2lkdGg7XG5cbiAgICBsZXQgY29sdW1uRWxlbSA9IHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RoZWFkJykuZmlyc3RDaGlsZC5jaGlsZHJlblt0aGlzLmlzU2VsZWN0YWJsZSA/IGluZGV4ICsgMSA6IGluZGV4XTtcbiAgICB0aGlzLmNvbHVtblJlc2l6ZS5taW5XaWR0aCA9IChjb2x1bW5FbGVtLmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxFbGVtZW50KS5vZmZzZXRXaWR0aFxuICAgICAgKyAyLjQgKiBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5mb250U2l6ZSkgKiAyO1xuXG4gICAgdGhpcy5pbml0UmVzaXphYmxlQ29sdW1ucyhjb2x1bW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0UmVzaXphYmxlQ29sdW1ucyhjb2x1bW46IEJpaXRUYWJsZUNvbHVtbikge1xuICAgIGNvbnN0IG1vdmVMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAnbW91c2Vtb3ZlJywgKGV2ZW50KSA9PiB7XG4gICAgICBpZiAodGhpcy5jb2x1bW5SZXNpemUucHJlc3NlZCkge1xuICAgICAgICBsZXQgd2lkdGggPSB0aGlzLmNvbHVtblJlc2l6ZS5zdGFydFdpZHRoICsgKGV2ZW50LnggLSB0aGlzLmNvbHVtblJlc2l6ZS5zdGFydFgpO1xuICAgICAgICBpZiAod2lkdGggPiB0aGlzLmNvbHVtblJlc2l6ZS5taW5XaWR0aCkge1xuICAgICAgICAgIGNvbHVtbi53aWR0aCA9IHdpZHRoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgICBjb25zdCByZWxlYXNlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ21vdXNldXAnLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmICh0aGlzLmNvbHVtblJlc2l6ZS5wcmVzc2VkKSB7XG4gICAgICAgIHRoaXMuY29sdW1uUmVzaXplLnByZXNzZWQgPSBmYWxzZTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICBtb3ZlTGlzdGVuZXIoKTtcbiAgICAgICAgcmVsZWFzZUxpc3RlbmVyKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBzZXRDb2x1bW5WaXNpYmlsaXR5KHJlc3BvbnNlOiBCaWl0VGFibGVDb2x1bW5bXSkge1xuICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKGMgPT4gcmVzcG9uc2Uuc29tZShlID0+IGUubmFtZSA9PSBjLm5hbWUpID8gYy52aXNpYmxlID0gdHJ1ZSA6IGMudmlzaWJsZSA9IGZhbHNlKTtcbiAgfVxuXG4gIHNlbGVjdFJvdyhpdGVtLCBob2xkQ3RybCkge1xuICAgIGlmICghaG9sZEN0cmwgfHwgdGhpcy5pc1NlbGVjdGFibGVTaW5nbGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmNsZWFyKCk7XG4gICAgICB0aGlzLnNlbGVjdGVkUm93cy5hZGQoaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5zZWxlY3RlZFJvd3MuaGFzKGl0ZW0pKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmFkZChpdGVtKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmRlbGV0ZShpdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRTZWxlY3RlZFJvd3MoKTogYW55W10ge1xuICAgIHJldHVybiBbLi4udGhpcy5zZWxlY3RlZFJvd3NdO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRSb3dzKF9zZWxlY3RlZFJvd3M6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFJvd3MgPSBuZXcgU2V0PGFueT4oX3NlbGVjdGVkUm93cy5maWx0ZXIociA9PiB0aGlzLmRhdGEuZGF0YS5pbmNsdWRlcyhyKSkpO1xuICB9XG5cbiAgZW1pdENlbGxBY3Rpb24oaXRlbTogYW55LCBjb2x1bW46IHN0cmluZywgZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5vbkNlbGxBY3Rpb24uZW1pdChuZXcgQmlpdFRhYmxlQWN0aW9uUmVzcG9uc2UoaXRlbSwgY29sdW1uKSk7XG4gIH1cblxuICBlbWl0Um93Q2xpY2soaXRlbTogYW55KSB7XG4gICAgdGhpcy5vblJvd0NsaWNrLmVtaXQoaXRlbSk7XG4gIH1cblxuICByZXNldElucHV0VmFsdWUoKSB7XG4gICAgdGhpcy5zZWFyY2ggPSB0aGlzLmN1cnJlbnRTZWFyY2g7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYW52YXNcIiAqdHJhbnNsb2NvPVwibGV0IHRcIj5cbiAgPGRpdiBjbGFzcz1cImhlYWRlclwiICpuZ0lmPVwiIWhpZGVIZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiIGlkPVwibWVudVwiPlxuICAgICAgPGJpaXQtdmVydGljYWwtbWVudSAqbmdJZj1cImFjdGlvbnNUcGxcIiBjbGFzcz1cInZlcnRpY2FsLW1lbnVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFjdGlvbnNUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYmlpdC12ZXJ0aWNhbC1tZW51PlxuICAgICAgPGRpdiAqbmdJZj1cImFjdGlvbnNUcGxcIiBjbGFzcz1cImhvcml6b250YWwtbWVudVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWN0aW9uc1RwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIWFjdGlvbnNUcGxcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZvcm1zXCI+XG4gICAgICA8YmlpdC1pbnB1dC10ZXh0IGlkPVwic2VhcmNoLWZpZWxkXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAob25BY3Rpb25QZXJmb3JtZWQpPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgcGFnaW5hdG9yLmN1cnJlbnRQYWdlID0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICBvblRhYmxlVXBkYXRlKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwicmVzZXRJbnB1dFZhbHVlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblRhYmxlVXBkYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwic2VhcmNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInQoJ3RhYmxlLnNlYXJjaCcpXCJcbiAgICAgID48L2JpaXQtaW5wdXQtdGV4dD5cbiAgICAgIDxiaWl0LW11bHRpc2VsZWN0IGlkPVwiY29sdW1uLXNlbGVjdG9yXCIgW25nTW9kZWxdPVwiY29sdW1ucyB8IHZpc2libGVDb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldENvbHVtblZpc2liaWxpdHkoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJjb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwibGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJ2aXNpYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJ0KCd0YWJsZS5jb2x1bW4tc2VsZWN0b3InKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJCaWl0TXVsdGlzZWxlY3RUeXBlLklDT05cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBhY3RdPVwidHJ1ZVwiXG4gICAgICA+PC9iaWl0LW11bHRpc2VsZWN0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmVcIj5cbiAgICAgIDxiaWl0LXByb2dyZXNzLWJhciBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAyLjFyZW07IGxlZnQ6IDAuMnJlbTsgd2lkdGg6IGNhbGMoMTAwJSAtIDAuMXJlbSk7XCI+PC9iaWl0LXByb2dyZXNzLWJhcj5cbiAgICA8L2Rpdj5cbiAgICA8dGFibGU+XG4gICAgICA8dGhlYWQ+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGggKm5nSWY9XCJpc1NlbGVjdGFibGUgfHwgaXNTZWxlY3RhYmxlU2luZ2xlXCIgY2xhc3M9XCJzZWxlY3RcIj5cbiAgICAgICAgICAgIDxiaWl0LWNoZWNrYm94ICpuZ0lmPVwiaXNTZWxlY3RhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImRhdGE/LmRhdGEubGVuZ3RoICYmIHNlbGVjdGVkUm93cy5zaXplID09IGRhdGE/LmRhdGEubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIiRldmVudCA/IGRhdGE/LmRhdGEuZm9yRWFjaChzZWxlY3RlZFJvd3MuYWRkLCBzZWxlY3RlZFJvd3MpIDogc2VsZWN0ZWRSb3dzLmNsZWFyKClcIlxuICAgICAgICAgICAgPjwvYmlpdC1jaGVja2JveD5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnMsIGluZGV4IGFzIGlcIlxuICAgICAgICAgICAgICBbY2xhc3Muc29ydGFibGVdPVwiaXNTb3J0YWJsZVwiXG4gICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIiFjb2x1bW4udmlzaWJsZSA/ICdub25lJyA6IG51bGxcIlxuICAgICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwiY29sdW1uLndpZHRoID8gY29sdW1uLndpZHRoICsgJ3B4JyA6ICcnXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImlzU29ydGFibGUgPyBvblRhYmxlU29ydChjb2x1bW4pIDogZmFsc2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICB7e2NvbHVtbi5sYWJlbH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxiaWl0LWljb24gKm5nSWY9XCJpc1NvcnRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwic29ydGluZz8ubmFtZSA9PSBjb2x1bW4ubmFtZSA/ICdyaWdodF9hcnJvdycgOiAndXBfZG93bl9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnI0ZGRkZGRid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFzY109XCJzb3J0aW5nPy5uYW1lID09IGNvbHVtbi5uYW1lICYmIHNvcnRpbmc/Lm9yZGVyID09ICdhc2MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRlc2NdPVwic29ydGluZz8ubmFtZSA9PSBjb2x1bW4ubmFtZSAmJiBzb3J0aW5nPy5vcmRlciA9PSAnZGVzYydcIlxuICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1yZXNpemVyXCJcbiAgICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJyZXNpemVDb2x1bW4oJGV2ZW50LCBjb2x1bW4sIGkpXCJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcIlxuICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5PlxuICAgICAgICA8dHIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YT8uZGF0YTsgaW5kZXggYXMgaVwiXG4gICAgICAgICAgICBbY2xhc3Muc2VsZWN0YWJsZV09XCJpc1NlbGVjdGFibGVcIlxuICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkUm93cy5oYXMoaXRlbSlcIlxuICAgICAgICAgICAgKHBvaW50ZXJkb3duKT1cImVtaXRSb3dDbGljayhpdGVtKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImlzU2VsZWN0YWJsZSB8fCBpc1NlbGVjdGFibGVTaW5nbGVcIiBjbGFzcz1cInNlbGVjdFwiPlxuICAgICAgICAgICAgICA8YmlpdC1jaGVja2JveCBpZD1cInNlbGVjdHt7aX19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwic2VsZWN0ZWRSb3dzLmhhcyhpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdFJvdyhpdGVtLCB0cnVlKVwiXG4gICAgICAgICAgICAgID48L2JpaXQtY2hlY2tib3g+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uc1wiXG4gICAgICAgICAgICAgICAgKHBvaW50ZXJkb3duKT1cInNlbGVjdFJvdyhpdGVtLCAkZXZlbnQuY3RybEtleSlcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIiFjb2x1bW4udmlzaWJsZSA/ICdub25lJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJjb2x1bW4ud2lkdGggPyBjb2x1bW4ud2lkdGggKyAncHgnIDogbnVsbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5ERUZBVUxUXCI+XG4gICAgICAgICAgICAgICAge3tpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWV9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5mb3JtYXQgPT0gQmlpdFRhYmxlQ29sdW1uRm9ybWF0LkJPT0xFQU5cIj5cbiAgICAgICAgICAgICAgICB7eyhpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWUpID8gdCgndGFibGUueWVzJykgOiB0KCd0YWJsZS5ubycpIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmZvcm1hdCA9PSBCaWl0VGFibGVDb2x1bW5Gb3JtYXQuREFURVwiPlxuICAgICAgICAgICAgICAgIHt7KGl0ZW0gfCBjb2x1bW5EYXRhOiBjb2x1bW4ubmFtZSkgfCBsb2NhbGl6ZWREYXRlfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5CVVRUT05cIlxuICAgICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IGF1dG87IHRleHQtYWxpZ246IC13ZWJraXQtY2VudGVyOyB0ZXh0LWFsaWduOiAtbW96LWNlbnRlcjtcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGJpaXQtYnV0dG9uIHRlcnRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAocG9pbnRlcmRvd24pPVwiZW1pdENlbGxBY3Rpb24oaXRlbSwgY29sdW1uLm5hbWUsICRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgIHt7aXRlbSB8IGNvbHVtbkRhdGE6IGNvbHVtbi5uYW1lfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5JQ09OX0JVVFRPTlwiXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzsgdGV4dC1hbGlnbjogLXdlYmtpdC1jZW50ZXI7IHRleHQtYWxpZ246IC1tb3otY2VudGVyO1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gYmlpdC1pY29uIFtpY29uXT1cIml0ZW0gfCBjb2x1bW5EYXRhOiBjb2x1bW4ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAocG9pbnRlcmRvd24pPVwiZW1pdENlbGxBY3Rpb24oaXRlbSwgY29sdW1uLm5hbWUsICRldmVudCk7XCI+PC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmZvcm1hdCA9PSBCaWl0VGFibGVDb2x1bW5Gb3JtYXQuSUNPTlwiXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzsgaGVpZ2h0OiAxLjA1cmVtO1wiPlxuICAgICAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiaXRlbSB8IGNvbHVtbkRhdGE6IGNvbHVtbi5uYW1lXCI+PC9iaWl0LWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmZvcm1hdCA9PSBCaWl0VGFibGVDb2x1bW5Gb3JtYXQuQ1VTVE9NX0hUTUxcIlxuICAgICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IGF1dG87IHRleHQtYWxpZ246IC13ZWJraXQtY2VudGVyOyB0ZXh0LWFsaWduOiAtbW96LWNlbnRlcjtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiaXRlbSB8IGNvbHVtbkRhdGE6IGNvbHVtbi5uYW1lXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cblxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCIgKm5nSWY9XCIhaGlkZUZvb3RlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZFwiPlxuICAgICAgPGEgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDAuN3JlbVwiICpuZ0lmPVwic2VsZWN0ZWRSb3dzLnNpemVcIj5TZWxlY3RlZDo8L2E+XG4gICAgICA8YSAqbmdJZj1cInNlbGVjdGVkUm93cy5zaXplXCI+e3tzZWxlY3RlZFJvd3Muc2l6ZX19PC9hPlxuICAgIDwvZGl2PlxuICAgIDxiaWl0LXBhZ2luYXRvciAqbmdJZj1cInBhZ2luYXRvclwiXG4gICAgICBbbmdNb2RlbF09XCJwYWdpbmF0b3JcIiAobmdNb2RlbENoYW5nZSk9XCJwYWdpbmF0b3IgPSAkZXZlbnQ7IG9uVGFibGVVcGRhdGUoKVwiPjwvYmlpdC1wYWdpbmF0b3I+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -198,10 +198,10 @@ class BiitActionButtonComponent {
198
198
  }
199
199
  }
200
200
  BiitActionButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitActionButtonComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
201
- BiitActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitActionButtonComponent, selector: "biit-action-button", inputs: { position: "position", additionalX: "additionalX", additionalY: "additionalY" }, queries: [{ propertyName: "inputButtons", predicate: BiitIconButtonComponent }], ngImport: i0, template: "<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--main-color: #F20D5E;--popup-background-color: rgba(0, 0, 0, .15);--main-background: #D9D9D9;--body-background: #EDEDED;--light-background: #D7D7D7;--error-color: #A1093F;--warning-color: var(--main-color);--floating-background: white;--main-font-color: white;--secondary-color: #808080;--secondary-text-color: #EDEDED;--secondary-background-color: #808080;--disabled-primary-color: #808080;--disabled-secondary-color: var(--main-color);--component-color: #262626;--active-color: var(--component-color);--hover-color: #EDEDED;--hover-primary-color: var(--main-color);--secondary-button-color: var(--component-color);--secondary-button-background-color: var(--main-font-color);--secondary-button-hover-background: var(--main-background);--secondary-button-active-background: var(--main-background);--quaternary-button-color: var(--main-font-color);--quaternary-button-background-color: var(--error-color);--quaternary-button-hover-background: var(--main-color);--quaternary-button-active-background: var(--main-color);--text-hover-color: #5A6473;--selected-color: #FBAEC9;--chart-background: #FFFFFF;--chart-component-color: var(--component-color);--icon-color: var(--main-color);--table-header-color: var(--component-color);--table-border-color: var(--table-header-color);--table-selected-row-color: var(--main-background);--scrollbar-color: var(--main-color);--menu-button-active: var(--main-color);--disabled-menu-color: #D9D9D9;--disabled-menu-color-hover: #FFFFFF}.floating-action-button{box-sizing:border-box;position:fixed;z-index:999;opacity:50%;background:white;border:3px solid var(--component-color);display:flex;flex-direction:column;justify-content:flex-end}.floating-action-button:hover{opacity:100%}.floating-action-button:hover ::ng-deep button:not(:first-child){display:flex}.floating-action-button ::ng-deep button:not(:first-child){display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
201
+ BiitActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitActionButtonComponent, selector: "biit-action-button", inputs: { position: "position", additionalX: "additionalX", additionalY: "additionalY" }, queries: [{ propertyName: "inputButtons", predicate: BiitIconButtonComponent }], ngImport: i0, template: "<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--main-color: #F20D5E;--popup-background-color: rgba(0, 0, 0, .15);--main-background: #D9D9D9;--body-background: #EDEDED;--light-background: #D7D7D7;--error-color: #A1093F;--warning-color: var(--main-color);--floating-background: white;--main-font-color: white;--secondary-color: #808080;--secondary-text-color: #EDEDED;--secondary-background-color: #808080;--disabled-primary-color: #808080;--disabled-secondary-color: var(--main-color);--component-color: #262626;--active-color: var(--component-color);--hover-color: #EDEDED;--hover-primary-color: var(--main-color);--secondary-button-color: var(--component-color);--secondary-button-background-color: var(--main-font-color);--secondary-button-hover-background: var(--main-background);--secondary-button-active-background: var(--main-background);--quaternary-button-color: var(--main-font-color);--quaternary-button-background-color: var(--error-color);--quaternary-button-hover-background: var(--main-color);--quaternary-button-active-background: var(--main-color);--text-hover-color: #5A6473;--selected-color: #FBAEC9;--chart-background: #FFFFFF;--chart-component-color: var(--component-color);--icon-color: var(--main-color);--table-header-color: var(--component-color);--table-border-color: var(--table-header-color);--table-selected-row-color: var(--main-background);--scrollbar-color: var(--main-color);--menu-button-active: var(--main-color);--disabled-menu-color: #D9D9D9;--disabled-menu-color-hover: #FFFFFF;--nav-menu-hover-color: var(--main-background);--nav-menu-text-hover-color: var(--text-hover-color);--nav-menu-active-background: var(--hover-color);--nav-menu-disable-font: var(--hover-color);--nav-menu-separator-color: var(--secondary-color);--nav-menu-font-color: var(--main-font-color);--nav-menu-background-color: white}.floating-action-button{box-sizing:border-box;position:fixed;z-index:999;opacity:50%;background:white;border:3px solid var(--component-color);display:flex;flex-direction:column;justify-content:flex-end}.floating-action-button:hover{opacity:100%}.floating-action-button:hover ::ng-deep button:not(:first-child){display:flex}.floating-action-button ::ng-deep button:not(:first-child){display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
202
202
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitActionButtonComponent, decorators: [{
203
203
  type: Component,
204
- args: [{ selector: 'biit-action-button', template: "<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--main-color: #F20D5E;--popup-background-color: rgba(0, 0, 0, .15);--main-background: #D9D9D9;--body-background: #EDEDED;--light-background: #D7D7D7;--error-color: #A1093F;--warning-color: var(--main-color);--floating-background: white;--main-font-color: white;--secondary-color: #808080;--secondary-text-color: #EDEDED;--secondary-background-color: #808080;--disabled-primary-color: #808080;--disabled-secondary-color: var(--main-color);--component-color: #262626;--active-color: var(--component-color);--hover-color: #EDEDED;--hover-primary-color: var(--main-color);--secondary-button-color: var(--component-color);--secondary-button-background-color: var(--main-font-color);--secondary-button-hover-background: var(--main-background);--secondary-button-active-background: var(--main-background);--quaternary-button-color: var(--main-font-color);--quaternary-button-background-color: var(--error-color);--quaternary-button-hover-background: var(--main-color);--quaternary-button-active-background: var(--main-color);--text-hover-color: #5A6473;--selected-color: #FBAEC9;--chart-background: #FFFFFF;--chart-component-color: var(--component-color);--icon-color: var(--main-color);--table-header-color: var(--component-color);--table-border-color: var(--table-header-color);--table-selected-row-color: var(--main-background);--scrollbar-color: var(--main-color);--menu-button-active: var(--main-color);--disabled-menu-color: #D9D9D9;--disabled-menu-color-hover: #FFFFFF}.floating-action-button{box-sizing:border-box;position:fixed;z-index:999;opacity:50%;background:white;border:3px solid var(--component-color);display:flex;flex-direction:column;justify-content:flex-end}.floating-action-button:hover{opacity:100%}.floating-action-button:hover ::ng-deep button:not(:first-child){display:flex}.floating-action-button ::ng-deep button:not(:first-child){display:none}\n"] }]
204
+ args: [{ selector: 'biit-action-button', template: "<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--main-color: #F20D5E;--popup-background-color: rgba(0, 0, 0, .15);--main-background: #D9D9D9;--body-background: #EDEDED;--light-background: #D7D7D7;--error-color: #A1093F;--warning-color: var(--main-color);--floating-background: white;--main-font-color: white;--secondary-color: #808080;--secondary-text-color: #EDEDED;--secondary-background-color: #808080;--disabled-primary-color: #808080;--disabled-secondary-color: var(--main-color);--component-color: #262626;--active-color: var(--component-color);--hover-color: #EDEDED;--hover-primary-color: var(--main-color);--secondary-button-color: var(--component-color);--secondary-button-background-color: var(--main-font-color);--secondary-button-hover-background: var(--main-background);--secondary-button-active-background: var(--main-background);--quaternary-button-color: var(--main-font-color);--quaternary-button-background-color: var(--error-color);--quaternary-button-hover-background: var(--main-color);--quaternary-button-active-background: var(--main-color);--text-hover-color: #5A6473;--selected-color: #FBAEC9;--chart-background: #FFFFFF;--chart-component-color: var(--component-color);--icon-color: var(--main-color);--table-header-color: var(--component-color);--table-border-color: var(--table-header-color);--table-selected-row-color: var(--main-background);--scrollbar-color: var(--main-color);--menu-button-active: var(--main-color);--disabled-menu-color: #D9D9D9;--disabled-menu-color-hover: #FFFFFF;--nav-menu-hover-color: var(--main-background);--nav-menu-text-hover-color: var(--text-hover-color);--nav-menu-active-background: var(--hover-color);--nav-menu-disable-font: var(--hover-color);--nav-menu-separator-color: var(--secondary-color);--nav-menu-font-color: var(--main-font-color);--nav-menu-background-color: white}.floating-action-button{box-sizing:border-box;position:fixed;z-index:999;opacity:50%;background:white;border:3px solid var(--component-color);display:flex;flex-direction:column;justify-content:flex-end}.floating-action-button:hover{opacity:100%}.floating-action-button:hover ::ng-deep button:not(:first-child){display:flex}.floating-action-button ::ng-deep button:not(:first-child){display:none}\n"] }]
205
205
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { position: [{
206
206
  type: Input
207
207
  }], additionalX: [{
@@ -1 +1 @@
1
- {"version":3,"file":"biit-solutions-wizardry-theme-button.mjs","sources":["../../../projects/wizardry-theme/button/src/biit-button/biit-button.component.ts","../../../projects/wizardry-theme/button/src/biit-button/biit-button.component.html","../../../projects/wizardry-theme/button/src/biit-button/biit-button.module.ts","../../../projects/wizardry-theme/button/src/biit-icon-button/biit-icon-button.component.ts","../../../projects/wizardry-theme/button/src/biit-icon-button/biit-icon-button.component.html","../../../projects/wizardry-theme/button/src/biit-icon-button/biit-icon-button.module.ts","../../../projects/wizardry-theme/button/src/biit-action-button/biit-action-button.component.ts","../../../projects/wizardry-theme/button/src/biit-action-button/biit-action-button.component.html","../../../projects/wizardry-theme/button/src/biit-action-button/biit-action-button.module.ts","../../../projects/wizardry-theme/button/src/public-api.ts","../../../projects/wizardry-theme/button/src/biit-solutions-wizardry-theme-button.ts"],"sourcesContent":["import {Component, Directive} from '@angular/core';\n\n@Directive({\n selector: '[primary]'\n})\nexport class BiitButtonPrimaryDirective {\n constructor(private parent: BiitButtonComponent) {\n parent.color = 'primary';\n }\n}\n\n@Directive({\n selector: '[secondary]'\n})\nexport class BiitButtonSecondaryDirective {\n constructor(private parent: BiitButtonComponent) {\n parent.color = 'secondary';\n }\n}\n\n@Directive({\n selector: '[tertiary]'\n})\nexport class BiitButtonTertiaryDirective {\n constructor(private parent: BiitButtonComponent) {\n parent.color = 'tertiary';\n }\n}\n\n@Directive({\n selector: '[quaternary]'\n})\nexport class BiitButtonQuaternaryDirective {\n constructor(private parent: BiitButtonComponent) {\n parent.color = 'quaternary';\n }\n}\n\n@Component({\n selector: 'button[biit-button]',\n templateUrl: 'biit-button.component.html',\n styleUrls: ['biit-button.component.scss'],\n})\n\nexport class BiitButtonComponent {\n color = 'primary';\n\n constructor() { }\n}\n","<div class=\"button-base prevent-select {{color}}\">\n <div class=\"button-content\">\n <span #text>\n <ng-content></ng-content>\n </span>\n <div *ngIf=\"color == 'tertiary'\" class=\"bar\" [ngStyle]=\"{'width.px': text.offsetWidth }\"></div>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {\n BiitButtonComponent,\n BiitButtonPrimaryDirective, BiitButtonQuaternaryDirective,\n BiitButtonSecondaryDirective,\n BiitButtonTertiaryDirective\n} from './biit-button.component';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\n\n@NgModule({\n declarations: [\n BiitButtonComponent,\n BiitButtonPrimaryDirective,\n BiitButtonSecondaryDirective,\n BiitButtonTertiaryDirective,\n BiitButtonQuaternaryDirective\n ],\n imports: [\n CommonModule,\n FormsModule\n ],\n exports: [\n BiitButtonComponent,\n BiitButtonPrimaryDirective,\n BiitButtonSecondaryDirective,\n BiitButtonTertiaryDirective,\n BiitButtonQuaternaryDirective\n ]\n})\nexport class BiitButtonModule { }\n","import {Component, Input} from '@angular/core';\nimport {biitIcon} from '@biit-solutions/biit-icons-collection';\n\n@Component({\n selector: 'button[biit-icon]',\n templateUrl: 'biit-icon-button.component.html',\n styleUrls: ['biit-icon-button.component.scss'],\n})\n\nexport class BiitIconButtonComponent {\n\n @Input() icon: biitIcon;\n @Input() checked: boolean = false;\n}\n","<div [class.checked]=\"checked\" style=\"display: flex;\">\n <biit-icon [name]=\"icon\"\n [pathStyle]=\"{fill: 'var(--component-color)'}\"\n class=\"icon-button-svg\"\n ></biit-icon>\n <ng-content></ng-content>\n</div>\n","import {NgModule} from '@angular/core';\nimport {BiitIconButtonComponent} from './biit-icon-button.component';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\n\n@NgModule({\n declarations: [\n BiitIconButtonComponent\n ],\n imports: [\n BiitIconModule\n ],\n exports: [\n BiitIconButtonComponent\n ]\n})\nexport class BiitIconButtonModule { }\n","import {AfterContentInit, Component, ContentChildren, ElementRef, Input, QueryList} from '@angular/core';\nimport {BiitIconButtonComponent} from \"../biit-icon-button/biit-icon-button.component\";\n\n@Component({\n selector: 'biit-action-button',\n templateUrl: './biit-action-button.component.html',\n styleUrls: ['./biit-action-button.component.scss']\n})\nexport class BiitActionButtonComponent implements AfterContentInit {\n\n @Input() position: FabPosition = 'bottom-right';\n @Input() additionalX: number = 0;\n @Input() additionalY: number = 0;\n @ContentChildren(BiitIconButtonComponent) inputButtons: QueryList<BiitIconButtonComponent>;\n protected buttons: BiitIconButtonComponent[];\n protected hover = false;\n\n constructor(private elementRef: ElementRef) {\n }\n\n ngAfterContentInit(): void {\n this.buttons = this.inputButtons.toArray();\n }\n\n positionStyle(): Object {\n const parentBoundingRect = this.elementRef.nativeElement.parentElement.getBoundingClientRect();\n const rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n const fabWidth = (rem * 2.125) + 6;\n const desiredOffsetX = (rem * 1.5) + this.additionalX;\n const desiredOffsetY = rem + this.additionalY;\n const bottomOffsetX = desiredOffsetY + (this.hover ? (rem * 2.125)*(this.buttons.length-1) : 0);\n\n const leftLeft = `${parentBoundingRect.left + desiredOffsetX}px`;\n const leftMid = `${parentBoundingRect.left + (parentBoundingRect.width / 2) - (fabWidth / 2) + this.additionalX}px`;\n const leftRight = `${parentBoundingRect.right - (fabWidth + desiredOffsetX)}px`;\n\n const topTop = `${parentBoundingRect.top + desiredOffsetY}px`;\n const topMid = `${parentBoundingRect.top + (parentBoundingRect.height / 2) - (fabWidth / 2) + this.additionalY}px`;\n const topBottom = `${parentBoundingRect.bottom - (fabWidth + bottomOffsetX)}px`;\n\n switch (this.position) {\n case 'top-left':\n return {top: topTop, left: leftLeft};\n case 'top-middle':\n return {top: topTop, left: leftMid};\n case 'top-right':\n return {top: topTop, left: leftRight};\n case 'middle-left':\n return {top: topMid, left: leftLeft};\n case 'middle-right':\n return {top: topMid, left: leftRight};\n case 'middle-middle':\n return {top: topMid, left: leftMid};\n case 'bottom-left':\n return {top: topBottom, left: leftLeft, 'flex-direction': 'column-reverse'};\n case 'bottom-middle':\n return {top: topBottom, left: leftMid, 'flex-direction': 'column-reverse'};\n case 'bottom-right':\n return {top: topBottom, left: leftRight, 'flex-direction': 'column-reverse'};\n default:\n return {};\n }\n }\n}\n\nexport type FabPosition = 'top-left' | 'top-middle' | 'top-right' | 'middle-left' | 'middle-middle' | 'middle-right' | 'bottom-left' | 'bottom-middle' | 'bottom-right' | 'custom';\n","<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\nimport {BiitActionButtonComponent} from \"./biit-action-button.component\";\nimport {BiitIconButtonModule} from \"../biit-icon-button/biit-icon-button.module\";\n\n@NgModule({\n declarations: [\n BiitActionButtonComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconButtonModule\n ],\n exports: [\n BiitActionButtonComponent\n ]\n})\nexport class BiitActionButtonModule { }\n","/*\n * Public API Surface of wizardry-theme/button\n */\n\nexport * from './biit-button/biit-button.component';\nexport * from './biit-button/biit-button.module';\nexport * from './biit-icon-button/biit-icon-button.component';\nexport * from './biit-icon-button/biit-icon-button.module';\nexport * from './biit-action-button/biit-action-button.component';\nexport * from './biit-action-button/biit-action-button.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"biit-solutions-wizardry-theme-button.mjs","sources":["../../../projects/wizardry-theme/button/src/biit-button/biit-button.component.ts","../../../projects/wizardry-theme/button/src/biit-button/biit-button.component.html","../../../projects/wizardry-theme/button/src/biit-button/biit-button.module.ts","../../../projects/wizardry-theme/button/src/biit-icon-button/biit-icon-button.component.ts","../../../projects/wizardry-theme/button/src/biit-icon-button/biit-icon-button.component.html","../../../projects/wizardry-theme/button/src/biit-icon-button/biit-icon-button.module.ts","../../../projects/wizardry-theme/button/src/biit-action-button/biit-action-button.component.ts","../../../projects/wizardry-theme/button/src/biit-action-button/biit-action-button.component.html","../../../projects/wizardry-theme/button/src/biit-action-button/biit-action-button.module.ts","../../../projects/wizardry-theme/button/src/public-api.ts","../../../projects/wizardry-theme/button/src/biit-solutions-wizardry-theme-button.ts"],"sourcesContent":["import {Component, Directive} from '@angular/core';\n\n@Directive({\n selector: '[primary]'\n})\nexport class BiitButtonPrimaryDirective {\n constructor(private parent: BiitButtonComponent) {\n parent.color = 'primary';\n }\n}\n\n@Directive({\n selector: '[secondary]'\n})\nexport class BiitButtonSecondaryDirective {\n constructor(private parent: BiitButtonComponent) {\n parent.color = 'secondary';\n }\n}\n\n@Directive({\n selector: '[tertiary]'\n})\nexport class BiitButtonTertiaryDirective {\n constructor(private parent: BiitButtonComponent) {\n parent.color = 'tertiary';\n }\n}\n\n@Directive({\n selector: '[quaternary]'\n})\nexport class BiitButtonQuaternaryDirective {\n constructor(private parent: BiitButtonComponent) {\n parent.color = 'quaternary';\n }\n}\n\n@Component({\n selector: 'button[biit-button]',\n templateUrl: 'biit-button.component.html',\n styleUrls: ['biit-button.component.scss'],\n})\n\nexport class BiitButtonComponent {\n color = 'primary';\n\n constructor() { }\n}\n","<div class=\"button-base prevent-select {{color}}\">\n <div class=\"button-content\">\n <span #text>\n <ng-content></ng-content>\n </span>\n <div *ngIf=\"color == 'tertiary'\" class=\"bar\" [ngStyle]=\"{'width.px': text.offsetWidth }\"></div>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {\n BiitButtonComponent,\n BiitButtonPrimaryDirective, BiitButtonQuaternaryDirective,\n BiitButtonSecondaryDirective,\n BiitButtonTertiaryDirective\n} from './biit-button.component';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\n\n@NgModule({\n declarations: [\n BiitButtonComponent,\n BiitButtonPrimaryDirective,\n BiitButtonSecondaryDirective,\n BiitButtonTertiaryDirective,\n BiitButtonQuaternaryDirective\n ],\n imports: [\n CommonModule,\n FormsModule\n ],\n exports: [\n BiitButtonComponent,\n BiitButtonPrimaryDirective,\n BiitButtonSecondaryDirective,\n BiitButtonTertiaryDirective,\n BiitButtonQuaternaryDirective\n ]\n})\nexport class BiitButtonModule { }\n","import {Component, Input} from '@angular/core';\nimport {biitIcon} from '@biit-solutions/biit-icons-collection';\n\n@Component({\n selector: 'button[biit-icon]',\n templateUrl: 'biit-icon-button.component.html',\n styleUrls: ['biit-icon-button.component.scss'],\n})\n\nexport class BiitIconButtonComponent {\n\n @Input() icon: biitIcon;\n @Input() checked: boolean = false;\n}\n","<div [class.checked]=\"checked\" style=\"display: flex;\">\n <biit-icon [name]=\"icon\"\n [pathStyle]=\"{fill: 'var(--component-color)'}\"\n class=\"icon-button-svg\"\n ></biit-icon>\n <ng-content></ng-content>\n</div>\n","import {NgModule} from '@angular/core';\nimport {BiitIconButtonComponent} from './biit-icon-button.component';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\n\n@NgModule({\n declarations: [\n BiitIconButtonComponent\n ],\n imports: [\n BiitIconModule\n ],\n exports: [\n BiitIconButtonComponent\n ]\n})\nexport class BiitIconButtonModule { }\n","import {AfterContentInit, Component, ContentChildren, ElementRef, Input, QueryList} from '@angular/core';\nimport {BiitIconButtonComponent} from \"../biit-icon-button/biit-icon-button.component\";\n\n@Component({\n selector: 'biit-action-button',\n templateUrl: './biit-action-button.component.html',\n styleUrls: ['./biit-action-button.component.scss']\n})\nexport class BiitActionButtonComponent implements AfterContentInit {\n\n @Input() position: FabPosition = 'bottom-right';\n @Input() additionalX: number = 0;\n @Input() additionalY: number = 0;\n @ContentChildren(BiitIconButtonComponent) inputButtons: QueryList<BiitIconButtonComponent>;\n protected buttons: BiitIconButtonComponent[];\n protected hover = false;\n\n constructor(private elementRef: ElementRef) {\n }\n\n ngAfterContentInit(): void {\n this.buttons = this.inputButtons.toArray();\n }\n\n positionStyle(): Object {\n const parentBoundingRect = this.elementRef.nativeElement.parentElement.getBoundingClientRect();\n const rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n const fabWidth = (rem * 2.125) + 6;\n const desiredOffsetX = (rem * 1.5) + this.additionalX;\n const desiredOffsetY = rem + this.additionalY;\n const bottomOffsetX = desiredOffsetY + (this.hover ? (rem * 2.125)*(this.buttons.length-1) : 0);\n\n const leftLeft = `${parentBoundingRect.left + desiredOffsetX}px`;\n const leftMid = `${parentBoundingRect.left + (parentBoundingRect.width / 2) - (fabWidth / 2) + this.additionalX}px`;\n const leftRight = `${parentBoundingRect.right - (fabWidth + desiredOffsetX)}px`;\n\n const topTop = `${parentBoundingRect.top + desiredOffsetY}px`;\n const topMid = `${parentBoundingRect.top + (parentBoundingRect.height / 2) - (fabWidth / 2) + this.additionalY}px`;\n const topBottom = `${parentBoundingRect.bottom - (fabWidth + bottomOffsetX)}px`;\n\n switch (this.position) {\n case 'top-left':\n return {top: topTop, left: leftLeft};\n case 'top-middle':\n return {top: topTop, left: leftMid};\n case 'top-right':\n return {top: topTop, left: leftRight};\n case 'middle-left':\n return {top: topMid, left: leftLeft};\n case 'middle-right':\n return {top: topMid, left: leftRight};\n case 'middle-middle':\n return {top: topMid, left: leftMid};\n case 'bottom-left':\n return {top: topBottom, left: leftLeft, 'flex-direction': 'column-reverse'};\n case 'bottom-middle':\n return {top: topBottom, left: leftMid, 'flex-direction': 'column-reverse'};\n case 'bottom-right':\n return {top: topBottom, left: leftRight, 'flex-direction': 'column-reverse'};\n default:\n return {};\n }\n }\n}\n\nexport type FabPosition = 'top-left' | 'top-middle' | 'top-right' | 'middle-left' | 'middle-middle' | 'middle-right' | 'bottom-left' | 'bottom-middle' | 'bottom-right' | 'custom';\n","<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\nimport {BiitActionButtonComponent} from \"./biit-action-button.component\";\nimport {BiitIconButtonModule} from \"../biit-icon-button/biit-icon-button.module\";\n\n@NgModule({\n declarations: [\n BiitActionButtonComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconButtonModule\n ],\n exports: [\n BiitActionButtonComponent\n ]\n})\nexport class BiitActionButtonModule { }\n","/*\n * Public API Surface of wizardry-theme/button\n */\n\nexport * from './biit-button/biit-button.component';\nexport * from './biit-button/biit-button.module';\nexport * from './biit-icon-button/biit-icon-button.component';\nexport * from './biit-icon-button/biit-icon-button.module';\nexport * from './biit-action-button/biit-action-button.component';\nexport * from './biit-action-button/biit-action-button.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -405,7 +405,7 @@ BiitDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
405
405
  useExisting: forwardRef(() => BiitDropdownComponent),
406
406
  multi: true
407
407
  }
408
- ], ngImport: i0, template: "<div class=\"biit-input\" aria-haspopup=\"listbox\"\n *ngIf=\"!icon\"\n [class.compact]=\"isCompact\"\n [class.disabled]=\"isDisabled\"\n (keydown)=\"!isDisabled && handleKeyboardEvents($event)\"\n (keydown.enter)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n>\n <div class=\"input-container\" #input>\n <input [ngModel]=\"dropdownOpen ? filterText :\n currentValue && !label ? currentValue :\n currentValue && currentValue[label] ? currentValue[label] : ''\"\n (ngModelChange)=\"filterText = $event; handleFilter()\"\n (click)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n [placeholder]=\"dropdownOpen && currentValue && !label ? currentValue :\n dropdownOpen && currentValue && currentValue[label] ? currentValue[label] : ''\"\n tabindex=\"0\"\n class=\"input-object\"\n [class.grey-bg]=\"dropdownOpen\"\n [class.default-cursor]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n [readonly]=\"!dropdownOpen\"/>\n <div class=\"input-show-icon-container\"\n [class.passthrough]=\"!dropdownOpen\"\n [class.rotate-90]=\"dropdownOpen\"\n (click)=\"dropdownOpen && closeDropdown()\">\n <biit-icon [name]=\"'right_arrow'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: isDisabled ? '#D9D9D9' : dropdownOpen ? 'var(--main-color)' : 'var(--component-color)'}\"\n ></biit-icon>\n </div>\n <div id=\"dropdown-label\"\n class=\"input-placeholder\"\n [class.disabled]=\"isDisabled\"\n [class.compact]=\"dropdownOpen || currentValue\">\n {{ title }}\n <a *ngIf=\"isRequired\"\n [style.color]=\"currentValue ? null : 'red'\">*</a>\n </div>\n <div class=\"bottom-line\"\n [class.disabled]=\"isDisabled\"\n ></div>\n <span class=\"description\">{{ description }}</span>\n </div>\n</div>\n<button biit-icon\n *ngIf=\"icon\"\n [icon]=\"icon\"\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n [checked]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n></button>\n<div style=\"position: relative; height: 0; width: 100%\">\n <div #dropdown id=\"dropdown\"\n [class.disabled]=\"isDisabled\"\n [style.overflow]=\"dropdownOpen ? undefined : 'hidden'\"\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-expanded=\"false\"\n aria-labelledby=\"dropdown-label\"\n [class.dropdown-open]=\"dropdownOpen\"\n [class.compact]=\"isCompact\"\n (keydown)=\"handleKeyboardEvents($event)\"\n >\n <button\n *ngFor=\"let item of filteredData; index as i\"\n (click)=\"onModelChange(item)\"\n [class.selected]=\"currentValue === item\"\n class=\"dropdown-item\"\n role=\"option\"\n aria-selected=\"false\"\n [id]=\"i\"\n [tabindex]=\"!dropdownOpen || isDisabled ? -1 : 0\"\n [disabled]=\"!dropdownOpen || isDisabled\"\n >\n <div id=\"content\">\n <a>{{ label ? item[label] : item }}</a>\n <span *ngIf=\"descriptionLabel && item[descriptionLabel]\" class=\"description\">{{ item[descriptionLabel] }}</span>\n </div>\n </button>\n <button *ngIf=\"!filteredData.length\"\n class=\"dropdown-item no-results\"\n disabled\n >\n <a>No results found</a>\n </button>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}input::selection{background-color:transparent}.biit-input{display:flex;height:2.1rem}.input-container{position:relative;width:100%}.input-container .description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:.2em;min-height:1.05em;line-height:120%;font-style:italic}.input-object{background-color:#fff;font-size:1rem;display:block;border:none;color:var(--component-color);padding:.7rem;height:2.1rem;width:100%;min-width:2.1rem;font-weight:400;cursor:pointer}.input-object:focus,.input-object:active,.input-object:hover{outline:none;background:var(--main-background)}.input-object:disabled{pointer-events:none;background-color:transparent;color:var(--main-background)}.default-cursor{cursor:auto}.input-placeholder{color:var(--component-color);font-size:1rem;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7rem;top:.42rem;height:.7rem;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-placeholder.compact{top:-.95rem;font-size:.7rem;font-weight:400;color:var(--secondary-color)}.input-placeholder.disabled{color:var(--main-background)}.input-show-icon{width:1rem;height:1rem}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1rem;height:2.1rem;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transform:rotate(90deg);transition:transform .5s ease}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{border:none;outline:none}.input-show-icon-container:hover~.input-object{background:var(--main-background)}.input-show-icon-container.rotate-90{transform:rotate(-90deg)}.bottom-line{position:relative;top:-.175rem;margin-bottom:-.175rem;width:auto;height:.175rem;background:var(--component-color)}.bottom-line.disabled{background:var(--main-background)}.dropdown-list{background:white;position:absolute;z-index:2;box-sizing:border-box;border:.175rem solid black;margin-top:-.175rem;min-width:12.8rem;width:100%;cursor:pointer;transform-origin:top;opacity:0;pointer-events:none;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease;max-height:20rem;overflow-y:auto;overflow-x:hidden}.dropdown-list.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.dropdown-list.compact{width:12.8rem}.dropdown-list.disabled{visibility:hidden}.dropdown-item{background:none;color:inherit;border:none;font:inherit;width:100%;cursor:pointer;line-height:120%;min-height:1.4rem;display:flex;align-items:center;padding:.2rem .7rem;text-align:left}.dropdown-item div{display:flex;flex-direction:column}.dropdown-item .description{font-size:.75em;color:gray;line-height:120%;font-style:italic}.dropdown-item:not(.no-results).selected{background:var(--main-background);width:calc(100% + .3rem);margin-left:-.15rem;padding-left:.85rem}.dropdown-item:not(.no-results):hover,.dropdown-item:not(.no-results):focus,.dropdown-item:not(.no-results):focus-visible{outline:none;background:var(--hover-color);width:calc(100% + .3rem);margin-left:-.15rem;padding-left:.85rem}.dropdown-item.no-results{justify-content:center;padding:1rem;color:#d9d9d9}.passthrough{pointer-events:none}.grey-bg{background:var(--main-background)}.onwards{--origin: 1rem}.downwards{--origin: -1rem}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "component", type: i4.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }] });
408
+ ], ngImport: i0, template: "<div class=\"biit-input\" aria-haspopup=\"listbox\"\n *ngIf=\"!icon\"\n [class.compact]=\"isCompact\"\n [class.disabled]=\"isDisabled\"\n (keydown)=\"!isDisabled && handleKeyboardEvents($event)\"\n (keydown.enter)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n>\n <div class=\"input-container\" #input>\n <input [ngModel]=\"dropdownOpen ? filterText :\n currentValue && !label ? currentValue :\n currentValue && currentValue[label] ? currentValue[label] : ''\"\n (ngModelChange)=\"filterText = $event; handleFilter()\"\n (click)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n [placeholder]=\"dropdownOpen && currentValue && !label ? currentValue :\n dropdownOpen && currentValue && currentValue[label] ? currentValue[label] : ''\"\n tabindex=\"0\"\n class=\"input-object\"\n [class.grey-bg]=\"dropdownOpen\"\n [class.default-cursor]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n [readonly]=\"!dropdownOpen\"/>\n <div class=\"input-show-icon-container\"\n [class.passthrough]=\"!dropdownOpen\"\n [class.rotate-90]=\"dropdownOpen\"\n (click)=\"dropdownOpen && closeDropdown()\">\n <biit-icon [name]=\"'right_arrow'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: isDisabled ? '#D9D9D9' : dropdownOpen ? 'var(--main-color)' : 'var(--component-color)'}\"\n ></biit-icon>\n </div>\n <div id=\"dropdown-label\"\n class=\"input-placeholder\"\n [class.disabled]=\"isDisabled\"\n [class.compact]=\"dropdownOpen || currentValue\">\n {{ title }}\n <a *ngIf=\"isRequired\"\n [style.color]=\"currentValue ? null : 'red'\">*</a>\n </div>\n <div class=\"bottom-line\"\n [class.disabled]=\"isDisabled\"\n ></div>\n <span class=\"description\">{{ description }}</span>\n </div>\n</div>\n<button biit-icon\n *ngIf=\"icon\"\n [icon]=\"icon\"\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n [checked]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n></button>\n<div style=\"position: relative; height: 0; width: 100%\">\n <div #dropdown id=\"dropdown\"\n [class.disabled]=\"isDisabled\"\n [style.overflow]=\"dropdownOpen ? undefined : 'hidden'\"\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-expanded=\"false\"\n aria-labelledby=\"dropdown-label\"\n [class.dropdown-open]=\"dropdownOpen\"\n [class.compact]=\"isCompact\"\n (keydown)=\"handleKeyboardEvents($event)\"\n >\n <button\n *ngFor=\"let item of filteredData; index as i\"\n (click)=\"onModelChange(item)\"\n [class.selected]=\"currentValue === item\"\n class=\"dropdown-item\"\n role=\"option\"\n aria-selected=\"false\"\n [id]=\"i\"\n [tabindex]=\"!dropdownOpen || isDisabled ? -1 : 0\"\n [disabled]=\"!dropdownOpen || isDisabled\"\n >\n <div id=\"content\">\n <a>{{ label ? item[label] : item }}</a>\n <span *ngIf=\"descriptionLabel && item[descriptionLabel]\" class=\"description\">{{ item[descriptionLabel] }}</span>\n </div>\n </button>\n <button *ngIf=\"!filteredData.length\"\n class=\"dropdown-item no-results\"\n disabled\n >\n <a>No results found</a>\n </button>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}input::selection{background-color:transparent}.biit-input{display:flex;height:2.1rem}.input-container{position:relative;width:100%}.input-container .description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:.2em;min-height:1.05em;line-height:120%;font-style:italic}.input-object{background-color:var(--main-background);font-size:1rem;display:block;border:none;color:var(--component-color);padding:.7rem;height:2.1rem;width:100%;min-width:2.1rem;font-weight:400;cursor:pointer}.input-object:focus,.input-object:active,.input-object:hover{outline:none;background:var(--main-background)}.input-object:disabled{pointer-events:none;background-color:transparent;color:var(--main-background)}.default-cursor{cursor:auto}.input-placeholder{color:var(--component-color);font-size:1rem;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7rem;top:.42rem;height:.7rem;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-placeholder.compact{top:-.95rem;font-size:.7rem;font-weight:400;color:var(--secondary-color)}.input-placeholder.disabled{color:var(--main-background)}.input-show-icon{width:1rem;height:1rem}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1rem;height:2.1rem;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transform:rotate(90deg);transition:transform .5s ease}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{border:none;outline:none}.input-show-icon-container:hover~.input-object{background:var(--main-background)}.input-show-icon-container.rotate-90{transform:rotate(-90deg)}.bottom-line{position:relative;top:-.175rem;margin-bottom:-.175rem;width:auto;height:.175rem;background:var(--component-color)}.bottom-line.disabled{background:var(--main-background)}.dropdown-list{background:var(--main-background);position:absolute;z-index:2;box-sizing:border-box;border:.175rem solid var(--border-color);margin-top:-.175rem;min-width:12.8rem;width:100%;cursor:pointer;transform-origin:top;opacity:0;pointer-events:none;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease;max-height:20rem;overflow-y:auto;overflow-x:hidden}.dropdown-list.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.dropdown-list.compact{width:12.8rem}.dropdown-list.disabled{visibility:hidden}.dropdown-item{background:none;color:inherit;border:none;font:inherit;width:100%;cursor:pointer;line-height:120%;min-height:1.4rem;display:flex;align-items:center;padding:.2rem .7rem;text-align:left}.dropdown-item div{display:flex;flex-direction:column}.dropdown-item .description{font-size:.75em;color:var(--secondary-color);line-height:120%;font-style:italic}.dropdown-item:not(.no-results).selected{background:var(--main-background);width:calc(100% + .3rem);margin-left:-.15rem;padding-left:.85rem}.dropdown-item:not(.no-results):hover,.dropdown-item:not(.no-results):focus,.dropdown-item:not(.no-results):focus-visible{outline:none;background:var(--hover-color);width:calc(100% + .3rem);margin-left:-.15rem;padding-left:.85rem}.dropdown-item.no-results{justify-content:center;padding:1rem;color:#d9d9d9}.passthrough{pointer-events:none}.grey-bg{background:var(--main-background)}.onwards{--origin: 1rem}.downwards{--origin: -1rem}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "component", type: i4.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }] });
409
409
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDropdownComponent, decorators: [{
410
410
  type: Component,
411
411
  args: [{ selector: 'biit-dropdown', providers: [
@@ -416,7 +416,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
416
416
  }
417
417
  ], host: {
418
418
  '(document:pointerdown)': 'handleMouseEvents($event)'
419
- }, template: "<div class=\"biit-input\" aria-haspopup=\"listbox\"\n *ngIf=\"!icon\"\n [class.compact]=\"isCompact\"\n [class.disabled]=\"isDisabled\"\n (keydown)=\"!isDisabled && handleKeyboardEvents($event)\"\n (keydown.enter)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n>\n <div class=\"input-container\" #input>\n <input [ngModel]=\"dropdownOpen ? filterText :\n currentValue && !label ? currentValue :\n currentValue && currentValue[label] ? currentValue[label] : ''\"\n (ngModelChange)=\"filterText = $event; handleFilter()\"\n (click)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n [placeholder]=\"dropdownOpen && currentValue && !label ? currentValue :\n dropdownOpen && currentValue && currentValue[label] ? currentValue[label] : ''\"\n tabindex=\"0\"\n class=\"input-object\"\n [class.grey-bg]=\"dropdownOpen\"\n [class.default-cursor]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n [readonly]=\"!dropdownOpen\"/>\n <div class=\"input-show-icon-container\"\n [class.passthrough]=\"!dropdownOpen\"\n [class.rotate-90]=\"dropdownOpen\"\n (click)=\"dropdownOpen && closeDropdown()\">\n <biit-icon [name]=\"'right_arrow'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: isDisabled ? '#D9D9D9' : dropdownOpen ? 'var(--main-color)' : 'var(--component-color)'}\"\n ></biit-icon>\n </div>\n <div id=\"dropdown-label\"\n class=\"input-placeholder\"\n [class.disabled]=\"isDisabled\"\n [class.compact]=\"dropdownOpen || currentValue\">\n {{ title }}\n <a *ngIf=\"isRequired\"\n [style.color]=\"currentValue ? null : 'red'\">*</a>\n </div>\n <div class=\"bottom-line\"\n [class.disabled]=\"isDisabled\"\n ></div>\n <span class=\"description\">{{ description }}</span>\n </div>\n</div>\n<button biit-icon\n *ngIf=\"icon\"\n [icon]=\"icon\"\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n [checked]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n></button>\n<div style=\"position: relative; height: 0; width: 100%\">\n <div #dropdown id=\"dropdown\"\n [class.disabled]=\"isDisabled\"\n [style.overflow]=\"dropdownOpen ? undefined : 'hidden'\"\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-expanded=\"false\"\n aria-labelledby=\"dropdown-label\"\n [class.dropdown-open]=\"dropdownOpen\"\n [class.compact]=\"isCompact\"\n (keydown)=\"handleKeyboardEvents($event)\"\n >\n <button\n *ngFor=\"let item of filteredData; index as i\"\n (click)=\"onModelChange(item)\"\n [class.selected]=\"currentValue === item\"\n class=\"dropdown-item\"\n role=\"option\"\n aria-selected=\"false\"\n [id]=\"i\"\n [tabindex]=\"!dropdownOpen || isDisabled ? -1 : 0\"\n [disabled]=\"!dropdownOpen || isDisabled\"\n >\n <div id=\"content\">\n <a>{{ label ? item[label] : item }}</a>\n <span *ngIf=\"descriptionLabel && item[descriptionLabel]\" class=\"description\">{{ item[descriptionLabel] }}</span>\n </div>\n </button>\n <button *ngIf=\"!filteredData.length\"\n class=\"dropdown-item no-results\"\n disabled\n >\n <a>No results found</a>\n </button>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}input::selection{background-color:transparent}.biit-input{display:flex;height:2.1rem}.input-container{position:relative;width:100%}.input-container .description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:.2em;min-height:1.05em;line-height:120%;font-style:italic}.input-object{background-color:#fff;font-size:1rem;display:block;border:none;color:var(--component-color);padding:.7rem;height:2.1rem;width:100%;min-width:2.1rem;font-weight:400;cursor:pointer}.input-object:focus,.input-object:active,.input-object:hover{outline:none;background:var(--main-background)}.input-object:disabled{pointer-events:none;background-color:transparent;color:var(--main-background)}.default-cursor{cursor:auto}.input-placeholder{color:var(--component-color);font-size:1rem;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7rem;top:.42rem;height:.7rem;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-placeholder.compact{top:-.95rem;font-size:.7rem;font-weight:400;color:var(--secondary-color)}.input-placeholder.disabled{color:var(--main-background)}.input-show-icon{width:1rem;height:1rem}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1rem;height:2.1rem;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transform:rotate(90deg);transition:transform .5s ease}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{border:none;outline:none}.input-show-icon-container:hover~.input-object{background:var(--main-background)}.input-show-icon-container.rotate-90{transform:rotate(-90deg)}.bottom-line{position:relative;top:-.175rem;margin-bottom:-.175rem;width:auto;height:.175rem;background:var(--component-color)}.bottom-line.disabled{background:var(--main-background)}.dropdown-list{background:white;position:absolute;z-index:2;box-sizing:border-box;border:.175rem solid black;margin-top:-.175rem;min-width:12.8rem;width:100%;cursor:pointer;transform-origin:top;opacity:0;pointer-events:none;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease;max-height:20rem;overflow-y:auto;overflow-x:hidden}.dropdown-list.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.dropdown-list.compact{width:12.8rem}.dropdown-list.disabled{visibility:hidden}.dropdown-item{background:none;color:inherit;border:none;font:inherit;width:100%;cursor:pointer;line-height:120%;min-height:1.4rem;display:flex;align-items:center;padding:.2rem .7rem;text-align:left}.dropdown-item div{display:flex;flex-direction:column}.dropdown-item .description{font-size:.75em;color:gray;line-height:120%;font-style:italic}.dropdown-item:not(.no-results).selected{background:var(--main-background);width:calc(100% + .3rem);margin-left:-.15rem;padding-left:.85rem}.dropdown-item:not(.no-results):hover,.dropdown-item:not(.no-results):focus,.dropdown-item:not(.no-results):focus-visible{outline:none;background:var(--hover-color);width:calc(100% + .3rem);margin-left:-.15rem;padding-left:.85rem}.dropdown-item.no-results{justify-content:center;padding:1rem;color:#d9d9d9}.passthrough{pointer-events:none}.grey-bg{background:var(--main-background)}.onwards{--origin: 1rem}.downwards{--origin: -1rem}\n"] }]
419
+ }, template: "<div class=\"biit-input\" aria-haspopup=\"listbox\"\n *ngIf=\"!icon\"\n [class.compact]=\"isCompact\"\n [class.disabled]=\"isDisabled\"\n (keydown)=\"!isDisabled && handleKeyboardEvents($event)\"\n (keydown.enter)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n>\n <div class=\"input-container\" #input>\n <input [ngModel]=\"dropdownOpen ? filterText :\n currentValue && !label ? currentValue :\n currentValue && currentValue[label] ? currentValue[label] : ''\"\n (ngModelChange)=\"filterText = $event; handleFilter()\"\n (click)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n [placeholder]=\"dropdownOpen && currentValue && !label ? currentValue :\n dropdownOpen && currentValue && currentValue[label] ? currentValue[label] : ''\"\n tabindex=\"0\"\n class=\"input-object\"\n [class.grey-bg]=\"dropdownOpen\"\n [class.default-cursor]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n [readonly]=\"!dropdownOpen\"/>\n <div class=\"input-show-icon-container\"\n [class.passthrough]=\"!dropdownOpen\"\n [class.rotate-90]=\"dropdownOpen\"\n (click)=\"dropdownOpen && closeDropdown()\">\n <biit-icon [name]=\"'right_arrow'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: isDisabled ? '#D9D9D9' : dropdownOpen ? 'var(--main-color)' : 'var(--component-color)'}\"\n ></biit-icon>\n </div>\n <div id=\"dropdown-label\"\n class=\"input-placeholder\"\n [class.disabled]=\"isDisabled\"\n [class.compact]=\"dropdownOpen || currentValue\">\n {{ title }}\n <a *ngIf=\"isRequired\"\n [style.color]=\"currentValue ? null : 'red'\">*</a>\n </div>\n <div class=\"bottom-line\"\n [class.disabled]=\"isDisabled\"\n ></div>\n <span class=\"description\">{{ description }}</span>\n </div>\n</div>\n<button biit-icon\n *ngIf=\"icon\"\n [icon]=\"icon\"\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n [checked]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n></button>\n<div style=\"position: relative; height: 0; width: 100%\">\n <div #dropdown id=\"dropdown\"\n [class.disabled]=\"isDisabled\"\n [style.overflow]=\"dropdownOpen ? undefined : 'hidden'\"\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-expanded=\"false\"\n aria-labelledby=\"dropdown-label\"\n [class.dropdown-open]=\"dropdownOpen\"\n [class.compact]=\"isCompact\"\n (keydown)=\"handleKeyboardEvents($event)\"\n >\n <button\n *ngFor=\"let item of filteredData; index as i\"\n (click)=\"onModelChange(item)\"\n [class.selected]=\"currentValue === item\"\n class=\"dropdown-item\"\n role=\"option\"\n aria-selected=\"false\"\n [id]=\"i\"\n [tabindex]=\"!dropdownOpen || isDisabled ? -1 : 0\"\n [disabled]=\"!dropdownOpen || isDisabled\"\n >\n <div id=\"content\">\n <a>{{ label ? item[label] : item }}</a>\n <span *ngIf=\"descriptionLabel && item[descriptionLabel]\" class=\"description\">{{ item[descriptionLabel] }}</span>\n </div>\n </button>\n <button *ngIf=\"!filteredData.length\"\n class=\"dropdown-item no-results\"\n disabled\n >\n <a>No results found</a>\n </button>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}input::selection{background-color:transparent}.biit-input{display:flex;height:2.1rem}.input-container{position:relative;width:100%}.input-container .description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:.2em;min-height:1.05em;line-height:120%;font-style:italic}.input-object{background-color:var(--main-background);font-size:1rem;display:block;border:none;color:var(--component-color);padding:.7rem;height:2.1rem;width:100%;min-width:2.1rem;font-weight:400;cursor:pointer}.input-object:focus,.input-object:active,.input-object:hover{outline:none;background:var(--main-background)}.input-object:disabled{pointer-events:none;background-color:transparent;color:var(--main-background)}.default-cursor{cursor:auto}.input-placeholder{color:var(--component-color);font-size:1rem;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7rem;top:.42rem;height:.7rem;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-placeholder.compact{top:-.95rem;font-size:.7rem;font-weight:400;color:var(--secondary-color)}.input-placeholder.disabled{color:var(--main-background)}.input-show-icon{width:1rem;height:1rem}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1rem;height:2.1rem;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transform:rotate(90deg);transition:transform .5s ease}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{border:none;outline:none}.input-show-icon-container:hover~.input-object{background:var(--main-background)}.input-show-icon-container.rotate-90{transform:rotate(-90deg)}.bottom-line{position:relative;top:-.175rem;margin-bottom:-.175rem;width:auto;height:.175rem;background:var(--component-color)}.bottom-line.disabled{background:var(--main-background)}.dropdown-list{background:var(--main-background);position:absolute;z-index:2;box-sizing:border-box;border:.175rem solid var(--border-color);margin-top:-.175rem;min-width:12.8rem;width:100%;cursor:pointer;transform-origin:top;opacity:0;pointer-events:none;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease;max-height:20rem;overflow-y:auto;overflow-x:hidden}.dropdown-list.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.dropdown-list.compact{width:12.8rem}.dropdown-list.disabled{visibility:hidden}.dropdown-item{background:none;color:inherit;border:none;font:inherit;width:100%;cursor:pointer;line-height:120%;min-height:1.4rem;display:flex;align-items:center;padding:.2rem .7rem;text-align:left}.dropdown-item div{display:flex;flex-direction:column}.dropdown-item .description{font-size:.75em;color:var(--secondary-color);line-height:120%;font-style:italic}.dropdown-item:not(.no-results).selected{background:var(--main-background);width:calc(100% + .3rem);margin-left:-.15rem;padding-left:.85rem}.dropdown-item:not(.no-results):hover,.dropdown-item:not(.no-results):focus,.dropdown-item:not(.no-results):focus-visible{outline:none;background:var(--hover-color);width:calc(100% + .3rem);margin-left:-.15rem;padding-left:.85rem}.dropdown-item.no-results{justify-content:center;padding:1rem;color:#d9d9d9}.passthrough{pointer-events:none}.grey-bg{background:var(--main-background)}.onwards{--origin: 1rem}.downwards{--origin: -1rem}\n"] }]
420
420
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, propDecorators: { title: [{
421
421
  type: Input
422
422
  }], label: [{