ngx-tethys 18.0.8 → 18.1.0-next.0
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/CHANGELOG.md +10 -1
- package/alert/alert.component.d.ts +11 -19
- package/anchor/anchor.component.d.ts +1 -3
- package/badge/badge.component.d.ts +12 -3
- package/date-picker/index.d.ts +26 -27
- package/date-picker/lib/date/date-table-cell.component.d.ts +1 -1
- package/date-picker/lib/popups/date-popup.component.d.ts +0 -1
- package/date-picker/lib/popups/inner-popup.component.d.ts +2 -1
- package/date-range/date-range.component.d.ts +2 -8
- package/divider/divider.component.d.ts +8 -2
- package/esm2022/action/action.component.mjs +3 -4
- package/esm2022/alert/alert.component.mjs +55 -81
- package/esm2022/anchor/anchor-link.component.mjs +15 -7
- package/esm2022/anchor/anchor.component.mjs +17 -9
- package/esm2022/arrow-switcher/arrow-switcher.component.mjs +4 -5
- package/esm2022/autocomplete/autocomplete.component.mjs +5 -5
- package/esm2022/avatar/avatar-list/avatar-list.component.mjs +4 -4
- package/esm2022/avatar/avatar.component.mjs +4 -4
- package/esm2022/back-top/back-top.component.mjs +4 -4
- package/esm2022/badge/badge.component.mjs +3 -4
- package/esm2022/breadcrumb/breadcrumb.component.mjs +4 -6
- package/esm2022/button/button-icon.component.mjs +4 -4
- package/esm2022/button/button.component.mjs +4 -4
- package/esm2022/calendar/calendar-header.component.mjs +4 -4
- package/esm2022/calendar/calendar.component.mjs +3 -4
- package/esm2022/card/header.component.mjs +4 -4
- package/esm2022/carousel/carousel.component.mjs +4 -4
- package/esm2022/cascader/cascader-li.component.mjs +4 -4
- package/esm2022/cascader/cascader-search-option.component.mjs +4 -4
- package/esm2022/cascader/cascader.component.mjs +5 -7
- package/esm2022/checkbox/checkbox.component.mjs +5 -5
- package/esm2022/collapse/collapse-item.component.mjs +4 -4
- package/esm2022/color-picker/color-picker-panel.component.mjs +4 -4
- package/esm2022/comment/comment.component.mjs +4 -4
- package/esm2022/date-picker/date-picker.component.mjs +5 -6
- package/esm2022/date-picker/index.mjs +27 -28
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +3 -4
- package/esm2022/date-picker/lib/date/date-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +4 -4
- package/esm2022/date-picker/lib/date/date-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +5 -5
- package/esm2022/date-picker/lib/decade/decade-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/decade/decade-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/month/month-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +4 -18
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +3 -8
- package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/year/year-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/year/year-table.component.mjs +4 -4
- package/esm2022/date-picker/month-picker.component.mjs +4 -5
- package/esm2022/date-picker/picker.component.mjs +4 -14
- package/esm2022/date-picker/quarter-picker.component.mjs +4 -5
- package/esm2022/date-picker/range-picker.component.mjs +4 -5
- package/esm2022/date-picker/week-picker.component.mjs +4 -5
- package/esm2022/date-picker/year-picker.component.mjs +4 -5
- package/esm2022/date-range/date-range.component.mjs +4 -4
- package/esm2022/date-range/optional-dates/optional-dates.component.mjs +3 -6
- package/esm2022/dialog/footer/dialog-footer.component.mjs +4 -4
- package/esm2022/dialog/header/dialog-header.component.mjs +4 -4
- package/esm2022/divider/divider.component.mjs +21 -13
- package/esm2022/dropdown/dropdown-menu.component.mjs +11 -7
- package/esm2022/empty/empty.component.mjs +4 -4
- package/esm2022/form/form-group-error/form-group-error.component.mjs +4 -4
- package/esm2022/form/form-group.component.mjs +4 -4
- package/esm2022/form/from-group-footer/form-group-footer.component.mjs +4 -4
- package/esm2022/guider/guider-hint/guider-hint.component.mjs +4 -4
- package/esm2022/image/preview/image-preview.component.mjs +3 -4
- package/esm2022/input/input-group.component.mjs +4 -4
- package/esm2022/input/input-search.component.mjs +3 -4
- package/esm2022/input/input.component.mjs +4 -4
- package/esm2022/layout/header.component.mjs +4 -4
- package/esm2022/layout/sidebar-header.component.mjs +4 -4
- package/esm2022/layout/sidebar.component.mjs +81 -71
- package/esm2022/list/list-item-meta.component.mjs +4 -4
- package/esm2022/loading/loading.component.mjs +3 -4
- package/esm2022/mention/suggestions/suggestions.component.mjs +4 -4
- package/esm2022/menu/group/menu-group.component.mjs +4 -4
- package/esm2022/menu/item/menu-item.component.mjs +3 -4
- package/esm2022/message/message-container.component.mjs +13 -5
- package/esm2022/message/message.component.mjs +3 -4
- package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +4 -5
- package/esm2022/nav/nav.component.mjs +4 -6
- package/esm2022/notify/notify-container.component.mjs +4 -4
- package/esm2022/notify/notify.component.mjs +4 -4
- package/esm2022/pagination/pagination.component.mjs +4 -4
- package/esm2022/popover/header/popover-header.component.mjs +4 -4
- package/esm2022/progress/progress-circle.component.mjs +4 -7
- package/esm2022/progress/progress.component.mjs +5 -8
- package/esm2022/property/property-item.component.mjs +4 -4
- package/esm2022/property-operation/property-operation.component.mjs +4 -4
- package/esm2022/radio/radio.component.mjs +5 -5
- package/esm2022/rate/rate.component.mjs +5 -5
- package/esm2022/resizable/resize-handle.component.mjs +10 -7
- package/esm2022/resizable/resize-handles.component.mjs +12 -5
- package/esm2022/result/result.component.mjs +4 -4
- package/esm2022/segment/segment-item.component.mjs +4 -4
- package/esm2022/segment/segment.component.mjs +4 -5
- package/esm2022/select/custom-select/custom-select.component.mjs +6 -8
- package/esm2022/select/native-select/native-select.component.mjs +5 -6
- package/esm2022/shared/option/list-option/list-option.component.mjs +3 -4
- package/esm2022/shared/option/option.component.mjs +3 -4
- package/esm2022/shared/select/select-control/select-control.component.mjs +5 -5
- package/esm2022/skeleton/stylized/bullet-list.component.mjs +8 -9
- package/esm2022/skeleton/stylized/list.component.mjs +8 -9
- package/esm2022/skeleton/stylized/paragraph.component.mjs +8 -9
- package/esm2022/slide/slide-header/slide-header.component.mjs +4 -4
- package/esm2022/space/space.component.mjs +4 -4
- package/esm2022/statistic/statistic.component.mjs +4 -4
- package/esm2022/stepper/stepper.component.mjs +5 -5
- package/esm2022/switch/switch.component.mjs +6 -6
- package/esm2022/table/table-skeleton.component.mjs +4 -7
- package/esm2022/table/table.component.mjs +5 -7
- package/esm2022/tabs/tab-content.component.mjs +9 -9
- package/esm2022/tabs/tabs.component.mjs +4 -7
- package/esm2022/time-picker/inner/inner-time-picker.component.mjs +3 -4
- package/esm2022/time-picker/time-picker-panel.component.mjs +5 -8
- package/esm2022/time-picker/time-picker.component.mjs +5 -15
- package/esm2022/timeline/timeline-item.component.mjs +4 -4
- package/esm2022/timeline/timeline.component.mjs +9 -9
- package/esm2022/tooltip/tooltip.component.mjs +4 -4
- package/esm2022/transfer/transfer-list.component.mjs +4 -4
- package/esm2022/transfer/transfer.component.mjs +4 -4
- package/esm2022/tree/tree-node.component.mjs +4 -4
- package/esm2022/tree/tree.component.mjs +5 -7
- package/esm2022/tree-select/tree-select.component.mjs +7 -10
- package/esm2022/typography/text/text.component.mjs +3 -4
- package/esm2022/version.mjs +2 -2
- package/esm2022/vote/vote.component.mjs +4 -4
- package/fesm2022/ngx-tethys-action.mjs +3 -3
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +54 -80
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +29 -13
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +4 -4
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +4 -4
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +5 -5
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +3 -3
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +3 -3
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +3 -5
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +5 -5
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +5 -5
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +3 -3
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +3 -3
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +8 -10
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +4 -4
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +3 -3
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +3 -3
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +3 -3
- package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +2428 -2456
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +5 -7
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +5 -5
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +20 -12
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +10 -6
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +3 -3
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +7 -7
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +3 -3
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +3 -3
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +7 -7
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +84 -74
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +3 -3
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +3 -3
- package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
- package/fesm2022/ngx-tethys-mention.mjs +3 -3
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +5 -5
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +14 -6
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +6 -8
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +5 -5
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +3 -3
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +3 -3
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +6 -12
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +3 -3
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +3 -3
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +4 -4
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +4 -4
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +21 -9
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +3 -3
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +6 -6
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +9 -11
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +8 -8
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +22 -22
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +3 -3
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +3 -3
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-statistic.mjs +3 -3
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +4 -4
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +5 -5
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +6 -11
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +10 -13
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +9 -22
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +10 -10
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +3 -3
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +5 -5
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +6 -9
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +6 -8
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +3 -3
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +3 -3
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/menu/group/menu-group.component.d.ts +42 -6
- package/package.json +1 -1
- package/pagination/pagination.component.d.ts +15 -5
- package/progress/progress-circle.component.d.ts +0 -1
- package/progress/progress.component.d.ts +0 -1
- package/property/property-item.component.d.ts +1 -4
- package/resizable/resize-handle.component.d.ts +1 -4
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/segment.component.d.ts +1 -5
- package/shared/option/list-option/list-option.component.d.ts +5 -1
- package/skeleton/stylized/bullet-list.component.d.ts +9 -1
- package/table/table-skeleton.component.d.ts +10 -3
- package/tabs/tabs.component.d.ts +0 -1
- package/time-picker/time-picker-panel.component.d.ts +0 -1
- package/tree/tree-node.component.d.ts +10 -10
|
@@ -2,7 +2,6 @@ import { Component, forwardRef, HostBinding, Input } from '@angular/core';
|
|
|
2
2
|
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import { TabIndexDisabledControlValueAccessorMixin } from 'ngx-tethys/core';
|
|
4
4
|
import { coerceBooleanProperty, elementMatchClosest } from 'ngx-tethys/util';
|
|
5
|
-
import { NgIf } from '@angular/common';
|
|
6
5
|
import { ElementRef, ViewChild } from '@angular/core';
|
|
7
6
|
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
8
7
|
import { ThyIcon } from 'ngx-tethys/icon';
|
|
@@ -61,13 +60,13 @@ export class ThyNativeSelect extends TabIndexDisabledControlValueAccessorMixin {
|
|
|
61
60
|
this.onChangeFn(this._innerValue);
|
|
62
61
|
}
|
|
63
62
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyNativeSelect, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
63
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyNativeSelect, isStandalone: true, selector: "thy-native-select", inputs: { thySize: "thySize", name: "name", thyAllowClear: ["thyAllowClear", "thyAllowClear", coerceBooleanProperty] }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur($event)" }, properties: { "attr.tabindex": "tabIndex", "class.thy-select": "this._isSelect" } }, providers: [
|
|
65
64
|
{
|
|
66
65
|
provide: NG_VALUE_ACCESSOR,
|
|
67
66
|
useExisting: forwardRef(() => ThyNativeSelect),
|
|
68
67
|
multi: true
|
|
69
68
|
}
|
|
70
|
-
], viewQueries: [{ propertyName: "selectElement", first: true, predicate: ["select"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<select\n #select\n thyInput\n [tabindex]=\"-1\"\n [thySize]=\"_size\"\n [disabled]=\"_disabled\"\n [(ngModel)]=\"_innerValue\"\n (ngModelChange)=\"ngModelChange()\"\n (blur)=\"onBlur($event)\"\n [class.thy-select-selection-allow-clear]=\"thyAllowClear\">\n <ng-content></ng-content>\n</select>\n<thy-icon thyIconName=\"angle-down\"></thy-icon>\n<a class=\"thy-select-remove remove-link\" href=\"javascript:;\" (click)=\"clearSelectValue($event)\"
|
|
69
|
+
], viewQueries: [{ propertyName: "selectElement", first: true, predicate: ["select"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<select\n #select\n thyInput\n [tabindex]=\"-1\"\n [thySize]=\"_size\"\n [disabled]=\"_disabled\"\n [(ngModel)]=\"_innerValue\"\n (ngModelChange)=\"ngModelChange()\"\n (blur)=\"onBlur($event)\"\n [class.thy-select-selection-allow-clear]=\"thyAllowClear\">\n <ng-content></ng-content>\n</select>\n<thy-icon thyIconName=\"angle-down\"></thy-icon>\n@if (thyAllowClear && _innerValue) {\n <a class=\"thy-select-remove remove-link\" href=\"javascript:;\" (click)=\"clearSelectValue($event)\">\n <thy-icon class=\"remove-link-icon\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n </a>\n}\n", dependencies: [{ kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] }); }
|
|
71
70
|
}
|
|
72
71
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyNativeSelect, decorators: [{
|
|
73
72
|
type: Component,
|
|
@@ -77,11 +76,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
77
76
|
useExisting: forwardRef(() => ThyNativeSelect),
|
|
78
77
|
multi: true
|
|
79
78
|
}
|
|
80
|
-
], standalone: true, imports: [ThyInputDirective, FormsModule, ThyIcon
|
|
79
|
+
], standalone: true, imports: [ThyInputDirective, FormsModule, ThyIcon], host: {
|
|
81
80
|
'[attr.tabindex]': 'tabIndex',
|
|
82
81
|
'(focus)': 'onFocus($event)',
|
|
83
82
|
'(blur)': 'onBlur($event)'
|
|
84
|
-
}, template: "<select\n #select\n thyInput\n [tabindex]=\"-1\"\n [thySize]=\"_size\"\n [disabled]=\"_disabled\"\n [(ngModel)]=\"_innerValue\"\n (ngModelChange)=\"ngModelChange()\"\n (blur)=\"onBlur($event)\"\n [class.thy-select-selection-allow-clear]=\"thyAllowClear\">\n <ng-content></ng-content>\n</select>\n<thy-icon thyIconName=\"angle-down\"></thy-icon>\n<a class=\"thy-select-remove remove-link\" href=\"javascript:;\" (click)=\"clearSelectValue($event)\"
|
|
83
|
+
}, template: "<select\n #select\n thyInput\n [tabindex]=\"-1\"\n [thySize]=\"_size\"\n [disabled]=\"_disabled\"\n [(ngModel)]=\"_innerValue\"\n (ngModelChange)=\"ngModelChange()\"\n (blur)=\"onBlur($event)\"\n [class.thy-select-selection-allow-clear]=\"thyAllowClear\">\n <ng-content></ng-content>\n</select>\n<thy-icon thyIconName=\"angle-down\"></thy-icon>\n@if (thyAllowClear && _innerValue) {\n <a class=\"thy-select-remove remove-link\" href=\"javascript:;\" (click)=\"clearSelectValue($event)\">\n <thy-icon class=\"remove-link-icon\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n </a>\n}\n" }]
|
|
85
84
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { selectElement: [{
|
|
86
85
|
type: ViewChild,
|
|
87
86
|
args: ['select', { static: true }]
|
|
@@ -96,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
96
95
|
type: Input,
|
|
97
96
|
args: [{ transform: coerceBooleanProperty }]
|
|
98
97
|
}] } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2VsZWN0L25hdGl2ZS1zZWxlY3QvbmF0aXZlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2VsZWN0L25hdGl2ZS1zZWxlY3QvbmF0aXZlLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBSXJELE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztBQUV0Qjs7OztHQUlHO0FBbUJILE1BQU0sT0FBTyxlQUFnQixTQUFRLHlDQUF5QztJQWExRSxJQUNJLE9BQU8sQ0FBQyxLQUFnQjtRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBTUQsVUFBVSxDQUFDLEdBQVE7UUFDZixJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFD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dXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRhYkluZGV4RGlzYWJsZWRDb250cm9sVmFsdWVBY2Nlc3Nvck1peGluIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgZWxlbWVudE1hdGNoQ2xvc2VzdCB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmltcG9ydCB7IEVsZW1lbnRSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5SW5wdXREaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL2lucHV0JztcblxuZXhwb3J0IHR5cGUgSW5wdXRTaXplID0gJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICcnO1xuXG5jb25zdCBub29wID0gKCkgPT4ge307XG5cbi8qKlxuICog5LiL5ouJ6YCJ5oupXG4gKiBAbmFtZSB0aHktbmF0aXZlLXNlbGVjdFxuICogQG9yZGVyIDIwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LW5hdGl2ZS1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXRpdmUtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaHlOYXRpdmVTZWxlY3QpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5SW5wdXREaXJlY3RpdmUsIEZvcm1zTW9kdWxlLCBUaHlJY29uXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci50YWJpbmRleF0nOiAndGFiSW5kZXgnLFxuICAgICAgICAnKGZvY3VzKSc6ICdvbkZvY3VzKCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ29uQmx1cigkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGh5TmF0aXZlU2VsZWN0IGV4dGVuZHMgVGFiSW5kZXhEaXNhYmxlZENvbnRyb2xWYWx1ZUFjY2Vzc29yTWl4aW4gaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCdzZWxlY3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSBzZWxlY3RFbGVtZW50OiBFbGVtZW50UmVmPGFueT47XG5cbiAgICAvLyBUaGUgaW50ZXJuYWwgZGF0YSBtb2RlbFxuICAgIF9pbm5lclZhbHVlOiBhbnkgPSBudWxsO1xuICAgIF9kaXNhYmxlZCA9IGZhbHNlO1xuICAgIF9zaXplOiBJbnB1dFNpemU7XG4gICAgX2V4cGFuZE9wdGlvbnMgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1zZWxlY3QnKSBfaXNTZWxlY3QgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2l6ZSh2YWx1ZTogSW5wdXRTaXplKSB7XG4gICAgICAgIHRoaXMuX3NpemUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlBbGxvd0NsZWFyID0gZmFsc2U7XG5cbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChvYmogIT09IHRoaXMuX2lubmVyVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2lubmVyVmFsdWUgPSBvYmo7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ01vZGVsQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlRm4odGhpcy5faW5uZXJWYWx1ZSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkRm4oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgY2xhc3NlcyA9IHRoaXMuX3NpemUgPyBbYHRoeS1zZWxlY3QtJHt0aGlzLl9zaXplfWBdIDogW107XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKGNsYXNzZXMpO1xuICAgIH1cblxuICAgIG9uQmx1cihldmVudDogRm9jdXNFdmVudCkge1xuICAgICAgICBpZiAoZWxlbWVudE1hdGNoQ2xvc2VzdChldmVudD8ucmVsYXRlZFRhcmdldCBhcyBIVE1MRWxlbWVudCwgJ3RoeS1uYXRpdmUtc2VsZWN0JykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uVG91Y2hlZEZuKCk7XG4gICAgfVxuXG4gICAgb25Gb2N1cyhldmVudD86IEV2ZW50KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgY2xlYXJTZWxlY3RWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuX2lubmVyVmFsdWUgPSAnJztcbiAgICAgICAgdGhpcy5vbkNoYW5nZUZuKHRoaXMuX2lubmVyVmFsdWUpO1xuICAgIH1cbn1cbiIsIjxzZWxlY3RcbiAgI3NlbGVjdFxuICB0aHlJbnB1dFxuICBbdGFiaW5kZXhdPVwiLTFcIlxuICBbdGh5U2l6ZV09XCJfc2l6ZVwiXG4gIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxuICBbKG5nTW9kZWwpXT1cIl9pbm5lclZhbHVlXCJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwibmdNb2RlbENoYW5nZSgpXCJcbiAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICBbY2xhc3MudGh5LXNlbGVjdC1zZWxlY3Rpb24tYWxsb3ctY2xlYXJdPVwidGh5QWxsb3dDbGVhclwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3NlbGVjdD5cbjx0aHktaWNvbiB0aHlJY29uTmFtZT1cImFuZ2xlLWRvd25cIj48L3RoeS1pY29uPlxuQGlmICh0aHlBbGxvd0NsZWFyICYmIF9pbm5lclZhbHVlKSB7XG4gIDxhIGNsYXNzPVwidGh5LXNlbGVjdC1yZW1vdmUgcmVtb3ZlLWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDo7XCIgKGNsaWNrKT1cImNsZWFyU2VsZWN0VmFsdWUoJGV2ZW50KVwiPlxuICAgIDx0aHktaWNvbiBjbGFzcz1cInJlbW92ZS1saW5rLWljb25cIiB0aHlJY29uTmFtZT1cImNsb3NlLWNpcmNsZS1ib2xkLWZpbGxcIj48L3RoeS1pY29uPlxuICA8L2E+XG59XG4iXX0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Component, Input, HostBinding, ElementRef, ChangeDetectorRef, Inject, HostListener, Optional } from '@angular/core';
|
|
2
2
|
import { THY_LIST_OPTION_PARENT_COMPONENT } from '../option.token';
|
|
3
3
|
import { ThyIcon } from 'ngx-tethys/icon';
|
|
4
|
-
import { NgIf } from '@angular/common';
|
|
5
4
|
import { coerceBooleanProperty } from 'ngx-tethys/util';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
let _uniqueIdCounter = 0;
|
|
@@ -62,11 +61,11 @@ export class ThyListOption {
|
|
|
62
61
|
return '';
|
|
63
62
|
}
|
|
64
63
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyListOption, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: THY_LIST_OPTION_PARENT_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyListOption, isStandalone: true, selector: "thy-list-option,[thy-list-option]", inputs: { id: "id", thyValue: "thyValue", thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.thy-list-option": "this._isListOption", "class.thy-grid-option": "this._parentLayout", "attr.role": "this._role", "attr.tabindex": "this._tabIndex", "class.disabled": "this.disabled", "class.active": "this.selected" } }, ngImport: i0, template: "<ng-content></ng-content>\n@if (parentSelectionList.multiple && parentSelectionList.layout === 'list') {\n <span class=\"checked-icon\">\n <thy-icon thyIconName=\"check\"></thy-icon>\n </span>\n}\n@if (parentSelectionList.layout === 'grid') {\n <span class=\"checked-icon\">\n <thy-icon thyIconName=\"check-circle-fill\"></thy-icon>\n </span>\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] }); }
|
|
66
65
|
}
|
|
67
66
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyListOption, decorators: [{
|
|
68
67
|
type: Component,
|
|
69
|
-
args: [{ selector: 'thy-list-option,[thy-list-option]', standalone: true, imports: [
|
|
68
|
+
args: [{ selector: 'thy-list-option,[thy-list-option]', standalone: true, imports: [ThyIcon], template: "<ng-content></ng-content>\n@if (parentSelectionList.multiple && parentSelectionList.layout === 'list') {\n <span class=\"checked-icon\">\n <thy-icon thyIconName=\"check\"></thy-icon>\n </span>\n}\n@if (parentSelectionList.layout === 'grid') {\n <span class=\"checked-icon\">\n <thy-icon thyIconName=\"check-circle-fill\"></thy-icon>\n </span>\n}\n" }]
|
|
70
69
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
71
70
|
type: Optional
|
|
72
71
|
}, {
|
|
@@ -101,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
101
100
|
type: HostListener,
|
|
102
101
|
args: ['click', ['$event']]
|
|
103
102
|
}] } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9vcHRpb24vbGlzdC1vcHRpb24vbGlzdC1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9vcHRpb24vbGlzdC1vcHRpb24vbGlzdC1vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3SCxPQUFPLEVBQWlDLGdDQUFnQyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUV4RCxJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQUl6Qjs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sYUFBYTtJQUN0QixJQUNJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUNJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDO0lBQ3RELENBQUM7SUFVRCxJQUNJLFdBQVcsQ0FBQyxLQUFjO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFJRCxzQ0FBc0M7SUFDdEMsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxZQUNXLE9BQWdDLEVBQy9CLGNBQWlDO0lBQ3pDLG9CQUFvQjtJQUN5QyxtQkFBa0Q7UUFIeEcsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDL0IsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBRW9CLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBK0I7UUF6QnpGLFVBQUssR0FBRyxRQUFRLENBQUM7UUFFYixjQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFcEMsT0FBRSxHQUFHLG1CQUFtQixnQkFBZ0IsRUFBRSxFQUFFLENBQUM7SUFzQm5ELENBQUM7SUFHSixPQUFPLENBQUMsS0FBWTtRQUNoQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0wsQ0FBQztJQUVELHFDQUFxQztJQUNyQywwQkFBMEI7SUFDMUIsOERBQThEO0lBQzlELElBQUk7SUFFSixzREFBc0Q7SUFDdEQsc0NBQXNDO0lBQ3RDLDBDQUEwQztJQUMxQyxJQUFJO0lBRUosZUFBZTtRQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUTtRQUNKLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQzs4R0F4RVEsYUFBYSw2RUFvQ0UsZ0NBQWdDO2tHQXBDL0MsYUFBYSwySkFtQkYscUJBQXFCLGtVQ3hDN0MsdVdBV0EsNENEUWMsT0FBTzs7MkZBRVIsYUFBYTtrQkFOekIsU0FBUzsrQkFDSSxtQ0FBbUMsY0FFakMsSUFBSSxXQUNQLENBQUMsT0FBTyxDQUFDOzswQkFzQ2IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQ0FBZ0M7eUNBbENwRCxhQUFhO3NCQURoQixXQUFXO3VCQUFDLHVCQUF1QjtnQkFNaEMsYUFBYTtzQkFEaEIsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBS1YsS0FBSztzQkFBOUIsV0FBVzt1QkFBQyxXQUFXO2dCQUVNLFNBQVM7c0JBQXRDLFdBQVc7dUJBQUMsZUFBZTtnQkFFbkIsRUFBRTtzQkFBVixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0YsV0FBVztzQkFEZCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUtaLFFBQVE7c0JBQXRDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUl6QixRQUFRO3NCQURYLFdBQVc7dUJBQUMsY0FBYztnQkFhM0IsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiwgSW5qZWN0LCBIb3N0TGlzdGVuZXIsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIaWdobGlnaHRhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgSVRoeUxpc3RPcHRpb25QYXJlbnRDb21wb25lbnQsIFRIWV9MSVNUX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UIH0gZnJvbSAnLi4vb3B0aW9uLnRva2VuJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5sZXQgX3VuaXF1ZUlkQ291bnRlciA9IDA7XG5cbmV4cG9ydCB0eXBlIFRoeUxpc3RMYXlvdXQgPSAnbGlzdCcgfCAnZ3JpZCc7XG5cbi8qKlxuICogQHByaXZhdGVcbiAqIEBvcmRlciAzMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1saXN0LW9wdGlvbixbdGh5LWxpc3Qtb3B0aW9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpc3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtUaHlJY29uXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlMaXN0T3B0aW9uIGltcGxlbWVudHMgSGlnaGxpZ2h0YWJsZSB7XG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy50aHktbGlzdC1vcHRpb25gKVxuICAgIGdldCBfaXNMaXN0T3B0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnRTZWxlY3Rpb25MaXN0LmxheW91dCA9PT0gJ2xpc3QnO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LWdyaWQtb3B0aW9uYClcbiAgICBnZXQgX3BhcmVudExheW91dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50U2VsZWN0aW9uTGlzdC5sYXlvdXQgPT09ICdncmlkJztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGF0dHIucm9sZWApIF9yb2xlID0gJ29wdGlvbic7XG5cbiAgICBASG9zdEJpbmRpbmcoYGF0dHIudGFiaW5kZXhgKSBfdGFiSW5kZXggPSAtMTtcblxuICAgIEBJbnB1dCgpIGlkID0gYHRoeS1saXN0LW9wdGlvbi0ke191bmlxdWVJZENvdW50ZXIrK31gO1xuXG4gICAgQElucHV0KCkgdGh5VmFsdWU6IGFueTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHRoeURpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLmRpc2FibGVkYCkgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIG9wdGlvbiBpcyBzZWxlY3RlZC4gKi9cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLmFjdGl2ZWApXG4gICAgZ2V0IHNlbGVjdGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnRTZWxlY3Rpb25MaXN0LmlzU2VsZWN0ZWQodGhpcyk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVEhZX0xJU1RfT1BUSU9OX1BBUkVOVF9DT01QT05FTlQpIHB1YmxpYyBwYXJlbnRTZWxlY3Rpb25MaXN0OiBJVGh5TGlzdE9wdGlvblBhcmVudENvbXBvbmVudFxuICAgICkge31cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5wYXJlbnRTZWxlY3Rpb25MaXN0Lm11bHRpcGxlIHx8ICF0aGlzLnBhcmVudFNlbGVjdGlvbkxpc3QuaXNTZWxlY3RlZCh0aGlzKSkge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRTZWxlY3Rpb25MaXN0LnRvZ2dsZU9wdGlvbih0aGlzLCBldmVudCk7XG4gICAgICAgICAgICB0aGlzLnBhcmVudFNlbGVjdGlvbkxpc3Quc2V0QWN0aXZlT3B0aW9uKHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbJyRldmVudCddKVxuICAgIC8vIG9uRm9jdXMoZXZlbnQ6IEV2ZW50KSB7XG4gICAgLy8gICAgIHRoaXMucGFyZW50U2VsZWN0aW9uTGlzdC5zZXRGb2N1c2VkT3B0aW9uKHRoaXMsIGV2ZW50KTtcbiAgICAvLyB9XG5cbiAgICAvKiogQWxsb3dzIGZvciBwcm9ncmFtbWF0aWMgZm9jdXNpbmcgb2YgdGhlIG9wdGlvbi4gKi9cbiAgICAvLyBmb2N1cyhvcmlnaW4/OiBGb2N1c09yaWdpbik6IHZvaWQge1xuICAgIC8vICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIC8vIH1cblxuICAgIHNldEFjdGl2ZVN0eWxlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnaG92ZXInKTtcbiAgICAgICAgdGhpcy5wYXJlbnRTZWxlY3Rpb25MaXN0LnNjcm9sbEludG9WaWV3KHRoaXMpO1xuICAgIH1cblxuICAgIHNldEluYWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdob3ZlcicpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGxpc3QgaXRlbSdzIHRleHQgbGFiZWwuIEltcGxlbWVudGVkIGFzIGEgcGFydCBvZiB0aGUgRm9jdXNLZXlNYW5hZ2VyLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBnZXRMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbkBpZiAocGFyZW50U2VsZWN0aW9uTGlzdC5tdWx0aXBsZSAmJiBwYXJlbnRTZWxlY3Rpb25MaXN0LmxheW91dCA9PT0gJ2xpc3QnKSB7XG4gIDxzcGFuIGNsYXNzPVwiY2hlY2tlZC1pY29uXCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiY2hlY2tcIj48L3RoeS1pY29uPlxuICA8L3NwYW4+XG59XG5AaWYgKHBhcmVudFNlbGVjdGlvbkxpc3QubGF5b3V0ID09PSAnZ3JpZCcpIHtcbiAgPHNwYW4gY2xhc3M9XCJjaGVja2VkLWljb25cIj5cbiAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJjaGVjay1jaXJjbGUtZmlsbFwiPjwvdGh5LWljb24+XG4gIDwvc3Bhbj5cbn1cbiJdfQ==
|
|
@@ -2,7 +2,6 @@ import { Component, Input, TemplateRef, ViewChild, ChangeDetectionStrategy, Host
|
|
|
2
2
|
import { SelectOptionBase } from './select-option-base';
|
|
3
3
|
import { ENTER, SPACE, coerceBooleanProperty, hasModifierKey } from 'ngx-tethys/util';
|
|
4
4
|
import { THY_OPTION_GROUP_COMPONENT, THY_OPTION_PARENT_COMPONENT } from './option.token';
|
|
5
|
-
import { NgIf } from '@angular/common';
|
|
6
5
|
import { ThyIcon } from 'ngx-tethys/icon';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
export class ThyOptionSelectionChangeEvent {
|
|
@@ -132,11 +131,11 @@ export class ThyOption extends SelectOptionBase {
|
|
|
132
131
|
}
|
|
133
132
|
ngOnDestroy() { }
|
|
134
133
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyOption, deps: [{ token: i0.ElementRef }, { token: THY_OPTION_PARENT_COMPONENT, optional: true }, { token: THY_OPTION_GROUP_COMPONENT, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
135
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyOption, isStandalone: true, selector: "thy-option", inputs: { thyValue: "thyValue", thyRawValue: "thyRawValue", thyLabelText: "thyLabelText", thyShowOptionCustom: "thyShowOptionCustom", thySearchKey: "thySearchKey", thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, outputs: { selectionChange: "selectionChange", visibleChange: "visibleChange" }, host: { listeners: { "click": "onClick($event)", "keydown": "handleKeydown($event)" }, properties: { "class.thy-option-item": "this._isOptionItem", "class.disabled": "this.thyDisabled", "class.hidden": "this.hidden", "attr.tabindex": "this.tabIndex", "class.active": "this.selected" } }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "@if (thyShowOptionCustom) {\n <ng-content></ng-content>\n <thy-icon class=\"checked-icon\" thyIconName=\"check\"></thy-icon>\n} @else {\n <span class=\"text-truncate\">{{ thyLabelText }}</span>\n <thy-icon class=\"checked-icon\" thyIconName=\"check\"></thy-icon>\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
136
135
|
}
|
|
137
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyOption, decorators: [{
|
|
138
137
|
type: Component,
|
|
139
|
-
args: [{ selector: 'thy-option', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
138
|
+
args: [{ selector: 'thy-option', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ThyIcon], template: "@if (thyShowOptionCustom) {\n <ng-content></ng-content>\n <thy-icon class=\"checked-icon\" thyIconName=\"check\"></thy-icon>\n} @else {\n <span class=\"text-truncate\">{{ thyLabelText }}</span>\n <thy-icon class=\"checked-icon\" thyIconName=\"check\"></thy-icon>\n}\n" }]
|
|
140
139
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
141
140
|
type: Optional
|
|
142
141
|
}, {
|
|
@@ -189,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
189
188
|
type: HostListener,
|
|
190
189
|
args: ['keydown', ['$event']]
|
|
191
190
|
}] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvb3B0aW9uL29wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL29wdGlvbi9vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLFlBQVksRUFDWixVQUFVLEVBQ1YsaUJBQWlCLEVBQ2pCLFlBQVksRUFFWixNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RixPQUFPLEVBR0gsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUM5QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRTFDLE1BQU0sT0FBTyw2QkFBNkI7SUFDdEMsWUFDVyxNQUFpQixFQUNqQixjQUFjLEtBQUs7UUFEbkIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUMzQixDQUFDO0NBQ1A7QUFFRCxNQUFNLE9BQU8sMkJBQTJCO0NBRXZDO0FBRUQ7OztHQUdHO0FBUUgsTUFBTSxPQUFPLFNBQVUsU0FBUSxnQkFBZ0I7SUFtQjNDLElBRUksV0FBVyxDQUFDLEtBQWM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFD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RUFBRSxJQUFJLEVBQUU7Z0JBSXBDLFdBQVc7c0JBRmQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTs7c0JBQzFDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQWN6QixNQUFNO3NCQURULFdBQVc7dUJBQUMsY0FBYztnQkFNdkIsUUFBUTtzQkFEWCxXQUFXO3VCQUFDLGVBQWU7Z0JBTXhCLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxjQUFjO2dCQUtSLGVBQWU7c0JBQWpDLE1BQU07Z0JBQ1ksYUFBYTtzQkFBL0IsTUFBTTtnQkFnQlAsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNakMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgRWxlbWVudFJlZixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIaWdobGlnaHRhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uQmFzZSB9IGZyb20gJy4vc2VsZWN0LW9wdGlvbi1iYXNlJztcbmltcG9ydCB7IEVOVEVSLCBTUEFDRSwgY29lcmNlQm9vbGVhblByb3BlcnR5LCBoYXNNb2RpZmllcktleSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQge1xuICAgIElUaHlPcHRpb25Hcm91cENvbXBvbmVudCxcbiAgICBJVGh5T3B0aW9uUGFyZW50Q29tcG9uZW50LFxuICAgIFRIWV9PUFRJT05fR1JPVVBfQ09NUE9ORU5ULFxuICAgIFRIWV9PUFRJT05fUEFSRU5UX0NPTVBPTkVOVFxufSBmcm9tICcuL29wdGlvbi50b2tlbic7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuXG5leHBvcnQgY2xhc3MgVGh5T3B0aW9uU2VsZWN0aW9uQ2hhbmdlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgb3B0aW9uOiBUaHlPcHRpb24sXG4gICAgICAgIHB1YmxpYyBpc1VzZXJJbnB1dCA9IGZhbHNlXG4gICAgKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgVGh5T3B0aW9uVmlzaWJsZUNoYW5nZUV2ZW50IHtcbiAgICBvcHRpb246IFRoeU9wdGlvbjtcbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICogQG9yZGVyIDIwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LW9wdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL29wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVGh5SWNvbl1cbn0pXG5leHBvcnQgY2xhc3MgVGh5T3B0aW9uIGV4dGVuZHMgU2VsZWN0T3B0aW9uQmFzZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgSGlnaGxpZ2h0YWJsZSB7XG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9oaWRkZW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgdGh5VmFsdWU6IGFueTtcblxuICAgIEBJbnB1dCgpIHRoeVJhd1ZhbHVlOiBhbnk7XG5cbiAgICBASW5wdXQoKSB0aHlMYWJlbFRleHQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHRoeVNob3dPcHRpb25DdXN0b206IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSB0aHlTZWFyY2hLZXk6IHN0cmluZztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LW9wdGlvbi1pdGVtJykgX2lzT3B0aW9uSXRlbSA9IHRydWU7XG5cbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5kaXNhYmxlZGApXG4gICAgc2V0IHRoeURpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IHRoeURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oaWRkZW4gfHwgdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oaWRkZW4nKVxuICAgIGdldCBoaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oaWRkZW47XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JylcbiAgICBnZXQgdGFiSW5kZXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAnLTEnIDogJzAnO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuYWN0aXZlYClcbiAgICBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgc2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VGh5T3B0aW9uU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSByZWFkb25seSB2aXNpYmxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VGh5T3B0aW9uVmlzaWJsZUNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVEhZX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UKSBwdWJsaWMgcGFyZW50OiBJVGh5T3B0aW9uUGFyZW50Q29tcG9uZW50LFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRIWV9PUFRJT05fR1JPVVBfQ09NUE9ORU5UKSBwdWJsaWMgZ3JvdXA6IElUaHlPcHRpb25Hcm91cENvbXBvbmVudCxcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0SG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0VmlhSW50ZXJhY3Rpb24oKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBoYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gRU5URVIgfHwgZXZlbnQua2V5Q29kZSA9PT0gU1BBQ0UpICYmICFoYXNNb2RpZmllcktleShldmVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0VmlhSW50ZXJhY3Rpb24oKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RWaWFJbnRlcmFjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHRoaXMucGFyZW50LmlzTXVsdGlwbGUgPyAhdGhpcy5fc2VsZWN0ZWQgOiB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdChldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGlkZU9wdGlvbigpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9oaWRkZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2hpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh7IG9wdGlvbjogdGhpcyB9KTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2hvd09wdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuX2hpZGRlbikge1xuICAgICAgICAgICAgdGhpcy5faGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh7IG9wdGlvbjogdGhpcyB9KTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbWF0Y2hTZWFyY2hUZXh0KHNlYXJjaFRleHQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy50aHlTZWFyY2hLZXkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeVNlYXJjaEtleS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpKSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeUxhYmVsVGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpKSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldEFjdGl2ZVN0eWxlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoJ2hvdmVyJyk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHNldEluYWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LnJlbW92ZSgnaG92ZXInKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgZ2V0TGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KGlzVXNlcklucHV0ID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChuZXcgVGh5T3B0aW9uU2VsZWN0aW9uQ2hhbmdlRXZlbnQodGhpcywgaXNVc2VySW5wdXQpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHt9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidGh5U2hvd09wdGlvbkN1c3RvbTsgZWxzZSBkZWZhdWx0T3B0aW9uXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPHRoeS1pY29uIGNsYXNzPVwiY2hlY2tlZC1pY29uXCIgdGh5SWNvbk5hbWU9XCJjaGVja1wiPjwvdGh5LWljb24+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdE9wdGlvbj5cbiAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXRydW5jYXRlXCI+e3sgdGh5TGFiZWxUZXh0IH19PC9zcGFuPlxuICA8dGh5LWljb24gY2xhc3M9XCJjaGVja2VkLWljb25cIiB0aHlJY29uTmFtZT1cImNoZWNrXCI+PC90aHktaWNvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvb3B0aW9uL29wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL29wdGlvbi9vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLFlBQVksRUFDWixVQUFVLEVBQ1YsaUJBQWlCLEVBQ2pCLFlBQVksRUFFWixNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RixPQUFPLEVBR0gsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUM5QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFMUMsTUFBTSxPQUFPLDZCQUE2QjtJQUN0QyxZQUNXLE1BQWlCLEVBQ2pCLGNBQWMsS0FBSztRQURuQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO0lBQzNCLENBQUM7Q0FDUDtBQUVELE1BQU0sT0FBTywyQkFBMkI7Q0FFdkM7QUFFRDs7O0dBR0c7QUFRSCxNQUFNLE9BQU8sU0FBVSxTQUFRLGdCQUFnQjtJQW1CM0MsSUFFSSxXQUFXLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMs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LEVBQUU7O3NCQUMxQyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFjekIsTUFBTTtzQkFEVCxXQUFXO3VCQUFDLGNBQWM7Z0JBTXZCLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxlQUFlO2dCQU14QixRQUFRO3NCQURYLFdBQVc7dUJBQUMsY0FBYztnQkFLUixlQUFlO3NCQUFqQyxNQUFNO2dCQUNZLGFBQWE7c0JBQS9CLE1BQU07Z0JBZ0JQLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTWpDLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgSW5qZWN0LFxuICAgIE9wdGlvbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSGlnaGxpZ2h0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFNlbGVjdE9wdGlvbkJhc2UgfSBmcm9tICcuL3NlbGVjdC1vcHRpb24tYmFzZSc7XG5pbXBvcnQgeyBFTlRFUiwgU1BBQ0UsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgaGFzTW9kaWZpZXJLZXkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHtcbiAgICBJVGh5T3B0aW9uR3JvdXBDb21wb25lbnQsXG4gICAgSVRoeU9wdGlvblBhcmVudENvbXBvbmVudCxcbiAgICBUSFlfT1BUSU9OX0dST1VQX0NPTVBPTkVOVCxcbiAgICBUSFlfT1BUSU9OX1BBUkVOVF9DT01QT05FTlRcbn0gZnJvbSAnLi9vcHRpb24udG9rZW4nO1xuXG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcblxuZXhwb3J0IGNsYXNzIFRoeU9wdGlvblNlbGVjdGlvbkNoYW5nZUV2ZW50IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIG9wdGlvbjogVGh5T3B0aW9uLFxuICAgICAgICBwdWJsaWMgaXNVc2VySW5wdXQgPSBmYWxzZVxuICAgICkge31cbn1cblxuZXhwb3J0IGNsYXNzIFRoeU9wdGlvblZpc2libGVDaGFuZ2VFdmVudCB7XG4gICAgb3B0aW9uOiBUaHlPcHRpb247XG59XG5cbi8qKlxuICogQHByaXZhdGVcbiAqIEBvcmRlciAyMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1vcHRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RoeUljb25dXG59KVxuZXhwb3J0IGNsYXNzIFRoeU9wdGlvbiBleHRlbmRzIFNlbGVjdE9wdGlvbkJhc2UgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEhpZ2hsaWdodGFibGUge1xuICAgIHByaXZhdGUgX3NlbGVjdGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfaGlkZGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHRoeVZhbHVlOiBhbnk7XG5cbiAgICBASW5wdXQoKSB0aHlSYXdWYWx1ZTogYW55O1xuXG4gICAgQElucHV0KCkgdGh5TGFiZWxUZXh0OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSB0aHlTaG93T3B0aW9uQ3VzdG9tOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgdGh5U2VhcmNoS2V5OiBzdHJpbmc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1vcHRpb24taXRlbScpIF9pc09wdGlvbkl0ZW0gPSB0cnVlO1xuXG4gICAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZiwgeyBzdGF0aWM6IHRydWUgfSkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuZGlzYWJsZWRgKVxuICAgIHNldCB0aHlEaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCB0aHlEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGlkZGVuIHx8IHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaGlkZGVuJylcbiAgICBnZXQgaGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGlkZGVuO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgZ2V0IHRhYkluZGV4KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkID8gJy0xJyA6ICcwJztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLmFjdGl2ZWApXG4gICAgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPFRoeU9wdGlvblNlbGVjdGlvbkNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdmlzaWJsZUNoYW5nZTogRXZlbnRFbWl0dGVyPFRoeU9wdGlvblZpc2libGVDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRIWV9PUFRJT05fUEFSRU5UX0NPTVBPTkVOVCkgcHVibGljIHBhcmVudDogSVRoeU9wdGlvblBhcmVudENvbXBvbmVudCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChUSFlfT1BUSU9OX0dST1VQX0NPTVBPTkVOVCkgcHVibGljIGdyb3VwOiBJVGh5T3B0aW9uR3JvdXBDb21wb25lbnQsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdldEhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLnNlbGVjdFZpYUludGVyYWN0aW9uKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPT09IEVOVEVSIHx8IGV2ZW50LmtleUNvZGUgPT09IFNQQUNFKSAmJiAhaGFzTW9kaWZpZXJLZXkoZXZlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdFZpYUludGVyYWN0aW9uKCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0VmlhSW50ZXJhY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0aGlzLnBhcmVudC5pc011bHRpcGxlID8gIXRoaXMuX3NlbGVjdGVkIDogdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3QoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlc2VsZWN0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWQgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhpZGVPcHRpb24oKSB7XG4gICAgICAgIGlmICghdGhpcy5faGlkZGVuKSB7XG4gICAgICAgICAgICB0aGlzLl9oaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoeyBvcHRpb246IHRoaXMgfSk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3dPcHRpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLl9oaWRkZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2hpZGRlbiA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoeyBvcHRpb246IHRoaXMgfSk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1hdGNoU2VhcmNoVGV4dChzZWFyY2hUZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMudGh5U2VhcmNoS2V5KSB7XG4gICAgICAgICAgICBpZiAodGhpcy50aHlTZWFyY2hLZXkudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSkgPj0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy50aHlMYWJlbFRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSkgPj0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRBY3RpdmVTdHlsZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QuYWRkKCdob3ZlcicpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBzZXRJbmFjdGl2ZVN0eWxlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5yZW1vdmUoJ2hvdmVyJyk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGdldExhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudChpc1VzZXJJbnB1dCA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQobmV3IFRoeU9wdGlvblNlbGVjdGlvbkNoYW5nZUV2ZW50KHRoaXMsIGlzVXNlcklucHV0KSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7fVxufVxuIiwiQGlmICh0aHlTaG93T3B0aW9uQ3VzdG9tKSB7XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPHRoeS1pY29uIGNsYXNzPVwiY2hlY2tlZC1pY29uXCIgdGh5SWNvbk5hbWU9XCJjaGVja1wiPjwvdGh5LWljb24+XG59IEBlbHNlIHtcbiAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXRydW5jYXRlXCI+e3sgdGh5TGFiZWxUZXh0IH19PC9zcGFuPlxuICA8dGh5LWljb24gY2xhc3M9XCJjaGVja2VkLWljb25cIiB0aHlJY29uTmFtZT1cImNoZWNrXCI+PC90aHktaWNvbj5cbn1cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { coerceBooleanProperty, isUndefinedOrNull } from 'ngx-tethys/util';
|
|
2
2
|
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, Renderer2, TemplateRef, ViewChild, numberAttribute } from '@angular/core';
|
|
3
3
|
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
4
|
-
import { NgClass,
|
|
4
|
+
import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';
|
|
5
5
|
import { FormsModule } from '@angular/forms';
|
|
6
6
|
import { ThyGridModule } from 'ngx-tethys/grid';
|
|
7
7
|
import { ThyIcon } from 'ngx-tethys/icon';
|
|
@@ -227,13 +227,13 @@ export class ThySelectControl {
|
|
|
227
227
|
this.thyOnBlur.emit(event);
|
|
228
228
|
}
|
|
229
229
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySelectControl, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
230
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
230
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThySelectControl, isStandalone: true, selector: "thy-select-control,[thySelectControl]", inputs: { thyPanelOpened: ["thyPanelOpened", "thyPanelOpened", coerceBooleanProperty], thyIsMultiple: ["thyIsMultiple", "thyIsMultiple", coerceBooleanProperty], thyShowSearch: ["thyShowSearch", "thyShowSearch", coerceBooleanProperty], thySelectedOptions: "thySelectedOptions", thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty], customDisplayTemplate: "customDisplayTemplate", thyAllowClear: ["thyAllowClear", "thyAllowClear", coerceBooleanProperty], thyPlaceholder: "thyPlaceholder", thySize: "thySize", thyMaxTagCount: ["thyMaxTagCount", "thyMaxTagCount", numberAttribute], thyBorderless: ["thyBorderless", "thyBorderless", coerceBooleanProperty], thyPreset: "thyPreset" }, outputs: { thyOnSearch: "thyOnSearch", thyOnRemove: "thyOnRemove", thyOnClear: "thyOnClear", thyOnBlur: "thyOnBlur" }, host: { properties: { "class.select-control-borderless": "thyBorderless" } }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<ng-template #inputTemplate>\n <input\n #inputElement\n [tabindex]=\"-1\"\n (compositionstart)=\"isComposing = true\"\n (compositionend)=\"isComposing = false\"\n autocomplete=\"something-new\"\n [ngClass]=\"searchInputControlClass\"\n (input)=\"updateWidth()\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"setInputValue($event)\"\n (keydown.backspace)=\"handleBackspace($event)\"\n [disabled]=\"thyDisabled\"\n (blur)=\"onBlur($event)\" />\n</ng-template>\n\n<div class=\"select-control-rendered\">\n @if (!isSelectedValue) {\n <div class=\"text-placeholder text-truncate\" [ngStyle]=\"placeholderStyle\">\n {{ thyPlaceholder }}\n </div>\n }\n @if (isMultiple) {\n <div thyFlex thyWrap=\"wrap\" thyGap=\"4\" thyAlignItems=\"center\" class=\"w-100\">\n @if (thyPreset === 'tag') {\n @for (item of maxSelectedTags; track trackValue($index, item)) {\n <div thyFlexItem class=\"custom-choice-item text-truncate\">\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\">\n </ng-template>\n @if (!disabled) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n } @else {\n @for (item of maxSelectedTags; track trackValue($index, item)) {\n <div\n thyFlexItem\n thyTag\n class=\"choice-item\"\n [ngClass]=\"{ disabled: disabled === true }\"\n [thySize]=\"tagSize\"\n >\n <div class=\"text-truncate h-100\">\n @if (!customDisplayTemplate) {\n {{ item.thyLabelText }}\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\"></ng-template>\n }\n </div>\n @if (!disabled) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n }\n @if (thyMaxTagCount && multipleSelectedValue.length > thyMaxTagCount) {\n <div\n thyFlexItem\n class=\"choice-item max-tag-count-choice\"\n thyTag\n [thySize]=\"tagSize\"\n [ngClass]=\"{ disabled: disabled === true }\">\n <div class=\"text-truncate\">+{{ multipleSelectedValue.length - thyMaxTagCount + 1 }}...</div>\n </div>\n }\n <div thyFlexItem class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </div>\n } @else {\n @if (isSelectedValue) {\n <div class=\"selected-value text-truncate\" [ngStyle]=\"selectedValueStyle\">\n @if (!customDisplayTemplate) {\n <span class=\"text-truncate\">{{ selectedValue?.thyLabelText }}</span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: selectedValue.thyRawValue || selectedValue.thyValue || selectedValue\n }\"></ng-template>\n }\n </div>\n }\n <div class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n }\n</div>\n<span class=\"select-control-arrow\">\n <thy-icon thyIconName=\"angle-down\" class=\"font-size-base\"></thy-icon>\n</span>\n@if (showClearIcon) {\n <span class=\"select-control-clear remove-link\" (click)=\"clearHandle($event)\">\n <thy-icon class=\"remove-link-icon font-size-base\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n </span>\n}\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "ngmodule", type: ThyGridModule }, { kind: "directive", type: i2.ThyFlex, selector: "[thyFlex]", inputs: ["thyDirection", "thyWrap", "thyJustifyContent", "thyAlignItems", "thyGap"] }, { kind: "directive", type: i2.ThyFlexItem, selector: "[thyFlexItem]", inputs: ["thyFlexItem", "thyGrow", "thyShrink", "thyBasis"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
231
231
|
}
|
|
232
232
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySelectControl, decorators: [{
|
|
233
233
|
type: Component,
|
|
234
|
-
args: [{ selector: 'thy-select-control,[thySelectControl]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [FormsModule, NgClass,
|
|
234
|
+
args: [{ selector: 'thy-select-control,[thySelectControl]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [FormsModule, NgClass, NgStyle, ThyTag, NgTemplateOutlet, ThyIcon, ThyGridModule], host: {
|
|
235
235
|
'[class.select-control-borderless]': 'thyBorderless'
|
|
236
|
-
}, template: "<ng-template #inputTemplate>\n <input\n #inputElement\n [tabindex]=\"-1\"\n (compositionstart)=\"isComposing = true\"\n (compositionend)=\"isComposing = false\"\n autocomplete=\"something-new\"\n [ngClass]=\"searchInputControlClass\"\n (input)=\"updateWidth()\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"setInputValue($event)\"\n (keydown.backspace)=\"handleBackspace($event)\"\n [disabled]=\"thyDisabled\"\n (blur)=\"onBlur($event)\" />\n</ng-template>\n\n<div class=\"select-control-rendered\">\n <div class=\"text-placeholder text-truncate\"
|
|
236
|
+
}, template: "<ng-template #inputTemplate>\n <input\n #inputElement\n [tabindex]=\"-1\"\n (compositionstart)=\"isComposing = true\"\n (compositionend)=\"isComposing = false\"\n autocomplete=\"something-new\"\n [ngClass]=\"searchInputControlClass\"\n (input)=\"updateWidth()\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"setInputValue($event)\"\n (keydown.backspace)=\"handleBackspace($event)\"\n [disabled]=\"thyDisabled\"\n (blur)=\"onBlur($event)\" />\n</ng-template>\n\n<div class=\"select-control-rendered\">\n @if (!isSelectedValue) {\n <div class=\"text-placeholder text-truncate\" [ngStyle]=\"placeholderStyle\">\n {{ thyPlaceholder }}\n </div>\n }\n @if (isMultiple) {\n <div thyFlex thyWrap=\"wrap\" thyGap=\"4\" thyAlignItems=\"center\" class=\"w-100\">\n @if (thyPreset === 'tag') {\n @for (item of maxSelectedTags; track trackValue($index, item)) {\n <div thyFlexItem class=\"custom-choice-item text-truncate\">\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\">\n </ng-template>\n @if (!disabled) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n } @else {\n @for (item of maxSelectedTags; track trackValue($index, item)) {\n <div\n thyFlexItem\n thyTag\n class=\"choice-item\"\n [ngClass]=\"{ disabled: disabled === true }\"\n [thySize]=\"tagSize\"\n >\n <div class=\"text-truncate h-100\">\n @if (!customDisplayTemplate) {\n {{ item.thyLabelText }}\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\"></ng-template>\n }\n </div>\n @if (!disabled) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n }\n @if (thyMaxTagCount && multipleSelectedValue.length > thyMaxTagCount) {\n <div\n thyFlexItem\n class=\"choice-item max-tag-count-choice\"\n thyTag\n [thySize]=\"tagSize\"\n [ngClass]=\"{ disabled: disabled === true }\">\n <div class=\"text-truncate\">+{{ multipleSelectedValue.length - thyMaxTagCount + 1 }}...</div>\n </div>\n }\n <div thyFlexItem class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </div>\n } @else {\n @if (isSelectedValue) {\n <div class=\"selected-value text-truncate\" [ngStyle]=\"selectedValueStyle\">\n @if (!customDisplayTemplate) {\n <span class=\"text-truncate\">{{ selectedValue?.thyLabelText }}</span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: selectedValue.thyRawValue || selectedValue.thyValue || selectedValue\n }\"></ng-template>\n }\n </div>\n }\n <div class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n }\n</div>\n<span class=\"select-control-arrow\">\n <thy-icon thyIconName=\"angle-down\" class=\"font-size-base\"></thy-icon>\n</span>\n@if (showClearIcon) {\n <span class=\"select-control-clear remove-link\" (click)=\"clearHandle($event)\">\n <thy-icon class=\"remove-link-icon font-size-base\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n </span>\n}\n" }]
|
|
237
237
|
}], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { thyPanelOpened: [{
|
|
238
238
|
type: Input,
|
|
239
239
|
args: [{ transform: coerceBooleanProperty }]
|
|
@@ -277,4 +277,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
277
277
|
type: ViewChild,
|
|
278
278
|
args: ['inputElement']
|
|
279
279
|
}] } });
|
|
280
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9zZWxlY3Qvc2VsZWN0LWNvbnRyb2wvc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9zZWxlY3Qvc2VsZWN0LWNvbnRyb2wvc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0UsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGVBQWUsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFLeEM7O0dBRUc7QUFXSCxNQUFNLE9BQU8sZ0JBQWdCO0lBdUJ6QixJQUNJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksY0FBYyxDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMxQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELElBQ0ksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxhQUFhLENBQUMsS0FBYztRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFDSSxhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxLQUFjO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUNJLGtCQUFrQjtRQUNsQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksa0JBQWtCLENBQUMsS0FBNEM7UUFDL0QsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxRQUFRLFlBQVksS0FBSyxJQUFJLEtBQUssWUFBWSxLQUFLLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzFGLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0YsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxRQUFRLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ3BCLFNBQVMsR0FBSSxRQUE2QixDQUFDLFFBQVEsS0FBTSxLQUEwQixDQUFDLFFBQVEsQ0FBQztZQUNqRyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNiLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsWUFBWTtZQUNaLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM1QyxDQUFDO1lBQ0wsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1osQ0FBQztJQUNMLENBQUM7SUFFRCxJQUNJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLEtBQWM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQVdELElBQ0ksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBd0I7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFN0IsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDO2FBQU0sSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQztJQXVCRCxJQUFJLGtCQUFrQjtRQUNsQixJQUFJLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9ELENBQUM7aUJBQU0sQ0FBQztnQkFDSixpQkFBaUIsR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLENBQUM7UUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNoQixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3RDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQztRQUNELE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxxQkFBcUI7UUFDckIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLElBQUksSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGtCQUFrQixZQUFZLEtBQUssSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM5SCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGtCQUF3QyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxDQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDakUsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUF5QixJQUFJLENBQUMsa0JBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUNoRixDQUFDO0lBQ04sQ0FBQztJQUVELFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUEvTXZDLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFFaEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVuQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFVVCxpQkFBWSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBeUZ6QyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUd0QixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQW9CbUIsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFFYixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUUxRCxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBR2hDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUdsQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFtRCxDQUFDO1FBR2xGLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBR3ZDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO0lBMkRILENBQUM7SUFFM0MsUUFBUTtRQUNKLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxxQkFBcUI7UUFDakIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDekQsTUFBTSxrQkFBa0IsR0FBRztZQUN2QixDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUk7WUFDdEIsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ2hELENBQUMscUJBQXFCLENBQUMsRUFBRSxJQUFJO1lBQzdCLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJO1lBQ3hCLENBQUMsa0JBQWtCLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSTtZQUNwQyxDQUFDLDRCQUE0QixDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDL0MsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3JDLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDOUIsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsdUJBQXVCLEdBQUc7WUFDM0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxJQUFJO1lBQ3RCLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTztZQUNoRCxDQUFDLG9CQUFvQixDQUFDLEVBQUUsSUFBSTtZQUM1QixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWE7U0FDbEMsQ0FBQztJQUNOLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN2QixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFZO1FBQ3hCLElBQUssS0FBdUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QyxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLFlBQVksS0FBSyxFQUFFLENBQUM7WUFDeEUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BGLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUM7WUFDekgsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3hFLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFzQixFQUFFLE1BQWE7UUFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBYTtRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQWMsRUFBRSxNQUF3QjtRQUMvQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFZO1FBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs4R0F0UlEsZ0JBQWdCO2tHQUFoQixnQkFBZ0Isd0lBdUJMLHFCQUFxQixxREFvQnJCLHFCQUFxQixxREFVckIscUJBQXFCLHlGQTJDckIscUJBQXFCLHFHQWFyQixxQkFBcUIsOEdBd0JyQixlQUFlLHFEQUVmLHFCQUFxQix3V0MvSzdDLDJwSUFvR0EsMkNEakVjLFdBQVcsK21CQUFFLE9BQU8sb0ZBQUUsSUFBSSw2RkFBRSxPQUFPLDJFQUFFLEtBQUssbUhBQUUsTUFBTSxnSkFBRSxnQkFBZ0Isb0pBQUUsT0FBTyxxTUFBRSxhQUFhOzsyRkFLN0YsZ0JBQWdCO2tCQVY1QixTQUFTOytCQUNJLHVDQUF1QyxtQkFFaEMsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLFFBQ2pHO3dCQUNGLG1DQUFtQyxFQUFFLGVBQWU7cUJBQ3ZEOzhFQTBCRyxjQUFjO3NCQURqQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQXFCdkMsYUFBYTtzQkFEaEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFXdkMsYUFBYTtzQkFEaEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFXdkMsa0JBQWtCO3NCQURyQixLQUFLO2dCQWtDRixXQUFXO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBVzNDLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBSTNDLGNBQWM7c0JBRGIsS0FBSztnQkFJRixPQUFPO3NCQURWLEtBQUs7Z0JBa0JpQyxjQUFjO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFFUSxhQUFhO3NCQUF6RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUVsQyxTQUFTO3NCQUFqQixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsTUFBTTtnQkFJQSxXQUFXO3NCQURqQixNQUFNO2dCQUlBLFVBQVU7c0JBRGhCLE1BQU07Z0JBSUEsU0FBUztzQkFEZixNQUFNO2dCQUlQLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGh5VGFnU2l6ZSB9IGZyb20gJ25neC10ZXRoeXMvdGFnJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgaXNVbmRlZmluZWRPck51bGwgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgbnVtYmVyQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcblxuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3IsIE5nSWYsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaHlHcmlkTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9ncmlkJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5VGFnIH0gZnJvbSAnbmd4LXRldGh5cy90YWcnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uQmFzZSB9IGZyb20gJy4uLy4uL29wdGlvbi9zZWxlY3Qtb3B0aW9uLWJhc2UnO1xuXG5leHBvcnQgdHlwZSBTZWxlY3RDb250cm9sU2l6ZSA9ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAnJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1zZWxlY3QtY29udHJvbCxbdGh5U2VsZWN0Q29udHJvbF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIE5nQ2xhc3MsIE5nSWYsIE5nU3R5bGUsIE5nRm9yLCBUaHlUYWcsIE5nVGVtcGxhdGVPdXRsZXQsIFRoeUljb24sIFRoeUdyaWRNb2R1bGVdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5zZWxlY3QtY29udHJvbC1ib3JkZXJsZXNzXSc6ICd0aHlCb3JkZXJsZXNzJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGh5U2VsZWN0Q29udHJvbCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgaW5wdXRWYWx1ZSA9ICcnO1xuXG4gICAgaXNDb21wb3NpbmcgPSBmYWxzZTtcblxuICAgIHBhbmVsT3BlbmVkID0gZmFsc2U7XG5cbiAgICBpc011bHRpcGxlID0gZmFsc2U7XG5cbiAgICBzaG93U2VhcmNoID0gZmFsc2U7XG5cbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgc2l6ZTogU2VsZWN0Q29udHJvbFNpemU7XG5cbiAgICBzZWxlY3RlZE9wdGlvbnM6IFNlbGVjdE9wdGlvbkJhc2UgfCBTZWxlY3RPcHRpb25CYXNlW107XG5cbiAgICBzZWFyY2hJbnB1dENvbnRyb2xDbGFzczogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH07XG5cbiAgICB0YWdTaXplOiBUaHlUYWdTaXplO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgZ2V0IHRoeVBhbmVsT3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wYW5lbE9wZW5lZDtcbiAgICB9XG5cbiAgICBzZXQgdGh5UGFuZWxPcGVuZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5wYW5lbE9wZW5lZCA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5wYW5lbE9wZW5lZCAmJiB0aGlzLnRoeVNob3dTZWFyY2gpIHtcbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMucGFuZWxPcGVuZWQgJiYgdGhpcy50aHlTaG93U2VhcmNoKSB7XG4gICAgICAgICAgICBQcm9taXNlLnJlc29sdmUobnVsbCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlKCcnKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0Q29udHJvbENsYXNzKCk7XG4gICAgfVxuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBnZXQgdGh5SXNNdWx0aXBsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNdWx0aXBsZTtcbiAgICB9XG5cbiAgICBzZXQgdGh5SXNNdWx0aXBsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzTXVsdGlwbGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RDb250cm9sQ2xhc3MoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIGdldCB0aHlTaG93U2VhcmNoKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93U2VhcmNoO1xuICAgIH1cblxuICAgIHNldCB0aHlTaG93U2VhcmNoKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2hvd1NlYXJjaCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHRoeVNlbGVjdGVkT3B0aW9ucygpOiBTZWxlY3RPcHRpb25CYXNlIHwgU2VsZWN0T3B0aW9uQmFzZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb25zO1xuICAgIH1cblxuICAgIHNldCB0aHlTZWxlY3RlZE9wdGlvbnModmFsdWU6IFNlbGVjdE9wdGlvbkJhc2UgfCBTZWxlY3RPcHRpb25CYXNlW10pIHtcbiAgICAgICAgbGV0IHNhbWVWYWx1ZSA9IGZhbHNlO1xuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuc2VsZWN0ZWRPcHRpb25zO1xuICAgICAgICBpZiAodGhpcy5pc011bHRpcGxlKSB7XG4gICAgICAgICAgICBpZiAob2xkVmFsdWUgaW5zdGFuY2VvZiBBcnJheSAmJiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIG9sZFZhbHVlLmxlbmd0aCA9PT0gdmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc2FtZVZhbHVlID0gdmFsdWUuZXZlcnkoKG9wdGlvbiwgaW5kZXgpID0+IG9wdGlvbi50aHlWYWx1ZSA9PT0gb2xkVmFsdWVbaW5kZXhdLnRoeVZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChvbGRWYWx1ZSAmJiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHNhbWVWYWx1ZSA9IChvbGRWYWx1ZSBhcyBTZWxlY3RPcHRpb25CYXNlKS50aHlWYWx1ZSA9PT0gKHZhbHVlIGFzIFNlbGVjdE9wdGlvbkJhc2UpLnRoeVZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLnBhbmVsT3BlbmVkICYmIHRoaXMudGh5U2hvd1NlYXJjaCkge1xuICAgICAgICAgICAgaWYgKCFzYW1lVmFsdWUpIHtcbiAgICAgICAgICAgICAgICBQcm9taXNlLnJlc29sdmUobnVsbCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5wdXRWYWx1ZSgnJyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvL+etieW+hee7hOS7tua4suafk+WlveWGjeiBmueEplxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucGFuZWxPcGVuZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIGdldCB0aHlEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgc2V0IHRoeURpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RDb250cm9sQ2xhc3MoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGN1c3RvbURpc3BsYXlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5QWxsb3dDbGVhciA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICB0aHlQbGFjZWhvbGRlciA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgdGh5U2l6ZSgpOiBTZWxlY3RDb250cm9sU2l6ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpemU7XG4gICAgfVxuXG4gICAgc2V0IHRoeVNpemUodmFsdWU6IFNlbGVjdENvbnRyb2xTaXplKSB7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJ3hzJyB8fCB2YWx1ZSA9PT0gJ3NtJykge1xuICAgICAgICAgICAgdGhpcy50YWdTaXplID0gJ3NtJztcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJ2xnJykge1xuICAgICAgICAgICAgdGhpcy50YWdTaXplID0gJ2xnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGFnU2l6ZSA9ICdtZCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB0aHlNYXhUYWdDb3VudCA9IDA7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlCb3JkZXJsZXNzID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSB0aHlQcmVzZXQ6IHN0cmluZyA9ICcnO1xuXG4gICAgQE91dHB1dCgpXG4gICAgdGh5T25TZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB0aHlPblJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtOiBTZWxlY3RPcHRpb25CYXNlOyAkZXZlbnRPcmlnaW46IEV2ZW50IH0+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdGh5T25DbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdGh5T25CbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcpXG4gICAgaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgZ2V0IHNlbGVjdGVkVmFsdWVTdHlsZSgpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICAgICAgbGV0IHNob3dTZWxlY3RlZFZhbHVlID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLnNob3dTZWFyY2gpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhbmVsT3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgc2hvd1NlbGVjdGVkVmFsdWUgPSAhKHRoaXMuaXNDb21wb3NpbmcgfHwgdGhpcy5pbnB1dFZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2hvd1NlbGVjdGVkVmFsdWUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2hvd1NlbGVjdGVkVmFsdWUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGRpc3BsYXk6IHNob3dTZWxlY3RlZFZhbHVlID8gJ2ZsZXgnIDogJ25vbmUnIH07XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyU3R5bGUoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgICAgIGxldCBwbGFjZWhvbGRlciA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMudGh5UGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNDb21wb3NpbmcgfHwgdGhpcy5pbnB1dFZhbHVlKSB7XG4gICAgICAgICAgICBwbGFjZWhvbGRlciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGRpc3BsYXk6IHBsYWNlaG9sZGVyID8gJ2Jsb2NrJyA6ICdub25lJyB9O1xuICAgIH1cblxuICAgIGdldCBzZWxlY3RlZFZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucztcbiAgICB9XG5cbiAgICBnZXQgbXVsdGlwbGVTZWxlY3RlZFZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucztcbiAgICB9XG5cbiAgICBnZXQgbWF4U2VsZWN0ZWRUYWdzKCkge1xuICAgICAgICBpZiAodGhpcy50aHlNYXhUYWdDb3VudCA+IDAgJiYgdGhpcy50aHlTZWxlY3RlZE9wdGlvbnMgaW5zdGFuY2VvZiBBcnJheSAmJiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiB0aGlzLnRoeU1heFRhZ0NvdW50KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aHlTZWxlY3RlZE9wdGlvbnMuc2xpY2UoMCwgdGhpcy50aHlNYXhUYWdDb3VudCAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucyBhcyBTZWxlY3RPcHRpb25CYXNlW107XG4gICAgfVxuXG4gICAgZ2V0IHNob3dDbGVhckljb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoeUFsbG93Q2xlYXIgJiYgdGhpcy5pc1NlbGVjdGVkVmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2VsZWN0ZWRWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICghdGhpcy5pc011bHRpcGxlICYmICFpc1VuZGVmaW5lZE9yTnVsbCh0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucykpIHx8XG4gICAgICAgICAgICAodGhpcy5pc011bHRpcGxlICYmICg8U2VsZWN0T3B0aW9uQmFzZVtdPnRoaXMudGh5U2VsZWN0ZWRPcHRpb25zKS5sZW5ndGggPiAwKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuICAgIH1cblxuICAgIHNldFNlbGVjdENvbnRyb2xDbGFzcygpIHtcbiAgICAgICAgY29uc3QgbW9kZVR5cGUgPSB0aGlzLmlzTXVsdGlwbGUgPyAnbXVsdGlwbGUnIDogJ3NpbmdsZSc7XG4gICAgICAgIGNvbnN0IHNlbGVjdENvbnRyb2xDbGFzcyA9IHtcbiAgICAgICAgICAgIFtgZm9ybS1jb250cm9sYF06IHRydWUsXG4gICAgICAgICAgICBbYGZvcm0tY29udHJvbC0ke3RoaXMudGh5U2l6ZX1gXTogISF0aGlzLnRoeVNpemUsXG4gICAgICAgICAgICBbYGZvcm0tY29udHJvbC1jdXN0b21gXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgc2VsZWN0LWNvbnRyb2xgXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgc2VsZWN0LWNvbnRyb2wtJHttb2RlVHlwZX1gXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgc2VsZWN0LWNvbnRyb2wtc2hvdy1zZWFyY2hgXTogdGhpcy5zaG93U2VhcmNoLFxuICAgICAgICAgICAgW2BwYW5lbC1pcy1vcGVuZWRgXTogdGhpcy5wYW5lbE9wZW5lZCxcbiAgICAgICAgICAgIFtgZGlzYWJsZWRgXTogdGhpcy5kaXNhYmxlZFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzc0J5TWFwKHNlbGVjdENvbnRyb2xDbGFzcyk7XG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXRDb250cm9sQ2xhc3MgPSB7XG4gICAgICAgICAgICBbYGZvcm0tY29udHJvbGBdOiB0cnVlLFxuICAgICAgICAgICAgW2Bmb3JtLWNvbnRyb2wtJHt0aGlzLnRoeVNpemV9YF06ICEhdGhpcy50aHlTaXplLFxuICAgICAgICAgICAgW2BzZWFyY2gtaW5wdXQtZmllbGRgXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgaGlkZGVuYF06ICF0aGlzLnRoeVNob3dTZWFyY2hcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzZXRJbnB1dFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLmlucHV0VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVXaWR0aCgpO1xuICAgICAgICAgICAgdGhpcy50aHlPblNlYXJjaC5lbWl0KHRoaXMuaW5wdXRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVCYWNrc3BhY2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICgoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkuaXNDb21wb3NpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pbnB1dFZhbHVlLmxlbmd0aCA9PT0gMCAmJiB0aGlzLnNlbGVjdGVkT3B0aW9ucyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlSGFuZGxlKHRoaXMuc2VsZWN0ZWRPcHRpb25zW3RoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCAtIDFdLCBldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVXaWR0aCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aXBsZSAmJiB0aGlzLnRoeVNob3dTZWFyY2gpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlucHV0VmFsdWUgfHwgdGhpcy5pc0NvbXBvc2luZykge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7dGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aH1weGApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlSGFuZGxlKGl0ZW06IFNlbGVjdE9wdGlvbkJhc2UsICRldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy50aHlPblJlbW92ZS5lbWl0KHsgaXRlbTogaXRlbSwgJGV2ZW50T3JpZ2luOiAkZXZlbnQgfSk7XG4gICAgfVxuXG4gICAgY2xlYXJIYW5kbGUoJGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLnRoeU9uQ2xlYXIuZW1pdCgkZXZlbnQpO1xuICAgIH1cblxuICAgIHRyYWNrVmFsdWUoX2luZGV4OiBudW1iZXIsIG9wdGlvbjogU2VsZWN0T3B0aW9uQmFzZSk6IGFueSB7XG4gICAgICAgIHJldHVybiBvcHRpb24udGh5VmFsdWU7XG4gICAgfVxuXG4gICAgb25CbHVyKGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLnRoeU9uQmx1ci5lbWl0KGV2ZW50KTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2lucHV0VGVtcGxhdGU+XG4gIDxpbnB1dFxuICAgICNpbnB1dEVsZW1lbnRcbiAgICBbdGFiaW5kZXhdPVwiLTFcIlxuICAgIChjb21wb3NpdGlvbnN0YXJ0KT1cImlzQ29tcG9zaW5nID0gdHJ1ZVwiXG4gICAgKGNvbXBvc2l0aW9uZW5kKT1cImlzQ29tcG9zaW5nID0gZmFsc2VcIlxuICAgIGF1dG9jb21wbGV0ZT1cInNvbWV0aGluZy1uZXdcIlxuICAgIFtuZ0NsYXNzXT1cInNlYXJjaElucHV0Q29udHJvbENsYXNzXCJcbiAgICAoaW5wdXQpPVwidXBkYXRlV2lkdGgoKVwiXG4gICAgW25nTW9kZWxdPVwiaW5wdXRWYWx1ZVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0SW5wdXRWYWx1ZSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5iYWNrc3BhY2UpPVwiaGFuZGxlQmFja3NwYWNlKCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJ0aHlEaXNhYmxlZFwiXG4gICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIiAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuPGRpdiBjbGFzcz1cInNlbGVjdC1jb250cm9sLXJlbmRlcmVkXCI+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LXBsYWNlaG9sZGVyIHRleHQtdHJ1bmNhdGVcIiAqbmdJZj1cIiFpc1NlbGVjdGVkVmFsdWVcIiBbbmdTdHlsZV09XCJwbGFjZWhvbGRlclN0eWxlXCI+XG4gICAge3sgdGh5UGxhY2Vob2xkZXIgfX1cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc011bHRpcGxlOyBlbHNlIHNpbmdsZVwiPlxuICAgIDxkaXYgdGh5RmxleCB0aHlXcmFwPVwid3JhcFwiIHRoeUdhcD1cIjRcIiB0aHlBbGlnbkl0ZW1zPVwiY2VudGVyXCIgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRoeVByZXNldCA9PT0gJ3RhZyc7IGVsc2UgZGVmYXVsdFwiPlxuICAgICAgICA8ZGl2IHRoeUZsZXhJdGVtIGNsYXNzPVwiY3VzdG9tLWNob2ljZS1pdGVtIHRleHQtdHJ1bmNhdGVcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtYXhTZWxlY3RlZFRhZ3M7IHRyYWNrQnk6IHRyYWNrVmFsdWVcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbURpc3BsYXlUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0udGh5UmF3VmFsdWUgfHwgaXRlbS50aHlWYWx1ZSB8fCBpdGVtIH1cIj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZGlzYWJsZWRcIiBjbGFzcz1cImNob2ljZS1yZW1vdmUtbGluayBtbC0xXCIgKGNsaWNrKT1cInJlbW92ZUhhbmRsZShpdGVtLCAkZXZlbnQpXCI+XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiY2xvc2VcIiBjbGFzcz1cImZvbnQtc2l6ZS1zbVwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHRoeUZsZXhJdGVtXG4gICAgICAgICAgdGh5VGFnXG4gICAgICAgICAgY2xhc3M9XCJjaG9pY2UtaXRlbVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQgPT09IHRydWUgfVwiXG4gICAgICAgICAgW3RoeVNpemVdPVwidGFnU2l6ZVwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWF4U2VsZWN0ZWRUYWdzOyB0cmFja0J5OiB0cmFja1ZhbHVlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtdHJ1bmNhdGUgaC0xMDBcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAjY3VzdG9tRGlzcGxheVxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21EaXNwbGF5VGVtcGxhdGVcIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0udGh5UmF3VmFsdWUgfHwgaXRlbS50aHlWYWx1ZSB8fCBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjdXN0b21EaXNwbGF5VGVtcGxhdGU7IGVsc2UgY3VzdG9tRGlzcGxheVwiPlxuICAgICAgICAgICAgICB7eyBpdGVtLnRoeUxhYmVsVGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiFkaXNhYmxlZFwiIGNsYXNzPVwiY2hvaWNlLXJlbW92ZS1saW5rIG1sLTFcIiAoY2xpY2spPVwicmVtb3ZlSGFuZGxlKGl0ZW0sICRldmVudClcIj5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJjbG9zZVwiIGNsYXNzPVwiZm9udC1zaXplLXNtXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIHRoeUZsZXhJdGVtXG4gICAgICAgIGNsYXNzPVwiY2hvaWNlLWl0ZW0gbWF4LXRhZy1jb3VudC1jaG9pY2VcIlxuICAgICAgICAqbmdJZj1cInRoeU1heFRhZ0NvdW50ICYmIG11bHRpcGxlU2VsZWN0ZWRWYWx1ZS5sZW5ndGggPiB0aHlNYXhUYWdDb3VudFwiXG4gICAgICAgIHRoeVRhZ1xuICAgICAgICBbdGh5U2l6ZV09XCJ0YWdTaXplXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQgPT09IHRydWUgfVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPit7eyBtdWx0aXBsZVNlbGVjdGVkVmFsdWUubGVuZ3RoIC0gdGh5TWF4VGFnQ291bnQgKyAxIH19Li4uPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgdGh5RmxleEl0ZW0gY2xhc3M9XCJzZWxlY3QtY29udHJvbC1zZWFyY2hcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImlucHV0VGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI3NpbmdsZT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTZWxlY3RlZFZhbHVlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtdmFsdWUgdGV4dC10cnVuY2F0ZVwiIFtuZ1N0eWxlXT1cInNlbGVjdGVkVmFsdWVTdHlsZVwiPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAjY3VzdG9tRGlzcGxheVxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbURpc3BsYXlUZW1wbGF0ZVwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICRpbXBsaWNpdDogc2VsZWN0ZWRWYWx1ZS50aHlSYXdWYWx1ZSB8fCBzZWxlY3RlZFZhbHVlLnRoeVZhbHVlIHx8IHNlbGVjdGVkVmFsdWVcbiAgICAgICAgICB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjdXN0b21EaXNwbGF5VGVtcGxhdGU7IGVsc2UgY3VzdG9tRGlzcGxheVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPnt7IHNlbGVjdGVkVmFsdWU/LnRoeUxhYmVsVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWNvbnRyb2wtc2VhcmNoXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5wdXRUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbjxzcGFuIGNsYXNzPVwic2VsZWN0LWNvbnRyb2wtYXJyb3dcIj5cbiAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYW5nbGUtZG93blwiIGNsYXNzPVwiZm9udC1zaXplLWJhc2VcIj48L3RoeS1pY29uPlxuPC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJzZWxlY3QtY29udHJvbC1jbGVhciByZW1vdmUtbGlua1wiICpuZ0lmPVwic2hvd0NsZWFySWNvblwiIChjbGljayk9XCJjbGVhckhhbmRsZSgkZXZlbnQpXCI+XG4gIDx0aHktaWNvbiBjbGFzcz1cInJlbW92ZS1saW5rLWljb24gZm9udC1zaXplLWJhc2VcIiB0aHlJY29uTmFtZT1cImNsb3NlLWNpcmNsZS1ib2xkLWZpbGxcIj48L3RoeS1pY29uPlxuPC9zcGFuPlxuIl19
|
|
280
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9zZWxlY3Qvc2VsZWN0LWNvbnRyb2wvc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9zZWxlY3Qvc2VsZWN0LWNvbnRyb2wvc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0UsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGVBQWUsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBS3hDOztHQUVHO0FBV0gsTUFBTSxPQUFPLGdCQUFnQjtJQXVCekIsSUFDSSxjQUFjO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLGNBQWMsQ0FBQyxLQUFjO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElB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QixFQUFFO2dCQUkzQyxjQUFjO3NCQURiLEtBQUs7Z0JBSUYsT0FBTztzQkFEVixLQUFLO2dCQWtCaUMsY0FBYztzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBRVEsYUFBYTtzQkFBekQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFFbEMsU0FBUztzQkFBakIsS0FBSztnQkFHTixXQUFXO3NCQURWLE1BQU07Z0JBSUEsV0FBVztzQkFEakIsTUFBTTtnQkFJQSxVQUFVO3NCQURoQixNQUFNO2dCQUlBLFNBQVM7c0JBRGYsTUFBTTtnQkFJUCxZQUFZO3NCQURYLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRoeVRhZ1NpemUgfSBmcm9tICduZ3gtdGV0aHlzL3RhZyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGlzVW5kZWZpbmVkT3JOdWxsIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIG51bWJlckF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5cbmltcG9ydCB7IE5nQ2xhc3MsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaHlHcmlkTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9ncmlkJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5VGFnIH0gZnJvbSAnbmd4LXRldGh5cy90YWcnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uQmFzZSB9IGZyb20gJy4uLy4uL29wdGlvbi9zZWxlY3Qtb3B0aW9uLWJhc2UnO1xuXG5leHBvcnQgdHlwZSBTZWxlY3RDb250cm9sU2l6ZSA9ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAnJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1zZWxlY3QtY29udHJvbCxbdGh5U2VsZWN0Q29udHJvbF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIE5nQ2xhc3MsIE5nU3R5bGUsIFRoeVRhZywgTmdUZW1wbGF0ZU91dGxldCwgVGh5SWNvbiwgVGh5R3JpZE1vZHVsZV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLnNlbGVjdC1jb250cm9sLWJvcmRlcmxlc3NdJzogJ3RoeUJvcmRlcmxlc3MnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUaHlTZWxlY3RDb250cm9sIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBpbnB1dFZhbHVlID0gJyc7XG5cbiAgICBpc0NvbXBvc2luZyA9IGZhbHNlO1xuXG4gICAgcGFuZWxPcGVuZWQgPSBmYWxzZTtcblxuICAgIGlzTXVsdGlwbGUgPSBmYWxzZTtcblxuICAgIHNob3dTZWFyY2ggPSBmYWxzZTtcblxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBzaXplOiBTZWxlY3RDb250cm9sU2l6ZTtcblxuICAgIHNlbGVjdGVkT3B0aW9uczogU2VsZWN0T3B0aW9uQmFzZSB8IFNlbGVjdE9wdGlvbkJhc2VbXTtcblxuICAgIHNlYXJjaElucHV0Q29udHJvbENsYXNzOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfTtcblxuICAgIHRhZ1NpemU6IFRoeVRhZ1NpemU7XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBnZXQgdGh5UGFuZWxPcGVuZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhbmVsT3BlbmVkO1xuICAgIH1cblxuICAgIHNldCB0aHlQYW5lbE9wZW5lZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnBhbmVsT3BlbmVkID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLnBhbmVsT3BlbmVkICYmIHRoaXMudGh5U2hvd1NlYXJjaCkge1xuICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKG51bGwpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5wYW5lbE9wZW5lZCAmJiB0aGlzLnRoeVNob3dTZWFyY2gpIHtcbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldElucHV0VmFsdWUoJycpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTZWxlY3RDb250cm9sQ2xhc3MoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIGdldCB0aHlJc011bHRpcGxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc011bHRpcGxlO1xuICAgIH1cblxuICAgIHNldCB0aHlJc011bHRpcGxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNNdWx0aXBsZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuICAgIH1cblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgZ2V0IHRoeVNob3dTZWFyY2goKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dTZWFyY2g7XG4gICAgfVxuXG4gICAgc2V0IHRoeVNob3dTZWFyY2godmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaG93U2VhcmNoID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0Q29udHJvbENsYXNzKCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBnZXQgdGh5U2VsZWN0ZWRPcHRpb25zKCk6IFNlbGVjdE9wdGlvbkJhc2UgfCBTZWxlY3RPcHRpb25CYXNlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE9wdGlvbnM7XG4gICAgfVxuXG4gICAgc2V0IHRoeVNlbGVjdGVkT3B0aW9ucyh2YWx1ZTogU2VsZWN0T3B0aW9uQmFzZSB8IFNlbGVjdE9wdGlvbkJhc2VbXSkge1xuICAgICAgICBsZXQgc2FtZVZhbHVlID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5zZWxlY3RlZE9wdGlvbnM7XG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGlmIChvbGRWYWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIHZhbHVlIGluc3RhbmNlb2YgQXJyYXkgJiYgb2xkVmFsdWUubGVuZ3RoID09PSB2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBzYW1lVmFsdWUgPSB2YWx1ZS5ldmVyeSgob3B0aW9uLCBpbmRleCkgPT4gb3B0aW9uLnRoeVZhbHVlID09PSBvbGRWYWx1ZVtpbmRleF0udGh5VmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKG9sZFZhbHVlICYmIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgc2FtZVZhbHVlID0gKG9sZFZhbHVlIGFzIFNlbGVjdE9wdGlvbkJhc2UpLnRoeVZhbHVlID09PSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uQmFzZSkudGh5VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMucGFuZWxPcGVuZWQgJiYgdGhpcy50aHlTaG93U2VhcmNoKSB7XG4gICAgICAgICAgICBpZiAoIXNhbWVWYWx1ZSkge1xuICAgICAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlKCcnKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8v562J5b6F57uE5Lu25riy5p+T5aW95YaN6IGa54SmXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYW5lbE9wZW5lZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgMjAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgZ2V0IHRoeURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgdGh5RGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgY3VzdG9tRGlzcGxheVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICB0aHlBbGxvd0NsZWFyID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHRoeVBsYWNlaG9sZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCB0aHlTaXplKCk6IFNlbGVjdENvbnRyb2xTaXplIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZTtcbiAgICB9XG5cbiAgICBzZXQgdGh5U2l6ZSh2YWx1ZTogU2VsZWN0Q29udHJvbFNpemUpIHtcbiAgICAgICAgdGhpcy5zaXplID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0Q29udHJvbENsYXNzKCk7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSAneHMnIHx8IHZhbHVlID09PSAnc20nKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ1NpemUgPSAnc20nO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAnbGcnKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ1NpemUgPSAnbGcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50YWdTaXplID0gJ21kJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRoeU1heFRhZ0NvdW50ID0gMDtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeUJvcmRlcmxlc3MgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHRoeVByZXNldDogc3RyaW5nID0gJyc7XG5cbiAgICBAT3V0cHV0KClcbiAgICB0aHlPblNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHRoeU9uUmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGl0ZW06IFNlbGVjdE9wdGlvbkJhc2U7ICRldmVudE9yaWdpbjogRXZlbnQgfT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB0aHlPbkNsZWFyID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB0aHlPbkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JylcbiAgICBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICBnZXQgc2VsZWN0ZWRWYWx1ZVN0eWxlKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgICAgICBsZXQgc2hvd1NlbGVjdGVkVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuc2hvd1NlYXJjaCkge1xuICAgICAgICAgICAgaWYgKHRoaXMucGFuZWxPcGVuZWQpIHtcbiAgICAgICAgICAgICAgICBzaG93U2VsZWN0ZWRWYWx1ZSA9ICEodGhpcy5pc0NvbXBvc2luZyB8fCB0aGlzLmlucHV0VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzaG93U2VsZWN0ZWRWYWx1ZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzaG93U2VsZWN0ZWRWYWx1ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgZGlzcGxheTogc2hvd1NlbGVjdGVkVmFsdWUgPyAnZmxleCcgOiAnbm9uZScgfTtcbiAgICB9XG5cbiAgICBnZXQgcGxhY2Vob2xkZXJTdHlsZSgpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICAgICAgbGV0IHBsYWNlaG9sZGVyID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RlZFZhbHVlKSB7XG4gICAgICAgICAgICBwbGFjZWhvbGRlciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy50aHlQbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc0NvbXBvc2luZyB8fCB0aGlzLmlucHV0VmFsdWUpIHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgZGlzcGxheTogcGxhY2Vob2xkZXIgPyAnYmxvY2snIDogJ25vbmUnIH07XG4gICAgfVxuXG4gICAgZ2V0IHNlbGVjdGVkVmFsdWUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGh5U2VsZWN0ZWRPcHRpb25zO1xuICAgIH1cblxuICAgIGdldCBtdWx0aXBsZVNlbGVjdGVkVmFsdWUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGh5U2VsZWN0ZWRPcHRpb25zO1xuICAgIH1cblxuICAgIGdldCBtYXhTZWxlY3RlZFRhZ3MoKSB7XG4gICAgICAgIGlmICh0aGlzLnRoeU1heFRhZ0NvdW50ID4gMCAmJiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucyBpbnN0YW5jZW9mIEFycmF5ICYmIHRoaXMudGh5U2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IHRoaXMudGh5TWF4VGFnQ291bnQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucy5zbGljZSgwLCB0aGlzLnRoeU1heFRhZ0NvdW50IC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMudGh5U2VsZWN0ZWRPcHRpb25zIGFzIFNlbGVjdE9wdGlvbkJhc2VbXTtcbiAgICB9XG5cbiAgICBnZXQgc2hvd0NsZWFySWNvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGh5QWxsb3dDbGVhciAmJiB0aGlzLmlzU2VsZWN0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaXNTZWxlY3RlZFZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKCF0aGlzLmlzTXVsdGlwbGUgJiYgIWlzVW5kZWZpbmVkT3JOdWxsKHRoaXMudGh5U2VsZWN0ZWRPcHRpb25zKSkgfHxcbiAgICAgICAgICAgICh0aGlzLmlzTXVsdGlwbGUgJiYgKDxTZWxlY3RPcHRpb25CYXNlW10+dGhpcy50aHlTZWxlY3RlZE9wdGlvbnMpLmxlbmd0aCA+IDApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0Q29udHJvbENsYXNzKCk7XG4gICAgfVxuXG4gICAgc2V0U2VsZWN0Q29udHJvbENsYXNzKCkge1xuICAgICAgICBjb25zdCBtb2RlVHlwZSA9IHRoaXMuaXNNdWx0aXBsZSA/ICdtdWx0aXBsZScgOiAnc2luZ2xlJztcbiAgICAgICAgY29uc3Qgc2VsZWN0Q29udHJvbENsYXNzID0ge1xuICAgICAgICAgICAgW2Bmb3JtLWNvbnRyb2xgXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgZm9ybS1jb250cm9sLSR7dGhpcy50aHlTaXplfWBdOiAhIXRoaXMudGh5U2l6ZSxcbiAgICAgICAgICAgIFtgZm9ybS1jb250cm9sLWN1c3RvbWBdOiB0cnVlLFxuICAgICAgICAgICAgW2BzZWxlY3QtY29udHJvbGBdOiB0cnVlLFxuICAgICAgICAgICAgW2BzZWxlY3QtY29udHJvbC0ke21vZGVUeXBlfWBdOiB0cnVlLFxuICAgICAgICAgICAgW2BzZWxlY3QtY29udHJvbC1zaG93LXNlYXJjaGBdOiB0aGlzLnNob3dTZWFyY2gsXG4gICAgICAgICAgICBbYHBhbmVsLWlzLW9wZW5lZGBdOiB0aGlzLnBhbmVsT3BlbmVkLFxuICAgICAgICAgICAgW2BkaXNhYmxlZGBdOiB0aGlzLmRpc2FibGVkXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzQnlNYXAoc2VsZWN0Q29udHJvbENsYXNzKTtcbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dENvbnRyb2xDbGFzcyA9IHtcbiAgICAgICAgICAgIFtgZm9ybS1jb250cm9sYF06IHRydWUsXG4gICAgICAgICAgICBbYGZvcm0tY29udHJvbC0ke3RoaXMudGh5U2l6ZX1gXTogISF0aGlzLnRoeVNpemUsXG4gICAgICAgICAgICBbYHNlYXJjaC1pbnB1dC1maWVsZGBdOiB0cnVlLFxuICAgICAgICAgICAgW2BoaWRkZW5gXTogIXRoaXMudGh5U2hvd1NlYXJjaFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHNldElucHV0VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuaW5wdXRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVdpZHRoKCk7XG4gICAgICAgICAgICB0aGlzLnRoeU9uU2VhcmNoLmVtaXQodGhpcy5pbnB1dFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZUJhY2tzcGFjZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5pc0NvbXBvc2luZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlucHV0VmFsdWUubGVuZ3RoID09PSAwICYmIHRoaXMuc2VsZWN0ZWRPcHRpb25zIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVIYW5kbGUodGhpcy5zZWxlY3RlZE9wdGlvbnNbdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIC0gMV0sIGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVdpZHRoKCkge1xuICAgICAgICBpZiAodGhpcy5pc011bHRpcGxlICYmIHRoaXMudGh5U2hvd1NlYXJjaCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaW5wdXRWYWx1ZSB8fCB0aGlzLmlzQ29tcG9zaW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRofXB4YCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3dpZHRoJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1vdmVIYW5kbGUoaXRlbTogU2VsZWN0T3B0aW9uQmFzZSwgJGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLnRoeU9uUmVtb3ZlLmVtaXQoeyBpdGVtOiBpdGVtLCAkZXZlbnRPcmlnaW46ICRldmVudCB9KTtcbiAgICB9XG5cbiAgICBjbGVhckhhbmRsZSgkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudGh5T25DbGVhci5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgdHJhY2tWYWx1ZShfaW5kZXg6IG51bWJlciwgb3B0aW9uOiBTZWxlY3RPcHRpb25CYXNlKTogYW55IHtcbiAgICAgICAgcmV0dXJuIG9wdGlvbi50aHlWYWx1ZTtcbiAgICB9XG5cbiAgICBvbkJsdXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudGh5T25CbHVyLmVtaXQoZXZlbnQpO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjaW5wdXRUZW1wbGF0ZT5cbiAgPGlucHV0XG4gICAgI2lucHV0RWxlbWVudFxuICAgIFt0YWJpbmRleF09XCItMVwiXG4gICAgKGNvbXBvc2l0aW9uc3RhcnQpPVwiaXNDb21wb3NpbmcgPSB0cnVlXCJcbiAgICAoY29tcG9zaXRpb25lbmQpPVwiaXNDb21wb3NpbmcgPSBmYWxzZVwiXG4gICAgYXV0b2NvbXBsZXRlPVwic29tZXRoaW5nLW5ld1wiXG4gICAgW25nQ2xhc3NdPVwic2VhcmNoSW5wdXRDb250cm9sQ2xhc3NcIlxuICAgIChpbnB1dCk9XCJ1cGRhdGVXaWR0aCgpXCJcbiAgICBbbmdNb2RlbF09XCJpbnB1dFZhbHVlXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRJbnB1dFZhbHVlKCRldmVudClcIlxuICAgIChrZXlkb3duLmJhY2tzcGFjZSk9XCJoYW5kbGVCYWNrc3BhY2UoJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cInRoeURpc2FibGVkXCJcbiAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiIC8+XG48L25nLXRlbXBsYXRlPlxuXG48ZGl2IGNsYXNzPVwic2VsZWN0LWNvbnRyb2wtcmVuZGVyZWRcIj5cbiAgQGlmICghaXNTZWxlY3RlZFZhbHVlKSB7XG4gICAgPGRpdiBjbGFzcz1cInRleHQtcGxhY2Vob2xkZXIgdGV4dC10cnVuY2F0ZVwiIFtuZ1N0eWxlXT1cInBsYWNlaG9sZGVyU3R5bGVcIj5cbiAgICAgIHt7IHRoeVBsYWNlaG9sZGVyIH19XG4gICAgPC9kaXY+XG4gIH1cbiAgQGlmIChpc011bHRpcGxlKSB7XG4gICAgPGRpdiB0aHlGbGV4IHRoeVdyYXA9XCJ3cmFwXCIgdGh5R2FwPVwiNFwiIHRoeUFsaWduSXRlbXM9XCJjZW50ZXJcIiBjbGFzcz1cInctMTAwXCI+XG4gICAgICBAaWYgKHRoeVByZXNldCA9PT0gJ3RhZycpIHtcbiAgICAgICAgQGZvciAoaXRlbSBvZiBtYXhTZWxlY3RlZFRhZ3M7IHRyYWNrIHRyYWNrVmFsdWUoJGluZGV4LCBpdGVtKSkge1xuICAgICAgICAgIDxkaXYgdGh5RmxleEl0ZW0gY2xhc3M9XCJjdXN0b20tY2hvaWNlLWl0ZW0gdGV4dC10cnVuY2F0ZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbURpc3BsYXlUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbS50aHlSYXdWYWx1ZSB8fCBpdGVtLnRoeVZhbHVlIHx8IGl0ZW0gfVwiPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIEBpZiAoIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaG9pY2UtcmVtb3ZlLWxpbmsgbWwtMVwiIChjbGljayk9XCJyZW1vdmVIYW5kbGUoaXRlbSwgJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiY2xvc2VcIiBjbGFzcz1cImZvbnQtc2l6ZS1zbVwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgbWF4U2VsZWN0ZWRUYWdzOyB0cmFjayB0cmFja1ZhbHVlKCRpbmRleCwgaXRlbSkpIHtcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICB0aHlGbGV4SXRlbVxuICAgICAgICAgICAgdGh5VGFnXG4gICAgICAgICAgICBjbGFzcz1cImNob2ljZS1pdGVtXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkID09PSB0cnVlIH1cIlxuICAgICAgICAgICAgW3RoeVNpemVdPVwidGFnU2l6ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC10cnVuY2F0ZSBoLTEwMFwiPlxuICAgICAgICAgICAgICBAaWYgKCFjdXN0b21EaXNwbGF5VGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICB7eyBpdGVtLnRoeUxhYmVsVGV4dCB9fVxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbURpc3BsYXlUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLnRoeVJhd1ZhbHVlIHx8IGl0ZW0udGh5VmFsdWUgfHwgaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKCFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hvaWNlLXJlbW92ZS1saW5rIG1sLTFcIiAoY2xpY2spPVwicmVtb3ZlSGFuZGxlKGl0ZW0sICRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImNsb3NlXCIgY2xhc3M9XCJmb250LXNpemUtc21cIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpZiAodGh5TWF4VGFnQ291bnQgJiYgbXVsdGlwbGVTZWxlY3RlZFZhbHVlLmxlbmd0aCA+IHRoeU1heFRhZ0NvdW50KSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICB0aHlGbGV4SXRlbVxuICAgICAgICAgIGNsYXNzPVwiY2hvaWNlLWl0ZW0gbWF4LXRhZy1jb3VudC1jaG9pY2VcIlxuICAgICAgICAgIHRoeVRhZ1xuICAgICAgICAgIFt0aHlTaXplXT1cInRhZ1NpemVcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkID09PSB0cnVlIH1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPit7eyBtdWx0aXBsZVNlbGVjdGVkVmFsdWUubGVuZ3RoIC0gdGh5TWF4VGFnQ291bnQgKyAxIH19Li4uPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgPGRpdiB0aHlGbGV4SXRlbSBjbGFzcz1cInNlbGVjdC1jb250cm9sLXNlYXJjaFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5wdXRUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgQGlmIChpc1NlbGVjdGVkVmFsdWUpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC12YWx1ZSB0ZXh0LXRydW5jYXRlXCIgW25nU3R5bGVdPVwic2VsZWN0ZWRWYWx1ZVN0eWxlXCI+XG4gICAgICAgIEBpZiAoIWN1c3RvbURpc3BsYXlUZW1wbGF0ZSkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPnt7IHNlbGVjdGVkVmFsdWU/LnRoeUxhYmVsVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21EaXNwbGF5VGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiBzZWxlY3RlZFZhbHVlLnRoeVJhd1ZhbHVlIHx8IHNlbGVjdGVkVmFsdWUudGh5VmFsdWUgfHwgc2VsZWN0ZWRWYWx1ZVxuICAgICAgICAgICAgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWNvbnRyb2wtc2VhcmNoXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5wdXRUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuPHNwYW4gY2xhc3M9XCJzZWxlY3QtY29udHJvbC1hcnJvd1wiPlxuICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1kb3duXCIgY2xhc3M9XCJmb250LXNpemUtYmFzZVwiPjwvdGh5LWljb24+XG48L3NwYW4+XG5AaWYgKHNob3dDbGVhckljb24pIHtcbiAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtY29udHJvbC1jbGVhciByZW1vdmUtbGlua1wiIChjbGljayk9XCJjbGVhckhhbmRsZSgkZXZlbnQpXCI+XG4gICAgPHRoeS1pY29uIGNsYXNzPVwicmVtb3ZlLWxpbmstaWNvbiBmb250LXNpemUtYmFzZVwiIHRoeUljb25OYW1lPVwiY2xvc2UtY2lyY2xlLWJvbGQtZmlsbFwiPjwvdGh5LWljb24+XG4gIDwvc3Bhbj5cbn1cbiJdfQ==
|