@tetacom/ng-components 1.1.6 → 1.1.8
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.
- package/component/date-picker/base-picker.d.ts +9 -8
- package/component/date-picker/date-range/date-range.component.d.ts +10 -9
- package/esm2022/component/accordion/accordion-head/accordion-head.component.mjs +3 -3
- package/esm2022/component/avatar/avatar/avatar.component.mjs +3 -3
- package/esm2022/component/date-picker/base-picker.mjs +21 -15
- package/esm2022/component/date-picker/date-picker/date-calendar/date-calendar.component.mjs +3 -3
- package/esm2022/component/date-picker/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/component/date-picker/date-range/date-range.component.mjs +41 -30
- package/esm2022/component/date-picker/date-range/range-calendar/range-calendar.component.mjs +3 -3
- package/esm2022/component/date-picker/month-picker/month-picker.component.mjs +3 -3
- package/esm2022/component/expand-card/expand-card/expand-card.component.mjs +3 -3
- package/esm2022/component/expand-card/expand-item/expand-item.component.mjs +3 -3
- package/esm2022/component/expand-panel/expand-panel/expand-panel.component.mjs +3 -3
- package/esm2022/component/file-upload/file-upload-area/file-upload-area.component.mjs +3 -3
- package/esm2022/component/icon/icon/icon.component.mjs +2 -2
- package/esm2022/component/input/text-field/text-field.component.mjs +3 -3
- package/esm2022/component/modal/dialog/dialog.component.mjs +2 -2
- package/esm2022/component/resize-panel/resize-panel/resize-panel.component.mjs +3 -3
- package/esm2022/component/select/select/select.component.mjs +3 -3
- package/esm2022/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +3 -3
- package/esm2022/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +3 -3
- package/esm2022/component/theme-switch/theme-switch/theme-switch.component.mjs +3 -3
- package/esm2022/directive/scrollable/scrollable/scrollable.component.mjs +5 -3
- package/fesm2022/tetacom-ng-components.mjs +89 -70
- package/fesm2022/tetacom-ng-components.mjs.map +1 -1
- package/package.json +1 -1
- package/style/input.scss +2 -1
|
@@ -212,7 +212,7 @@ export class SelectComponent {
|
|
|
212
212
|
useExisting: forwardRef(() => SelectComponent),
|
|
213
213
|
multi: true,
|
|
214
214
|
},
|
|
215
|
-
], queries: [{ propertyName: "optionDirective", first: true, predicate: SelectOptionDirective, descendants: true, static: true }, { propertyName: "valueDirective", first: true, predicate: SelectValueDirective, descendants: true, static: true }], ngImport: i0, template: "<ng-container *tetaLet=\"locale | async as loc\">\n <teta-dropdown [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [autoClose]=\"autoClose\"\n [autoCloseIgnore]=\"autoCloseIgnore\"\n [(open)]=\"open\"\n [appendToBody]=\"appendToBody\"\n [disabled]=\"disabled\"\n [viewType]=\"viewType\"\n class=\"row row_auto\">\n <div tetaDropdownHead\n [class]=\"'row row_auto select-head select_'+viewType\"\n [class.select-head_invalid]=\"invalid\">\n <div class=\"row_auto flex align-center\">\n <teta-icon *ngIf=\"icon\" [name]=\"icon\" class=\"margin-right-1\"></teta-icon>\n <span class=\"placeholder\" *ngIf=\"(value == null || value?.length === 0)&&!multiple\">\n {{placeholder || loc.notSelected}}\n </span>\n <ng-container\n *ngTemplateOutlet=\"valueDirective ? valueDirective.template : valueDefault; context: {$implicit: value, value: value}\"></ng-container>\n </div>\n <teta-icon [name]=\"'arrowDownSmall'\"></teta-icon>\n </div>\n <div *ngIf=\"options?.length\" tetaDropdownContent class=\"select-body row_auto\"\n (click)=\"$event.preventDefault()\">\n <ng-container *ngIf=\"searchRef\">\n <div class=\"select-search padding-h-2\">\n <teta-text-field [ngModel]=\"searchText\"\n [class]=\"'select_'+viewType\"\n (ngModelChange)=\"search($event)\"\n [placeholder]=\"loc.search\"\n [leftIconName]=\"'search'\"></teta-text-field>\n </div>\n </ng-container>\n <ng-container *ngIf=\"visibleOptions?.length;else notFound \">\n <ng-container *ngIf=\"!multiple && allowNull\">\n <div [class]=\"'margin-h-2 list-item list-item_interactive select_'+viewType\"\n (click)=\"clear()\">\n {{loc.notSelected}}\n </div>\n <div class=\"list-divider margin-bottom-0\"></div>\n </ng-container>\n <teta-scrollable *ngIf=\"virtual; else default\" class=\"column column_auto padding-h-2\">\n <cdk-virtual-scroll-viewport tetaScrollable\n [itemSize]=\"40\"\n minBufferPx=\"200\"\n maxBufferPx=\"600\">\n <div [class]=\"'select-list-item select-list-item_interactive justify-content-between select_'+viewType\"\n *cdkVirtualFor=\"let option of visibleOptions; templateCacheSize: 0;\"\n [class.select-list-item_active]=\"itemSelected(option)\"\n [tetaHighlight]=\"searchText\"\n (click)=\"clickOption(option, $event)\">\n <div [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </div>\n <teta-icon *ngIf=\"itemSelected(option)\" [name]=\"'tick'\" [palette]=\"'text'\"\n class=\"margin-left-2\"></teta-icon>\n </div>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n <ng-template #default>\n <teta-scrollable class=\"column column_auto padding-h-2\" [contentClass]=\"['column', 'column_auto']\">\n <div class=\"select-list\">\n <div [class]=\"'list-item list-item_interactive justify-content-between select_'+viewType\"\n *ngFor=\"let option of visibleOptions\"\n [class.select-list-item_active]=\"itemSelected(option) && multiple\"\n [class.select-list-item]=\"multiple\"\n (click)=\"clickOption(option, $event)\">\n <span [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </span>\n <teta-icon *ngIf=\"itemSelected(option) && multiple\" [name]=\"'tick'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </div>\n </teta-scrollable>\n </ng-template>\n </ng-container>\n <div class=\"row row_auto select-chip-field flex-wrap\" *ngIf=\"multiple && value?.length\">\n <div *ngFor=\"let item of value\" class=\"tag\">\n {{getText(item)}}\n <teta-icon class=\"cursor-pointer\" [name]=\"'closeCircle'\" (click)=\"removeItemClick(item, $event)\"></teta-icon>\n </div>\n </div>\n </div>\n </teta-dropdown>\n <ng-template #notFound>\n <p\n class=\"padding-h-3 text-overflow-ellipsis overflow-hidden select-not-found-option\">{{notFoundText || loc.notFound}}</p>\n </ng-template>\n <ng-template #optionDefault let-option>\n {{getText(option)}}\n </ng-template>\n <ng-template #valueDefault let-value>\n <div class=\"row_auto overflow-hidden text-overflow-ellipsis\" *ngIf=\"multiple\">\n {{loc.selected + ' ' + value?.length}}\n </div>\n <ng-container *ngIf=\"!multiple\">\n <span class=\"row row_auto overflow-hidden text-overflow-ellipsis\">{{getText(value)}}</span>\n </ng-container>\n </ng-template>\n</ng-container>\n\n", styles: [""], dependencies: [{ kind: "component", type: i2.DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: i3.DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "directive", type: i4.DropdownContentDirective, selector: "[tetaDropdownContent]" }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i6.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i6.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: i9.HighlightDirective, selector: "[tetaHighlight]", inputs: ["tetaHighlight"] }, { kind: "component", type: i10.TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "decimalPart", "invalid"] }, { kind: "directive", type: i11.LetDirective, selector: "[tetaLet]", inputs: ["tetaLet"] }, { kind: "directive", type: i12.ScrollableDirective, selector: "[tetaScrollable]" }, { kind: "component", type: i13.ScrollableComponent, selector: "teta-scrollable", inputs: ["direction", "showScrollbars", "contentClass"], outputs: ["scroll"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
215
|
+
], queries: [{ propertyName: "optionDirective", first: true, predicate: SelectOptionDirective, descendants: true, static: true }, { propertyName: "valueDirective", first: true, predicate: SelectValueDirective, descendants: true, static: true }], ngImport: i0, template: "<ng-container *tetaLet=\"locale | async as loc\">\n <teta-dropdown [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [autoClose]=\"autoClose\"\n [autoCloseIgnore]=\"autoCloseIgnore\"\n [(open)]=\"open\"\n [appendToBody]=\"appendToBody\"\n [disabled]=\"disabled\"\n [viewType]=\"viewType\"\n class=\"row row_auto\">\n <div tetaDropdownHead\n [class]=\"'row row_auto select-head select_'+viewType\"\n [class.select-head_invalid]=\"invalid\">\n <div class=\"row_auto flex align-center\">\n <teta-icon *ngIf=\"icon\" [name]=\"icon\" [palette]=\"'text'\" class=\"margin-right-1\"></teta-icon>\n <span class=\"placeholder\" *ngIf=\"(value == null || value?.length === 0)&&!multiple\">\n {{placeholder || loc.notSelected}}\n </span>\n <ng-container\n *ngTemplateOutlet=\"valueDirective ? valueDirective.template : valueDefault; context: {$implicit: value, value: value}\"></ng-container>\n </div>\n <teta-icon [name]=\"'arrowDownSmall'\" [palette]=\"'text'\"></teta-icon>\n </div>\n <div *ngIf=\"options?.length\" tetaDropdownContent class=\"select-body row_auto\"\n (click)=\"$event.preventDefault()\">\n <ng-container *ngIf=\"searchRef\">\n <div class=\"select-search padding-h-2\">\n <teta-text-field [ngModel]=\"searchText\"\n [class]=\"'select_'+viewType\"\n (ngModelChange)=\"search($event)\"\n [placeholder]=\"loc.search\"\n [leftIconName]=\"'search'\"></teta-text-field>\n </div>\n </ng-container>\n <ng-container *ngIf=\"visibleOptions?.length;else notFound \">\n <ng-container *ngIf=\"!multiple && allowNull\">\n <div [class]=\"'margin-h-2 list-item list-item_interactive select_'+viewType\"\n (click)=\"clear()\">\n {{loc.notSelected}}\n </div>\n <div class=\"list-divider margin-bottom-0\"></div>\n </ng-container>\n <teta-scrollable *ngIf=\"virtual; else default\" class=\"column column_auto padding-h-2\">\n <cdk-virtual-scroll-viewport tetaScrollable\n [itemSize]=\"40\"\n minBufferPx=\"200\"\n maxBufferPx=\"600\">\n <div [class]=\"'select-list-item select-list-item_interactive justify-content-between select_'+viewType\"\n *cdkVirtualFor=\"let option of visibleOptions; templateCacheSize: 0;\"\n [class.select-list-item_active]=\"itemSelected(option)\"\n [tetaHighlight]=\"searchText\"\n (click)=\"clickOption(option, $event)\">\n <div [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </div>\n <teta-icon *ngIf=\"itemSelected(option)\" [name]=\"'tick'\" [palette]=\"'text'\"\n class=\"margin-left-2\"></teta-icon>\n </div>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n <ng-template #default>\n <teta-scrollable class=\"column column_auto padding-h-2\" [contentClass]=\"['column', 'column_auto']\">\n <div class=\"select-list\">\n <div [class]=\"'list-item list-item_interactive justify-content-between select_'+viewType\"\n *ngFor=\"let option of visibleOptions\"\n [class.select-list-item_active]=\"itemSelected(option) && multiple\"\n [class.select-list-item]=\"multiple\"\n (click)=\"clickOption(option, $event)\">\n <span [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </span>\n <teta-icon *ngIf=\"itemSelected(option) && multiple\" [name]=\"'tick'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </div>\n </teta-scrollable>\n </ng-template>\n </ng-container>\n <div class=\"row row_auto select-chip-field flex-wrap\" *ngIf=\"multiple && value?.length\">\n <div *ngFor=\"let item of value\" class=\"tag\">\n {{getText(item)}}\n <teta-icon class=\"cursor-pointer\" [palette]=\"'text'\" [name]=\"'closeCircle'\" (click)=\"removeItemClick(item, $event)\"></teta-icon>\n </div>\n </div>\n </div>\n </teta-dropdown>\n <ng-template #notFound>\n <p\n class=\"padding-h-3 text-overflow-ellipsis overflow-hidden select-not-found-option\">{{notFoundText || loc.notFound}}</p>\n </ng-template>\n <ng-template #optionDefault let-option>\n {{getText(option)}}\n </ng-template>\n <ng-template #valueDefault let-value>\n <div class=\"row_auto overflow-hidden text-overflow-ellipsis\" *ngIf=\"multiple\">\n {{loc.selected + ' ' + value?.length}}\n </div>\n <ng-container *ngIf=\"!multiple\">\n <span class=\"row row_auto overflow-hidden text-overflow-ellipsis\">{{getText(value)}}</span>\n </ng-container>\n </ng-template>\n</ng-container>\n\n", styles: [""], dependencies: [{ kind: "component", type: i2.DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: i3.DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "directive", type: i4.DropdownContentDirective, selector: "[tetaDropdownContent]" }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i6.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i6.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: i9.HighlightDirective, selector: "[tetaHighlight]", inputs: ["tetaHighlight"] }, { kind: "component", type: i10.TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "decimalPart", "invalid"] }, { kind: "directive", type: i11.LetDirective, selector: "[tetaLet]", inputs: ["tetaLet"] }, { kind: "directive", type: i12.ScrollableDirective, selector: "[tetaScrollable]" }, { kind: "component", type: i13.ScrollableComponent, selector: "teta-scrollable", inputs: ["direction", "showScrollbars", "contentClass"], outputs: ["scroll"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
216
216
|
}
|
|
217
217
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: SelectComponent, decorators: [{
|
|
218
218
|
type: Component,
|
|
@@ -222,7 +222,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImpor
|
|
|
222
222
|
useExisting: forwardRef(() => SelectComponent),
|
|
223
223
|
multi: true,
|
|
224
224
|
},
|
|
225
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *tetaLet=\"locale | async as loc\">\n <teta-dropdown [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [autoClose]=\"autoClose\"\n [autoCloseIgnore]=\"autoCloseIgnore\"\n [(open)]=\"open\"\n [appendToBody]=\"appendToBody\"\n [disabled]=\"disabled\"\n [viewType]=\"viewType\"\n class=\"row row_auto\">\n <div tetaDropdownHead\n [class]=\"'row row_auto select-head select_'+viewType\"\n [class.select-head_invalid]=\"invalid\">\n <div class=\"row_auto flex align-center\">\n <teta-icon *ngIf=\"icon\" [name]=\"icon\" class=\"margin-right-1\"></teta-icon>\n <span class=\"placeholder\" *ngIf=\"(value == null || value?.length === 0)&&!multiple\">\n {{placeholder || loc.notSelected}}\n </span>\n <ng-container\n *ngTemplateOutlet=\"valueDirective ? valueDirective.template : valueDefault; context: {$implicit: value, value: value}\"></ng-container>\n </div>\n <teta-icon [name]=\"'arrowDownSmall'\"></teta-icon>\n </div>\n <div *ngIf=\"options?.length\" tetaDropdownContent class=\"select-body row_auto\"\n (click)=\"$event.preventDefault()\">\n <ng-container *ngIf=\"searchRef\">\n <div class=\"select-search padding-h-2\">\n <teta-text-field [ngModel]=\"searchText\"\n [class]=\"'select_'+viewType\"\n (ngModelChange)=\"search($event)\"\n [placeholder]=\"loc.search\"\n [leftIconName]=\"'search'\"></teta-text-field>\n </div>\n </ng-container>\n <ng-container *ngIf=\"visibleOptions?.length;else notFound \">\n <ng-container *ngIf=\"!multiple && allowNull\">\n <div [class]=\"'margin-h-2 list-item list-item_interactive select_'+viewType\"\n (click)=\"clear()\">\n {{loc.notSelected}}\n </div>\n <div class=\"list-divider margin-bottom-0\"></div>\n </ng-container>\n <teta-scrollable *ngIf=\"virtual; else default\" class=\"column column_auto padding-h-2\">\n <cdk-virtual-scroll-viewport tetaScrollable\n [itemSize]=\"40\"\n minBufferPx=\"200\"\n maxBufferPx=\"600\">\n <div [class]=\"'select-list-item select-list-item_interactive justify-content-between select_'+viewType\"\n *cdkVirtualFor=\"let option of visibleOptions; templateCacheSize: 0;\"\n [class.select-list-item_active]=\"itemSelected(option)\"\n [tetaHighlight]=\"searchText\"\n (click)=\"clickOption(option, $event)\">\n <div [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </div>\n <teta-icon *ngIf=\"itemSelected(option)\" [name]=\"'tick'\" [palette]=\"'text'\"\n class=\"margin-left-2\"></teta-icon>\n </div>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n <ng-template #default>\n <teta-scrollable class=\"column column_auto padding-h-2\" [contentClass]=\"['column', 'column_auto']\">\n <div class=\"select-list\">\n <div [class]=\"'list-item list-item_interactive justify-content-between select_'+viewType\"\n *ngFor=\"let option of visibleOptions\"\n [class.select-list-item_active]=\"itemSelected(option) && multiple\"\n [class.select-list-item]=\"multiple\"\n (click)=\"clickOption(option, $event)\">\n <span [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </span>\n <teta-icon *ngIf=\"itemSelected(option) && multiple\" [name]=\"'tick'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </div>\n </teta-scrollable>\n </ng-template>\n </ng-container>\n <div class=\"row row_auto select-chip-field flex-wrap\" *ngIf=\"multiple && value?.length\">\n <div *ngFor=\"let item of value\" class=\"tag\">\n {{getText(item)}}\n <teta-icon class=\"cursor-pointer\" [name]=\"'closeCircle'\" (click)=\"removeItemClick(item, $event)\"></teta-icon>\n </div>\n </div>\n </div>\n </teta-dropdown>\n <ng-template #notFound>\n <p\n class=\"padding-h-3 text-overflow-ellipsis overflow-hidden select-not-found-option\">{{notFoundText || loc.notFound}}</p>\n </ng-template>\n <ng-template #optionDefault let-option>\n {{getText(option)}}\n </ng-template>\n <ng-template #valueDefault let-value>\n <div class=\"row_auto overflow-hidden text-overflow-ellipsis\" *ngIf=\"multiple\">\n {{loc.selected + ' ' + value?.length}}\n </div>\n <ng-container *ngIf=\"!multiple\">\n <span class=\"row row_auto overflow-hidden text-overflow-ellipsis\">{{getText(value)}}</span>\n </ng-container>\n </ng-template>\n</ng-container>\n\n" }]
|
|
225
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *tetaLet=\"locale | async as loc\">\n <teta-dropdown [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [autoClose]=\"autoClose\"\n [autoCloseIgnore]=\"autoCloseIgnore\"\n [(open)]=\"open\"\n [appendToBody]=\"appendToBody\"\n [disabled]=\"disabled\"\n [viewType]=\"viewType\"\n class=\"row row_auto\">\n <div tetaDropdownHead\n [class]=\"'row row_auto select-head select_'+viewType\"\n [class.select-head_invalid]=\"invalid\">\n <div class=\"row_auto flex align-center\">\n <teta-icon *ngIf=\"icon\" [name]=\"icon\" [palette]=\"'text'\" class=\"margin-right-1\"></teta-icon>\n <span class=\"placeholder\" *ngIf=\"(value == null || value?.length === 0)&&!multiple\">\n {{placeholder || loc.notSelected}}\n </span>\n <ng-container\n *ngTemplateOutlet=\"valueDirective ? valueDirective.template : valueDefault; context: {$implicit: value, value: value}\"></ng-container>\n </div>\n <teta-icon [name]=\"'arrowDownSmall'\" [palette]=\"'text'\"></teta-icon>\n </div>\n <div *ngIf=\"options?.length\" tetaDropdownContent class=\"select-body row_auto\"\n (click)=\"$event.preventDefault()\">\n <ng-container *ngIf=\"searchRef\">\n <div class=\"select-search padding-h-2\">\n <teta-text-field [ngModel]=\"searchText\"\n [class]=\"'select_'+viewType\"\n (ngModelChange)=\"search($event)\"\n [placeholder]=\"loc.search\"\n [leftIconName]=\"'search'\"></teta-text-field>\n </div>\n </ng-container>\n <ng-container *ngIf=\"visibleOptions?.length;else notFound \">\n <ng-container *ngIf=\"!multiple && allowNull\">\n <div [class]=\"'margin-h-2 list-item list-item_interactive select_'+viewType\"\n (click)=\"clear()\">\n {{loc.notSelected}}\n </div>\n <div class=\"list-divider margin-bottom-0\"></div>\n </ng-container>\n <teta-scrollable *ngIf=\"virtual; else default\" class=\"column column_auto padding-h-2\">\n <cdk-virtual-scroll-viewport tetaScrollable\n [itemSize]=\"40\"\n minBufferPx=\"200\"\n maxBufferPx=\"600\">\n <div [class]=\"'select-list-item select-list-item_interactive justify-content-between select_'+viewType\"\n *cdkVirtualFor=\"let option of visibleOptions; templateCacheSize: 0;\"\n [class.select-list-item_active]=\"itemSelected(option)\"\n [tetaHighlight]=\"searchText\"\n (click)=\"clickOption(option, $event)\">\n <div [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </div>\n <teta-icon *ngIf=\"itemSelected(option)\" [name]=\"'tick'\" [palette]=\"'text'\"\n class=\"margin-left-2\"></teta-icon>\n </div>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n <ng-template #default>\n <teta-scrollable class=\"column column_auto padding-h-2\" [contentClass]=\"['column', 'column_auto']\">\n <div class=\"select-list\">\n <div [class]=\"'list-item list-item_interactive justify-content-between select_'+viewType\"\n *ngFor=\"let option of visibleOptions\"\n [class.select-list-item_active]=\"itemSelected(option) && multiple\"\n [class.select-list-item]=\"multiple\"\n (click)=\"clickOption(option, $event)\">\n <span [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </span>\n <teta-icon *ngIf=\"itemSelected(option) && multiple\" [name]=\"'tick'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </div>\n </teta-scrollable>\n </ng-template>\n </ng-container>\n <div class=\"row row_auto select-chip-field flex-wrap\" *ngIf=\"multiple && value?.length\">\n <div *ngFor=\"let item of value\" class=\"tag\">\n {{getText(item)}}\n <teta-icon class=\"cursor-pointer\" [palette]=\"'text'\" [name]=\"'closeCircle'\" (click)=\"removeItemClick(item, $event)\"></teta-icon>\n </div>\n </div>\n </div>\n </teta-dropdown>\n <ng-template #notFound>\n <p\n class=\"padding-h-3 text-overflow-ellipsis overflow-hidden select-not-found-option\">{{notFoundText || loc.notFound}}</p>\n </ng-template>\n <ng-template #optionDefault let-option>\n {{getText(option)}}\n </ng-template>\n <ng-template #valueDefault let-value>\n <div class=\"row_auto overflow-hidden text-overflow-ellipsis\" *ngIf=\"multiple\">\n {{loc.selected + ' ' + value?.length}}\n </div>\n <ng-container *ngIf=\"!multiple\">\n <span class=\"row row_auto overflow-hidden text-overflow-ellipsis\">{{getText(value)}}</span>\n </ng-container>\n </ng-template>\n</ng-container>\n\n" }]
|
|
226
226
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.TetaConfigService }]; }, propDecorators: { multiple: [{
|
|
227
227
|
type: HostBinding,
|
|
228
228
|
args: ['class.select_multiple']
|
|
@@ -283,4 +283,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImpor
|
|
|
283
283
|
type: HostBinding,
|
|
284
284
|
args: ['class.select_disabled']
|
|
285
285
|
}] } });
|
|
286
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvc2VsZWN0L3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9zZWxlY3Qvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBRVosVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUV2RSxPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQW1CL0QsTUFBTSxPQUFPLGVBQWU7SUEwRWhCO0lBQ0E7SUFDQTtJQXpFVixRQUFRLENBQVU7SUFFbEIsSUFBYSxPQUFPLENBQUMsT0FBYztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDckYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVRLE9BQU8sQ0FB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O2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdOLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSW5ELGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBR2hCLElBQUk7c0JBQXJDLFdBQVc7dUJBQUMsbUJBQW1CO2dCQUVjLFdBQVc7c0JBQXhELFdBQVc7dUJBQUMsY0FBYztnQkFHZixRQUFRO3NCQURuQixXQUFXO3VCQUFDLFVBQVU7Z0JBTW5CLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FsaWdufSBmcm9tICcuLi8uLi8uLi9jb21tb24vZW51bS9hbGlnbi5lbnVtJztcbmltcG9ydCB7VmVydGljYWxBbGlnbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vdmVydGljYWwtYWxpZ24uZW51bSc7XG5pbXBvcnQge0F1dG9DbG9zZUlnbm9yZUNhc2V9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9hdXRvLWNsb3NlLWlnbm9yZS1jYXNlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1NlbGVjdE9wdGlvbkRpcmVjdGl2ZX0gZnJvbSAnLi4vc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtTZWxlY3RWYWx1ZURpcmVjdGl2ZX0gZnJvbSAnLi4vc2VsZWN0LXZhbHVlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RldGFDb25maWdTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vbG9jYWxlL3RldGEtY29uZmlnLnNlcnZpY2VcIjtcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7VGV0YUxvY2FsaXNhdGlvbn0gZnJvbSBcIi4uLy4uLy4uL2xvY2FsZS90ZXRhLWxvY2FsaXNhdGlvblwiO1xuaW1wb3J0IHt2aWV3VHlwZX0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9tb2RlbC92aWV3LXR5cGUubW9kZWxcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RfbXVsdGlwbGUnKVxuICBASW5wdXQoKVxuICBtdWx0aXBsZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBzZXQgb3B0aW9ucyhvcHRpb25zOiBhbnlbXSkge1xuICAgIHRoaXMuX29wdGlvbnMgPSBvcHRpb25zO1xuICAgIGlmICh0aGlzLl9pbnRlcm5hbFZhbHVlICE9PSBudWxsICYmIHRoaXMuX2ludGVybmFsVmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRWYWx1ZSh0aGlzLl9pbnRlcm5hbFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIEBJbnB1dCgpIGludmFsaWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFsaWduOiBBbGlnbiA9IEFsaWduLm1pbldpZHRoO1xuICBASW5wdXQoKSB2ZXJ0aWNhbEFsaWduOiBWZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi5hdXRvO1xuICBASW5wdXQoKSBhdXRvQ2xvc2UgPSB0cnVlO1xuICBASW5wdXQoKSBhdXRvQ2xvc2VJZ25vcmU6IEFycmF5PEF1dG9DbG9zZUlnbm9yZUNhc2U+ID0gWydpbnNpZGUnXTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGl0ZW1TaXplID0gMzI7XG4gIEBJbnB1dCgpIHZpcnR1YWw6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGljb246IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgYXBwZW5kVG9Cb2R5OiBib29sZWFuO1xuICBASW5wdXQoKSBhbGxvd051bGwgPSB0cnVlO1xuICBASW5wdXQoKSB2aWV3VHlwZTogdmlld1R5cGUgPSAncm91bmRlZCc7XG4gIEBJbnB1dCgpIG5vdEZvdW5kVGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSB2YWx1ZVJlZjogKChpdGVtOiBhbnkpID0+IGFueSkgfCBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHRSZWY6ICgoaXRlbTogYW55KSA9PiBzdHJpbmcpIHwgc3RyaW5nO1xuICBASW5wdXQoKSBzZWFyY2hSZWY6IHN0cmluZyB8ICgoaXRlbTogYW55KSA9PiBzdHJpbmcpO1xuXG4gIEBDb250ZW50Q2hpbGQoU2VsZWN0T3B0aW9uRGlyZWN0aXZlLCB7c3RhdGljOiB0cnVlfSlcbiAgb3B0aW9uRGlyZWN0aXZlOiBTZWxlY3RPcHRpb25EaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChTZWxlY3RWYWx1ZURpcmVjdGl2ZSwge3N0YXRpYzogdHJ1ZX0pXG4gIHZhbHVlRGlyZWN0aXZlOiBTZWxlY3RWYWx1ZURpcmVjdGl2ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlbGVjdF9vcGVuJykgb3BlbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2VsZWN0JykgcHJpdmF0ZSByZWFkb25seSBzZWxlY3RDbGFzcyA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKCd0YWJpbmRleCcpXG4gIHByaXZhdGUgZ2V0IHRhYmluZGV4KCkge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkID8gbnVsbCA6IDA7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlbGVjdF9kaXNhYmxlZCcpXG4gIGdldCBpc0Rpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgdmFsdWU6IGFueSB8IGFueVtdO1xuICBzZWFyY2hUZXh0OiBzdHJpbmc7XG4gIGxvY2FsZTogT2JzZXJ2YWJsZTxUZXRhTG9jYWxpc2F0aW9uPjtcblxuICBnZXQgdmlzaWJsZU9wdGlvbnMoKTogYW55W10ge1xuICAgIGlmICghdGhpcy5zZWFyY2hUZXh0KSB7XG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5maWx0ZXIoXG4gICAgICAob3B0aW9uKSA9PlxuICAgICAgICB0aGlzLmdldFNlYXJjaFN0cmluZyhvcHRpb24pXG4gICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAuaW5kZXhPZih0aGlzLnNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSkgPj0gMFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vcHRpb25zOiBhbnkgfCBhbnlbXTtcbiAgcHJpdmF0ZSBfaW50ZXJuYWxWYWx1ZTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9jb25maWc6IFRldGFDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubG9jYWxlID0gdGhpcy5fY29uZmlnLmxvY2FsZVxuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgbGV0IHZhbDogYW55O1xuICAgIGlmICh0aGlzLm11bHRpcGxlID09PSB0cnVlKSB7XG4gICAgICB2YWwgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHZhbDtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgY2xpY2tPcHRpb24ob3B0aW9uOiBhbnksIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUgPT09IHRydWUpIHtcbiAgICAgIGlmICghdGhpcy52YWx1ZT8ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBbXTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnZhbHVlLmluZGV4T2Yob3B0aW9uKSA+PSAwKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlSXRlbShvcHRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IFsuLi50aGlzLnZhbHVlLCBvcHRpb25dO1xuICAgICAgfVxuICAgICAgdGhpcy5faW50ZXJuYWxWYWx1ZSA9IHRoaXMudmFsdWUubWFwKChfKSA9PiB0aGlzLmdldFZhbHVlKF8pKVxuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLl9pbnRlcm5hbFZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IG9wdGlvbjtcbiAgICAgIHRoaXMuX2ludGVybmFsVmFsdWUgPSB0aGlzLmdldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLl9pbnRlcm5hbFZhbHVlKTtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGl0ZW1TZWxlY3RlZChvcHRpb246IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZT8uaW5kZXhPZihvcHRpb24pID49IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlID09PSBvcHRpb247XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlSXRlbUNsaWNrKG9wdGlvbjogYW55LCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMucmVtb3ZlSXRlbShvcHRpb24pO1xuICAgIHRoaXMuX2ludGVybmFsVmFsdWUgPSB0aGlzLnZhbHVlLm1hcCgoXykgPT4gdGhpcy5nZXRWYWx1ZShfKSlcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX2ludGVybmFsVmFsdWUpO1xuICB9XG5cbiAgcmVtb3ZlSXRlbShvcHRpb246IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLmZpbHRlcigoXykgPT4gXyAhPT0gb3B0aW9uKTtcbiAgfVxuXG4gIHNlYXJjaCh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSB0ZXh0O1xuICB9XG5cbiAgZ2V0VGV4dChvcHRpb246IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKG9wdGlvbiA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHN3aXRjaCAodHlwZW9mIHRoaXMudGV4dFJlZikge1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgcmV0dXJuIG9wdGlvblt0aGlzLnRleHRSZWZdO1xuICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgICByZXR1cm4gdGhpcy50ZXh0UmVmKG9wdGlvbik7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gb3B0aW9uO1xuICAgIH1cbiAgfVxuXG4gIGdldFZhbHVlKG9wdGlvbjogYW55KTogYW55IHtcbiAgICBzd2l0Y2ggKHR5cGVvZiB0aGlzLnZhbHVlUmVmKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICByZXR1cm4gb3B0aW9uW3RoaXMudmFsdWVSZWZdO1xuICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZVJlZihvcHRpb24pO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG9wdGlvbjtcbiAgICB9XG4gIH1cblxuICBnZXRTZWFyY2hTdHJpbmcob3B0aW9uOiBhbnkpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodHlwZW9mIHRoaXMuc2VhcmNoUmVmKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICByZXR1cm4gb3B0aW9uW3RoaXMuc2VhcmNoUmVmXTtcbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoUmVmKG9wdGlvbik7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSB8IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5faW50ZXJuYWxWYWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0U2VsZWN0ZWRWYWx1ZSh2YWx1ZSlcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge1xuICB9O1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgb25Ub3VjaGVkID0gKCkgPT4ge1xuICB9O1xuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFNlbGVjdGVkVmFsdWUodmFsdWU6IGFueSB8IGFueVtdKSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMudmFsdWUgPVxuICAgICAgICB2YWx1ZSAmJiB0aGlzLm9wdGlvbnNcbiAgICAgICAgICA/IHRoaXMub3B0aW9ucy5maWx0ZXIoXG4gICAgICAgICAgICAob3B0aW9uKSA9PiB2YWx1ZS5pbmRleE9mKHRoaXMuZ2V0VmFsdWUob3B0aW9uKSkgPiAtMVxuICAgICAgICAgIClcbiAgICAgICAgICA6IFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID1cbiAgICAgICAgdGhpcy5vcHRpb25zICYmXG4gICAgICAgIHRoaXMub3B0aW9ucz8uZmluZCgob3B0aW9uKSA9PiB0aGlzLmdldFZhbHVlKG9wdGlvbikgPT09IHZhbHVlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKnRldGFMZXQ9XCJsb2NhbGUgfCBhc3luYyBhcyBsb2NcIj5cbiAgPHRldGEtZHJvcGRvd24gW2FsaWduXT1cImFsaWduXCJcbiAgICAgICAgICAgICAgICAgW3ZlcnRpY2FsQWxpZ25dPVwidmVydGljYWxBbGlnblwiXG4gICAgICAgICAgICAgICAgIFthdXRvQ2xvc2VdPVwiYXV0b0Nsb3NlXCJcbiAgICAgICAgICAgICAgICAgW2F1dG9DbG9zZUlnbm9yZV09XCJhdXRvQ2xvc2VJZ25vcmVcIlxuICAgICAgICAgICAgICAgICBbKG9wZW4pXT1cIm9wZW5cIlxuICAgICAgICAgICAgICAgICBbYXBwZW5kVG9Cb2R5XT1cImFwcGVuZFRvQm9keVwiXG4gICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgIFt2aWV3VHlwZV09XCJ2aWV3VHlwZVwiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwicm93IHJvd19hdXRvXCI+XG4gICAgPGRpdiB0ZXRhRHJvcGRvd25IZWFkXG4gICAgICAgICBbY2xhc3NdPVwiJ3JvdyByb3dfYXV0byBzZWxlY3QtaGVhZCBzZWxlY3RfJyt2aWV3VHlwZVwiXG4gICAgICAgICBbY2xhc3Muc2VsZWN0LWhlYWRfaW52YWxpZF09XCJpbnZhbGlkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93X2F1dG8gZmxleCBhbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgPHRldGEtaWNvbiAqbmdJZj1cImljb25cIiBbbmFtZV09XCJpY29uXCIgY2xhc3M9XCJtYXJnaW4tcmlnaHQtMVwiPjwvdGV0YS1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInBsYWNlaG9sZGVyXCIgKm5nSWY9XCIodmFsdWUgPT0gbnVsbCB8fCB2YWx1ZT8ubGVuZ3RoID09PSAwKSYmIW11bHRpcGxlXCI+XG4gICAgICAgICAge3twbGFjZWhvbGRlciB8fCBsb2Mubm90U2VsZWN0ZWR9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInZhbHVlRGlyZWN0aXZlID8gdmFsdWVEaXJlY3RpdmUudGVtcGxhdGUgOiB2YWx1ZURlZmF1bHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHZhbHVlLCB2YWx1ZTogdmFsdWV9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx0ZXRhLWljb24gW25hbWVdPVwiJ2Fycm93RG93blNtYWxsJ1wiPjwvdGV0YS1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJvcHRpb25zPy5sZW5ndGhcIiB0ZXRhRHJvcGRvd25Db250ZW50IGNsYXNzPVwic2VsZWN0LWJvZHkgcm93X2F1dG9cIlxuICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VhcmNoUmVmXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Qtc2VhcmNoIHBhZGRpbmctaC0yXCI+XG4gICAgICAgICAgPHRldGEtdGV4dC1maWVsZCBbbmdNb2RlbF09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCInc2VsZWN0Xycrdmlld1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImxvYy5zZWFyY2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xlZnRJY29uTmFtZV09XCInc2VhcmNoJ1wiPjwvdGV0YS10ZXh0LWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZpc2libGVPcHRpb25zPy5sZW5ndGg7ZWxzZSBub3RGb3VuZCBcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtdWx0aXBsZSAmJiBhbGxvd051bGxcIj5cbiAgICAgICAgICA8ZGl2IFtjbGFzc109XCInbWFyZ2luLWgtMiBsaXN0LWl0ZW0gbGlzdC1pdGVtX2ludGVyYWN0aXZlIHNlbGVjdF8nK3ZpZXdUeXBlXCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJjbGVhcigpXCI+XG4gICAgICAgICAgICB7e2xvYy5ub3RTZWxlY3RlZH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZGl2aWRlciBtYXJnaW4tYm90dG9tLTBcIj48L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDx0ZXRhLXNjcm9sbGFibGUgKm5nSWY9XCJ2aXJ0dWFsOyBlbHNlIGRlZmF1bHRcIiBjbGFzcz1cImNvbHVtbiBjb2x1bW5fYXV0byBwYWRkaW5nLWgtMlwiPlxuICAgICAgICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgdGV0YVNjcm9sbGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtU2l6ZV09XCI0MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5CdWZmZXJQeD1cIjIwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhCdWZmZXJQeD1cIjYwMFwiPlxuICAgICAgICAgICAgPGRpdiBbY2xhc3NdPVwiJ3NlbGVjdC1saXN0LWl0ZW0gc2VsZWN0LWxpc3QtaXRlbV9pbnRlcmFjdGl2ZSBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBzZWxlY3RfJyt2aWV3VHlwZVwiXG4gICAgICAgICAgICAgICAgICpjZGtWaXJ0dWFsRm9yPVwibGV0IG9wdGlvbiBvZiB2aXNpYmxlT3B0aW9uczsgdGVtcGxhdGVDYWNoZVNpemU6IDA7XCJcbiAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdC1saXN0LWl0ZW1fYWN0aXZlXT1cIml0ZW1TZWxlY3RlZChvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgW3RldGFIaWdobGlnaHRdPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja09wdGlvbihvcHRpb24sICRldmVudClcIj5cbiAgICAgICAgICAgICAgPGRpdiBbdGV0YUhpZ2hsaWdodF09XCJzZWFyY2hUZXh0XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJvcHRpb25EaXJlY3RpdmUgPyBvcHRpb25EaXJlY3RpdmUudGVtcGxhdGUgOiBvcHRpb25EZWZhdWx0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBvcHRpb24sIG9wdGlvbjogb3B0aW9ufVwiPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHRldGEtaWNvbiAqbmdJZj1cIml0ZW1TZWxlY3RlZChvcHRpb24pXCIgW25hbWVdPVwiJ3RpY2snXCIgW3BhbGV0dGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hcmdpbi1sZWZ0LTJcIj48L3RldGEtaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuICAgICAgICA8L3RldGEtc2Nyb2xsYWJsZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0PlxuICAgICAgICAgIDx0ZXRhLXNjcm9sbGFibGUgY2xhc3M9XCJjb2x1bW4gY29sdW1uX2F1dG8gcGFkZGluZy1oLTJcIiBbY29udGVudENsYXNzXT1cIlsnY29sdW1uJywgJ2NvbHVtbl9hdXRvJ11cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtbGlzdFwiPlxuICAgICAgICAgICAgICA8ZGl2IFtjbGFzc109XCInbGlzdC1pdGVtIGxpc3QtaXRlbV9pbnRlcmFjdGl2ZSBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiAgc2VsZWN0Xycrdmlld1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgdmlzaWJsZU9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3QtbGlzdC1pdGVtX2FjdGl2ZV09XCJpdGVtU2VsZWN0ZWQob3B0aW9uKSAmJiBtdWx0aXBsZVwiXG4gICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdC1saXN0LWl0ZW1dPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja09wdGlvbihvcHRpb24sICRldmVudClcIj5cbiAgICAgICAgICAgICAgPHNwYW4gW3RldGFIaWdobGlnaHRdPVwic2VhcmNoVGV4dFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwib3B0aW9uRGlyZWN0aXZlID8gb3B0aW9uRGlyZWN0aXZlLnRlbXBsYXRlIDogb3B0aW9uRGVmYXVsdDsgY29udGV4dDogeyRpbXBsaWNpdDogb3B0aW9uLCBvcHRpb246IG9wdGlvbn1cIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDx0ZXRhLWljb24gKm5nSWY9XCJpdGVtU2VsZWN0ZWQob3B0aW9uKSAmJiBtdWx0aXBsZVwiIFtuYW1lXT1cIid0aWNrJ1wiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdGV0YS1zY3JvbGxhYmxlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93IHJvd19hdXRvIHNlbGVjdC1jaGlwLWZpZWxkIGZsZXgtd3JhcFwiICpuZ0lmPVwibXVsdGlwbGUgJiYgdmFsdWU/Lmxlbmd0aFwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIHZhbHVlXCIgY2xhc3M9XCJ0YWdcIj5cbiAgICAgICAgICB7e2dldFRleHQoaXRlbSl9fVxuICAgICAgICAgIDx0ZXRhLWljb24gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIFtuYW1lXT1cIidjbG9zZUNpcmNsZSdcIiAoY2xpY2spPVwicmVtb3ZlSXRlbUNsaWNrKGl0ZW0sICRldmVudClcIj48L3RldGEtaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC90ZXRhLWRyb3Bkb3duPlxuICA8bmctdGVtcGxhdGUgI25vdEZvdW5kPlxuICAgIDxwXG4gICAgICBjbGFzcz1cInBhZGRpbmctaC0zIHRleHQtb3ZlcmZsb3ctZWxsaXBzaXMgb3ZlcmZsb3ctaGlkZGVuIHNlbGVjdC1ub3QtZm91bmQtb3B0aW9uXCI+e3tub3RGb3VuZFRleHQgfHwgbG9jLm5vdEZvdW5kfX08L3A+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjb3B0aW9uRGVmYXVsdCBsZXQtb3B0aW9uPlxuICAgIHt7Z2V0VGV4dChvcHRpb24pfX1cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlICN2YWx1ZURlZmF1bHQgbGV0LXZhbHVlPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dfYXV0byBvdmVyZmxvdy1oaWRkZW4gdGV4dC1vdmVyZmxvdy1lbGxpcHNpc1wiICpuZ0lmPVwibXVsdGlwbGVcIj5cbiAgICAgIHt7bG9jLnNlbGVjdGVkICsgJyAnICsgdmFsdWU/Lmxlbmd0aH19XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtdWx0aXBsZVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJyb3cgcm93X2F1dG8gb3ZlcmZsb3ctaGlkZGVuIHRleHQtb3ZlcmZsb3ctZWxsaXBzaXNcIj57e2dldFRleHQodmFsdWUpfX08L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cblxuIl19
|
|
286
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvc2VsZWN0L3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9zZWxlY3Qvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBRVosVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUV2RSxPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQW1CL0QsTUFBTSxPQUFPLGVBQWU7SUEwRWhCO0lBQ0E7SUFDQTtJQXpFVixRQUFRLENBQVU7SUFFbEIsSUFBYSxPQUFPLENBQUMsT0FBYztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDckYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVRLE9BQU8sQ0FBVTtJQUNqQixLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUM5QixhQUFhLEdBQWtCLGFBQWEsQ0FBQyxJQUFJLENBQUM7SUFDbEQsU0FBUyxHQUFHLElBQUksQ0FBQztJQUNqQixlQUFlLEdBQStCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekQsUUFBUSxDQUFVO0lBQ2xCLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDZCxPQUFPLENBQVU7SUFDakIsSUFBSSxDQUFTO0lBQ2IsV0FBVyxDQUFTO0lBQ3BCLFlBQVksQ0FBVTtJQUN0QixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ2pCLFFBQVEsR0FBYSxTQUFTLENBQUM7SUFDL0IsWUFBWSxDQUFTO0lBQ3JCLFFBQVEsQ0FBZ0M7SUFDeEMsT0FBTyxDQUFtQztJQUMxQyxTQUFTLENBQW1DO0lBR3JELGVBQWUsQ0FBd0I7SUFHdkMsY0FBYyxDQUF1QjtJQUVILElBQUksR0FBRyxLQUFLLENBQUM7SUFFRCxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBRWpFLElBQ1ksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUNJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBYztJQUNuQixVQUFVLENBQVM7SUFDbkIsTUFBTSxDQUErQjtJQUVyQyxJQUFJLGNBQWM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ3JCO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FDekIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNULElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO2FBQ3pCLFdBQVcsRUFBRTthQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVPLFFBQVEsQ0FBYztJQUN0QixjQUFjLENBQU07SUFFNUIsWUFDVSxJQUF1QixFQUN2QixXQUF1QixFQUN2QixPQUEwQjtRQUYxQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUVsQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFBO0lBQ25DLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxHQUFRLENBQUM7UUFDYixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQzFCLEdBQUcsR0FBRyxFQUFFLENBQUM7U0FDVjthQUFNO1lBQ0wsR0FBRyxHQUFHLElBQUksQ0FBQztTQUNaO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBVyxFQUFFLEtBQWlCO1FBQ3hDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFO2dCQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQzthQUNqQjtZQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDdEM7WUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDcEM7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7U0FDbkI7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFXO1FBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6QzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsTUFBVyxFQUFFLEtBQWlCO1FBQzVDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQVc7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxNQUFNLENBQUMsSUFBWTtRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQVc7UUFDakIsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ2xCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxRQUFRLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUMzQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlCLEtBQUssVUFBVTtnQkFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUI7Z0JBQ0UsT0FBTyxNQUFNLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsUUFBUSxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDNUIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQixLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9CO2dCQUNFLE9BQU8sTUFBTSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFXO1FBQ3pCLFFBQVEsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzdCLEtBQUssUUFBUTtnQkFDWCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDaEMsS0FBSyxVQUFVO2dCQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoQztnQkFDRSxPQUFPLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBa0I7UUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVEsR0FBeUIsR0FBRyxFQUFFO0lBQ3RDLENBQUMsQ0FBQztJQUVGLGdCQUFnQixDQUFDLEVBQXdCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxTQUFTLEdBQUcsR0FBRyxFQUFFO0lBQ2pCLENBQUMsQ0FBQztJQUVGLGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQWtCO1FBQ3pDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsS0FBSztnQkFDUixLQUFLLElBQUksSUFBSSxDQUFDLE9BQU87b0JBQ25CLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDbkIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUN0RDtvQkFDRCxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ1Y7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLO2dCQUNSLElBQUksQ0FBQyxPQUFPO29CQUNaLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1NBQ25FO0lBQ0gsQ0FBQzt1R0E3TlUsZUFBZTsyRkFBZixlQUFlLHFzQkFUZjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUM5QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsdUVBcUNhLHFCQUFxQiwrRkFHckIsb0JBQW9CLDhEQ3hFcEMsMjdLQTBHQTs7MkZEdkVhLGVBQWU7a0JBYjNCLFNBQVM7K0JBQ0UsYUFBYSxhQUdaO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTtpS0FLL0MsUUFBUTtzQkFGUCxXQUFXO3VCQUFDLHVCQUF1Qjs7c0JBQ25DLEtBQUs7Z0JBR08sT0FBTztzQkFBbkIsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdOLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSW5ELGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBR2hCLElBQUk7c0JBQXJDLFdBQVc7dUJBQUMsbUJBQW1CO2dCQUVjLFdBQVc7c0JBQXhELFdBQVc7dUJBQUMsY0FBYztnQkFHZixRQUFRO3NCQURuQixXQUFXO3VCQUFDLFVBQVU7Z0JBTW5CLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FsaWdufSBmcm9tICcuLi8uLi8uLi9jb21tb24vZW51bS9hbGlnbi5lbnVtJztcbmltcG9ydCB7VmVydGljYWxBbGlnbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vdmVydGljYWwtYWxpZ24uZW51bSc7XG5pbXBvcnQge0F1dG9DbG9zZUlnbm9yZUNhc2V9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9hdXRvLWNsb3NlLWlnbm9yZS1jYXNlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1NlbGVjdE9wdGlvbkRpcmVjdGl2ZX0gZnJvbSAnLi4vc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtTZWxlY3RWYWx1ZURpcmVjdGl2ZX0gZnJvbSAnLi4vc2VsZWN0LXZhbHVlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RldGFDb25maWdTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vbG9jYWxlL3RldGEtY29uZmlnLnNlcnZpY2VcIjtcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7VGV0YUxvY2FsaXNhdGlvbn0gZnJvbSBcIi4uLy4uLy4uL2xvY2FsZS90ZXRhLWxvY2FsaXNhdGlvblwiO1xuaW1wb3J0IHt2aWV3VHlwZX0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9tb2RlbC92aWV3LXR5cGUubW9kZWxcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RfbXVsdGlwbGUnKVxuICBASW5wdXQoKVxuICBtdWx0aXBsZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBzZXQgb3B0aW9ucyhvcHRpb25zOiBhbnlbXSkge1xuICAgIHRoaXMuX29wdGlvbnMgPSBvcHRpb25zO1xuICAgIGlmICh0aGlzLl9pbnRlcm5hbFZhbHVlICE9PSBudWxsICYmIHRoaXMuX2ludGVybmFsVmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRWYWx1ZSh0aGlzLl9pbnRlcm5hbFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIEBJbnB1dCgpIGludmFsaWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFsaWduOiBBbGlnbiA9IEFsaWduLm1pbldpZHRoO1xuICBASW5wdXQoKSB2ZXJ0aWNhbEFsaWduOiBWZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi5hdXRvO1xuICBASW5wdXQoKSBhdXRvQ2xvc2UgPSB0cnVlO1xuICBASW5wdXQoKSBhdXRvQ2xvc2VJZ25vcmU6IEFycmF5PEF1dG9DbG9zZUlnbm9yZUNhc2U+ID0gWydpbnNpZGUnXTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGl0ZW1TaXplID0gMzI7XG4gIEBJbnB1dCgpIHZpcnR1YWw6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGljb246IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgYXBwZW5kVG9Cb2R5OiBib29sZWFuO1xuICBASW5wdXQoKSBhbGxvd051bGwgPSB0cnVlO1xuICBASW5wdXQoKSB2aWV3VHlwZTogdmlld1R5cGUgPSAncm91bmRlZCc7XG4gIEBJbnB1dCgpIG5vdEZvdW5kVGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSB2YWx1ZVJlZjogKChpdGVtOiBhbnkpID0+IGFueSkgfCBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHRSZWY6ICgoaXRlbTogYW55KSA9PiBzdHJpbmcpIHwgc3RyaW5nO1xuICBASW5wdXQoKSBzZWFyY2hSZWY6IHN0cmluZyB8ICgoaXRlbTogYW55KSA9PiBzdHJpbmcpO1xuXG4gIEBDb250ZW50Q2hpbGQoU2VsZWN0T3B0aW9uRGlyZWN0aXZlLCB7c3RhdGljOiB0cnVlfSlcbiAgb3B0aW9uRGlyZWN0aXZlOiBTZWxlY3RPcHRpb25EaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChTZWxlY3RWYWx1ZURpcmVjdGl2ZSwge3N0YXRpYzogdHJ1ZX0pXG4gIHZhbHVlRGlyZWN0aXZlOiBTZWxlY3RWYWx1ZURpcmVjdGl2ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlbGVjdF9vcGVuJykgb3BlbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2VsZWN0JykgcHJpdmF0ZSByZWFkb25seSBzZWxlY3RDbGFzcyA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKCd0YWJpbmRleCcpXG4gIHByaXZhdGUgZ2V0IHRhYmluZGV4KCkge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkID8gbnVsbCA6IDA7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlbGVjdF9kaXNhYmxlZCcpXG4gIGdldCBpc0Rpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgdmFsdWU6IGFueSB8IGFueVtdO1xuICBzZWFyY2hUZXh0OiBzdHJpbmc7XG4gIGxvY2FsZTogT2JzZXJ2YWJsZTxUZXRhTG9jYWxpc2F0aW9uPjtcblxuICBnZXQgdmlzaWJsZU9wdGlvbnMoKTogYW55W10ge1xuICAgIGlmICghdGhpcy5zZWFyY2hUZXh0KSB7XG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5maWx0ZXIoXG4gICAgICAob3B0aW9uKSA9PlxuICAgICAgICB0aGlzLmdldFNlYXJjaFN0cmluZyhvcHRpb24pXG4gICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAuaW5kZXhPZih0aGlzLnNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSkgPj0gMFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vcHRpb25zOiBhbnkgfCBhbnlbXTtcbiAgcHJpdmF0ZSBfaW50ZXJuYWxWYWx1ZTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9jb25maWc6IFRldGFDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubG9jYWxlID0gdGhpcy5fY29uZmlnLmxvY2FsZVxuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgbGV0IHZhbDogYW55O1xuICAgIGlmICh0aGlzLm11bHRpcGxlID09PSB0cnVlKSB7XG4gICAgICB2YWwgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHZhbDtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgY2xpY2tPcHRpb24ob3B0aW9uOiBhbnksIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUgPT09IHRydWUpIHtcbiAgICAgIGlmICghdGhpcy52YWx1ZT8ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBbXTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnZhbHVlLmluZGV4T2Yob3B0aW9uKSA+PSAwKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlSXRlbShvcHRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IFsuLi50aGlzLnZhbHVlLCBvcHRpb25dO1xuICAgICAgfVxuICAgICAgdGhpcy5faW50ZXJuYWxWYWx1ZSA9IHRoaXMudmFsdWUubWFwKChfKSA9PiB0aGlzLmdldFZhbHVlKF8pKVxuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLl9pbnRlcm5hbFZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IG9wdGlvbjtcbiAgICAgIHRoaXMuX2ludGVybmFsVmFsdWUgPSB0aGlzLmdldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLl9pbnRlcm5hbFZhbHVlKTtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGl0ZW1TZWxlY3RlZChvcHRpb246IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZT8uaW5kZXhPZihvcHRpb24pID49IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlID09PSBvcHRpb247XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlSXRlbUNsaWNrKG9wdGlvbjogYW55LCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMucmVtb3ZlSXRlbShvcHRpb24pO1xuICAgIHRoaXMuX2ludGVybmFsVmFsdWUgPSB0aGlzLnZhbHVlLm1hcCgoXykgPT4gdGhpcy5nZXRWYWx1ZShfKSlcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX2ludGVybmFsVmFsdWUpO1xuICB9XG5cbiAgcmVtb3ZlSXRlbShvcHRpb246IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLmZpbHRlcigoXykgPT4gXyAhPT0gb3B0aW9uKTtcbiAgfVxuXG4gIHNlYXJjaCh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSB0ZXh0O1xuICB9XG5cbiAgZ2V0VGV4dChvcHRpb246IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKG9wdGlvbiA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHN3aXRjaCAodHlwZW9mIHRoaXMudGV4dFJlZikge1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgcmV0dXJuIG9wdGlvblt0aGlzLnRleHRSZWZdO1xuICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgICByZXR1cm4gdGhpcy50ZXh0UmVmKG9wdGlvbik7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gb3B0aW9uO1xuICAgIH1cbiAgfVxuXG4gIGdldFZhbHVlKG9wdGlvbjogYW55KTogYW55IHtcbiAgICBzd2l0Y2ggKHR5cGVvZiB0aGlzLnZhbHVlUmVmKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICByZXR1cm4gb3B0aW9uW3RoaXMudmFsdWVSZWZdO1xuICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZVJlZihvcHRpb24pO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG9wdGlvbjtcbiAgICB9XG4gIH1cblxuICBnZXRTZWFyY2hTdHJpbmcob3B0aW9uOiBhbnkpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodHlwZW9mIHRoaXMuc2VhcmNoUmVmKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICByZXR1cm4gb3B0aW9uW3RoaXMuc2VhcmNoUmVmXTtcbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoUmVmKG9wdGlvbik7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSB8IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5faW50ZXJuYWxWYWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0U2VsZWN0ZWRWYWx1ZSh2YWx1ZSlcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge1xuICB9O1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgb25Ub3VjaGVkID0gKCkgPT4ge1xuICB9O1xuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFNlbGVjdGVkVmFsdWUodmFsdWU6IGFueSB8IGFueVtdKSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMudmFsdWUgPVxuICAgICAgICB2YWx1ZSAmJiB0aGlzLm9wdGlvbnNcbiAgICAgICAgICA/IHRoaXMub3B0aW9ucy5maWx0ZXIoXG4gICAgICAgICAgICAob3B0aW9uKSA9PiB2YWx1ZS5pbmRleE9mKHRoaXMuZ2V0VmFsdWUob3B0aW9uKSkgPiAtMVxuICAgICAgICAgIClcbiAgICAgICAgICA6IFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID1cbiAgICAgICAgdGhpcy5vcHRpb25zICYmXG4gICAgICAgIHRoaXMub3B0aW9ucz8uZmluZCgob3B0aW9uKSA9PiB0aGlzLmdldFZhbHVlKG9wdGlvbikgPT09IHZhbHVlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKnRldGFMZXQ9XCJsb2NhbGUgfCBhc3luYyBhcyBsb2NcIj5cbiAgPHRldGEtZHJvcGRvd24gW2FsaWduXT1cImFsaWduXCJcbiAgICAgICAgICAgICAgICAgW3ZlcnRpY2FsQWxpZ25dPVwidmVydGljYWxBbGlnblwiXG4gICAgICAgICAgICAgICAgIFthdXRvQ2xvc2VdPVwiYXV0b0Nsb3NlXCJcbiAgICAgICAgICAgICAgICAgW2F1dG9DbG9zZUlnbm9yZV09XCJhdXRvQ2xvc2VJZ25vcmVcIlxuICAgICAgICAgICAgICAgICBbKG9wZW4pXT1cIm9wZW5cIlxuICAgICAgICAgICAgICAgICBbYXBwZW5kVG9Cb2R5XT1cImFwcGVuZFRvQm9keVwiXG4gICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgIFt2aWV3VHlwZV09XCJ2aWV3VHlwZVwiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwicm93IHJvd19hdXRvXCI+XG4gICAgPGRpdiB0ZXRhRHJvcGRvd25IZWFkXG4gICAgICAgICBbY2xhc3NdPVwiJ3JvdyByb3dfYXV0byBzZWxlY3QtaGVhZCBzZWxlY3RfJyt2aWV3VHlwZVwiXG4gICAgICAgICBbY2xhc3Muc2VsZWN0LWhlYWRfaW52YWxpZF09XCJpbnZhbGlkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93X2F1dG8gZmxleCBhbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgPHRldGEtaWNvbiAqbmdJZj1cImljb25cIiBbbmFtZV09XCJpY29uXCIgW3BhbGV0dGVdPVwiJ3RleHQnXCIgY2xhc3M9XCJtYXJnaW4tcmlnaHQtMVwiPjwvdGV0YS1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInBsYWNlaG9sZGVyXCIgKm5nSWY9XCIodmFsdWUgPT0gbnVsbCB8fCB2YWx1ZT8ubGVuZ3RoID09PSAwKSYmIW11bHRpcGxlXCI+XG4gICAgICAgICAge3twbGFjZWhvbGRlciB8fCBsb2Mubm90U2VsZWN0ZWR9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInZhbHVlRGlyZWN0aXZlID8gdmFsdWVEaXJlY3RpdmUudGVtcGxhdGUgOiB2YWx1ZURlZmF1bHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHZhbHVlLCB2YWx1ZTogdmFsdWV9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx0ZXRhLWljb24gW25hbWVdPVwiJ2Fycm93RG93blNtYWxsJ1wiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJvcHRpb25zPy5sZW5ndGhcIiB0ZXRhRHJvcGRvd25Db250ZW50IGNsYXNzPVwic2VsZWN0LWJvZHkgcm93X2F1dG9cIlxuICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VhcmNoUmVmXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Qtc2VhcmNoIHBhZGRpbmctaC0yXCI+XG4gICAgICAgICAgPHRldGEtdGV4dC1maWVsZCBbbmdNb2RlbF09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCInc2VsZWN0Xycrdmlld1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImxvYy5zZWFyY2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xlZnRJY29uTmFtZV09XCInc2VhcmNoJ1wiPjwvdGV0YS10ZXh0LWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZpc2libGVPcHRpb25zPy5sZW5ndGg7ZWxzZSBub3RGb3VuZCBcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtdWx0aXBsZSAmJiBhbGxvd051bGxcIj5cbiAgICAgICAgICA8ZGl2IFtjbGFzc109XCInbWFyZ2luLWgtMiBsaXN0LWl0ZW0gbGlzdC1pdGVtX2ludGVyYWN0aXZlIHNlbGVjdF8nK3ZpZXdUeXBlXCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJjbGVhcigpXCI+XG4gICAgICAgICAgICB7e2xvYy5ub3RTZWxlY3RlZH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZGl2aWRlciBtYXJnaW4tYm90dG9tLTBcIj48L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDx0ZXRhLXNjcm9sbGFibGUgKm5nSWY9XCJ2aXJ0dWFsOyBlbHNlIGRlZmF1bHRcIiBjbGFzcz1cImNvbHVtbiBjb2x1bW5fYXV0byBwYWRkaW5nLWgtMlwiPlxuICAgICAgICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgdGV0YVNjcm9sbGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtU2l6ZV09XCI0MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5CdWZmZXJQeD1cIjIwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhCdWZmZXJQeD1cIjYwMFwiPlxuICAgICAgICAgICAgPGRpdiBbY2xhc3NdPVwiJ3NlbGVjdC1saXN0LWl0ZW0gc2VsZWN0LWxpc3QtaXRlbV9pbnRlcmFjdGl2ZSBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBzZWxlY3RfJyt2aWV3VHlwZVwiXG4gICAgICAgICAgICAgICAgICpjZGtWaXJ0dWFsRm9yPVwibGV0IG9wdGlvbiBvZiB2aXNpYmxlT3B0aW9uczsgdGVtcGxhdGVDYWNoZVNpemU6IDA7XCJcbiAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdC1saXN0LWl0ZW1fYWN0aXZlXT1cIml0ZW1TZWxlY3RlZChvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgW3RldGFIaWdobGlnaHRdPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja09wdGlvbihvcHRpb24sICRldmVudClcIj5cbiAgICAgICAgICAgICAgPGRpdiBbdGV0YUhpZ2hsaWdodF09XCJzZWFyY2hUZXh0XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJvcHRpb25EaXJlY3RpdmUgPyBvcHRpb25EaXJlY3RpdmUudGVtcGxhdGUgOiBvcHRpb25EZWZhdWx0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBvcHRpb24sIG9wdGlvbjogb3B0aW9ufVwiPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHRldGEtaWNvbiAqbmdJZj1cIml0ZW1TZWxlY3RlZChvcHRpb24pXCIgW25hbWVdPVwiJ3RpY2snXCIgW3BhbGV0dGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hcmdpbi1sZWZ0LTJcIj48L3RldGEtaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuICAgICAgICA8L3RldGEtc2Nyb2xsYWJsZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0PlxuICAgICAgICAgIDx0ZXRhLXNjcm9sbGFibGUgY2xhc3M9XCJjb2x1bW4gY29sdW1uX2F1dG8gcGFkZGluZy1oLTJcIiBbY29udGVudENsYXNzXT1cIlsnY29sdW1uJywgJ2NvbHVtbl9hdXRvJ11cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtbGlzdFwiPlxuICAgICAgICAgICAgICA8ZGl2IFtjbGFzc109XCInbGlzdC1pdGVtIGxpc3QtaXRlbV9pbnRlcmFjdGl2ZSBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiAgc2VsZWN0Xycrdmlld1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgdmlzaWJsZU9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3QtbGlzdC1pdGVtX2FjdGl2ZV09XCJpdGVtU2VsZWN0ZWQob3B0aW9uKSAmJiBtdWx0aXBsZVwiXG4gICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdC1saXN0LWl0ZW1dPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja09wdGlvbihvcHRpb24sICRldmVudClcIj5cbiAgICAgICAgICAgICAgPHNwYW4gW3RldGFIaWdobGlnaHRdPVwic2VhcmNoVGV4dFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwib3B0aW9uRGlyZWN0aXZlID8gb3B0aW9uRGlyZWN0aXZlLnRlbXBsYXRlIDogb3B0aW9uRGVmYXVsdDsgY29udGV4dDogeyRpbXBsaWNpdDogb3B0aW9uLCBvcHRpb246IG9wdGlvbn1cIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDx0ZXRhLWljb24gKm5nSWY9XCJpdGVtU2VsZWN0ZWQob3B0aW9uKSAmJiBtdWx0aXBsZVwiIFtuYW1lXT1cIid0aWNrJ1wiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdGV0YS1zY3JvbGxhYmxlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93IHJvd19hdXRvIHNlbGVjdC1jaGlwLWZpZWxkIGZsZXgtd3JhcFwiICpuZ0lmPVwibXVsdGlwbGUgJiYgdmFsdWU/Lmxlbmd0aFwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIHZhbHVlXCIgY2xhc3M9XCJ0YWdcIj5cbiAgICAgICAgICB7e2dldFRleHQoaXRlbSl9fVxuICAgICAgICAgIDx0ZXRhLWljb24gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIFtwYWxldHRlXT1cIid0ZXh0J1wiIFtuYW1lXT1cIidjbG9zZUNpcmNsZSdcIiAoY2xpY2spPVwicmVtb3ZlSXRlbUNsaWNrKGl0ZW0sICRldmVudClcIj48L3RldGEtaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC90ZXRhLWRyb3Bkb3duPlxuICA8bmctdGVtcGxhdGUgI25vdEZvdW5kPlxuICAgIDxwXG4gICAgICBjbGFzcz1cInBhZGRpbmctaC0zIHRleHQtb3ZlcmZsb3ctZWxsaXBzaXMgb3ZlcmZsb3ctaGlkZGVuIHNlbGVjdC1ub3QtZm91bmQtb3B0aW9uXCI+e3tub3RGb3VuZFRleHQgfHwgbG9jLm5vdEZvdW5kfX08L3A+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjb3B0aW9uRGVmYXVsdCBsZXQtb3B0aW9uPlxuICAgIHt7Z2V0VGV4dChvcHRpb24pfX1cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlICN2YWx1ZURlZmF1bHQgbGV0LXZhbHVlPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dfYXV0byBvdmVyZmxvdy1oaWRkZW4gdGV4dC1vdmVyZmxvdy1lbGxpcHNpc1wiICpuZ0lmPVwibXVsdGlwbGVcIj5cbiAgICAgIHt7bG9jLnNlbGVjdGVkICsgJyAnICsgdmFsdWU/Lmxlbmd0aH19XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtdWx0aXBsZVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJyb3cgcm93X2F1dG8gb3ZlcmZsb3ctaGlkZGVuIHRleHQtb3ZlcmZsb3ctZWxsaXBzaXNcIj57e2dldFRleHQodmFsdWUpfX08L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cblxuIl19
|
|
@@ -36,11 +36,11 @@ export class HeadCellDropdownComponent {
|
|
|
36
36
|
return index;
|
|
37
37
|
}
|
|
38
38
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: HeadCellDropdownComponent, deps: [{ token: i1.TableService }, { token: i2.TetaConfigService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: HeadCellDropdownComponent, selector: "teta-head-cell-dropdown", inputs: { columns: "columns", column: "column", state: "state", data: "data", tabTemplates: "tabTemplates", dropDownOpen: "dropDownOpen" }, outputs: { dropDownOpenChange: "dropDownOpenChange" }, ngImport: i0, template: "<teta-tabs class=\"column_auto\" *ngIf=\"dropDownOpen\">\n <ng-container *ngFor=\"let tab of tabTemplates; trackBy: trackIndex\">\n <teta-tab *ngIf=\"tab.showTab(column)\">\n <ng-template tetaTabTitle>\n <ng-container *ngIf=\"tab.icon\">\n <teta-icon [name]=\"tab.icon\"></teta-icon>\n </ng-container>\n </ng-template>\n <ng-template tetaTabContent>\n <ng-container\n *ngTemplateOutlet=\"tab.template; context: {\n column: column,\n columns: columns,\n data: data,\n state: state,\n close: closeDropdown\n }\"></ng-container>\n </ng-template>\n </teta-tab>\n </ng-container>\n</teta-tabs>\n", styles: [":host{display:flex;flex-grow:1;min-height:0;min-width:250px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: i5.TabContentDirective, selector: "[tetaTabContent]" }, { kind: "directive", type: i6.TabTitleDirective, selector: "[tetaTabTitle]" }, { kind: "component", type: i7.TabComponent, selector: "teta-tab", inputs: ["id", "title", "disabled"] }, { kind: "component", type: i8.TabsComponent, selector: "teta-tabs", inputs: ["activeId", "destroyOnHide"], outputs: ["tabChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
39
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: HeadCellDropdownComponent, selector: "teta-head-cell-dropdown", inputs: { columns: "columns", column: "column", state: "state", data: "data", tabTemplates: "tabTemplates", dropDownOpen: "dropDownOpen" }, outputs: { dropDownOpenChange: "dropDownOpenChange" }, ngImport: i0, template: "<teta-tabs class=\"column_auto\" *ngIf=\"dropDownOpen\">\n <ng-container *ngFor=\"let tab of tabTemplates; trackBy: trackIndex\">\n <teta-tab *ngIf=\"tab.showTab(column)\">\n <ng-template tetaTabTitle>\n <ng-container *ngIf=\"tab.icon\">\n <teta-icon [name]=\"tab.icon\" [palette]=\"'text'\"></teta-icon>\n </ng-container>\n </ng-template>\n <ng-template tetaTabContent>\n <ng-container\n *ngTemplateOutlet=\"tab.template; context: {\n column: column,\n columns: columns,\n data: data,\n state: state,\n close: closeDropdown\n }\"></ng-container>\n </ng-template>\n </teta-tab>\n </ng-container>\n</teta-tabs>\n", styles: [":host{display:flex;flex-grow:1;min-height:0;min-width:250px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: i5.TabContentDirective, selector: "[tetaTabContent]" }, { kind: "directive", type: i6.TabTitleDirective, selector: "[tetaTabTitle]" }, { kind: "component", type: i7.TabComponent, selector: "teta-tab", inputs: ["id", "title", "disabled"] }, { kind: "component", type: i8.TabsComponent, selector: "teta-tabs", inputs: ["activeId", "destroyOnHide"], outputs: ["tabChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
40
40
|
}
|
|
41
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: HeadCellDropdownComponent, decorators: [{
|
|
42
42
|
type: Component,
|
|
43
|
-
args: [{ selector: 'teta-head-cell-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-tabs class=\"column_auto\" *ngIf=\"dropDownOpen\">\n <ng-container *ngFor=\"let tab of tabTemplates; trackBy: trackIndex\">\n <teta-tab *ngIf=\"tab.showTab(column)\">\n <ng-template tetaTabTitle>\n <ng-container *ngIf=\"tab.icon\">\n <teta-icon [name]=\"tab.icon\"></teta-icon>\n </ng-container>\n </ng-template>\n <ng-template tetaTabContent>\n <ng-container\n *ngTemplateOutlet=\"tab.template; context: {\n column: column,\n columns: columns,\n data: data,\n state: state,\n close: closeDropdown\n }\"></ng-container>\n </ng-template>\n </teta-tab>\n </ng-container>\n</teta-tabs>\n", styles: [":host{display:flex;flex-grow:1;min-height:0;min-width:250px}\n"] }]
|
|
43
|
+
args: [{ selector: 'teta-head-cell-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-tabs class=\"column_auto\" *ngIf=\"dropDownOpen\">\n <ng-container *ngFor=\"let tab of tabTemplates; trackBy: trackIndex\">\n <teta-tab *ngIf=\"tab.showTab(column)\">\n <ng-template tetaTabTitle>\n <ng-container *ngIf=\"tab.icon\">\n <teta-icon [name]=\"tab.icon\" [palette]=\"'text'\"></teta-icon>\n </ng-container>\n </ng-template>\n <ng-template tetaTabContent>\n <ng-container\n *ngTemplateOutlet=\"tab.template; context: {\n column: column,\n columns: columns,\n data: data,\n state: state,\n close: closeDropdown\n }\"></ng-container>\n </ng-template>\n </teta-tab>\n </ng-container>\n</teta-tabs>\n", styles: [":host{display:flex;flex-grow:1;min-height:0;min-width:250px}\n"] }]
|
|
44
44
|
}], ctorParameters: function () { return [{ type: i1.TableService }, { type: i2.TetaConfigService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
|
|
45
45
|
type: Input
|
|
46
46
|
}], column: [{
|
|
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImpor
|
|
|
56
56
|
}], dropDownOpenChange: [{
|
|
57
57
|
type: Output
|
|
58
58
|
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZC1jZWxsLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvaGVhZC1jZWxsLWRyb3Bkb3duL2hlYWQtY2VsbC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL2hlYWQtY2VsbC1kcm9wZG93bi9oZWFkLWNlbGwtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFjdkIsTUFBTSxPQUFPLHlCQUF5QjtJQVVoQjtJQUNBO0lBQ0E7SUFYWCxPQUFPLENBQWM7SUFDckIsTUFBTSxDQUFjO0lBQ3BCLEtBQUssQ0FBYztJQUNuQixJQUFJLENBQU07SUFDVixZQUFZLENBQW9CO0lBQ2hDLFlBQVksQ0FBVTtJQUNyQixrQkFBa0IsR0FDMUIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUU5QixZQUFvQixJQUFxQixFQUNyQixPQUEwQixFQUMxQixJQUF1QjtRQUZ2QixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUMxQixTQUFJLEdBQUosSUFBSSxDQUFtQjtJQUMzQyxDQUFDO0lBRUQsYUFBYSxHQUFHLEdBQUcsRUFBRTtRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQztJQUVGLFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVztJQUNYLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBSztRQUNkLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzt1R0E1QlUseUJBQXlCOzJGQUF6Qix5QkFBeUIsa1FDdkJ0Qyx3dUJBcUJBOzsyRkRFYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNO21LQUd0QyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VGFibGVTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3RhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHtUYWJsZUNvbHVtbn0gZnJvbSAnLi4vY29udHJhY3QvdGFibGUtY29sdW1uJztcbmltcG9ydCB7RmlsdGVyU3RhdGV9IGZyb20gJy4uLy4uL2ZpbHRlci9jb250YXJjdC9maWx0ZXItc3RhdGUnO1xuaW1wb3J0IHtJVHJlZURhdGF9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLXRyZWUtZGF0YSc7XG5pbXBvcnQge1RldGFDb25maWdTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9sb2NhbGUvdGV0YS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQge0hlYWREcm9wZG93blRhYn0gZnJvbSAnLi4vY29udHJhY3QvaGVhZC1kcm9wZG93bi10YWInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWhlYWQtY2VsbC1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkLWNlbGwtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWFkLWNlbGwtZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRDZWxsRHJvcGRvd25Db21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGNvbHVtbnM6IElUcmVlRGF0YVtdO1xuICBASW5wdXQoKSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBzdGF0ZTogRmlsdGVyU3RhdGU7XG4gIEBJbnB1dCgpIGRhdGE6IFRbXTtcbiAgQElucHV0KCkgdGFiVGVtcGxhdGVzOiBIZWFkRHJvcGRvd25UYWJbXTtcbiAgQElucHV0KCkgZHJvcERvd25PcGVuOiBib29sZWFuO1xuICBAT3V0cHV0KCkgZHJvcERvd25PcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zdmM6IFRhYmxlU2VydmljZTxUPixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfY29uZmlnOiBUZXRhQ29uZmlnU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG5cbiAgY2xvc2VEcm9wZG93biA9ICgpID0+IHtcbiAgICB0aGlzLmRyb3BEb3duT3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuZHJvcERvd25PcGVuQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICB9O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gIH1cblxuICB0cmFja0luZGV4KGluZGV4KSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG59XG4iLCI8dGV0YS10YWJzIGNsYXNzPVwiY29sdW1uX2F1dG9cIiAqbmdJZj1cImRyb3BEb3duT3BlblwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiVGVtcGxhdGVzOyB0cmFja0J5OiB0cmFja0luZGV4XCI+XG4gICAgPHRldGEtdGFiICpuZ0lmPVwidGFiLnNob3dUYWIoY29sdW1uKVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIHRldGFUYWJUaXRsZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYi5pY29uXCI+XG4gICAgICAgICAgPHRldGEtaWNvbiBbbmFtZV09XCJ0YWIuaWNvblwiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgdGV0YVRhYkNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi50ZW1wbGF0ZTsgY29udGV4dDoge1xuICAgICAgICAgICAgY29sdW1uOiBjb2x1bW4sXG4gICAgICAgICAgICBjb2x1bW5zOiBjb2x1bW5zLFxuICAgICAgICAgICAgZGF0YTogZGF0YSxcbiAgICAgICAgICAgIHN0YXRlOiBzdGF0ZSxcbiAgICAgICAgICAgIGNsb3NlOiBjbG9zZURyb3Bkb3duXG4gICAgICAgICAgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3RldGEtdGFiPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvdGV0YS10YWJzPlxuIl19
|
package/esm2022/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs
CHANGED
|
@@ -44,11 +44,11 @@ export class FilterDropdownTabComponent {
|
|
|
44
44
|
ngOnInit() {
|
|
45
45
|
}
|
|
46
46
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: FilterDropdownTabComponent, deps: [{ token: i1.TableService }, { token: i2.TetaConfigService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: FilterDropdownTabComponent, selector: "teta-filter-dropdown-tab", inputs: { columns: "columns", column: "column", state: "state", data: "data", close: "close" }, host: { listeners: { "keydown.enter": "enter()" } }, ngImport: i0, template: "<ng-container *ngIf=\"locale | async as loc\">\n <teta-filter-host [column]=\"column\"\n [data]=\"data\"\n [state]=\"state\"\n *ngIf=\"filterOptions | async as options\"\n [filterOptions]=\"options[column.name]\"></teta-filter-host>\n <teta-toolbar class=\"justify-content-between\">\n <button type=\"button\" teta-button [palette]=\"'text'\" [view]=\"'ghost'\" (click)=\"clearFilter()\">\n {{loc.clear}}\n </button>\n <button type=\"button\" teta-button [palette]=\"'primary'\" (click)=\"applyFilter()\">\n <teta-icon [name]=\"'tick'\"></teta-icon>\n {{loc.apply}}\n </button>\n </teta-toolbar>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;min-height:0;min-width:0}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FilterHostComponent, selector: "teta-filter-host", inputs: ["column", "state", "data", "filterOptions"], outputs: ["filterChanged"] }, { kind: "component", type: i5.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: i7.ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: FilterDropdownTabComponent, selector: "teta-filter-dropdown-tab", inputs: { columns: "columns", column: "column", state: "state", data: "data", close: "close" }, host: { listeners: { "keydown.enter": "enter()" } }, ngImport: i0, template: "<ng-container *ngIf=\"locale | async as loc\">\n <teta-filter-host [column]=\"column\"\n [data]=\"data\"\n [state]=\"state\"\n *ngIf=\"filterOptions | async as options\"\n [filterOptions]=\"options[column.name]\"></teta-filter-host>\n <teta-toolbar class=\"justify-content-between\">\n <button type=\"button\" teta-button [palette]=\"'text'\" [view]=\"'ghost'\" (click)=\"clearFilter()\">\n {{loc.clear}}\n </button>\n <button type=\"button\" teta-button [palette]=\"'primary'\" (click)=\"applyFilter()\">\n <teta-icon [name]=\"'tick'\" [palette]=\"'white'\"></teta-icon>\n {{loc.apply}}\n </button>\n </teta-toolbar>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;min-height:0;min-width:0}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FilterHostComponent, selector: "teta-filter-host", inputs: ["column", "state", "data", "filterOptions"], outputs: ["filterChanged"] }, { kind: "component", type: i5.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: i7.ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
48
48
|
}
|
|
49
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: FilterDropdownTabComponent, decorators: [{
|
|
50
50
|
type: Component,
|
|
51
|
-
args: [{ selector: 'teta-filter-dropdown-tab', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"locale | async as loc\">\n <teta-filter-host [column]=\"column\"\n [data]=\"data\"\n [state]=\"state\"\n *ngIf=\"filterOptions | async as options\"\n [filterOptions]=\"options[column.name]\"></teta-filter-host>\n <teta-toolbar class=\"justify-content-between\">\n <button type=\"button\" teta-button [palette]=\"'text'\" [view]=\"'ghost'\" (click)=\"clearFilter()\">\n {{loc.clear}}\n </button>\n <button type=\"button\" teta-button [palette]=\"'primary'\" (click)=\"applyFilter()\">\n <teta-icon [name]=\"'tick'\"></teta-icon>\n {{loc.apply}}\n </button>\n </teta-toolbar>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;min-height:0;min-width:0}\n"] }]
|
|
51
|
+
args: [{ selector: 'teta-filter-dropdown-tab', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"locale | async as loc\">\n <teta-filter-host [column]=\"column\"\n [data]=\"data\"\n [state]=\"state\"\n *ngIf=\"filterOptions | async as options\"\n [filterOptions]=\"options[column.name]\"></teta-filter-host>\n <teta-toolbar class=\"justify-content-between\">\n <button type=\"button\" teta-button [palette]=\"'text'\" [view]=\"'ghost'\" (click)=\"clearFilter()\">\n {{loc.clear}}\n </button>\n <button type=\"button\" teta-button [palette]=\"'primary'\" (click)=\"applyFilter()\">\n <teta-icon [name]=\"'tick'\" [palette]=\"'white'\"></teta-icon>\n {{loc.apply}}\n </button>\n </teta-toolbar>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;min-height:0;min-width:0}\n"] }]
|
|
52
52
|
}], ctorParameters: function () { return [{ type: i1.TableService }, { type: i2.TetaConfigService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
|
|
53
53
|
type: Input
|
|
54
54
|
}], column: [{
|
|
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImpor
|
|
|
63
63
|
type: HostListener,
|
|
64
64
|
args: ['keydown.enter']
|
|
65
65
|
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRyb3Bkb3duLXRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL3RhYmxlLWhlYWQvZmlsdGVyLWRyb3Bkb3duLXRhYi9maWx0ZXItZHJvcGRvd24tdGFiLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvdGFibGUtaGVhZC9maWx0ZXItZHJvcGRvd24tdGFiL2ZpbHRlci1kcm9wZG93bi10YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7OztBQWVsRSxNQUFNLE9BQU8sMEJBQTBCO0lBY2pCO0lBQ0E7SUFDQTtJQUNBO0lBaEJYLE9BQU8sQ0FBYztJQUNyQixNQUFNLENBQWM7SUFDcEIsS0FBSyxDQUFjO0lBQ25CLElBQUksQ0FBTTtJQUNWLEtBQUssQ0FBYTtJQUUzQixNQUFNLENBQStCO0lBQ3JDLGFBQWEsQ0FBMEM7SUFFeEIsS0FBSztRQUNsQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQW9CLElBQXFCLEVBQ3JCLE9BQTBCLEVBQzFCLFdBQXVCLEVBQ3ZCLElBQXVCO1FBSHZCLFNBQUksR0FBSixJQUFJLENBQWlCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDbEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUMvQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7dUdBbkNVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLHFOQ3pCdkMsd3VCQWdCQTs7MkZEU2EsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTTs0TEFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFLeUIsS0FBSztzQkFBbkMsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gJy4uLy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQge0ZpbHRlclN0YXRlfSBmcm9tICcuLi8uLi8uLi9maWx0ZXIvY29udGFyY3QvZmlsdGVyLXN0YXRlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RldGFMb2NhbGlzYXRpb259IGZyb20gJy4uLy4uLy4uLy4uL2xvY2FsZS90ZXRhLWxvY2FsaXNhdGlvbic7XG5pbXBvcnQge1RhYmxlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7VGV0YUNvbmZpZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL2xvY2FsZS90ZXRhLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7SURpY3Rpb25hcnl9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWRpY3Rpb25hcnknO1xuaW1wb3J0IHtJSWROYW1lfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1pZC1uYW1lJztcbmltcG9ydCB7SVRyZWVEYXRhfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS10cmVlLWRhdGEnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWZpbHRlci1kcm9wZG93bi10YWInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLWRyb3Bkb3duLXRhYi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci1kcm9wZG93bi10YWIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyRHJvcGRvd25UYWJDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjb2x1bW5zOiBJVHJlZURhdGFbXTtcbiAgQElucHV0KCkgY29sdW1uOiBUYWJsZUNvbHVtbjtcbiAgQElucHV0KCkgc3RhdGU6IEZpbHRlclN0YXRlO1xuICBASW5wdXQoKSBkYXRhOiBUW107XG4gIEBJbnB1dCgpIGNsb3NlOiAoKSA9PiB2b2lkO1xuXG4gIGxvY2FsZTogT2JzZXJ2YWJsZTxUZXRhTG9jYWxpc2F0aW9uPjtcbiAgZmlsdGVyT3B0aW9uczogT2JzZXJ2YWJsZTxJRGljdGlvbmFyeTxJSWROYW1lPGFueT5bXT4+O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInKSBlbnRlcigpIHtcbiAgICB0aGlzLmFwcGx5RmlsdGVyKCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zdmM6IFRhYmxlU2VydmljZTxUPixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfY29uZmlnOiBUZXRhQ29uZmlnU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMubG9jYWxlID0gdGhpcy5fY29uZmlnLmxvY2FsZTtcbiAgICB0aGlzLmZpbHRlck9wdGlvbnMgPSB0aGlzLl9zdmMuZmlsdGVyT3B0aW9ucztcbiAgfVxuXG4gIGNsZWFyRmlsdGVyKCkge1xuICAgIHRoaXMuX3N2Yy5jbGVhckZpbHRlcih0aGlzLmNvbHVtbik7XG4gICAgdGhpcy5jbG9zZSgpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGFwcGx5RmlsdGVyKCkge1xuICAgIHRoaXMuX3N2Yy5zZXRTdGF0ZShuZXcgRmlsdGVyU3RhdGUodGhpcy5zdGF0ZSkpO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvY2FsZSB8IGFzeW5jIGFzIGxvY1wiPlxuICA8dGV0YS1maWx0ZXItaG9zdCBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFcIlxuICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwic3RhdGVcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZpbHRlck9wdGlvbnMgfCBhc3luYyBhcyBvcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZpbHRlck9wdGlvbnNdPVwib3B0aW9uc1tjb2x1bW4ubmFtZV1cIj48L3RldGEtZmlsdGVyLWhvc3Q+XG4gIDx0ZXRhLXRvb2xiYXIgY2xhc3M9XCJqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIHRldGEtYnV0dG9uIFtwYWxldHRlXT1cIid0ZXh0J1wiIFt2aWV3XT1cIidnaG9zdCdcIiAoY2xpY2spPVwiY2xlYXJGaWx0ZXIoKVwiPlxuICAgICAge3tsb2MuY2xlYXJ9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIHRldGEtYnV0dG9uIFtwYWxldHRlXT1cIidwcmltYXJ5J1wiIChjbGljayk9XCJhcHBseUZpbHRlcigpXCI+XG4gICAgICA8dGV0YS1pY29uIFtuYW1lXT1cIid0aWNrJ1wiIFtwYWxldHRlXT1cIid3aGl0ZSdcIj48L3RldGEtaWNvbj5cbiAgICAgIHt7bG9jLmFwcGx5fX1cbiAgICA8L2J1dHRvbj5cbiAgPC90ZXRhLXRvb2xiYXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -17,14 +17,14 @@ export class ThemeSwitchComponent {
|
|
|
17
17
|
this._svc.switchTheme();
|
|
18
18
|
}
|
|
19
19
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: ThemeSwitchComponent, deps: [{ token: i1.ThemeSwitchService }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: ThemeSwitchComponent, selector: "teta-theme-switch", inputs: { palette: "palette", view: "view" }, ngImport: i0, template: "<button type=\"button\" teta-button [palette]=\"palette\" [view]=\"view\" [square]=\"true\" (click)=\"switchTheme()\">\n <teta-icon [name]=\"'lamp'\"></teta-icon>\n</button>\n", styles: [":host{display:flex;align-items:center}\n"], dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: i3.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
20
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: ThemeSwitchComponent, selector: "teta-theme-switch", inputs: { palette: "palette", view: "view" }, ngImport: i0, template: "<button type=\"button\" teta-button [palette]=\"palette\" [view]=\"view\" [square]=\"true\" (click)=\"switchTheme()\">\n <teta-icon [name]=\"'lamp'\" [palette]=\"'text'\"></teta-icon>\n</button>\n", styles: [":host{display:flex;align-items:center}\n"], dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: i3.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21
21
|
}
|
|
22
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: ThemeSwitchComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
24
|
-
args: [{ selector: 'teta-theme-switch', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button type=\"button\" teta-button [palette]=\"palette\" [view]=\"view\" [square]=\"true\" (click)=\"switchTheme()\">\n <teta-icon [name]=\"'lamp'\"></teta-icon>\n</button>\n", styles: [":host{display:flex;align-items:center}\n"] }]
|
|
24
|
+
args: [{ selector: 'teta-theme-switch', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button type=\"button\" teta-button [palette]=\"palette\" [view]=\"view\" [square]=\"true\" (click)=\"switchTheme()\">\n <teta-icon [name]=\"'lamp'\" [palette]=\"'text'\"></teta-icon>\n</button>\n", styles: [":host{display:flex;align-items:center}\n"] }]
|
|
25
25
|
}], ctorParameters: function () { return [{ type: i1.ThemeSwitchService }]; }, propDecorators: { palette: [{
|
|
26
26
|
type: Input
|
|
27
27
|
}], view: [{
|
|
28
28
|
type: Input
|
|
29
29
|
}] } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhlbWUtc3dpdGNoL3RoZW1lLXN3aXRjaC90aGVtZS1zd2l0Y2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aGVtZS1zd2l0Y2gvdGhlbWUtc3dpdGNoL3RoZW1lLXN3aXRjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7Ozs7O0FBV3ZCLE1BQU0sT0FBTyxvQkFBb0I7SUFLWDtJQUpYLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDakIsSUFBSSxHQUFtQixPQUFPLENBQUM7SUFDeEMsS0FBSyxDQUFzQjtJQUUzQixZQUFvQixJQUF3QjtRQUF4QixTQUFJLEdBQUosSUFBSSxDQUFvQjtRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQixDQUFDO3VHQWJVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLHVHQ2hCakMsdU1BR0E7OzJGRGFhLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTt5R0FHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVTd2l0Y2hTZXJ2aWNlIH0gZnJvbSAnLi4vdGhlbWUtc3dpdGNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtCdXR0b25WaWV3VHlwZX0gZnJvbSAnLi4vLi4vYnV0dG9uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS10aGVtZS1zd2l0Y2gnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGhlbWUtc3dpdGNoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGhlbWUtc3dpdGNoLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVN3aXRjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHBhbGV0dGUgPSAndGV4dCc7XG4gIEBJbnB1dCgpIHZpZXc6IEJ1dHRvblZpZXdUeXBlID0gJ2dob3N0JztcbiAgdGhlbWU6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc3ZjOiBUaGVtZVN3aXRjaFNlcnZpY2UpIHtcbiAgICB0aGlzLnRoZW1lID0gdGhpcy5fc3ZjLnRoZW1lO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHN3aXRjaFRoZW1lKCkge1xuICAgIHRoaXMuX3N2Yy5zd2l0Y2hUaGVtZSgpO1xuICB9XG59XG4iLCI8YnV0dG9uIHR5cGU9XCJidXR0b25cIiB0ZXRhLWJ1dHRvbiBbcGFsZXR0ZV09XCJwYWxldHRlXCIgW3ZpZXddPVwidmlld1wiIFtzcXVhcmVdPVwidHJ1ZVwiIChjbGljayk9XCJzd2l0Y2hUaGVtZSgpXCI+XG4gIDx0ZXRhLWljb24gW25hbWVdPVwiJ2xhbXAnXCIgW3BhbGV0dGVdPVwiJ3RleHQnXCI+PC90ZXRhLWljb24+XG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -38,13 +38,15 @@ export class ScrollableComponent {
|
|
|
38
38
|
}
|
|
39
39
|
scrollVertical(event) {
|
|
40
40
|
this._container.nativeElement.scrollTop = event.target.scrollTop;
|
|
41
|
+
// event.scrollLeft = this._container.nativeElement.scrollLeft;
|
|
41
42
|
// this._elementRef.nativeElement.dispatchEvent(event);
|
|
42
|
-
this.scroll.emit(event);
|
|
43
|
+
// this.scroll.emit(event);
|
|
43
44
|
}
|
|
44
45
|
scrollHorizontal(event) {
|
|
45
46
|
this._container.nativeElement.scrollLeft = event.target.scrollLeft;
|
|
47
|
+
// event.scrollTop = this._container.nativeElement.scrollTop;
|
|
46
48
|
// this._elementRef.nativeElement.dispatchEvent(event);
|
|
47
|
-
this.scroll.emit(event);
|
|
49
|
+
// this.scroll.emit(event);
|
|
48
50
|
}
|
|
49
51
|
ngOnInit() {
|
|
50
52
|
this._container = this._scrollableWrapper;
|
|
@@ -104,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImpor
|
|
|
104
106
|
}], scroll: [{
|
|
105
107
|
type: Output
|
|
106
108
|
}] } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL3Njcm9sbGFibGUvc2Nyb2xsYWJsZS9zY3JvbGxhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmUvc2Nyb2xsYWJsZS9zY3JvbGxhYmxlL3Njcm9sbGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsWUFBWSxFQUN2QixVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQ25DLEtBQUssRUFDUCxNQUFNLEVBQUUsU0FBUyxHQUMxQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFDLFNBQVMsRUFBYyxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9DQUFvQyxDQUFDOzs7OztBQVFoRSxNQUFNLE9BQU8sbUJBQW1CO0lBcUNWO0lBQ0E7SUFDQTtJQUN5QjtJQXBDbEMsZ0JBQWdCLENBQWE7SUFJN0Isa0JBQWtCLENBQVk7SUFJOUIsa0JBQWtCLENBQVk7SUFJOUIsb0JBQW9CLENBQWE7SUFFbkMsU0FBUyxHQUFxQixLQUFLLENBQUM7SUFHN0MsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUVkLFlBQVksQ0FBb0I7SUFFL0IsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFFN0MsVUFBVSxDQUtQO0lBRUssVUFBVSxDQUFhO0lBQ3ZCLE1B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SVUsa0JBQWtCO3NCQUY1QixTQUFTO3VCQUFDLG1CQUFtQixFQUFFO3dCQUM5QixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFJVSxrQkFBa0I7c0JBRjVCLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUU7d0JBQzlCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQUlVLG9CQUFvQjtzQkFGOUIsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRTt3QkFDaEMsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBRVEsU0FBUztzQkFBakIsS0FBSztnQkFHTixjQUFjO3NCQUZiLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsdUJBQXVCO2dCQUczQixZQUFZO3NCQUFwQixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5qZWN0LFxuICBJbmplY3RvciwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LFxuICBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2Nyb2xsYWJsZURpcmVjdGl2ZX0gZnJvbSBcIi4uL3Njcm9sbGFibGUuZGlyZWN0aXZlXCI7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRX0gZnJvbSBcIi4uLy4uLy4uL29ic2VydmFibGUvYW5pbWF0aW9uLWZyYW1lXCI7XG5pbXBvcnQge2Zyb21FdmVudCwgT2JzZXJ2YWJsZSwgdGFwfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHttYXAsIHRha2VXaGlsZSwgdGhyb3R0bGVUaW1lfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7dGV0YVpvbmVGdWxsfSBmcm9tIFwiLi4vLi4vLi4vb2JzZXJ2YWJsZS96b25lT2JzZXJ2YWJsZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXNjcm9sbGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2Nyb2xsYWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Njcm9sbGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQENvbnRlbnRDaGlsZChTY3JvbGxhYmxlRGlyZWN0aXZlLCB7XG4gICAgc3RhdGljOiB0cnVlLFxuICAgIHJlYWQ6IEVsZW1lbnRSZWZcbiAgfSkgcHJpdmF0ZSBfc2Nyb2xsRGlyZWN0aXZlOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3Njcm9sbGFibGVXcmFwcGVyJywge1xuICAgIHN0YXRpYzogdHJ1ZVxuICB9KSBwcml2YXRlIF9zY3JvbGxhYmxlV3JhcHBlcjogRWxlbWVudFJlZlxuXG4gIEBWaWV3Q2hpbGQoJ3Njcm9sbGJhclZlcnRpY2FsJywge1xuICAgIHN0YXRpYzogdHJ1ZVxuICB9KSBwcml2YXRlIF9zY3JvbGxiYXJWZXJ0aWNhbDogRWxlbWVudFJlZlxuXG4gIEBWaWV3Q2hpbGQoJ3Njcm9sbGJhckhvcml6b250YWwnLCB7XG4gICAgc3RhdGljOiB0cnVlXG4gIH0pIHByaXZhdGUgX3Njcm9sbGJhckhvcml6b250YWw6IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KCkgZGlyZWN0aW9uOiAncm93JyB8ICdjb2x1bW4nID0gJ3Jvdyc7XG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2hvdy1zY3JvbGxiYXJzJylcbiAgc2hvd1Njcm9sbGJhcnMgPSBmYWxzZTtcblxuICBASW5wdXQoKSBjb250ZW50Q2xhc3M6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIEBPdXRwdXQoKSBzY3JvbGwgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIHNjcm9sbFNpemU6IE9ic2VydmFibGU8e1xuICAgIGNsaWVudEhlaWdodDogbnVtYmVyO1xuICAgIGNsaWVudFdpZHRoOiBudW1iZXI7XG4gICAgc2Nyb2xsSGVpZ2h0OiBudW1iZXI7XG4gICAgc2Nyb2xsV2lkdGg6IG51bWJlcjtcbiAgfT47XG5cbiAgcHJpdmF0ZSBfY29udGFpbmVyOiBFbGVtZW50UmVmO1xuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIHByaXZhdGUgX2FuaW1hdGlvbkZyYW1lOiBPYnNlcnZhYmxlPG51bWJlcj4pIHtcbiAgICB0aGlzLnNjcm9sbFNpemUgPSB0aGlzLl9hbmltYXRpb25GcmFtZS5waXBlKFxuICAgICAgdGhyb3R0bGVUaW1lKDMwMCksXG4gICAgICBtYXAoKCkgPT4gKHtcbiAgICAgICAgc2Nyb2xsSGVpZ2h0OiB0aGlzLl9jb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQsXG4gICAgICAgIHNjcm9sbFdpZHRoOiB0aGlzLl9jb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCxcbiAgICAgICAgY2xpZW50SGVpZ2h0OiB0aGlzLl9jb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQsXG4gICAgICAgIGNsaWVudFdpZHRoOiB0aGlzLl9jb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCxcbiAgICAgIH0pKSxcbiAgICAgIHRldGFab25lRnVsbCh0aGlzLl9uZ1pvbmUpXG4gICAgKVxuICB9XG5cbiAgc2Nyb2xsVmVydGljYWwoZXZlbnQpIHtcbiAgICB0aGlzLl9jb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSBldmVudC50YXJnZXQuc2Nyb2xsVG9wO1xuICAgIC8vIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICB0aGlzLnNjcm9sbC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHNjcm9sbEhvcml6b250YWwoZXZlbnQpIHtcbiAgICB0aGlzLl9jb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gZXZlbnQudGFyZ2V0LnNjcm9sbExlZnQ7XG4gICAgLy8gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgIHRoaXMuc2Nyb2xsLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGFpbmVyID0gdGhpcy5fc2Nyb2xsYWJsZVdyYXBwZXI7XG4gICAgaWYgKHRoaXMuX3Njcm9sbERpcmVjdGl2ZSkge1xuICAgICAgdGhpcy5fY29udGFpbmVyID0gdGhpcy5fc2Nyb2xsRGlyZWN0aXZlO1xuICAgIH1cblxuICAgIGZyb21FdmVudCh0aGlzLl9jb250YWluZXIubmF0aXZlRWxlbWVudCwgJ3Njcm9sbCcpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+IHRoaXMuX2FsaXZlKSxcbiAgICAgICAgdGFwKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5fc2Nyb2xsYmFySG9yaXpvbnRhbC5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSBldmVudC50YXJnZXQuc2Nyb2xsTGVmdDtcbiAgICAgICAgICB0aGlzLl9zY3JvbGxiYXJWZXJ0aWNhbC5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IGV2ZW50LnRhcmdldC5zY3JvbGxUb3A7XG4gICAgICAgICAgLy8gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICAgIHRoaXMuc2Nyb2xsLmVtaXQoZXZlbnQpO1xuICAgICAgICB9KVxuICAgICAgKS5zdWJzY3JpYmUoKVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNjcm9sbC1jb250cm9sc1wiICp0ZXRhTGV0PVwic2Nyb2xsU2l6ZSB8IGFzeW5jIGFzIHNpemVcIj5cbiAgPGRpdiAjc2Nyb2xsYmFyVmVydGljYWxcbiAgICAgICBbY2xhc3MuZGlzcGxheS1ub25lXT1cInNpemU/LnNjcm9sbEhlaWdodCA8PSBzaXplPy5jbGllbnRIZWlnaHRcIlxuICAgICAgIGNsYXNzPVwic2Nyb2xsLXNjcm9sbGJhciBzY3JvbGwtc2Nyb2xsYmFyLXZlcnRpY2FsXCJcbiAgICAgICAoc2Nyb2xsKT1cInNjcm9sbFZlcnRpY2FsKCRldmVudClcIj5cbiAgICA8ZGl2IFtzdHlsZS5oZWlnaHQucHhdPVwic2l6ZT8uc2Nyb2xsSGVpZ2h0XCIgc3R5bGU9XCJ3aWR0aDogMXB4O1wiPjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAjc2Nyb2xsYmFySG9yaXpvbnRhbFxuICAgICAgIFtjbGFzcy5kaXNwbGF5LW5vbmVdPVwic2l6ZT8uc2Nyb2xsV2lkdGggPD0gc2l6ZT8uY2xpZW50V2lkdGhcIlxuICAgICAgIGNsYXNzPVwic2Nyb2xsLXNjcm9sbGJhciBzY3JvbGwtc2Nyb2xsYmFyLWhvcml6b250YWxcIlxuICAgICAgIChzY3JvbGwpPVwic2Nyb2xsSG9yaXpvbnRhbCgkZXZlbnQpXCI+XG4gICAgPGRpdiBbc3R5bGUud2lkdGgucHhdPVwic2l6ZT8uc2Nyb2xsV2lkdGhcIiBzdHlsZT1cImhlaWdodDogMXB4O1wiPjwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG5cbjwhLS08ZGl2ICNzY3JvbGxhYmxlV3JhcHBlciBjbGFzcz1cInNjcm9sbC1jb250ZW50LXdyYXBwZXJcIj4tLT5cbjwhLS0gIDxkaXYgY2xhc3M9XCJzY3JvbGwtY29udGVudFwiLS0+XG48IS0tICAgICAgIFtjbGFzcy5jb2x1bW5dPVwiZGlyZWN0aW9uID09PSAnY29sdW1uJ1wiPi0tPlxuPCEtLSAgICAmbHQ7ISZuZGFzaDsgIDxkaXYgY2xhc3M9XCJzY3JvbGwtY29udGVudFwiPiZuZGFzaDsmZ3Q7LS0+XG48IS0tICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4tLT5cbjwhLS0gIDwvZGl2Pi0tPlxuPCEtLTwvZGl2Pi0tPlxuPGRpdiAjc2Nyb2xsYWJsZVdyYXBwZXIgY2xhc3M9XCJzY3JvbGwtY29udGVudC13cmFwcGVyXCJcbiAgICAgW25nQ2xhc3NdPVwiY29udGVudENsYXNzXCJcbiAgICAgW2NsYXNzLmNvbHVtbl09XCJkaXJlY3Rpb24gPT09ICdjb2x1bW4nXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL3Njcm9sbGFibGUvc2Nyb2xsYWJsZS9zY3JvbGxhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmUvc2Nyb2xsYWJsZS9zY3JvbGxhYmxlL3Njcm9sbGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsWUFBWSxFQUN2QixVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQ25DLEtBQUssRUFDUCxNQUFNLEVBQUUsU0FBUyxHQUMxQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFDLFNBQVMsRUFBYyxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9DQUFvQyxDQUFDOzs7OztBQVFoRSxNQUFNLE9BQU8sbUJBQW1CO0lBcUNWO0lBQ0E7SUFDQTtJQUN5QjtJQXBDbEMsZ0JBQWdCLENBQWE7SUFJN0Isa0JBQWtCLENBQVk7SUFJOUIsa0JBQWtCLENBQVk7SUFJOUIsb0JBQW9CLENBQWE7SUFFbkMsU0FBUyxHQUFxQixLQUFLLENBQUM7SUFHN0MsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUVkLFlBQVksQ0FBb0I7SUFFL0IsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFFN0MsVUFBVSxDQUtQO0lBRUssVUFBVSxDQUFhO0lBQ3ZCLE1B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TSxFQUFFLElBQUk7cUJBQ2I7Z0JBSVUsa0JBQWtCO3NCQUY1QixTQUFTO3VCQUFDLG1CQUFtQixFQUFFO3dCQUM5QixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFJVSxvQkFBb0I7c0JBRjlCLFNBQVM7dUJBQUMscUJBQXFCLEVBQUU7d0JBQ2hDLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQUVRLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR04sY0FBYztzQkFGYixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFHM0IsWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEluamVjdCxcbiAgSW5qZWN0b3IsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSxcbiAgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1Njcm9sbGFibGVEaXJlY3RpdmV9IGZyb20gXCIuLi9zY3JvbGxhYmxlLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHtBTklNQVRJT05fRlJBTUV9IGZyb20gXCIuLi8uLi8uLi9vYnNlcnZhYmxlL2FuaW1hdGlvbi1mcmFtZVwiO1xuaW1wb3J0IHtmcm9tRXZlbnQsIE9ic2VydmFibGUsIHRhcH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7bWFwLCB0YWtlV2hpbGUsIHRocm90dGxlVGltZX0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQge3RldGFab25lRnVsbH0gZnJvbSBcIi4uLy4uLy4uL29ic2VydmFibGUvem9uZU9ic2VydmFibGVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1zY3JvbGxhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Njcm9sbGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zY3JvbGxhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNjcm9sbGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBDb250ZW50Q2hpbGQoU2Nyb2xsYWJsZURpcmVjdGl2ZSwge1xuICAgIHN0YXRpYzogdHJ1ZSxcbiAgICByZWFkOiBFbGVtZW50UmVmXG4gIH0pIHByaXZhdGUgX3Njcm9sbERpcmVjdGl2ZTogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdzY3JvbGxhYmxlV3JhcHBlcicsIHtcbiAgICBzdGF0aWM6IHRydWVcbiAgfSkgcHJpdmF0ZSBfc2Nyb2xsYWJsZVdyYXBwZXI6IEVsZW1lbnRSZWZcblxuICBAVmlld0NoaWxkKCdzY3JvbGxiYXJWZXJ0aWNhbCcsIHtcbiAgICBzdGF0aWM6IHRydWVcbiAgfSkgcHJpdmF0ZSBfc2Nyb2xsYmFyVmVydGljYWw6IEVsZW1lbnRSZWZcblxuICBAVmlld0NoaWxkKCdzY3JvbGxiYXJIb3Jpem9udGFsJywge1xuICAgIHN0YXRpYzogdHJ1ZVxuICB9KSBwcml2YXRlIF9zY3JvbGxiYXJIb3Jpem9udGFsOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogJ3JvdycgfCAnY29sdW1uJyA9ICdyb3cnO1xuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNob3ctc2Nyb2xsYmFycycpXG4gIHNob3dTY3JvbGxiYXJzID0gZmFsc2U7XG5cbiAgQElucHV0KCkgY29udGVudENsYXNzOiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICBAT3V0cHV0KCkgc2Nyb2xsID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBzY3JvbGxTaXplOiBPYnNlcnZhYmxlPHtcbiAgICBjbGllbnRIZWlnaHQ6IG51bWJlcjtcbiAgICBjbGllbnRXaWR0aDogbnVtYmVyO1xuICAgIHNjcm9sbEhlaWdodDogbnVtYmVyO1xuICAgIHNjcm9sbFdpZHRoOiBudW1iZXI7XG4gIH0+O1xuXG4gIHByaXZhdGUgX2NvbnRhaW5lcjogRWxlbWVudFJlZjtcbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXG4gICAgICAgICAgICAgIEBJbmplY3QoQU5JTUFUSU9OX0ZSQU1FKSBwcml2YXRlIF9hbmltYXRpb25GcmFtZTogT2JzZXJ2YWJsZTxudW1iZXI+KSB7XG4gICAgdGhpcy5zY3JvbGxTaXplID0gdGhpcy5fYW5pbWF0aW9uRnJhbWUucGlwZShcbiAgICAgIHRocm90dGxlVGltZSgzMDApLFxuICAgICAgbWFwKCgpID0+ICh7XG4gICAgICAgIHNjcm9sbEhlaWdodDogdGhpcy5fY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0LFxuICAgICAgICBzY3JvbGxXaWR0aDogdGhpcy5fY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGgsXG4gICAgICAgIGNsaWVudEhlaWdodDogdGhpcy5fY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0LFxuICAgICAgICBjbGllbnRXaWR0aDogdGhpcy5fY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgsXG4gICAgICB9KSksXG4gICAgICB0ZXRhWm9uZUZ1bGwodGhpcy5fbmdab25lKVxuICAgIClcbiAgfVxuXG4gIHNjcm9sbFZlcnRpY2FsKGV2ZW50KSB7XG4gICAgdGhpcy5fY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gZXZlbnQudGFyZ2V0LnNjcm9sbFRvcDtcbiAgICAvLyBldmVudC5zY3JvbGxMZWZ0ID0gdGhpcy5fY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdDtcbiAgICAvLyB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgLy8gdGhpcy5zY3JvbGwuZW1pdChldmVudCk7XG4gIH1cblxuICBzY3JvbGxIb3Jpem9udGFsKGV2ZW50KSB7XG4gICAgdGhpcy5fY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IGV2ZW50LnRhcmdldC5zY3JvbGxMZWZ0O1xuICAgIC8vIGV2ZW50LnNjcm9sbFRvcCA9IHRoaXMuX2NvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcDtcbiAgICAvLyB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgLy8gdGhpcy5zY3JvbGwuZW1pdChldmVudCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250YWluZXIgPSB0aGlzLl9zY3JvbGxhYmxlV3JhcHBlcjtcbiAgICBpZiAodGhpcy5fc2Nyb2xsRGlyZWN0aXZlKSB7XG4gICAgICB0aGlzLl9jb250YWluZXIgPSB0aGlzLl9zY3JvbGxEaXJlY3RpdmU7XG4gICAgfVxuXG4gICAgZnJvbUV2ZW50KHRoaXMuX2NvbnRhaW5lci5uYXRpdmVFbGVtZW50LCAnc2Nyb2xsJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4gdGhpcy5fYWxpdmUpLFxuICAgICAgICB0YXAoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLl9zY3JvbGxiYXJIb3Jpem9udGFsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IGV2ZW50LnRhcmdldC5zY3JvbGxMZWZ0O1xuICAgICAgICAgIHRoaXMuX3Njcm9sbGJhclZlcnRpY2FsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gZXZlbnQudGFyZ2V0LnNjcm9sbFRvcDtcbiAgICAgICAgICAvLyB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgICAgICAgdGhpcy5zY3JvbGwuZW1pdChldmVudCk7XG4gICAgICAgIH0pXG4gICAgICApLnN1YnNjcmliZSgpXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9hbGl2ZSA9IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2Nyb2xsLWNvbnRyb2xzXCIgKnRldGFMZXQ9XCJzY3JvbGxTaXplIHwgYXN5bmMgYXMgc2l6ZVwiPlxuICA8ZGl2ICNzY3JvbGxiYXJWZXJ0aWNhbFxuICAgICAgIFtjbGFzcy5kaXNwbGF5LW5vbmVdPVwic2l6ZT8uc2Nyb2xsSGVpZ2h0IDw9IHNpemU/LmNsaWVudEhlaWdodFwiXG4gICAgICAgY2xhc3M9XCJzY3JvbGwtc2Nyb2xsYmFyIHNjcm9sbC1zY3JvbGxiYXItdmVydGljYWxcIlxuICAgICAgIChzY3JvbGwpPVwic2Nyb2xsVmVydGljYWwoJGV2ZW50KVwiPlxuICAgIDxkaXYgW3N0eWxlLmhlaWdodC5weF09XCJzaXplPy5zY3JvbGxIZWlnaHRcIiBzdHlsZT1cIndpZHRoOiAxcHg7XCI+PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICNzY3JvbGxiYXJIb3Jpem9udGFsXG4gICAgICAgW2NsYXNzLmRpc3BsYXktbm9uZV09XCJzaXplPy5zY3JvbGxXaWR0aCA8PSBzaXplPy5jbGllbnRXaWR0aFwiXG4gICAgICAgY2xhc3M9XCJzY3JvbGwtc2Nyb2xsYmFyIHNjcm9sbC1zY3JvbGxiYXItaG9yaXpvbnRhbFwiXG4gICAgICAgKHNjcm9sbCk9XCJzY3JvbGxIb3Jpem9udGFsKCRldmVudClcIj5cbiAgICA8ZGl2IFtzdHlsZS53aWR0aC5weF09XCJzaXplPy5zY3JvbGxXaWR0aFwiIHN0eWxlPVwiaGVpZ2h0OiAxcHg7XCI+PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cblxuPCEtLTxkaXYgI3Njcm9sbGFibGVXcmFwcGVyIGNsYXNzPVwic2Nyb2xsLWNvbnRlbnQtd3JhcHBlclwiPi0tPlxuPCEtLSAgPGRpdiBjbGFzcz1cInNjcm9sbC1jb250ZW50XCItLT5cbjwhLS0gICAgICAgW2NsYXNzLmNvbHVtbl09XCJkaXJlY3Rpb24gPT09ICdjb2x1bW4nXCI+LS0+XG48IS0tICAgICZsdDshJm5kYXNoOyAgPGRpdiBjbGFzcz1cInNjcm9sbC1jb250ZW50XCI+Jm5kYXNoOyZndDstLT5cbjwhLS0gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pi0tPlxuPCEtLSAgPC9kaXY+LS0+XG48IS0tPC9kaXY+LS0+XG48ZGl2ICNzY3JvbGxhYmxlV3JhcHBlciBjbGFzcz1cInNjcm9sbC1jb250ZW50LXdyYXBwZXJcIlxuICAgICBbbmdDbGFzc109XCJjb250ZW50Q2xhc3NcIlxuICAgICBbY2xhc3MuY29sdW1uXT1cImRpcmVjdGlvbiA9PT0gJ2NvbHVtbidcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|