ngx-histaff-alpha 1.3.9 → 1.4.1

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.
@@ -10,6 +10,7 @@ import { TranslatePipe } from '../../../app-pipes/translate.pipe';
10
10
  import { TooltipDirective } from '../../tooltip/tooltip.directive';
11
11
  import { EnumSortDirection } from '../../../enum/EnumSortDirection';
12
12
  import { TableCellPipe } from '../../pipes/table-cell.pipe';
13
+ import { CoreLoadingSurfaceComponent } from '../../core-loading-surface/core-loading-surface/core-loading-surface.component';
13
14
  import * as i0 from "@angular/core";
14
15
  import * as i1 from "../../../services/multi-language.service";
15
16
  import * as i2 from "../../../services/app.service";
@@ -120,10 +121,16 @@ export class CoreListLazyComponent extends CoreFormControlBaseComponent {
120
121
  });
121
122
  }
122
123
  onListItemClick(option) {
123
- this.writeValue(option.value);
124
- this.markAsTouched();
125
- this.onChange(option.value);
126
- this.activeValue = option.value;
124
+ if (this.blockingInteraction) {
125
+ return;
126
+ }
127
+ else {
128
+ this.blockingInteraction = true;
129
+ this.writeValue(option.value);
130
+ this.markAsTouched();
131
+ this.onChange(option.value);
132
+ this.activeValue = option.value;
133
+ }
127
134
  }
128
135
  onSearchTextChange(e) {
129
136
  this.searchStream$.next(e);
@@ -138,13 +145,13 @@ export class CoreListLazyComponent extends CoreFormControlBaseComponent {
138
145
  this.subscriptions.map(x => x?.unsubscribe());
139
146
  }
140
147
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreListLazyComponent, deps: [{ token: i1.MultiLanguageService }, { token: i0.Injector }, { token: i2.AppService }], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: CoreListLazyComponent, isStandalone: true, selector: "core-list-lazy", inputs: { title: "title", queryListApi: "queryListApi", textField: "textField", pipe: "pipe", height: "height", blockingInteraction$: "blockingInteraction$" }, providers: [
148
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.3", type: CoreListLazyComponent, isStandalone: true, selector: "core-list-lazy", inputs: { title: "title", queryListApi: "queryListApi", textField: "textField", pipe: "pipe", height: "height", blockingInteraction$: "blockingInteraction$" }, providers: [
142
149
  {
143
150
  provide: NG_VALUE_ACCESSOR,
144
151
  multi: true,
145
152
  useExisting: CoreListLazyComponent
146
153
  }
147
- ], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "coreScrollContainer", first: true, predicate: ["coreScrollContainer"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"core-list-lazy-container\" [ngStyle]=\"{ height: height + 'px'}\">\r\n <h4 *ngIf=\"!!title\">{{ title | translate: lang}}</h4>\r\n <div class=\"list\">\r\n <div class=\"search-wrapper\">\r\n <input class=\"form-control search\" type=\"text\" [placeholder]=\"placeholder | translate: lang\"\r\n [(ngModel)]=\"searchText\" (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\">\r\n </div>\r\n\r\n <div class=\"core-scroll-container\" #coreScrollContainer [class.form-control-disabled]=\"disabled || blockingInteraction\">\r\n <core-scroll-lazy [visibleOptions]=\"visibleOptions\" [itemTemplate]=\"itemTemplateRef\" [height]=\"scrollContainerHeight\" [totalHeight]=\"listTotalHeight\"\r\n [childHeight]=\"itemHeight\" (onPagination)=\"onPagination($event)\"></core-scroll-lazy>\r\n </div>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li (click)=\"onListItemClick(context)\" [ngStyle]=\"{ height: itemHeight + 'px' }\" [class.active]=\"context.value===activeValue\">\r\n <label [ngStyle]=\"{ width: '100%', overflow: 'hidden', textOverflow: 'ellipsis' }\" [appTooltip]=\"context.text | tableCell: pipe : lang\">{{ context.text | tableCell: pipe : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-list-lazy-container{--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: lightgray;--search-item-hover-color: white;--count-height: 1000px;--active-item-background-color: #358ccb;--core-scroll-container-height: 500px;position:relative;display:block;padding:var(--size-left-bar-block-cell-spacing);box-sizing:border-box}.core-list-lazy-container .core-scroll-container{display:block;padding:0;height:var(--core-scroll-container-height)}.core-list-lazy-container ul,.core-list-lazy-container li{box-sizing:border-box;margin:0}.core-list-lazy-container .list{display:block;position:relative;width:100%;overflow-y:auto;overflow-x:hidden;background-color:#fff;margin-top:2px;transition:.25s linear}.core-list-lazy-container .list ul>li{display:flex;align-items:center;cursor:pointer;transition:.25s linear;margin-left:3px;height:50px;padding:var(--size-left-bar-block-cell-spacing);font-size:var(--typo-basic-font-size)}.core-list-lazy-container .list ul>li.more{height:800px}.core-list-lazy-container .list ul>li:hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-list-lazy-container .list ul>li.active{background-color:var(--color-basic-orange);color:#fff;transition:.25s linear}.core-list-lazy-container .search-wrapper{background-color:#fff;width:100%;padding:3px;position:sticky;top:0;left:0}.core-list-lazy-container .search-wrapper>input.search{margin-bottom:var(--size-left-bar-block-cell-spacing);background-color:var(--search-bg-color);font-size:15px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: CoreScrollLazyComponent, selector: "core-scroll-lazy", inputs: ["visibleOptions", "itemTemplate", "height", "totalHeight", "childHeight", "search"], outputs: ["onPagination"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: TableCellPipe, name: "tableCell" }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "position"] }], encapsulation: i0.ViewEncapsulation.None }); }
154
+ ], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "coreScrollContainer", first: true, predicate: ["coreScrollContainer"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"core-list-lazy-container\" [ngStyle]=\"{ height: height + 'px'}\">\r\n <h4 *ngIf=\"!!title\">{{ title | translate: lang}}</h4>\r\n <div class=\"list\">\r\n <div class=\"search-wrapper\">\r\n <input class=\"form-control search\" type=\"text\" [placeholder]=\"placeholder | translate: lang\"\r\n [(ngModel)]=\"searchText\" (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\">\r\n </div>\r\n\r\n <div class=\"core-scroll-container\" #coreScrollContainer [class.form-control-disabled]=\"disabled || blockingInteraction\">\r\n @if (blockingInteraction) {\r\n <core-loading-surface [height]=\"height\"></core-loading-surface>\r\n }\r\n <core-scroll-lazy [visibleOptions]=\"visibleOptions\" [itemTemplate]=\"itemTemplateRef\" [height]=\"scrollContainerHeight\" [totalHeight]=\"listTotalHeight\"\r\n [childHeight]=\"itemHeight\" (onPagination)=\"onPagination($event)\"></core-scroll-lazy>\r\n </div>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li (click)=\"onListItemClick(context)\" [ngStyle]=\"{ height: itemHeight + 'px' }\" [class.active]=\"context.value===activeValue\">\r\n <label [ngStyle]=\"{ width: '100%', overflow: 'hidden', textOverflow: 'ellipsis' }\" [appTooltip]=\"context.text | tableCell: pipe : lang\">{{ context.text | tableCell: pipe : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-list-lazy-container{--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: lightgray;--search-item-hover-color: white;--count-height: 1000px;--active-item-background-color: #358ccb;--core-scroll-container-height: 500px;position:relative;display:block;padding:var(--size-left-bar-block-cell-spacing);box-sizing:border-box}.core-list-lazy-container .core-scroll-container{display:block;padding:0;height:var(--core-scroll-container-height)}.core-list-lazy-container ul,.core-list-lazy-container li{box-sizing:border-box;margin:0}.core-list-lazy-container .list{display:block;position:relative;width:100%;overflow-y:auto;overflow-x:hidden;background-color:#fff;margin-top:2px;transition:.25s linear}.core-list-lazy-container .list ul>li{display:flex;align-items:center;cursor:pointer;transition:.25s linear;margin-left:3px;height:50px;padding:var(--size-left-bar-block-cell-spacing);font-size:var(--typo-basic-font-size)}.core-list-lazy-container .list ul>li.more{height:800px}.core-list-lazy-container .list ul>li:hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-list-lazy-container .list ul>li.active{background-color:var(--color-basic-orange);color:#fff;transition:.25s linear}.core-list-lazy-container .search-wrapper{background-color:#fff;width:100%;padding:3px;position:sticky;top:0;left:0}.core-list-lazy-container .search-wrapper>input.search{margin-bottom:var(--size-left-bar-block-cell-spacing);background-color:var(--search-bg-color);font-size:15px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: CoreScrollLazyComponent, selector: "core-scroll-lazy", inputs: ["visibleOptions", "itemTemplate", "height", "totalHeight", "childHeight", "search"], outputs: ["onPagination"] }, { kind: "component", type: CoreLoadingSurfaceComponent, selector: "core-loading-surface", inputs: ["loading", "height"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: TableCellPipe, name: "tableCell" }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "position"] }], encapsulation: i0.ViewEncapsulation.None }); }
148
155
  }
149
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreListLazyComponent, decorators: [{
150
157
  type: Component,
@@ -154,6 +161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
154
161
  ReactiveFormsModule,
155
162
  CoreScrollLazyComponent,
156
163
  ThreedotsComponent,
164
+ CoreLoadingSurfaceComponent,
157
165
  TranslatePipe,
158
166
  TableCellPipe,
159
167
  TooltipDirective
@@ -163,7 +171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
163
171
  multi: true,
164
172
  useExisting: CoreListLazyComponent
165
173
  }
166
- ], template: "<div #container class=\"core-list-lazy-container\" [ngStyle]=\"{ height: height + 'px'}\">\r\n <h4 *ngIf=\"!!title\">{{ title | translate: lang}}</h4>\r\n <div class=\"list\">\r\n <div class=\"search-wrapper\">\r\n <input class=\"form-control search\" type=\"text\" [placeholder]=\"placeholder | translate: lang\"\r\n [(ngModel)]=\"searchText\" (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\">\r\n </div>\r\n\r\n <div class=\"core-scroll-container\" #coreScrollContainer [class.form-control-disabled]=\"disabled || blockingInteraction\">\r\n <core-scroll-lazy [visibleOptions]=\"visibleOptions\" [itemTemplate]=\"itemTemplateRef\" [height]=\"scrollContainerHeight\" [totalHeight]=\"listTotalHeight\"\r\n [childHeight]=\"itemHeight\" (onPagination)=\"onPagination($event)\"></core-scroll-lazy>\r\n </div>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li (click)=\"onListItemClick(context)\" [ngStyle]=\"{ height: itemHeight + 'px' }\" [class.active]=\"context.value===activeValue\">\r\n <label [ngStyle]=\"{ width: '100%', overflow: 'hidden', textOverflow: 'ellipsis' }\" [appTooltip]=\"context.text | tableCell: pipe : lang\">{{ context.text | tableCell: pipe : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-list-lazy-container{--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: lightgray;--search-item-hover-color: white;--count-height: 1000px;--active-item-background-color: #358ccb;--core-scroll-container-height: 500px;position:relative;display:block;padding:var(--size-left-bar-block-cell-spacing);box-sizing:border-box}.core-list-lazy-container .core-scroll-container{display:block;padding:0;height:var(--core-scroll-container-height)}.core-list-lazy-container ul,.core-list-lazy-container li{box-sizing:border-box;margin:0}.core-list-lazy-container .list{display:block;position:relative;width:100%;overflow-y:auto;overflow-x:hidden;background-color:#fff;margin-top:2px;transition:.25s linear}.core-list-lazy-container .list ul>li{display:flex;align-items:center;cursor:pointer;transition:.25s linear;margin-left:3px;height:50px;padding:var(--size-left-bar-block-cell-spacing);font-size:var(--typo-basic-font-size)}.core-list-lazy-container .list ul>li.more{height:800px}.core-list-lazy-container .list ul>li:hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-list-lazy-container .list ul>li.active{background-color:var(--color-basic-orange);color:#fff;transition:.25s linear}.core-list-lazy-container .search-wrapper{background-color:#fff;width:100%;padding:3px;position:sticky;top:0;left:0}.core-list-lazy-container .search-wrapper>input.search{margin-bottom:var(--size-left-bar-block-cell-spacing);background-color:var(--search-bg-color);font-size:15px;width:100%}\n"] }]
174
+ ], template: "<div #container class=\"core-list-lazy-container\" [ngStyle]=\"{ height: height + 'px'}\">\r\n <h4 *ngIf=\"!!title\">{{ title | translate: lang}}</h4>\r\n <div class=\"list\">\r\n <div class=\"search-wrapper\">\r\n <input class=\"form-control search\" type=\"text\" [placeholder]=\"placeholder | translate: lang\"\r\n [(ngModel)]=\"searchText\" (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\">\r\n </div>\r\n\r\n <div class=\"core-scroll-container\" #coreScrollContainer [class.form-control-disabled]=\"disabled || blockingInteraction\">\r\n @if (blockingInteraction) {\r\n <core-loading-surface [height]=\"height\"></core-loading-surface>\r\n }\r\n <core-scroll-lazy [visibleOptions]=\"visibleOptions\" [itemTemplate]=\"itemTemplateRef\" [height]=\"scrollContainerHeight\" [totalHeight]=\"listTotalHeight\"\r\n [childHeight]=\"itemHeight\" (onPagination)=\"onPagination($event)\"></core-scroll-lazy>\r\n </div>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li (click)=\"onListItemClick(context)\" [ngStyle]=\"{ height: itemHeight + 'px' }\" [class.active]=\"context.value===activeValue\">\r\n <label [ngStyle]=\"{ width: '100%', overflow: 'hidden', textOverflow: 'ellipsis' }\" [appTooltip]=\"context.text | tableCell: pipe : lang\">{{ context.text | tableCell: pipe : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-list-lazy-container{--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: lightgray;--search-item-hover-color: white;--count-height: 1000px;--active-item-background-color: #358ccb;--core-scroll-container-height: 500px;position:relative;display:block;padding:var(--size-left-bar-block-cell-spacing);box-sizing:border-box}.core-list-lazy-container .core-scroll-container{display:block;padding:0;height:var(--core-scroll-container-height)}.core-list-lazy-container ul,.core-list-lazy-container li{box-sizing:border-box;margin:0}.core-list-lazy-container .list{display:block;position:relative;width:100%;overflow-y:auto;overflow-x:hidden;background-color:#fff;margin-top:2px;transition:.25s linear}.core-list-lazy-container .list ul>li{display:flex;align-items:center;cursor:pointer;transition:.25s linear;margin-left:3px;height:50px;padding:var(--size-left-bar-block-cell-spacing);font-size:var(--typo-basic-font-size)}.core-list-lazy-container .list ul>li.more{height:800px}.core-list-lazy-container .list ul>li:hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-list-lazy-container .list ul>li.active{background-color:var(--color-basic-orange);color:#fff;transition:.25s linear}.core-list-lazy-container .search-wrapper{background-color:#fff;width:100%;padding:3px;position:sticky;top:0;left:0}.core-list-lazy-container .search-wrapper>input.search{margin-bottom:var(--size-left-bar-block-cell-spacing);background-color:var(--search-bg-color);font-size:15px;width:100%}\n"] }]
167
175
  }], ctorParameters: () => [{ type: i1.MultiLanguageService }, { type: i0.Injector }, { type: i2.AppService }], propDecorators: { title: [{
168
176
  type: Input
169
177
  }], queryListApi: [{
@@ -183,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
183
191
  type: ViewChild,
184
192
  args: ['coreScrollContainer']
185
193
  }] } });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saXN0LWxhenkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWhpc3RhZmYtYWxwaGEvc3JjL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtbGlzdC1sYXp5L2NvcmUtbGlzdC1sYXp5L2NvcmUtbGlzdC1sYXp5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWxpc3QtbGF6eS9jb3JlLWxpc3QtbGF6eS9jb3JlLWxpc3QtbGF6eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBd0IsS0FBSyxFQUFvQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEosT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM3RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBYSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFVMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JB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O3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsdUJBQXVCO3lCQUNuQztxQkFDRjt5SUFJUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVrQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ1ksbUJBQW1CO3NCQUFwRCxTQUFTO3VCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IsIE5nQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29yZUZvcm1Db250cm9sQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtZm9ybS1jb250cm9sLWJhc2UvY29yZS1mb3JtLWNvbnRyb2wtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBmcm9tRXZlbnQsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFbnVtVHJhbnNsYXRlS2V5IH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgTXVsdGlMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tdWx0aS1sYW5ndWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBwU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwcC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUNvcmVMaXN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS1saXN0L2NvcmUtbGlzdC9jb3JlLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgYXBpIH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgSUZvcm1hdGVkUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL0lGb3JtYXRlZFJlc3BvbnNlJztcclxuaW1wb3J0IHsgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJUGFnaW5hdGlvbiwgSVF1ZXJ5TGlzdFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL0lRdWVyeUxpc3RSZXF1ZXN0JztcclxuaW1wb3J0IHsgSVF1ZXJ5TGlzdFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9JUXVlcnlMaXN0UmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBFbnVtQ29yZVRhYmxlUGlwZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlLXRhYmxlL0VudW1Db3JlVGFibGVQaXBlVHlwZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvcmVTY3JvbGxMYXp5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS1zY3JvbGwtbGF6eS9jb3JlLXNjcm9sbC1sYXp5L2NvcmUtc2Nyb2xsLWxhenkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGhyZWVkb3RzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdGhyZWVkb3RzL3RocmVlZG90cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vLi4vYXBwLXBpcGVzL3RyYW5zbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBFbnVtU29ydERpcmVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2VudW0vRW51bVNvcnREaXJlY3Rpb24nO1xyXG5pbXBvcnQgeyBUYWJsZUNlbGxQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdGFibGUtY2VsbC5waXBlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29yZS1saXN0LWxhenknLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQ29yZVNjcm9sbExhenlDb21wb25lbnQsXHJcbiAgICBUaHJlZWRvdHNDb21wb25lbnQsXHJcbiAgICBUcmFuc2xhdGVQaXBlLFxyXG4gICAgVGFibGVDZWxsUGlwZSxcclxuICAgIFRvb2x0aXBEaXJlY3RpdmVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLWxpc3QtbGF6eS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29yZS1saXN0LWxhenkuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBDb3JlTGlzdExhenlDb21wb25lbnRcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlTGlzdExhenlDb21wb25lbnQgZXh0ZW5kcyBDb3JlRm9ybUNvbnRyb2xCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBASW5wdXQoKSB0aXRsZSE6IEVudW1UcmFuc2xhdGVLZXk7XHJcbiAgQElucHV0KCkgcXVlcnlMaXN0QXBpITogYXBpO1xyXG4gIEBJbnB1dCgpIHRleHRGaWVsZCE6IHN0cmluZztcclxuICBASW5wdXQoKSBwaXBlITogRW51bUNvcmVUYWJsZVBpcGVUeXBlO1xyXG4gIEBJbnB1dCgpIGhlaWdodCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBibG9ja2luZ0ludGVyYWN0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICBAVmlld0NoaWxkKCdjb250YWluZXInKSBjb250YWluZXIhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2NvcmVTY3JvbGxDb250YWluZXInKSBjb3JlU2Nyb2xsQ29udGFpbmVyITogRWxlbWVudFJlZjtcclxuXHJcbiAgbmdDb250cm9sITogTmdDb250cm9sO1xyXG5cclxuICBhY3RpdmVWYWx1ZTogYW55O1xyXG5cclxuICBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHZpc2libGVPcHRpb25zOiBJQ29yZUxpc3RPcHRpb25bXSA9IFtdO1xyXG4gIHBsYWNlaG9sZGVyVGV4dCE6IHN0cmluZztcclxuICBzZWFyY2hIZWlnaHQ6IG51bWJlciA9IDUwO1xyXG4gIHNlYXJjaFRleHQ6IHN0cmluZyA9IFwiXCI7XHJcbiAgcGxhY2Vob2xkZXIgPSBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTU1PTl9QTEFDRV9IT0xERVJfU0VBUkNIX0hFUkU7XHJcbiAgdGV4dCE6IHN0cmluZztcclxuICBsYW5nITogc3RyaW5nO1xyXG4gIHNlYXJjaFN0cmVhbSQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcblxyXG4gIGl0ZW1IZWlnaHQ6IG51bWJlciA9IDQwO1xyXG4gIHNjcm9sbENvbnRhaW5lckhlaWdodCE6IG51bWJlcjtcclxuICBsaXN0VG90YWxIZWlnaHQhOiBudW1iZXI7XHJcblxyXG4gIHF1ZXJ5TGlzdFJlcXVlc3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJUXVlcnlMaXN0UmVxdWVzdD4oe30pO1xyXG5cclxuICBibG9ja2luZ0ludGVyYWN0aW9uITogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1sczogTXVsdGlMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgYXBwU2VydmljZTogQXBwU2VydmljZVxyXG4gICkgeyBzdXBlcigpIH1cclxuXHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSBvYmo7XHJcbiAgICB0aGlzLmFjdGl2ZVZhbHVlID0gb2JqO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2hlaWdodCddKSB7XHJcbiAgICAgIGlmIChjaGFuZ2VzWydoZWlnaHQnXS5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgICB0aGlzLmRlZmF1bHRSZXNpemUoY2hhbmdlc1snaGVpZ2h0J10uY3VycmVudFZhbHVlKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNoYW5nZXNbJ3RleHRGaWVsZCddKSB7XHJcbiAgICAgIGlmICghIWNoYW5nZXNbJ3RleHRGaWVsZCddLmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMucXVlcnlMaXN0UmVxdWVzdCQubmV4dCh7XHJcbiAgICAgICAgICAuLi50aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLnZhbHVlLFxyXG4gICAgICAgICAgc29ydDogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgZmllbGQ6IGNoYW5nZXNbJ3RleHRGaWVsZCddLmN1cnJlbnRWYWx1ZSxcclxuICAgICAgICAgICAgICBzb3J0RGlyZWN0aW9uOiBFbnVtU29ydERpcmVjdGlvbi5BU0NcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgXVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5uZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wpO1xyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLmJsb2NraW5nSW50ZXJhY3Rpb24kLnN1YnNjcmliZSh4ID0+IHRoaXMuYmxvY2tpbmdJbnRlcmFjdGlvbiA9IHgpXHJcbiAgICApXHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMubWxzLmxhbmckLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgICB0aGlzLmxhbmcgPSB4XHJcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlclRleHQgPSB0aGlzLm1scy50cmFucyh0aGlzLnBsYWNlaG9sZGVyLCB4KVxyXG4gICAgICB9KVxyXG4gICAgKVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLnNlYXJjaFN0cmVhbSQucGlwZShcclxuICAgICAgICBmaWx0ZXIoXyA9PiAhIXRoaXMudGV4dEZpZWxkKSxcclxuICAgICAgICBkZWJvdW5jZVRpbWUoNTAwKSxcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXHJcbiAgICAgICkuc3Vic2NyaWJlKHRleHQgPT4ge1xyXG4gICAgICAgIHRoaXMucXVlcnlMaXN0UmVxdWVzdCQubmV4dCh7XHJcbiAgICAgICAgICAuLi50aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLnZhbHVlLFxyXG4gICAgICAgICAgc2VhcmNoOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBmaWVsZDogdGhpcy50ZXh0RmllbGQsXHJcbiAgICAgICAgICAgICAgc2VhcmNoRm9yOiB0ZXh0XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIF1cclxuICAgICAgICB9KVxyXG4gICAgICB9KVxyXG4gICAgKVxyXG5cclxuICB9XHJcblxyXG4gIGJpbmRPcHRpb25zKHg6IEh0dHBSZXNwb25zZTxhbnk+KTogdm9pZCB7XHJcblxyXG4gICAgaWYgKHgub2sgJiYgeC5zdGF0dXMgPT09IDIwMCkge1xyXG4gICAgICBjb25zdCBib2R5OiBJRm9ybWF0ZWRSZXNwb25zZSA9IHguYm9keTtcclxuICAgICAgaWYgKGJvZHkuc3RhdHVzQ29kZSA9PT0gMjAwKSB7XHJcblxyXG4gICAgICAgIGNvbnN0IGxpc3RSZXNwb25zZTogSVF1ZXJ5TGlzdFJlc3BvbnNlID0gYm9keS5pbm5lckJvZHk7XHJcblxyXG4gICAgICAgIGNvbnN0IG5ld0xpc3RPcHRpb25zOiBJQ29yZUxpc3RPcHRpb25bXSA9IFtdO1xyXG4gICAgICAgIGxpc3RSZXNwb25zZS5saXN0Py5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgbmV3TGlzdE9wdGlvbnMucHVzaCh7XHJcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLmlkLFxyXG4gICAgICAgICAgICB0ZXh0OiBpdGVtW3RoaXMudGV4dEZpZWxkXVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgICAgIHRoaXMudmlzaWJsZU9wdGlvbnMgPSBuZXdMaXN0T3B0aW9ucztcclxuICAgICAgICB0aGlzLmxpc3RUb3RhbEhlaWdodCA9IGxpc3RSZXNwb25zZS5jb3VudCEgKiB0aGlzLml0ZW1IZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlZmF1bHRSZXNpemUoaGVpZ2h0OiBudW1iZXIgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIGlmICghaGVpZ2h0KSByZXR1cm5cclxuICAgIC8vIDM1ID0gc2VhcmNoXHJcbiAgICAvLyAyKjE1ID0gcGFkZGluZ1xyXG4gICAgLy8gMSoxNSA9IHNlYXJjaCBtYXJnaW4gYm90dG9tXHJcbiAgICBjb25zdCBoNSA9IGhlaWdodCEgLSAzNSAtIDIqMTUgLSAxKjE1O1xyXG4gICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1jb3JlLXNjcm9sbC1jb250YWluZXItaGVpZ2h0JywgaDUgKyAncHgnKTtcclxuICAgIHRoaXMuc2Nyb2xsQ29udGFpbmVySGVpZ2h0ID0gaDU7XHJcbiAgICB0aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLm5leHQoe1xyXG4gICAgICAuLi50aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLnZhbHVlLFxyXG4gICAgICBwYWdpbmF0aW9uOiB7XHJcbiAgICAgICAgc2tpcDogMCxcclxuICAgICAgICB0YWtlOiBNYXRoLmNlaWwoaDUgLyB0aGlzLml0ZW1IZWlnaHQpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgdGhpcy5xdWVyeUxpc3RSZXF1ZXN0JFxyXG4gICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgIGZpbHRlcihfID0+ICEhdGhpcy5xdWVyeUxpc3RBcGkpLFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAoeCA9PiB0aGlzLmFwcFNlcnZpY2UucG9zdCh0aGlzLnF1ZXJ5TGlzdEFwaSwgeCkpXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKHggPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInRoaXMucXVlcnlMaXN0UmVxdWVzdCRcIiwgeClcclxuICAgICAgICAgICAgdGhpcy5iaW5kT3B0aW9ucyh4KTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgdGhpcy5kZWZhdWx0UmVzaXplKHRoaXMuaGVpZ2h0KTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBvbkxpc3RJdGVtQ2xpY2sob3B0aW9uOiBJQ29yZUxpc3RPcHRpb24pIHtcclxuICAgIHRoaXMud3JpdGVWYWx1ZShvcHRpb24udmFsdWUpO1xyXG4gICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKG9wdGlvbi52YWx1ZSk7XHJcbiAgICB0aGlzLmFjdGl2ZVZhbHVlID0gb3B0aW9uLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hUZXh0Q2hhbmdlKGU6IGFueSkge1xyXG4gICAgdGhpcy5zZWFyY2hTdHJlYW0kLm5leHQoZSk7XHJcbiAgfVxyXG5cclxuICBvblBhZ2luYXRpb24oZTogSVBhZ2luYXRpb24gfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIHRoaXMucXVlcnlMaXN0UmVxdWVzdCQubmV4dCh7XHJcbiAgICAgIC4uLnRoaXMucXVlcnlMaXN0UmVxdWVzdCQudmFsdWUsXHJcbiAgICAgIHBhZ2luYXRpb246IGVcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5tYXAoeCA9PiB4Py51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgI2NvbnRhaW5lciBjbGFzcz1cImNvcmUtbGlzdC1sYXp5LWNvbnRhaW5lclwiIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBoZWlnaHQgKyAncHgnfVwiPlxyXG4gICAgPGg0ICpuZ0lmPVwiISF0aXRsZVwiPnt7IHRpdGxlIHwgdHJhbnNsYXRlOiBsYW5nfX08L2g0PlxyXG4gICAgPGRpdiBjbGFzcz1cImxpc3RcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIHNlYXJjaFwiIHR5cGU9XCJ0ZXh0XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlOiBsYW5nXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uU2VhcmNoVGV4dENoYW5nZSgkZXZlbnQpXCIgYXV0b2NvbXBsZXRlPVwiZmFsc2VcIj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvcmUtc2Nyb2xsLWNvbnRhaW5lclwiICNjb3JlU2Nyb2xsQ29udGFpbmVyIFtjbGFzcy5mb3JtLWNvbnRyb2wtZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgYmxvY2tpbmdJbnRlcmFjdGlvblwiPlxyXG4gICAgICAgICAgICA8Y29yZS1zY3JvbGwtbGF6eSBbdmlzaWJsZU9wdGlvbnNdPVwidmlzaWJsZU9wdGlvbnNcIiBbaXRlbVRlbXBsYXRlXT1cIml0ZW1UZW1wbGF0ZVJlZlwiIFtoZWlnaHRdPVwic2Nyb2xsQ29udGFpbmVySGVpZ2h0XCIgW3RvdGFsSGVpZ2h0XT1cImxpc3RUb3RhbEhlaWdodFwiXHJcbiAgICAgICAgICAgICAgICBbY2hpbGRIZWlnaHRdPVwiaXRlbUhlaWdodFwiIChvblBhZ2luYXRpb24pPVwib25QYWdpbmF0aW9uKCRldmVudClcIj48L2NvcmUtc2Nyb2xsLWxhenk+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaXRlbVRlbXBsYXRlUmVmIGxldC1jb250ZXh0PVwiY29udGV4dFwiPlxyXG4gICAgPGxpIChjbGljayk9XCJvbkxpc3RJdGVtQ2xpY2soY29udGV4dClcIiBbbmdTdHlsZV09XCJ7IGhlaWdodDogaXRlbUhlaWdodCArICdweCcgfVwiIFtjbGFzcy5hY3RpdmVdPVwiY29udGV4dC52YWx1ZT09PWFjdGl2ZVZhbHVlXCI+XHJcbiAgICAgICAgPGxhYmVsIFtuZ1N0eWxlXT1cInsgd2lkdGg6ICcxMDAlJywgb3ZlcmZsb3c6ICdoaWRkZW4nLCB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycgfVwiIFthcHBUb29sdGlwXT1cImNvbnRleHQudGV4dCB8IHRhYmxlQ2VsbDogcGlwZSA6IGxhbmdcIj57eyBjb250ZXh0LnRleHQgfCB0YWJsZUNlbGw6IHBpcGUgOiBsYW5nIH19PC9sYWJlbD5cclxuICAgIDwvbGk+XHJcbjwvbmctdGVtcGxhdGU+Il19
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saXN0LWxhenkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWhpc3RhZmYtYWxwaGEvc3JjL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtbGlzdC1sYXp5L2NvcmUtbGlzdC1sYXp5L2NvcmUtbGlzdC1sYXp5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWxpc3QtbGF6eS9jb3JlLWxpc3QtbGF6eS9jb3JlLWxpc3QtbGF6eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBd0IsS0FBSyxFQUFvQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEosT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM3RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBYSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFVMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JB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eWxERElWLFlBQVksdU5BQ1osV0FBVyw4bUJBQ1gsbUJBQW1CLCtCQUNuQix1QkFBdUIsc0xBRXZCLDJCQUEyQiwyRkFDM0IsYUFBYSw2Q0FDYixhQUFhLGtEQUNiLGdCQUFnQjs7MkZBYVAscUJBQXFCO2tCQXpCakMsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLDJCQUEyQjt3QkFDM0IsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLHVCQUF1Qjt5QkFDbkM7cUJBQ0Y7eUlBSVEsS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFa0IsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNZLG1CQUFtQjtzQkFBcEQsU0FBUzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdG9yLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvcmVGb3JtQ29udHJvbEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLWZvcm0tY29udHJvbC1iYXNlL2NvcmUtZm9ybS1jb250cm9sLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgZnJvbUV2ZW50LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRW51bVRyYW5zbGF0ZUtleSB9IGZyb20gXCJhbHBoYS1nbG9iYWwtY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbXVsdGktbGFuZ3VhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcHAuc2VydmljZSc7XHJcbmltcG9ydCB7IElDb3JlTGlzdE9wdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUtbGlzdC9jb3JlLWxpc3QvY29yZS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGFwaSB9IGZyb20gXCJhbHBoYS1nbG9iYWwtY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IElGb3JtYXRlZFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9JRm9ybWF0ZWRSZXNwb25zZSc7XHJcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSVBhZ2luYXRpb24sIElRdWVyeUxpc3RSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9JUXVlcnlMaXN0UmVxdWVzdCc7XHJcbmltcG9ydCB7IElRdWVyeUxpc3RSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvSVF1ZXJ5TGlzdFJlc3BvbnNlJztcclxuaW1wb3J0IHsgRW51bUNvcmVUYWJsZVBpcGVUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS10YWJsZS9FbnVtQ29yZVRhYmxlUGlwZVR5cGUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb3JlU2Nyb2xsTGF6eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtc2Nyb2xsLWxhenkvY29yZS1zY3JvbGwtbGF6eS9jb3JlLXNjcm9sbC1sYXp5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRocmVlZG90c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3RocmVlZG90cy90aHJlZWRvdHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uLy4uL2FwcC1waXBlcy90cmFuc2xhdGUucGlwZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRW51bVNvcnREaXJlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9lbnVtL0VudW1Tb3J0RGlyZWN0aW9uJztcclxuaW1wb3J0IHsgVGFibGVDZWxsUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RhYmxlLWNlbGwucGlwZSc7XHJcbmltcG9ydCB7IENvcmVMb2FkaW5nU3VyZmFjZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtbG9hZGluZy1zdXJmYWNlL2NvcmUtbG9hZGluZy1zdXJmYWNlL2NvcmUtbG9hZGluZy1zdXJmYWNlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtbGlzdC1sYXp5JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIENvcmVTY3JvbGxMYXp5Q29tcG9uZW50LFxyXG4gICAgVGhyZWVkb3RzQ29tcG9uZW50LFxyXG4gICAgQ29yZUxvYWRpbmdTdXJmYWNlQ29tcG9uZW50LFxyXG4gICAgVHJhbnNsYXRlUGlwZSxcclxuICAgIFRhYmxlQ2VsbFBpcGUsXHJcbiAgICBUb29sdGlwRGlyZWN0aXZlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29yZS1saXN0LWxhenkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvcmUtbGlzdC1sYXp5LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogQ29yZUxpc3RMYXp5Q29tcG9uZW50XHJcbiAgICB9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZUxpc3RMYXp5Q29tcG9uZW50IGV4dGVuZHMgQ29yZUZvcm1Db250cm9sQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KCkgdGl0bGUhOiBFbnVtVHJhbnNsYXRlS2V5O1xyXG4gIEBJbnB1dCgpIHF1ZXJ5TGlzdEFwaSE6IGFwaTtcclxuICBASW5wdXQoKSB0ZXh0RmllbGQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGlwZSE6IEVudW1Db3JlVGFibGVQaXBlVHlwZTtcclxuICBASW5wdXQoKSBoZWlnaHQhOiBudW1iZXI7XHJcbiAgQElucHV0KCkgYmxvY2tpbmdJbnRlcmFjdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJykgY29udGFpbmVyITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdjb3JlU2Nyb2xsQ29udGFpbmVyJykgY29yZVNjcm9sbENvbnRhaW5lciE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIG5nQ29udHJvbCE6IE5nQ29udHJvbDtcclxuXHJcbiAgYWN0aXZlVmFsdWU6IGFueTtcclxuXHJcbiAgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICB2aXNpYmxlT3B0aW9uczogSUNvcmVMaXN0T3B0aW9uW10gPSBbXTtcclxuICBwbGFjZWhvbGRlclRleHQhOiBzdHJpbmc7XHJcbiAgc2VhcmNoSGVpZ2h0OiBudW1iZXIgPSA1MDtcclxuICBzZWFyY2hUZXh0OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHBsYWNlaG9sZGVyID0gRW51bVRyYW5zbGF0ZUtleS5VSV9DT01NT05fUExBQ0VfSE9MREVSX1NFQVJDSF9IRVJFO1xyXG4gIHRleHQhOiBzdHJpbmc7XHJcbiAgbGFuZyE6IHN0cmluZztcclxuICBzZWFyY2hTdHJlYW0kID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG5cclxuICBpdGVtSGVpZ2h0OiBudW1iZXIgPSA0MDtcclxuICBzY3JvbGxDb250YWluZXJIZWlnaHQhOiBudW1iZXI7XHJcbiAgbGlzdFRvdGFsSGVpZ2h0ITogbnVtYmVyO1xyXG5cclxuICBxdWVyeUxpc3RSZXF1ZXN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVF1ZXJ5TGlzdFJlcXVlc3Q+KHt9KTtcclxuXHJcbiAgYmxvY2tpbmdJbnRlcmFjdGlvbiE6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtbHM6IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIGFwcFNlcnZpY2U6IEFwcFNlcnZpY2VcclxuICApIHsgc3VwZXIoKSB9XHJcblxyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gb2JqO1xyXG4gICAgdGhpcy5hY3RpdmVWYWx1ZSA9IG9iajtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydoZWlnaHQnXSkge1xyXG4gICAgICBpZiAoY2hhbmdlc1snaGVpZ2h0J10uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0UmVzaXplKGNoYW5nZXNbJ2hlaWdodCddLmN1cnJlbnRWYWx1ZSlcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChjaGFuZ2VzWyd0ZXh0RmllbGQnXSkge1xyXG4gICAgICBpZiAoISFjaGFuZ2VzWyd0ZXh0RmllbGQnXS5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgICB0aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLm5leHQoe1xyXG4gICAgICAgICAgLi4udGhpcy5xdWVyeUxpc3RSZXF1ZXN0JC52YWx1ZSxcclxuICAgICAgICAgIHNvcnQ6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGZpZWxkOiBjaGFuZ2VzWyd0ZXh0RmllbGQnXS5jdXJyZW50VmFsdWUsXHJcbiAgICAgICAgICAgICAgc29ydERpcmVjdGlvbjogRW51bVNvcnREaXJlY3Rpb24uQVNDXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIF1cclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy5ibG9ja2luZ0ludGVyYWN0aW9uJC5zdWJzY3JpYmUoeCA9PiB0aGlzLmJsb2NraW5nSW50ZXJhY3Rpb24gPSB4KVxyXG4gICAgKVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLm1scy5sYW5nJC5zdWJzY3JpYmUoeCA9PiB7XHJcbiAgICAgICAgdGhpcy5sYW5nID0geFxyXG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXJUZXh0ID0gdGhpcy5tbHMudHJhbnModGhpcy5wbGFjZWhvbGRlciwgeClcclxuICAgICAgfSlcclxuICAgIClcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy5zZWFyY2hTdHJlYW0kLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKF8gPT4gISF0aGlzLnRleHRGaWVsZCksXHJcbiAgICAgICAgZGVib3VuY2VUaW1lKDUwMCksXHJcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxyXG4gICAgICApLnN1YnNjcmliZSh0ZXh0ID0+IHtcclxuICAgICAgICB0aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLm5leHQoe1xyXG4gICAgICAgICAgLi4udGhpcy5xdWVyeUxpc3RSZXF1ZXN0JC52YWx1ZSxcclxuICAgICAgICAgIHNlYXJjaDogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgZmllbGQ6IHRoaXMudGV4dEZpZWxkLFxyXG4gICAgICAgICAgICAgIHNlYXJjaEZvcjogdGV4dFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICBdXHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgIClcclxuXHJcbiAgfVxyXG5cclxuICBiaW5kT3B0aW9ucyh4OiBIdHRwUmVzcG9uc2U8YW55Pik6IHZvaWQge1xyXG5cclxuICAgIGlmICh4Lm9rICYmIHguc3RhdHVzID09PSAyMDApIHtcclxuICAgICAgY29uc3QgYm9keTogSUZvcm1hdGVkUmVzcG9uc2UgPSB4LmJvZHk7XHJcbiAgICAgIGlmIChib2R5LnN0YXR1c0NvZGUgPT09IDIwMCkge1xyXG5cclxuICAgICAgICBjb25zdCBsaXN0UmVzcG9uc2U6IElRdWVyeUxpc3RSZXNwb25zZSA9IGJvZHkuaW5uZXJCb2R5O1xyXG5cclxuICAgICAgICBjb25zdCBuZXdMaXN0T3B0aW9uczogSUNvcmVMaXN0T3B0aW9uW10gPSBbXTtcclxuICAgICAgICBsaXN0UmVzcG9uc2UubGlzdD8ubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgIG5ld0xpc3RPcHRpb25zLnB1c2goe1xyXG4gICAgICAgICAgICB2YWx1ZTogaXRlbS5pZCxcclxuICAgICAgICAgICAgdGV4dDogaXRlbVt0aGlzLnRleHRGaWVsZF1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLnZpc2libGVPcHRpb25zID0gbmV3TGlzdE9wdGlvbnM7XHJcbiAgICAgICAgdGhpcy5saXN0VG90YWxIZWlnaHQgPSBsaXN0UmVzcG9uc2UuY291bnQhICogdGhpcy5pdGVtSGVpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWZhdWx0UmVzaXplKGhlaWdodDogbnVtYmVyIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICBpZiAoIWhlaWdodCkgcmV0dXJuXHJcbiAgICAvLyAzNSA9IHNlYXJjaFxyXG4gICAgLy8gMioxNSA9IHBhZGRpbmdcclxuICAgIC8vIDEqMTUgPSBzZWFyY2ggbWFyZ2luIGJvdHRvbVxyXG4gICAgY29uc3QgaDUgPSBoZWlnaHQhIC0gMzUgLSAyKjE1IC0gMSoxNTtcclxuICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tY29yZS1zY3JvbGwtY29udGFpbmVyLWhlaWdodCcsIGg1ICsgJ3B4Jyk7XHJcbiAgICB0aGlzLnNjcm9sbENvbnRhaW5lckhlaWdodCA9IGg1O1xyXG4gICAgdGhpcy5xdWVyeUxpc3RSZXF1ZXN0JC5uZXh0KHtcclxuICAgICAgLi4udGhpcy5xdWVyeUxpc3RSZXF1ZXN0JC52YWx1ZSxcclxuICAgICAgcGFnaW5hdGlvbjoge1xyXG4gICAgICAgIHNraXA6IDAsXHJcbiAgICAgICAgdGFrZTogTWF0aC5jZWlsKGg1IC8gdGhpcy5pdGVtSGVpZ2h0KVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgIHRoaXMucXVlcnlMaXN0UmVxdWVzdCRcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICBmaWx0ZXIoXyA9PiAhIXRoaXMucXVlcnlMaXN0QXBpKSxcclxuICAgICAgICAgICAgc3dpdGNoTWFwKHggPT4gdGhpcy5hcHBTZXJ2aWNlLnBvc3QodGhpcy5xdWVyeUxpc3RBcGksIHgpKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJ0aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkXCIsIHgpXHJcbiAgICAgICAgICAgIHRoaXMuYmluZE9wdGlvbnMoeCk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIHRoaXMuZGVmYXVsdFJlc2l6ZSh0aGlzLmhlaWdodCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgb25MaXN0SXRlbUNsaWNrKG9wdGlvbjogSUNvcmVMaXN0T3B0aW9uKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuYmxvY2tpbmdJbnRlcmFjdGlvbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmJsb2NraW5nSW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLndyaXRlVmFsdWUob3B0aW9uLnZhbHVlKTtcclxuICAgICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgIHRoaXMub25DaGFuZ2Uob3B0aW9uLnZhbHVlKTtcclxuICAgICAgdGhpcy5hY3RpdmVWYWx1ZSA9IG9wdGlvbi52YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2VhcmNoVGV4dENoYW5nZShlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VhcmNoU3RyZWFtJC5uZXh0KGUpO1xyXG4gIH1cclxuXHJcbiAgb25QYWdpbmF0aW9uKGU6IElQYWdpbmF0aW9uIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICB0aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLm5leHQoe1xyXG4gICAgICAuLi50aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLnZhbHVlLFxyXG4gICAgICBwYWdpbmF0aW9uOiBlXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMubWFwKHggPT4geD8udW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJjb3JlLWxpc3QtbGF6eS1jb250YWluZXJcIiBbbmdTdHlsZV09XCJ7IGhlaWdodDogaGVpZ2h0ICsgJ3B4J31cIj5cclxuICAgIDxoNCAqbmdJZj1cIiEhdGl0bGVcIj57eyB0aXRsZSB8IHRyYW5zbGF0ZTogbGFuZ319PC9oND5cclxuICAgIDxkaXYgY2xhc3M9XCJsaXN0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBzZWFyY2hcIiB0eXBlPVwidGV4dFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZTogbGFuZ1wiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIiAobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaFRleHRDaGFuZ2UoJGV2ZW50KVwiIGF1dG9jb21wbGV0ZT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb3JlLXNjcm9sbC1jb250YWluZXJcIiAjY29yZVNjcm9sbENvbnRhaW5lciBbY2xhc3MuZm9ybS1jb250cm9sLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IGJsb2NraW5nSW50ZXJhY3Rpb25cIj5cclxuICAgICAgICAgICAgQGlmIChibG9ja2luZ0ludGVyYWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICA8Y29yZS1sb2FkaW5nLXN1cmZhY2UgW2hlaWdodF09XCJoZWlnaHRcIj48L2NvcmUtbG9hZGluZy1zdXJmYWNlPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDxjb3JlLXNjcm9sbC1sYXp5IFt2aXNpYmxlT3B0aW9uc109XCJ2aXNpYmxlT3B0aW9uc1wiIFtpdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlUmVmXCIgW2hlaWdodF09XCJzY3JvbGxDb250YWluZXJIZWlnaHRcIiBbdG90YWxIZWlnaHRdPVwibGlzdFRvdGFsSGVpZ2h0XCJcclxuICAgICAgICAgICAgICAgIFtjaGlsZEhlaWdodF09XCJpdGVtSGVpZ2h0XCIgKG9uUGFnaW5hdGlvbik9XCJvblBhZ2luYXRpb24oJGV2ZW50KVwiPjwvY29yZS1zY3JvbGwtbGF6eT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGVSZWYgbGV0LWNvbnRleHQ9XCJjb250ZXh0XCI+XHJcbiAgICA8bGkgKGNsaWNrKT1cIm9uTGlzdEl0ZW1DbGljayhjb250ZXh0KVwiIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBpdGVtSGVpZ2h0ICsgJ3B4JyB9XCIgW2NsYXNzLmFjdGl2ZV09XCJjb250ZXh0LnZhbHVlPT09YWN0aXZlVmFsdWVcIj5cclxuICAgICAgICA8bGFiZWwgW25nU3R5bGVdPVwieyB3aWR0aDogJzEwMCUnLCBvdmVyZmxvdzogJ2hpZGRlbicsIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyB9XCIgW2FwcFRvb2x0aXBdPVwiY29udGV4dC50ZXh0IHwgdGFibGVDZWxsOiBwaXBlIDogbGFuZ1wiPnt7IGNvbnRleHQudGV4dCB8IHRhYmxlQ2VsbDogcGlwZSA6IGxhbmcgfX08L2xhYmVsPlxyXG4gICAgPC9saT5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -19174,10 +19174,16 @@ class CoreListLazyComponent extends CoreFormControlBaseComponent {
19174
19174
  });
19175
19175
  }
19176
19176
  onListItemClick(option) {
19177
- this.writeValue(option.value);
19178
- this.markAsTouched();
19179
- this.onChange(option.value);
19180
- this.activeValue = option.value;
19177
+ if (this.blockingInteraction) {
19178
+ return;
19179
+ }
19180
+ else {
19181
+ this.blockingInteraction = true;
19182
+ this.writeValue(option.value);
19183
+ this.markAsTouched();
19184
+ this.onChange(option.value);
19185
+ this.activeValue = option.value;
19186
+ }
19181
19187
  }
19182
19188
  onSearchTextChange(e) {
19183
19189
  this.searchStream$.next(e);
@@ -19192,13 +19198,13 @@ class CoreListLazyComponent extends CoreFormControlBaseComponent {
19192
19198
  this.subscriptions.map(x => x?.unsubscribe());
19193
19199
  }
19194
19200
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreListLazyComponent, deps: [{ token: MultiLanguageService }, { token: i0.Injector }, { token: AppService }], target: i0.ɵɵFactoryTarget.Component }); }
19195
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: CoreListLazyComponent, isStandalone: true, selector: "core-list-lazy", inputs: { title: "title", queryListApi: "queryListApi", textField: "textField", pipe: "pipe", height: "height", blockingInteraction$: "blockingInteraction$" }, providers: [
19201
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.3", type: CoreListLazyComponent, isStandalone: true, selector: "core-list-lazy", inputs: { title: "title", queryListApi: "queryListApi", textField: "textField", pipe: "pipe", height: "height", blockingInteraction$: "blockingInteraction$" }, providers: [
19196
19202
  {
19197
19203
  provide: NG_VALUE_ACCESSOR,
19198
19204
  multi: true,
19199
19205
  useExisting: CoreListLazyComponent
19200
19206
  }
19201
- ], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "coreScrollContainer", first: true, predicate: ["coreScrollContainer"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"core-list-lazy-container\" [ngStyle]=\"{ height: height + 'px'}\">\r\n <h4 *ngIf=\"!!title\">{{ title | translate: lang}}</h4>\r\n <div class=\"list\">\r\n <div class=\"search-wrapper\">\r\n <input class=\"form-control search\" type=\"text\" [placeholder]=\"placeholder | translate: lang\"\r\n [(ngModel)]=\"searchText\" (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\">\r\n </div>\r\n\r\n <div class=\"core-scroll-container\" #coreScrollContainer [class.form-control-disabled]=\"disabled || blockingInteraction\">\r\n <core-scroll-lazy [visibleOptions]=\"visibleOptions\" [itemTemplate]=\"itemTemplateRef\" [height]=\"scrollContainerHeight\" [totalHeight]=\"listTotalHeight\"\r\n [childHeight]=\"itemHeight\" (onPagination)=\"onPagination($event)\"></core-scroll-lazy>\r\n </div>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li (click)=\"onListItemClick(context)\" [ngStyle]=\"{ height: itemHeight + 'px' }\" [class.active]=\"context.value===activeValue\">\r\n <label [ngStyle]=\"{ width: '100%', overflow: 'hidden', textOverflow: 'ellipsis' }\" [appTooltip]=\"context.text | tableCell: pipe : lang\">{{ context.text | tableCell: pipe : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-list-lazy-container{--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: lightgray;--search-item-hover-color: white;--count-height: 1000px;--active-item-background-color: #358ccb;--core-scroll-container-height: 500px;position:relative;display:block;padding:var(--size-left-bar-block-cell-spacing);box-sizing:border-box}.core-list-lazy-container .core-scroll-container{display:block;padding:0;height:var(--core-scroll-container-height)}.core-list-lazy-container ul,.core-list-lazy-container li{box-sizing:border-box;margin:0}.core-list-lazy-container .list{display:block;position:relative;width:100%;overflow-y:auto;overflow-x:hidden;background-color:#fff;margin-top:2px;transition:.25s linear}.core-list-lazy-container .list ul>li{display:flex;align-items:center;cursor:pointer;transition:.25s linear;margin-left:3px;height:50px;padding:var(--size-left-bar-block-cell-spacing);font-size:var(--typo-basic-font-size)}.core-list-lazy-container .list ul>li.more{height:800px}.core-list-lazy-container .list ul>li:hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-list-lazy-container .list ul>li.active{background-color:var(--color-basic-orange);color:#fff;transition:.25s linear}.core-list-lazy-container .search-wrapper{background-color:#fff;width:100%;padding:3px;position:sticky;top:0;left:0}.core-list-lazy-container .search-wrapper>input.search{margin-bottom:var(--size-left-bar-block-cell-spacing);background-color:var(--search-bg-color);font-size:15px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: CoreScrollLazyComponent, selector: "core-scroll-lazy", inputs: ["visibleOptions", "itemTemplate", "height", "totalHeight", "childHeight", "search"], outputs: ["onPagination"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: TableCellPipe, name: "tableCell" }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "position"] }], encapsulation: i0.ViewEncapsulation.None }); }
19207
+ ], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "coreScrollContainer", first: true, predicate: ["coreScrollContainer"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"core-list-lazy-container\" [ngStyle]=\"{ height: height + 'px'}\">\r\n <h4 *ngIf=\"!!title\">{{ title | translate: lang}}</h4>\r\n <div class=\"list\">\r\n <div class=\"search-wrapper\">\r\n <input class=\"form-control search\" type=\"text\" [placeholder]=\"placeholder | translate: lang\"\r\n [(ngModel)]=\"searchText\" (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\">\r\n </div>\r\n\r\n <div class=\"core-scroll-container\" #coreScrollContainer [class.form-control-disabled]=\"disabled || blockingInteraction\">\r\n @if (blockingInteraction) {\r\n <core-loading-surface [height]=\"height\"></core-loading-surface>\r\n }\r\n <core-scroll-lazy [visibleOptions]=\"visibleOptions\" [itemTemplate]=\"itemTemplateRef\" [height]=\"scrollContainerHeight\" [totalHeight]=\"listTotalHeight\"\r\n [childHeight]=\"itemHeight\" (onPagination)=\"onPagination($event)\"></core-scroll-lazy>\r\n </div>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li (click)=\"onListItemClick(context)\" [ngStyle]=\"{ height: itemHeight + 'px' }\" [class.active]=\"context.value===activeValue\">\r\n <label [ngStyle]=\"{ width: '100%', overflow: 'hidden', textOverflow: 'ellipsis' }\" [appTooltip]=\"context.text | tableCell: pipe : lang\">{{ context.text | tableCell: pipe : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-list-lazy-container{--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: lightgray;--search-item-hover-color: white;--count-height: 1000px;--active-item-background-color: #358ccb;--core-scroll-container-height: 500px;position:relative;display:block;padding:var(--size-left-bar-block-cell-spacing);box-sizing:border-box}.core-list-lazy-container .core-scroll-container{display:block;padding:0;height:var(--core-scroll-container-height)}.core-list-lazy-container ul,.core-list-lazy-container li{box-sizing:border-box;margin:0}.core-list-lazy-container .list{display:block;position:relative;width:100%;overflow-y:auto;overflow-x:hidden;background-color:#fff;margin-top:2px;transition:.25s linear}.core-list-lazy-container .list ul>li{display:flex;align-items:center;cursor:pointer;transition:.25s linear;margin-left:3px;height:50px;padding:var(--size-left-bar-block-cell-spacing);font-size:var(--typo-basic-font-size)}.core-list-lazy-container .list ul>li.more{height:800px}.core-list-lazy-container .list ul>li:hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-list-lazy-container .list ul>li.active{background-color:var(--color-basic-orange);color:#fff;transition:.25s linear}.core-list-lazy-container .search-wrapper{background-color:#fff;width:100%;padding:3px;position:sticky;top:0;left:0}.core-list-lazy-container .search-wrapper>input.search{margin-bottom:var(--size-left-bar-block-cell-spacing);background-color:var(--search-bg-color);font-size:15px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: CoreScrollLazyComponent, selector: "core-scroll-lazy", inputs: ["visibleOptions", "itemTemplate", "height", "totalHeight", "childHeight", "search"], outputs: ["onPagination"] }, { kind: "component", type: CoreLoadingSurfaceComponent, selector: "core-loading-surface", inputs: ["loading", "height"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: TableCellPipe, name: "tableCell" }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "position"] }], encapsulation: i0.ViewEncapsulation.None }); }
19202
19208
  }
19203
19209
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreListLazyComponent, decorators: [{
19204
19210
  type: Component,
@@ -19208,6 +19214,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
19208
19214
  ReactiveFormsModule,
19209
19215
  CoreScrollLazyComponent,
19210
19216
  ThreedotsComponent,
19217
+ CoreLoadingSurfaceComponent,
19211
19218
  TranslatePipe,
19212
19219
  TableCellPipe,
19213
19220
  TooltipDirective
@@ -19217,7 +19224,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
19217
19224
  multi: true,
19218
19225
  useExisting: CoreListLazyComponent
19219
19226
  }
19220
- ], template: "<div #container class=\"core-list-lazy-container\" [ngStyle]=\"{ height: height + 'px'}\">\r\n <h4 *ngIf=\"!!title\">{{ title | translate: lang}}</h4>\r\n <div class=\"list\">\r\n <div class=\"search-wrapper\">\r\n <input class=\"form-control search\" type=\"text\" [placeholder]=\"placeholder | translate: lang\"\r\n [(ngModel)]=\"searchText\" (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\">\r\n </div>\r\n\r\n <div class=\"core-scroll-container\" #coreScrollContainer [class.form-control-disabled]=\"disabled || blockingInteraction\">\r\n <core-scroll-lazy [visibleOptions]=\"visibleOptions\" [itemTemplate]=\"itemTemplateRef\" [height]=\"scrollContainerHeight\" [totalHeight]=\"listTotalHeight\"\r\n [childHeight]=\"itemHeight\" (onPagination)=\"onPagination($event)\"></core-scroll-lazy>\r\n </div>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li (click)=\"onListItemClick(context)\" [ngStyle]=\"{ height: itemHeight + 'px' }\" [class.active]=\"context.value===activeValue\">\r\n <label [ngStyle]=\"{ width: '100%', overflow: 'hidden', textOverflow: 'ellipsis' }\" [appTooltip]=\"context.text | tableCell: pipe : lang\">{{ context.text | tableCell: pipe : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-list-lazy-container{--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: lightgray;--search-item-hover-color: white;--count-height: 1000px;--active-item-background-color: #358ccb;--core-scroll-container-height: 500px;position:relative;display:block;padding:var(--size-left-bar-block-cell-spacing);box-sizing:border-box}.core-list-lazy-container .core-scroll-container{display:block;padding:0;height:var(--core-scroll-container-height)}.core-list-lazy-container ul,.core-list-lazy-container li{box-sizing:border-box;margin:0}.core-list-lazy-container .list{display:block;position:relative;width:100%;overflow-y:auto;overflow-x:hidden;background-color:#fff;margin-top:2px;transition:.25s linear}.core-list-lazy-container .list ul>li{display:flex;align-items:center;cursor:pointer;transition:.25s linear;margin-left:3px;height:50px;padding:var(--size-left-bar-block-cell-spacing);font-size:var(--typo-basic-font-size)}.core-list-lazy-container .list ul>li.more{height:800px}.core-list-lazy-container .list ul>li:hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-list-lazy-container .list ul>li.active{background-color:var(--color-basic-orange);color:#fff;transition:.25s linear}.core-list-lazy-container .search-wrapper{background-color:#fff;width:100%;padding:3px;position:sticky;top:0;left:0}.core-list-lazy-container .search-wrapper>input.search{margin-bottom:var(--size-left-bar-block-cell-spacing);background-color:var(--search-bg-color);font-size:15px;width:100%}\n"] }]
19227
+ ], template: "<div #container class=\"core-list-lazy-container\" [ngStyle]=\"{ height: height + 'px'}\">\r\n <h4 *ngIf=\"!!title\">{{ title | translate: lang}}</h4>\r\n <div class=\"list\">\r\n <div class=\"search-wrapper\">\r\n <input class=\"form-control search\" type=\"text\" [placeholder]=\"placeholder | translate: lang\"\r\n [(ngModel)]=\"searchText\" (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\">\r\n </div>\r\n\r\n <div class=\"core-scroll-container\" #coreScrollContainer [class.form-control-disabled]=\"disabled || blockingInteraction\">\r\n @if (blockingInteraction) {\r\n <core-loading-surface [height]=\"height\"></core-loading-surface>\r\n }\r\n <core-scroll-lazy [visibleOptions]=\"visibleOptions\" [itemTemplate]=\"itemTemplateRef\" [height]=\"scrollContainerHeight\" [totalHeight]=\"listTotalHeight\"\r\n [childHeight]=\"itemHeight\" (onPagination)=\"onPagination($event)\"></core-scroll-lazy>\r\n </div>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li (click)=\"onListItemClick(context)\" [ngStyle]=\"{ height: itemHeight + 'px' }\" [class.active]=\"context.value===activeValue\">\r\n <label [ngStyle]=\"{ width: '100%', overflow: 'hidden', textOverflow: 'ellipsis' }\" [appTooltip]=\"context.text | tableCell: pipe : lang\">{{ context.text | tableCell: pipe : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-list-lazy-container{--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: lightgray;--search-item-hover-color: white;--count-height: 1000px;--active-item-background-color: #358ccb;--core-scroll-container-height: 500px;position:relative;display:block;padding:var(--size-left-bar-block-cell-spacing);box-sizing:border-box}.core-list-lazy-container .core-scroll-container{display:block;padding:0;height:var(--core-scroll-container-height)}.core-list-lazy-container ul,.core-list-lazy-container li{box-sizing:border-box;margin:0}.core-list-lazy-container .list{display:block;position:relative;width:100%;overflow-y:auto;overflow-x:hidden;background-color:#fff;margin-top:2px;transition:.25s linear}.core-list-lazy-container .list ul>li{display:flex;align-items:center;cursor:pointer;transition:.25s linear;margin-left:3px;height:50px;padding:var(--size-left-bar-block-cell-spacing);font-size:var(--typo-basic-font-size)}.core-list-lazy-container .list ul>li.more{height:800px}.core-list-lazy-container .list ul>li:hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-list-lazy-container .list ul>li.active{background-color:var(--color-basic-orange);color:#fff;transition:.25s linear}.core-list-lazy-container .search-wrapper{background-color:#fff;width:100%;padding:3px;position:sticky;top:0;left:0}.core-list-lazy-container .search-wrapper>input.search{margin-bottom:var(--size-left-bar-block-cell-spacing);background-color:var(--search-bg-color);font-size:15px;width:100%}\n"] }]
19221
19228
  }], ctorParameters: () => [{ type: MultiLanguageService }, { type: i0.Injector }, { type: AppService }], propDecorators: { title: [{
19222
19229
  type: Input
19223
19230
  }], queryListApi: [{