@festo-ui/angular 7.0.0-dev.383 → 7.0.0-dev.386

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.
@@ -0,0 +1,97 @@
1
+ import { NgIf } from '@angular/common';
2
+ import { Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewEncapsulation } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class FngBottomSheetComponent {
5
+ constructor() {
6
+ this.hasBackdrop = true;
7
+ this.isExpanded = false;
8
+ this.hideCloseIcon = false;
9
+ this.expandFrom = 'center';
10
+ this.close = new EventEmitter();
11
+ this.isOpen = false;
12
+ this.isClosing = false;
13
+ this.startY = 0;
14
+ this.currentY = 0;
15
+ this.swiping = false;
16
+ }
17
+ get isExpandedState() {
18
+ return this.isExpanded;
19
+ }
20
+ ngOnInit() {
21
+ setTimeout(() => {
22
+ this.isOpen = true;
23
+ }, 0); // trigger the transition on open
24
+ }
25
+ onTouchStart(event) {
26
+ this.startY = event.touches[0].clientY;
27
+ this.swiping = true;
28
+ }
29
+ onTouchMove(event) {
30
+ if (!this.swiping)
31
+ return;
32
+ this.currentY = event.touches[0].clientY;
33
+ const deltaY = this.currentY - this.startY;
34
+ if (deltaY < -50 && !this.isExpanded) {
35
+ // swipe up to expand
36
+ this.isExpanded = true;
37
+ this.swiping = false;
38
+ }
39
+ else if (deltaY > 50 && this.isExpanded) {
40
+ // swipe down to collapse
41
+ this.isExpanded = false;
42
+ this.swiping = false;
43
+ }
44
+ else if (deltaY > 100 && !this.isExpanded) {
45
+ // swipe down to close
46
+ this.closeBottomSheet();
47
+ this.swiping = false;
48
+ }
49
+ }
50
+ onTouchEnd() {
51
+ this.swiping = false;
52
+ }
53
+ toggleExpand() {
54
+ this.isExpanded = !this.isExpanded;
55
+ }
56
+ closeBottomSheet() {
57
+ this.isClosing = true;
58
+ this.hasBackdrop = false;
59
+ setTimeout(() => {
60
+ this.isClosing = false;
61
+ this.isOpen = false;
62
+ this.close.emit();
63
+ }, 300); // wait for the transition to finish before closing
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngBottomSheetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: FngBottomSheetComponent, isStandalone: true, selector: "fng-bottom-sheet", inputs: { hasBackdrop: "hasBackdrop", isExpanded: "isExpanded", hideCloseIcon: "hideCloseIcon", expandFrom: "expandFrom" }, outputs: { close: "close" }, host: { listeners: { "touchstart": "onTouchStart($event)", "touchmove": "onTouchMove($event)", "touchend": "onTouchEnd()" }, properties: { "class.bottom-sheet--open": "this.isOpen", "class.bottom-sheet--expanded": "this.isExpandedState" } }, ngImport: i0, template: "<div class=\"fwe-bottom-sheet-backdrop\" [class.fwe-bottom-sheet-backdrop--visible]=\"hasBackdrop\"\n (click)=\"closeBottomSheet()\"></div>\n<div class=\"fwe-bottom-sheet-container\" [class.fwe-bottom-sheet-container--open]=\"isOpen\"\n [class.fwe-bottom-sheet-container--expanded]=\"isExpanded\"\n [class.fwe-bottom-sheet-container--expand-from-center]=\"expandFrom === 'center'\"\n [class.fwe-bottom-sheet-container--with-backdrop]=\"hasBackdrop\"\n [class.fwe-bottom-sheet-container--closing]=\"isClosing\"\n >\n <div class=\"fwe-bottom-sheet-header\">\n <div class=\"fwe-bottom-sheet-drag-handle-container\" (click)=\"toggleExpand()\">\n <div class=\"fwe-bottom-sheet-drag-handle\"></div>\n </div>\n <button *ngIf=\"!hideCloseIcon\" type=\"button\"\n class=\"fwe-bottom-sheet-close-btn\" (click)=\"closeBottomSheet()\">\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-bottom-sheet-content\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngBottomSheetComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'fng-bottom-sheet', standalone: true, imports: [NgIf], encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-bottom-sheet-backdrop\" [class.fwe-bottom-sheet-backdrop--visible]=\"hasBackdrop\"\n (click)=\"closeBottomSheet()\"></div>\n<div class=\"fwe-bottom-sheet-container\" [class.fwe-bottom-sheet-container--open]=\"isOpen\"\n [class.fwe-bottom-sheet-container--expanded]=\"isExpanded\"\n [class.fwe-bottom-sheet-container--expand-from-center]=\"expandFrom === 'center'\"\n [class.fwe-bottom-sheet-container--with-backdrop]=\"hasBackdrop\"\n [class.fwe-bottom-sheet-container--closing]=\"isClosing\"\n >\n <div class=\"fwe-bottom-sheet-header\">\n <div class=\"fwe-bottom-sheet-drag-handle-container\" (click)=\"toggleExpand()\">\n <div class=\"fwe-bottom-sheet-drag-handle\"></div>\n </div>\n <button *ngIf=\"!hideCloseIcon\" type=\"button\"\n class=\"fwe-bottom-sheet-close-btn\" (click)=\"closeBottomSheet()\">\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-bottom-sheet-content\">\n <ng-content></ng-content>\n </div>\n</div>" }]
71
+ }], propDecorators: { hasBackdrop: [{
72
+ type: Input
73
+ }], isExpanded: [{
74
+ type: Input
75
+ }], hideCloseIcon: [{
76
+ type: Input
77
+ }], expandFrom: [{
78
+ type: Input
79
+ }], close: [{
80
+ type: Output
81
+ }], isOpen: [{
82
+ type: HostBinding,
83
+ args: ['class.bottom-sheet--open']
84
+ }], isExpandedState: [{
85
+ type: HostBinding,
86
+ args: ['class.bottom-sheet--expanded']
87
+ }], onTouchStart: [{
88
+ type: HostListener,
89
+ args: ['touchstart', ['$event']]
90
+ }], onTouchMove: [{
91
+ type: HostListener,
92
+ args: ['touchmove', ['$event']]
93
+ }], onTouchEnd: [{
94
+ type: HostListener,
95
+ args: ['touchend']
96
+ }] } });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90dG9tLXNoZWV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2JvdHRvbS1zaGVldC9ib3R0b20tc2hlZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYm90dG9tLXNoZWV0L2JvdHRvbS1zaGVldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVVySCxNQUFNLE9BQU8sdUJBQXVCO0lBUnBDO1FBU1csZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixlQUFVLEdBQXdCLFFBQVEsQ0FBQztRQUUxQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVGLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFLeEQsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUVuQixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBQ25CLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsWUFBTyxHQUFZLEtBQUssQ0FBQztLQXNEbEM7SUE5REMsSUFBaUQsZUFBZTtRQUM5RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQVFELFFBQVE7UUFDTixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsaUNBQWlDO0lBQzFDLENBQUM7SUFHRCxZQUFZLENBQUMsS0FBaUI7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBR0QsV0FBVyxDQUFDLEtBQWlCO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFM0MsSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckMscUJBQXFCO1lBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxJQUFJLE1BQU0sR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzFDLHlCQUF5QjtZQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDO2FBQU0sSUFBSSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzVDLHNCQUFzQjtZQUN0QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUdELFVBQVU7UUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxtREFBbUQ7SUFDOUQsQ0FBQzs4R0F0RVUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsdWRDWHBDLHkvQkFvQk0sMEREZE0sSUFBSTs7MkZBS0gsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxJQUFJLENBQUMsaUJBR0EsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxLQUFLO3NCQUFkLE1BQU07Z0JBRWtDLE1BQU07c0JBQTlDLFdBQVc7dUJBQUMsMEJBQTBCO2dCQUNVLGVBQWU7c0JBQS9ELFdBQVc7dUJBQUMsOEJBQThCO2dCQWlCM0MsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPdEMsV0FBVztzQkFEVixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkF1QnJDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm5nLWJvdHRvbS1zaGVldCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JvdHRvbS1zaGVldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9ib3R0b20tc2hlZXQuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZuZ0JvdHRvbVNoZWV0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgaGFzQmFja2Ryb3A6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBpc0V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZGVDbG9zZUljb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZXhwYW5kRnJvbTogJ2JvdHRvbScgfCAnY2VudGVyJyA9ICdjZW50ZXInO1xuXG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJvdHRvbS1zaGVldC0tb3BlbicpIGlzT3BlbiA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJvdHRvbS1zaGVldC0tZXhwYW5kZWQnKSBnZXQgaXNFeHBhbmRlZFN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLmlzRXhwYW5kZWQ7XG4gIH1cblxuICBpc0Nsb3Npbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIHN0YXJ0WTogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBjdXJyZW50WTogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBzd2lwaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgfSwgMCk7IC8vIHRyaWdnZXIgdGhlIHRyYW5zaXRpb24gb24gb3BlblxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigndG91Y2hzdGFydCcsIFsnJGV2ZW50J10pXG4gIG9uVG91Y2hTdGFydChldmVudDogVG91Y2hFdmVudCkge1xuICAgIHRoaXMuc3RhcnRZID0gZXZlbnQudG91Y2hlc1swXS5jbGllbnRZO1xuICAgIHRoaXMuc3dpcGluZyA9IHRydWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd0b3VjaG1vdmUnLCBbJyRldmVudCddKVxuICBvblRvdWNoTW92ZShldmVudDogVG91Y2hFdmVudCkge1xuICAgIGlmICghdGhpcy5zd2lwaW5nKSByZXR1cm47XG5cbiAgICB0aGlzLmN1cnJlbnRZID0gZXZlbnQudG91Y2hlc1swXS5jbGllbnRZO1xuICAgIGNvbnN0IGRlbHRhWSA9IHRoaXMuY3VycmVudFkgLSB0aGlzLnN0YXJ0WTtcblxuICAgIGlmIChkZWx0YVkgPCAtNTAgJiYgIXRoaXMuaXNFeHBhbmRlZCkge1xuICAgICAgLy8gc3dpcGUgdXAgdG8gZXhwYW5kXG4gICAgICB0aGlzLmlzRXhwYW5kZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zd2lwaW5nID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmIChkZWx0YVkgPiA1MCAmJiB0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgIC8vIHN3aXBlIGRvd24gdG8gY29sbGFwc2VcbiAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5zd2lwaW5nID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmIChkZWx0YVkgPiAxMDAgJiYgIXRoaXMuaXNFeHBhbmRlZCkge1xuICAgICAgLy8gc3dpcGUgZG93biB0byBjbG9zZVxuICAgICAgdGhpcy5jbG9zZUJvdHRvbVNoZWV0KCk7XG4gICAgICB0aGlzLnN3aXBpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd0b3VjaGVuZCcpXG4gIG9uVG91Y2hFbmQoKSB7XG4gICAgdGhpcy5zd2lwaW5nID0gZmFsc2U7XG4gIH1cblxuICB0b2dnbGVFeHBhbmQoKSB7XG4gICAgdGhpcy5pc0V4cGFuZGVkID0gIXRoaXMuaXNFeHBhbmRlZDtcbiAgfVxuXG4gIGNsb3NlQm90dG9tU2hlZXQoKSB7XG4gICAgdGhpcy5pc0Nsb3NpbmcgPSB0cnVlO1xuICAgIHRoaXMuaGFzQmFja2Ryb3AgPSBmYWxzZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaXNDbG9zaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gICAgfSwgMzAwKTsgLy8gd2FpdCBmb3IgdGhlIHRyYW5zaXRpb24gdG8gZmluaXNoIGJlZm9yZSBjbG9zaW5nXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmd2UtYm90dG9tLXNoZWV0LWJhY2tkcm9wXCIgW2NsYXNzLmZ3ZS1ib3R0b20tc2hlZXQtYmFja2Ryb3AtLXZpc2libGVdPVwiaGFzQmFja2Ryb3BcIlxuICAoY2xpY2spPVwiY2xvc2VCb3R0b21TaGVldCgpXCI+PC9kaXY+XG48ZGl2IGNsYXNzPVwiZndlLWJvdHRvbS1zaGVldC1jb250YWluZXJcIiBbY2xhc3MuZndlLWJvdHRvbS1zaGVldC1jb250YWluZXItLW9wZW5dPVwiaXNPcGVuXCJcbiAgW2NsYXNzLmZ3ZS1ib3R0b20tc2hlZXQtY29udGFpbmVyLS1leHBhbmRlZF09XCJpc0V4cGFuZGVkXCJcbiAgW2NsYXNzLmZ3ZS1ib3R0b20tc2hlZXQtY29udGFpbmVyLS1leHBhbmQtZnJvbS1jZW50ZXJdPVwiZXhwYW5kRnJvbSA9PT0gJ2NlbnRlcidcIlxuICBbY2xhc3MuZndlLWJvdHRvbS1zaGVldC1jb250YWluZXItLXdpdGgtYmFja2Ryb3BdPVwiaGFzQmFja2Ryb3BcIlxuICBbY2xhc3MuZndlLWJvdHRvbS1zaGVldC1jb250YWluZXItLWNsb3NpbmddPVwiaXNDbG9zaW5nXCJcbiAgPlxuICA8ZGl2IGNsYXNzPVwiZndlLWJvdHRvbS1zaGVldC1oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZndlLWJvdHRvbS1zaGVldC1kcmFnLWhhbmRsZS1jb250YWluZXJcIiAoY2xpY2spPVwidG9nZ2xlRXhwYW5kKClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmd2UtYm90dG9tLXNoZWV0LWRyYWctaGFuZGxlXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvbiAqbmdJZj1cIiFoaWRlQ2xvc2VJY29uXCIgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImZ3ZS1ib3R0b20tc2hlZXQtY2xvc2UtYnRuXCIgKGNsaWNrKT1cImNsb3NlQm90dG9tU2hlZXQoKVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmd2Utc3Itb25seVwiPkNsb3NlPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1ib3R0b20tc2hlZXQtY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -1,35 +1,36 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { FngBreadcrumbComponent } from './breadcrumb/breadcrumb.component';
2
+ import { FngClickOutsideDirective } from '../directives/click-outside.directive';
3
3
  import { FngAccordionComponent, FngAccordionHeaderComponent, FngAccordionItemBodyComponent, FngAccordionItemComponent, FngAccordionItemHeaderComponent } from './accordion';
4
+ import { FngBottomSheetComponent } from './bottom-sheet/bottom-sheet.component';
5
+ import { FngBreadcrumbComponent } from './breadcrumb/breadcrumb.component';
4
6
  import { FngButtonComponent } from './buttons/button/button.component';
5
7
  import { FngLinkButtonComponent } from './buttons/link-button/link-button.component';
6
- import { FngChipComponent } from './chips/chip/chip.component';
7
8
  import { FngChipContainerComponent } from './chips/chip-container/chip-container.component';
9
+ import { FngChipComponent } from './chips/chip/chip.component';
8
10
  import { FngLoadingIndicatorComponent } from './loading-indicator/loading-indicator.component';
9
- import { FngMobileFlyoutComponent } from './mobile-flyout/mobile-flyout.component';
10
11
  import { FngMobileFlyoutItemComponent } from './mobile-flyout/mobile-flyout-item/mobile-flyout-item.component';
11
12
  import { FngMobileFlyoutPageComponent } from './mobile-flyout/mobile-flyout-page/mobile-flyout-page.component';
13
+ import { FngMobileFlyoutComponent } from './mobile-flyout/mobile-flyout.component';
12
14
  import { FngPaginationComponent } from './pagination/pagination.component';
13
- import { FngProgressComponent } from './progress/progress.component';
14
- import { FngSearchInputComponent } from './search-input/search-input.component';
15
- import { FngSnackbarContainerComponent } from './snackbar/snackbar-container.component';
16
- import { FngStepperHorizontalComponent } from './stepper-horizontal/stepper-horizontal.component';
17
- import { FngStepHorizontalComponent } from './stepper-horizontal/step-horizontal/step-horizontal.component';
18
- import { FngStepperVerticalComponent } from './stepper-vertical/stepper-vertical.component';
19
- import { FngStepVerticalComponent } from './stepper-vertical/step-vertical/step-vertical.component';
20
- import { FngTableHeaderCellDirective } from './table-header-cell/table-header-cell.directive';
21
- import { FngScrollableDirective } from './scroll';
22
- import { FngTabsComponent } from './tabs/tabs.component';
23
- import { FngTabPaneComponent } from './tabs/tab-pane/tab-pane.component';
24
15
  import { FngLegendComponent } from './popovers/legend/legend.component';
25
16
  import { FngLegendDirective } from './popovers/legend/legend.directive';
26
17
  import { FngPopoverContentComponent } from './popovers/popover-content/popover-content.component';
27
- import { FngPopoverComponent } from './popovers/popover/popover.component';
28
18
  import { FngPopoverContentDirective } from './popovers/popover-content/popover-content.directive';
29
19
  import { FngPopoverMenuComponent } from './popovers/popover-menu/popover-menu.component';
20
+ import { FngPopoverComponent } from './popovers/popover/popover.component';
30
21
  import { FngTooltipDirective } from './popovers/tooltip/tooltip.directive';
31
- import { FngClickOutsideDirective } from '../directives/click-outside.directive';
22
+ import { FngProgressComponent } from './progress/progress.component';
23
+ import { FngScrollableDirective } from './scroll';
24
+ import { FngSearchInputComponent } from './search-input/search-input.component';
32
25
  import { FngSidebarOverlayComponent } from './sidebar-overlay/sidebar-overlay.component';
26
+ import { FngSnackbarContainerComponent } from './snackbar/snackbar-container.component';
27
+ import { FngStepHorizontalComponent } from './stepper-horizontal/step-horizontal/step-horizontal.component';
28
+ import { FngStepperHorizontalComponent } from './stepper-horizontal/stepper-horizontal.component';
29
+ import { FngStepVerticalComponent } from './stepper-vertical/step-vertical/step-vertical.component';
30
+ import { FngStepperVerticalComponent } from './stepper-vertical/stepper-vertical.component';
31
+ import { FngTableHeaderCellDirective } from './table-header-cell/table-header-cell.directive';
32
+ import { FngTabPaneComponent } from './tabs/tab-pane/tab-pane.component';
33
+ import { FngTabsComponent } from './tabs/tabs.component';
33
34
  import * as i0 from "@angular/core";
34
35
  export class FestoAngularComponentsModule {
35
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FestoAngularComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -68,7 +69,8 @@ export class FestoAngularComponentsModule {
68
69
  FngTooltipDirective,
69
70
  FngLegendDirective,
70
71
  FngLegendComponent,
71
- FngSidebarOverlayComponent], exports: [FngClickOutsideDirective,
72
+ FngSidebarOverlayComponent,
73
+ FngBottomSheetComponent], exports: [FngClickOutsideDirective,
72
74
  FngBreadcrumbComponent,
73
75
  FngAccordionComponent,
74
76
  FngAccordionHeaderComponent,
@@ -103,7 +105,8 @@ export class FestoAngularComponentsModule {
103
105
  FngTooltipDirective,
104
106
  FngLegendDirective,
105
107
  FngLegendComponent,
106
- FngSidebarOverlayComponent] }); }
108
+ FngSidebarOverlayComponent,
109
+ FngBottomSheetComponent] }); }
107
110
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FestoAngularComponentsModule, imports: [FngPaginationComponent,
108
111
  FngMobileFlyoutPageComponent,
109
112
  FngMobileFlyoutItemComponent,
@@ -162,7 +165,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
162
165
  FngTooltipDirective,
163
166
  FngLegendDirective,
164
167
  FngLegendComponent,
165
- FngSidebarOverlayComponent
168
+ FngSidebarOverlayComponent,
169
+ FngBottomSheetComponent
166
170
  ],
167
171
  exports: [
168
172
  FngClickOutsideDirective,
@@ -200,8 +204,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
200
204
  FngTooltipDirective,
201
205
  FngLegendDirective,
202
206
  FngLegendComponent,
203
- FngSidebarOverlayComponent
207
+ FngSidebarOverlayComponent,
208
+ FngBottomSheetComponent
204
209
  ]
205
210
  }]
206
211
  }] });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3Qix5QkFBeUIsRUFDekIsK0JBQStCLEVBQ2hDLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hGLE9BQU8s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eUJBQXlCO3dCQUN6QixnQkFBZ0I7d0JBQ2hCLDRCQUE0Qjt3QkFDNUIsd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLDRCQUE0Qjt3QkFDNUIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLDZCQUE2Qjt3QkFDN0IsMEJBQTBCO3dCQUMxQiw2QkFBNkI7d0JBQzdCLDJCQUEyQjt3QkFDM0Isd0JBQXdCO3dCQUN4QiwyQkFBMkI7d0JBQzNCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLDBCQUEwQjtxQkFDM0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm5nQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBGbmdBY2NvcmRpb25Db21wb25lbnQsXG4gIEZuZ0FjY29yZGlvbkhlYWRlckNvbXBvbmVudCxcbiAgRm5nQWNjb3JkaW9uSXRlbUJvZHlDb21wb25lbnQsXG4gIEZuZ0FjY29yZGlvbkl0ZW1Db21wb25lbnQsXG4gIEZuZ0FjY29yZGlvbkl0ZW1IZWFkZXJDb21wb25lbnRcbn0gZnJvbSAnLi9hY2NvcmRpb24nO1xuaW1wb3J0IHsgRm5nQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b25zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ0xpbmtCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbnMvbGluay1idXR0b24vbGluay1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ0NoaXBDb21wb25lbnQgfSBmcm9tICcuL2NoaXBzL2NoaXAvY2hpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nQ2hpcENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vY2hpcHMvY2hpcC1jb250YWluZXIvY2hpcC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ0xvYWRpbmdJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL2xvYWRpbmctaW5kaWNhdG9yL2xvYWRpbmctaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbmdNb2JpbGVGbHlvdXRDb21wb25lbnQgfSBmcm9tICcuL21vYmlsZS1mbHlvdXQvbW9iaWxlLWZseW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nTW9iaWxlRmx5b3V0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbW9iaWxlLWZseW91dC9tb2JpbGUtZmx5b3V0LWl0ZW0vbW9iaWxlLWZseW91dC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbmdNb2JpbGVGbHlvdXRQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9tb2JpbGUtZmx5b3V0L21vYmlsZS1mbHlvdXQtcGFnZS9tb2JpbGUtZmx5b3V0LXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1BhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nUHJvZ3Jlc3NDb21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzL3Byb2dyZXNzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbmdTZWFyY2hJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nU25hY2tiYXJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3NuYWNrYmFyL3NuYWNrYmFyLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nU3RlcHBlckhvcml6b250YWxDb21wb25lbnQgfSBmcm9tICcuL3N0ZXBwZXItaG9yaXpvbnRhbC9zdGVwcGVyLWhvcml6b250YWwuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1N0ZXBIb3Jpem9udGFsQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwcGVyLWhvcml6b250YWwvc3RlcC1ob3Jpem9udGFsL3N0ZXAtaG9yaXpvbnRhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nU3RlcHBlclZlcnRpY2FsQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwcGVyLXZlcnRpY2FsL3N0ZXBwZXItdmVydGljYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1N0ZXBWZXJ0aWNhbENvbXBvbmVudCB9IGZyb20gJy4vc3RlcHBlci12ZXJ0aWNhbC9zdGVwLXZlcnRpY2FsL3N0ZXAtdmVydGljYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1RhYmxlSGVhZGVyQ2VsbERpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUtaGVhZGVyLWNlbGwvdGFibGUtaGVhZGVyLWNlbGwuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZuZ1Njcm9sbGFibGVEaXJlY3RpdmUgfSBmcm9tICcuL3Njcm9sbCc7XG5pbXBvcnQgeyBGbmdUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi90YWJzL3RhYnMuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1RhYlBhbmVDb21wb25lbnQgfSBmcm9tICcuL3RhYnMvdGFiLXBhbmUvdGFiLXBhbmUuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ0xlZ2VuZENvbXBvbmVudCB9IGZyb20gJy4vcG9wb3ZlcnMvbGVnZW5kL2xlZ2VuZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nTGVnZW5kRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVycy9sZWdlbmQvbGVnZW5kLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGbmdQb3BvdmVyQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vcG9wb3ZlcnMvcG9wb3Zlci1jb250ZW50L3BvcG92ZXItY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3ZlcnMvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbmdQb3BvdmVyQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vcG9wb3ZlcnMvcG9wb3Zlci1jb250ZW50L3BvcG92ZXItY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm5nUG9wb3Zlck1lbnVDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXJzL3BvcG92ZXItbWVudS9wb3BvdmVyLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1Rvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuL3BvcG92ZXJzL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm5nQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGbmdTaWRlYmFyT3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci1vdmVybGF5L3NpZGViYXItb3ZlcmxheS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgRm5nQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxuICAgIEZuZ1BhZ2luYXRpb25Db21wb25lbnQsXG4gICAgRm5nTW9iaWxlRmx5b3V0UGFnZUNvbXBvbmVudCxcbiAgICBGbmdNb2JpbGVGbHlvdXRJdGVtQ29tcG9uZW50LFxuICAgIEZuZ01vYmlsZUZseW91dENvbXBvbmVudCxcbiAgICBGbmdMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIEZuZ0NoaXBDb21wb25lbnQsXG4gICAgRm5nQ2hpcENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBGbmdUYWJzQ29tcG9uZW50LFxuICAgIEZuZ1RhYlBhbmVDb21wb25lbnQsXG4gICAgRm5nQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBGbmdBY2NvcmRpb25Db21wb25lbnQsXG4gICAgRm5nQWNjb3JkaW9uSGVhZGVyQ29tcG9uZW50LFxuICAgIEZuZ0FjY29yZGlvbkl0ZW1Db21wb25lbnQsXG4gICAgRm5nQWNjb3JkaW9uSXRlbUJvZHlDb21wb25lbnQsXG4gICAgRm5nQWNjb3JkaW9uSXRlbUhlYWRlckNvbXBvbmVudCxcbiAgICBGbmdCdXR0b25Db21wb25lbnQsXG4gICAgRm5nTGlua0J1dHRvbkNvbXBvbmVudCxcbiAgICBGbmdTZWFyY2hJbnB1dENvbXBvbmVudCxcbiAgICBGbmdTbmFja2JhckNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBGbmdTdGVwSG9yaXpvbnRhbENvbXBvbmVudCxcbiAgICBGbmdTdGVwcGVySG9yaXpvbnRhbENvbXBvbmVudCxcbiAgICBGbmdTdGVwcGVyVmVydGljYWxDb21wb25lbnQsXG4gICAgRm5nU3RlcFZlcnRpY2FsQ29tcG9uZW50LFxuICAgIEZuZ1RhYmxlSGVhZGVyQ2VsbERpcmVjdGl2ZSxcbiAgICBGbmdTY3JvbGxhYmxlRGlyZWN0aXZlLFxuICAgIEZuZ1Byb2dyZXNzQ29tcG9uZW50LFxuICAgIEZuZ0xlZ2VuZERpcmVjdGl2ZSxcbiAgICBGbmdQb3BvdmVyQ29tcG9uZW50LFxuICAgIEZuZ1BvcG92ZXJDb250ZW50RGlyZWN0aXZlLFxuICAgIEZuZ1BvcG92ZXJDb250ZW50Q29tcG9uZW50LFxuICAgIEZuZ1BvcG92ZXJNZW51Q29tcG9uZW50LFxuICAgIEZuZ1Rvb2x0aXBEaXJlY3RpdmUsXG4gICAgRm5nTGVnZW5kRGlyZWN0aXZlLFxuICAgIEZuZ0xlZ2VuZENvbXBvbmVudCxcbiAgICBGbmdTaWRlYmFyT3ZlcmxheUNvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRm5nQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxuICAgIEZuZ0JyZWFkY3J1bWJDb21wb25lbnQsXG4gICAgRm5nQWNjb3JkaW9uQ29tcG9uZW50LFxuICAgIEZuZ0FjY29yZGlvbkhlYWRlckNvbXBvbmVudCxcbiAgICBGbmdBY2NvcmRpb25JdGVtQ29tcG9uZW50LFxuICAgIEZuZ0FjY29yZGlvbkl0ZW1Cb2R5Q29tcG9uZW50LFxuICAgIEZuZ0FjY29yZGlvbkl0ZW1IZWFkZXJDb21wb25lbnQsXG4gICAgRm5nQnV0dG9uQ29tcG9uZW50LFxuICAgIEZuZ0xpbmtCdXR0b25Db21wb25lbnQsXG4gICAgRm5nQ2hpcENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBGbmdDaGlwQ29tcG9uZW50LFxuICAgIEZuZ0xvYWRpbmdJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgRm5nTW9iaWxlRmx5b3V0Q29tcG9uZW50LFxuICAgIEZuZ01vYmlsZUZseW91dEl0ZW1Db21wb25lbnQsXG4gICAgRm5nTW9iaWxlRmx5b3V0UGFnZUNvbXBvbmVudCxcbiAgICBGbmdQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIEZuZ1NlYXJjaElucHV0Q29tcG9uZW50LFxuICAgIEZuZ1NuYWNrYmFyQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIEZuZ1N0ZXBIb3Jpem9udGFsQ29tcG9uZW50LFxuICAgIEZuZ1N0ZXBwZXJIb3Jpem9udGFsQ29tcG9uZW50LFxuICAgIEZuZ1N0ZXBwZXJWZXJ0aWNhbENvbXBvbmVudCxcbiAgICBGbmdTdGVwVmVydGljYWxDb21wb25lbnQsXG4gICAgRm5nVGFibGVIZWFkZXJDZWxsRGlyZWN0aXZlLFxuICAgIEZuZ1Njcm9sbGFibGVEaXJlY3RpdmUsXG4gICAgRm5nUHJvZ3Jlc3NDb21wb25lbnQsXG4gICAgRm5nVGFic0NvbXBvbmVudCxcbiAgICBGbmdUYWJQYW5lQ29tcG9uZW50LFxuICAgIEZuZ0xlZ2VuZERpcmVjdGl2ZSxcbiAgICBGbmdQb3BvdmVyQ29tcG9uZW50LFxuICAgIEZuZ1BvcG92ZXJDb250ZW50RGlyZWN0aXZlLFxuICAgIEZuZ1BvcG92ZXJDb250ZW50Q29tcG9uZW50LFxuICAgIEZuZ1BvcG92ZXJNZW51Q29tcG9uZW50LFxuICAgIEZuZ1Rvb2x0aXBEaXJlY3RpdmUsXG4gICAgRm5nTGVnZW5kRGlyZWN0aXZlLFxuICAgIEZuZ0xlZ2VuZENvbXBvbmVudCxcbiAgICBGbmdTaWRlYmFyT3ZlcmxheUNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZlc3RvQW5ndWxhckNvbXBvbmVudHNNb2R1bGUge31cbiJdfQ==
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2pGLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3Qix5QkFBeUIsRUFDekIsK0JBQStCLEVBQ2hDLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8s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MkJBQTJCO3dCQUMzQix5QkFBeUI7d0JBQ3pCLDZCQUE2Qjt3QkFDN0IsK0JBQStCO3dCQUMvQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIseUJBQXlCO3dCQUN6QixnQkFBZ0I7d0JBQ2hCLDRCQUE0Qjt3QkFDNUIsd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLDRCQUE0Qjt3QkFDNUIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLDZCQUE2Qjt3QkFDN0IsMEJBQTBCO3dCQUMxQiw2QkFBNkI7d0JBQzdCLDJCQUEyQjt3QkFDM0Isd0JBQXdCO3dCQUN4QiwyQkFBMkI7d0JBQzNCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3FCQUN4QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGbmdDbGlja091dHNpZGVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gIEZuZ0FjY29yZGlvbkNvbXBvbmVudCxcbiAgRm5nQWNjb3JkaW9uSGVhZGVyQ29tcG9uZW50LFxuICBGbmdBY2NvcmRpb25JdGVtQm9keUNvbXBvbmVudCxcbiAgRm5nQWNjb3JkaW9uSXRlbUNvbXBvbmVudCxcbiAgRm5nQWNjb3JkaW9uSXRlbUhlYWRlckNvbXBvbmVudFxufSBmcm9tICcuL2FjY29yZGlvbic7XG5pbXBvcnQgeyBGbmdCb3R0b21TaGVldENvbXBvbmVudCB9IGZyb20gJy4vYm90dG9tLXNoZWV0L2JvdHRvbS1zaGVldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbmdCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbnMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nTGlua0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9ucy9saW5rLWJ1dHRvbi9saW5rLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nQ2hpcENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vY2hpcHMvY2hpcC1jb250YWluZXIvY2hpcC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ0NoaXBDb21wb25lbnQgfSBmcm9tICcuL2NoaXBzL2NoaXAvY2hpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nTG9hZGluZ0luZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vbG9hZGluZy1pbmRpY2F0b3IvbG9hZGluZy1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ01vYmlsZUZseW91dEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL21vYmlsZS1mbHlvdXQvbW9iaWxlLWZseW91dC1pdGVtL21vYmlsZS1mbHlvdXQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nTW9iaWxlRmx5b3V0UGFnZUNvbXBvbmVudCB9IGZyb20gJy4vbW9iaWxlLWZseW91dC9tb2JpbGUtZmx5b3V0LXBhZ2UvbW9iaWxlLWZseW91dC1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbmdNb2JpbGVGbHlvdXRDb21wb25lbnQgfSBmcm9tICcuL21vYmlsZS1mbHlvdXQvbW9iaWxlLWZseW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbmdMZWdlbmRDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXJzL2xlZ2VuZC9sZWdlbmQuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ0xlZ2VuZERpcmVjdGl2ZSB9IGZyb20gJy4vcG9wb3ZlcnMvbGVnZW5kL2xlZ2VuZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm5nUG9wb3ZlckNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXJzL3BvcG92ZXItY29udGVudC9wb3BvdmVyLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1BvcG92ZXJDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVycy9wb3BvdmVyLWNvbnRlbnQvcG9wb3Zlci1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGbmdQb3BvdmVyTWVudUNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3ZlcnMvcG9wb3Zlci1tZW51L3BvcG92ZXItbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3ZlcnMvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbmdUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVycy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZuZ1Byb2dyZXNzQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy9wcm9ncmVzcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nU2Nyb2xsYWJsZURpcmVjdGl2ZSB9IGZyb20gJy4vc2Nyb2xsJztcbmltcG9ydCB7IEZuZ1NlYXJjaElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtaW5wdXQvc2VhcmNoLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbmdTaWRlYmFyT3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci1vdmVybGF5L3NpZGViYXItb3ZlcmxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nU25hY2tiYXJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3NuYWNrYmFyL3NuYWNrYmFyLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nU3RlcEhvcml6b250YWxDb21wb25lbnQgfSBmcm9tICcuL3N0ZXBwZXItaG9yaXpvbnRhbC9zdGVwLWhvcml6b250YWwvc3RlcC1ob3Jpem9udGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbmdTdGVwcGVySG9yaXpvbnRhbENvbXBvbmVudCB9IGZyb20gJy4vc3RlcHBlci1ob3Jpem9udGFsL3N0ZXBwZXItaG9yaXpvbnRhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nU3RlcFZlcnRpY2FsQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwcGVyLXZlcnRpY2FsL3N0ZXAtdmVydGljYWwvc3RlcC12ZXJ0aWNhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nU3RlcHBlclZlcnRpY2FsQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwcGVyLXZlcnRpY2FsL3N0ZXBwZXItdmVydGljYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1RhYmxlSGVhZGVyQ2VsbERpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUtaGVhZGVyLWNlbGwvdGFibGUtaGVhZGVyLWNlbGwuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZuZ1RhYlBhbmVDb21wb25lbnQgfSBmcm9tICcuL3RhYnMvdGFiLXBhbmUvdGFiLXBhbmUuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1RhYnNDb21wb25lbnQgfSBmcm9tICcuL3RhYnMvdGFicy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgRm5nQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxuICAgIEZuZ1BhZ2luYXRpb25Db21wb25lbnQsXG4gICAgRm5nTW9iaWxlRmx5b3V0UGFnZUNvbXBvbmVudCxcbiAgICBGbmdNb2JpbGVGbHlvdXRJdGVtQ29tcG9uZW50LFxuICAgIEZuZ01vYmlsZUZseW91dENvbXBvbmVudCxcbiAgICBGbmdMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIEZuZ0NoaXBDb21wb25lbnQsXG4gICAgRm5nQ2hpcENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBGbmdUYWJzQ29tcG9uZW50LFxuICAgIEZuZ1RhYlBhbmVDb21wb25lbnQsXG4gICAgRm5nQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBGbmdBY2NvcmRpb25Db21wb25lbnQsXG4gICAgRm5nQWNjb3JkaW9uSGVhZGVyQ29tcG9uZW50LFxuICAgIEZuZ0FjY29yZGlvbkl0ZW1Db21wb25lbnQsXG4gICAgRm5nQWNjb3JkaW9uSXRlbUJvZHlDb21wb25lbnQsXG4gICAgRm5nQWNjb3JkaW9uSXRlbUhlYWRlckNvbXBvbmVudCxcbiAgICBGbmdCdXR0b25Db21wb25lbnQsXG4gICAgRm5nTGlua0J1dHRvbkNvbXBvbmVudCxcbiAgICBGbmdTZWFyY2hJbnB1dENvbXBvbmVudCxcbiAgICBGbmdTbmFja2JhckNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBGbmdTdGVwSG9yaXpvbnRhbENvbXBvbmVudCxcbiAgICBGbmdTdGVwcGVySG9yaXpvbnRhbENvbXBvbmVudCxcbiAgICBGbmdTdGVwcGVyVmVydGljYWxDb21wb25lbnQsXG4gICAgRm5nU3RlcFZlcnRpY2FsQ29tcG9uZW50LFxuICAgIEZuZ1RhYmxlSGVhZGVyQ2VsbERpcmVjdGl2ZSxcbiAgICBGbmdTY3JvbGxhYmxlRGlyZWN0aXZlLFxuICAgIEZuZ1Byb2dyZXNzQ29tcG9uZW50LFxuICAgIEZuZ0xlZ2VuZERpcmVjdGl2ZSxcbiAgICBGbmdQb3BvdmVyQ29tcG9uZW50LFxuICAgIEZuZ1BvcG92ZXJDb250ZW50RGlyZWN0aXZlLFxuICAgIEZuZ1BvcG92ZXJDb250ZW50Q29tcG9uZW50LFxuICAgIEZuZ1BvcG92ZXJNZW51Q29tcG9uZW50LFxuICAgIEZuZ1Rvb2x0aXBEaXJlY3RpdmUsXG4gICAgRm5nTGVnZW5kRGlyZWN0aXZlLFxuICAgIEZuZ0xlZ2VuZENvbXBvbmVudCxcbiAgICBGbmdTaWRlYmFyT3ZlcmxheUNvbXBvbmVudCxcbiAgICBGbmdCb3R0b21TaGVldENvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRm5nQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxuICAgIEZuZ0JyZWFkY3J1bWJDb21wb25lbnQsXG4gICAgRm5nQWNjb3JkaW9uQ29tcG9uZW50LFxuICAgIEZuZ0FjY29yZGlvbkhlYWRlckNvbXBvbmVudCxcbiAgICBGbmdBY2NvcmRpb25JdGVtQ29tcG9uZW50LFxuICAgIEZuZ0FjY29yZGlvbkl0ZW1Cb2R5Q29tcG9uZW50LFxuICAgIEZuZ0FjY29yZGlvbkl0ZW1IZWFkZXJDb21wb25lbnQsXG4gICAgRm5nQnV0dG9uQ29tcG9uZW50LFxuICAgIEZuZ0xpbmtCdXR0b25Db21wb25lbnQsXG4gICAgRm5nQ2hpcENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBGbmdDaGlwQ29tcG9uZW50LFxuICAgIEZuZ0xvYWRpbmdJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgRm5nTW9iaWxlRmx5b3V0Q29tcG9uZW50LFxuICAgIEZuZ01vYmlsZUZseW91dEl0ZW1Db21wb25lbnQsXG4gICAgRm5nTW9iaWxlRmx5b3V0UGFnZUNvbXBvbmVudCxcbiAgICBGbmdQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIEZuZ1NlYXJjaElucHV0Q29tcG9uZW50LFxuICAgIEZuZ1NuYWNrYmFyQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIEZuZ1N0ZXBIb3Jpem9udGFsQ29tcG9uZW50LFxuICAgIEZuZ1N0ZXBwZXJIb3Jpem9udGFsQ29tcG9uZW50LFxuICAgIEZuZ1N0ZXBwZXJWZXJ0aWNhbENvbXBvbmVudCxcbiAgICBGbmdTdGVwVmVydGljYWxDb21wb25lbnQsXG4gICAgRm5nVGFibGVIZWFkZXJDZWxsRGlyZWN0aXZlLFxuICAgIEZuZ1Njcm9sbGFibGVEaXJlY3RpdmUsXG4gICAgRm5nUHJvZ3Jlc3NDb21wb25lbnQsXG4gICAgRm5nVGFic0NvbXBvbmVudCxcbiAgICBGbmdUYWJQYW5lQ29tcG9uZW50LFxuICAgIEZuZ0xlZ2VuZERpcmVjdGl2ZSxcbiAgICBGbmdQb3BvdmVyQ29tcG9uZW50LFxuICAgIEZuZ1BvcG92ZXJDb250ZW50RGlyZWN0aXZlLFxuICAgIEZuZ1BvcG92ZXJDb250ZW50Q29tcG9uZW50LFxuICAgIEZuZ1BvcG92ZXJNZW51Q29tcG9uZW50LFxuICAgIEZuZ1Rvb2x0aXBEaXJlY3RpdmUsXG4gICAgRm5nTGVnZW5kRGlyZWN0aXZlLFxuICAgIEZuZ0xlZ2VuZENvbXBvbmVudCxcbiAgICBGbmdTaWRlYmFyT3ZlcmxheUNvbXBvbmVudCxcbiAgICBGbmdCb3R0b21TaGVldENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZlc3RvQW5ndWxhckNvbXBvbmVudHNNb2R1bGUge31cbiJdfQ==
@@ -221,7 +221,7 @@ export class FngSelectComponent {
221
221
  useExisting: forwardRef(() => FngSelectComponent),
222
222
  multi: true
223
223
  }
224
- ], queries: [{ propertyName: "fngSelectOptions", predicate: FngSelectOptionComponent }], viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["div"], descendants: true }], ngImport: i0, template: "<div #div class=\"fwe-select-wrapper\" [class.fwe-disabled]=\"disabled\" [class.fng-hide-label]=\"hideLabel\">\n <div\n class=\"fwe-select\"\n (click)=\"toggle()\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [class.fwe-focus]=\"showOptions\"\n [class.fwe-required]=\"required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fwe-pty]=\"empty\"\n >\n <div class=\"fwe-select-content\">\n <ng-container *ngIf=\"!multiple; else chips\">\n {{ value != null && value | fngChipText: options:optionsValueKey:optionsTextKey }}\n </ng-container>\n <ng-template #chips>\n <div class=\"fwe-chip-container\">\n <div\n *ngFor=\"let v of value\"\n class=\"fwe-chip chip-text-truncate fwe-pr-4\"\n [style.max-width.px]=\"triggerWidth\"\n [title]=\"v | fngChipText: options:optionsValueKey:optionsTextKey\"\n >\n {{ v | fngChipText: options:optionsValueKey:optionsTextKey }}\n <span class=\"chip-removable\" (click)=\"removeChip($event, v)\"></span>\n </div>\n </div>\n </ng-template>\n </div>\n </div>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayMinWidth]=\"triggerWidth\"\n [cdkConnectedOverlayOpen]=\"showOptions\"\n [cdkConnectedOverlayPanelClass]=\"selectPanelClasses\"\n (backdropClick)=\"close()\"\n >\n <div class=\"fng-select-panel-wrap\">\n <ul class=\"fwe-select-options-container\">\n <li class=\"fwe-select-option\" *ngIf=\"resetOption != null && !multiple\" (click)=\"select(null, $event)\">{{ resetOption }}</li>\n <li\n class=\"fwe-select-option\"\n *ngFor=\"let option of options; let i = index\"\n (click)=\"select(getOptionValue(i), $event)\"\n [title]=\"getOptionText(i) || option?.text\"\n >\n <span class=\"fwe-select-option-content\">\n <span\n *ngIf=\"multiple\"\n class=\"fng-select-pseudo-checkbox\"\n [ngClass]=\"{ 'fng-select-pseudo-checkbox-checked': checked.get(getOptionValue(i)) === 'checked' }\"\n ></span>\n <span *ngIf=\"hasProjectedOptions; else defaultTemplate\" [innerHTML]=\"projectedHtml[i]\"></span>\n <ng-template #defaultTemplate>{{ getOptionText(i) || option?.text }}</ng-template>\n </span>\n </li>\n </ul>\n </div>\n </ng-template>\n <label class=\"fwe-select-label\" [for]=\"id\" [class.fwe-sr-only]=\"hideLabel\">{{ label }}</label>\n <div class=\"fwe-select-description\" *ngIf=\"hint\">\n {{ hint }}\n </div>\n <div class=\"fwe-select-invalid\" *ngIf=\"error\">\n {{ error }}\n </div>\n</div>\n<div class=\"fwe-d-none\">\n <ng-content></ng-content>\n</div>\n", styles: [".fng-select-panel-open .fng-select-panel{opacity:1!important}fng-select{width:auto}fng-select.ng-invalid:not(.ng-pristine) .fwe-select:hover{border-color:var(--fwe-red)}fng-select.ng-invalid:not(.ng-pristine) .fwe-select.fwe-required~.fwe-select-invalid{display:block}fng-select.ng-invalid:not(.ng-pristine) .fwe-select.fwe-required~.fwe-select-description{display:none}.fng-select-panel{opacity:0!important}.fng-select-panel.fng-select-panel-options-3 .fwe-select-options-container{max-height:162px}.fng-select-panel.fng-select-panel-options-4 .fwe-select-options-container{max-height:210px}.fng-select-panel.fng-select-panel-options-5 .fwe-select-options-container{max-height:258px}.fng-select-panel.fng-select-panel-options-6 .fwe-select-options-container{max-height:306px}.fng-select-panel.fng-select-panel-options-7 .fwe-select-options-container{max-height:354px}.fng-select-panel.fng-select-panel-options-8 .fwe-select-options-container{max-height:402px}.fng-select-panel.fng-select-panel-options-9 .fwe-select-options-container{max-height:450px}.fng-select-panel.fng-select-panel-options-10 .fwe-select-options-container{max-height:498px}@-moz-document url-prefix(){.fng-select-panel .fwe-select-options-container{scrollbar-width:thin;scrollbar-color:var(--fwe-control-scrollbar) transparent}}@media (pointer: fine){.fng-select-panel .fwe-select-options-container::-webkit-scrollbar{width:14px}.fng-select-panel .fwe-select-options-container::-webkit-scrollbar-track{background:transparent}.fng-select-panel .fwe-select-options-container::-webkit-scrollbar-thumb{overflow:visible;background-color:var(--fwe-control-scrollbar);border:3px solid rgba(242,243,245,0);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:8px}}.fng-select-panel-wrap{flex-basis:100%}.fwe-select-options-container{position:relative;top:4px;left:0;max-height:258px;min-width:calc(100% + 0px)!important;max-width:280px;overflow:auto;font-size:var(--fwe-font-size-base);background-color:var(--fwe-white);border-radius:4px;padding:8px;margin:0;border:1px solid var(--fwe-gray-200);box-shadow:0 1px 4px #00000029;list-style:none;outline:0}.fwe-select-options-container .fwe-select-option{position:relative;line-height:24px;padding:12px 8px;min-height:24px;cursor:pointer}.fwe-select-options-container .fwe-select-option:hover{background-color:var(--fwe-gray-100)}.fwe-select-options-container .fwe-select-option:last-child{border-bottom:none}.fwe-select-options-container .fwe-select-option .fwe-select-option-content{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;line-height:24px;min-height:24px}.fng-select-pseudo-checkbox{width:16px;height:16px;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;color:var(--fwe-control-border);border:1px solid;transition:none;margin-right:12px;top:-1px}.fng-select-pseudo-checkbox:after{color:var(--fwe-white);position:absolute;display:block;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.fng-select-pseudo-checkbox.fng-select-pseudo-checkbox-checked{background:var(--fwe-caerul);border:1px solid var(--fwe-caerul)}.fng-select-pseudo-checkbox.fng-select-pseudo-checkbox-checked:after{top:3px;left:2px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.chip-text-truncate{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-removable:after{position:absolute;right:5px;top:4px;color:var(--fwe-text);font-family:var(--fwe-font-family-icons-16);font-size:var(--fwe-font-size-base);content:\"\\ea1c\";line-height:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fwe-select-wrapper{display:flex;width:inherit;min-width:48px}.fwe-select-wrapper:before{bottom:unset;top:24px}.fwe-select-wrapper.fng-hide-label{margin-top:18px}.fwe-select-wrapper.fng-hide-label:before{top:6px}.fwe-select-wrapper.fwe-disabled:before{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select{cursor:pointer;height:unset;min-height:33px}.fwe-select-wrapper .fwe-select .fwe-select-content{padding-right:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5rem}.fwe-select-wrapper .fwe-select.fwe-required:not(.fwe-disabled)~.fwe-select-label:after{position:relative;left:3px;display:inline-block;content:\"*\"}.fwe-select-wrapper .fwe-select.fwe-disabled{cursor:default;border-color:var(--fwe-control-disabled)!important}.fwe-select-wrapper .fwe-select.fwe-disabled~.fwe-select-label{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-select-content{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-chip{color:var(--fwe-text-disabled);border:1px solid var(--fwe-control-disabled);pointer-events:none}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-chip .chip-removable:after{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select-label:empty~.fwe-select-options-container,.fwe-select-wrapper .fwe-select-label.fwe-sr-only~.fwe-select-options-container{top:38px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: FngChipTextPipe, name: "fngChipText" }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }], encapsulation: i0.ViewEncapsulation.None }); }
224
+ ], queries: [{ propertyName: "fngSelectOptions", predicate: FngSelectOptionComponent }], viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["div"], descendants: true }], ngImport: i0, template: "<div #div class=\"fwe-select-wrapper\" [class.fwe-disabled]=\"disabled\" [class.fng-hide-label]=\"hideLabel\">\n <div\n class=\"fwe-select\"\n (click)=\"toggle()\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [class.fwe-focus]=\"showOptions\"\n [class.fwe-required]=\"required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fwe-pty]=\"empty\"\n >\n <div class=\"fwe-select-content\">\n <ng-container *ngIf=\"!multiple; else chips\">\n {{ value != null && value | fngChipText: options:optionsValueKey:optionsTextKey }}\n </ng-container>\n <ng-template #chips>\n <div class=\"fwe-chip-container\">\n <div\n *ngFor=\"let v of value\"\n class=\"fwe-chip chip-text-truncate fwe-pr-4\"\n [style.max-width.px]=\"triggerWidth\"\n [title]=\"v | fngChipText: options:optionsValueKey:optionsTextKey\"\n >\n {{ v | fngChipText: options:optionsValueKey:optionsTextKey }}\n <span class=\"chip-removable\" (click)=\"removeChip($event, v)\"></span>\n </div>\n </div>\n </ng-template>\n </div>\n </div>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayMinWidth]=\"triggerWidth\"\n [cdkConnectedOverlayOpen]=\"showOptions\"\n [cdkConnectedOverlayPanelClass]=\"selectPanelClasses\"\n (backdropClick)=\"close()\"\n >\n <div class=\"fng-select-panel-wrap\">\n <ul class=\"fwe-select-options-container\">\n <li class=\"fwe-select-option\" *ngIf=\"resetOption != null && !multiple\" (click)=\"select(null, $event)\">{{ resetOption }}</li>\n <li\n class=\"fwe-select-option\"\n *ngFor=\"let option of options; let i = index\"\n (click)=\"select(getOptionValue(i), $event)\"\n [title]=\"getOptionText(i) || option?.text\"\n >\n <span class=\"fwe-select-option-content\">\n <span\n *ngIf=\"multiple\"\n class=\"fng-select-pseudo-checkbox\"\n [ngClass]=\"{ 'fng-select-pseudo-checkbox-checked': checked.get(getOptionValue(i)) === 'checked' }\"\n ></span>\n <span *ngIf=\"hasProjectedOptions; else defaultTemplate\" [innerHTML]=\"projectedHtml[i]\"></span>\n <ng-template #defaultTemplate>{{ getOptionText(i) || option?.text }}</ng-template>\n </span>\n </li>\n </ul>\n </div>\n </ng-template>\n <label class=\"fwe-select-label\" [for]=\"id\" [class.fwe-sr-only]=\"hideLabel\">{{ label }}</label>\n <div class=\"fwe-select-description\" *ngIf=\"hint\">\n {{ hint }}\n </div>\n <div class=\"fwe-select-invalid\" *ngIf=\"error\">\n {{ error }}\n </div>\n</div>\n<div class=\"fwe-d-none\">\n <ng-content></ng-content>\n</div>\n", styles: [".fng-select-panel-open .fng-select-panel{opacity:1!important}fng-select{width:auto}fng-select.ng-invalid:not(.ng-pristine) .fwe-select:hover{border-color:var(--fwe-red)}fng-select.ng-invalid:not(.ng-pristine) .fwe-select.fwe-required~.fwe-select-invalid{display:block}fng-select.ng-invalid:not(.ng-pristine) .fwe-select.fwe-required~.fwe-select-description{display:none}.fng-select-panel{opacity:0!important}.fng-select-panel.fng-select-panel-options-3 .fwe-select-options-container{max-height:162px}.fng-select-panel.fng-select-panel-options-4 .fwe-select-options-container{max-height:210px}.fng-select-panel.fng-select-panel-options-5 .fwe-select-options-container{max-height:258px}.fng-select-panel.fng-select-panel-options-6 .fwe-select-options-container{max-height:306px}.fng-select-panel.fng-select-panel-options-7 .fwe-select-options-container{max-height:354px}.fng-select-panel.fng-select-panel-options-8 .fwe-select-options-container{max-height:402px}.fng-select-panel.fng-select-panel-options-9 .fwe-select-options-container{max-height:450px}.fng-select-panel.fng-select-panel-options-10 .fwe-select-options-container{max-height:498px}@-moz-document url-prefix(){.fng-select-panel .fwe-select-options-container{scrollbar-width:thin;scrollbar-color:var(--fwe-control-scrollbar) transparent}}@media (pointer: fine){.fng-select-panel .fwe-select-options-container::-webkit-scrollbar{width:14px}.fng-select-panel .fwe-select-options-container::-webkit-scrollbar-track{background:transparent}.fng-select-panel .fwe-select-options-container::-webkit-scrollbar-thumb{overflow:visible;background-color:var(--fwe-control-scrollbar);border:3px solid rgba(242,243,245,0);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:8px}}.fng-select-panel-wrap{flex-basis:100%}.fwe-select-options-container{position:relative;top:4px;left:0;max-height:258px;min-width:calc(100% + 0px)!important;max-width:280px;overflow:auto;font-size:var(--fwe-font-size-base);background-color:var(--fwe-white);border-radius:4px;padding:8px;margin:0;border:1px solid var(--fwe-gray-200);box-shadow:0 1px 4px #00000029;list-style:none;outline:0}.fwe-select-options-container .fwe-select-option{position:relative;line-height:24px;padding:12px 8px;min-height:24px;cursor:pointer}.fwe-select-options-container .fwe-select-option:hover{background-color:var(--fwe-gray-100)}.fwe-select-options-container .fwe-select-option:last-child{border-bottom:none}.fwe-select-options-container .fwe-select-option .fwe-select-option-content{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;line-height:24px;min-height:24px}.fng-select-pseudo-checkbox{width:16px;height:16px;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;color:var(--fwe-control-border);border:1px solid;transition:none;margin-right:12px;top:-1px}.fng-select-pseudo-checkbox:after{color:var(--fwe-white);position:absolute;display:block;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.fng-select-pseudo-checkbox.fng-select-pseudo-checkbox-checked{background:var(--fwe-caerul);border:1px solid var(--fwe-caerul)}.fng-select-pseudo-checkbox.fng-select-pseudo-checkbox-checked:after{top:3px;left:2px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.chip-text-truncate{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-removable:after{position:absolute;right:5px;top:4px;color:var(--fwe-text);font-family:var(--fwe-font-family-icons-16);font-size:var(--fwe-font-size-base);content:\"\\ea1c\";line-height:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fwe-select-wrapper{display:flex;width:inherit;min-width:48px}.fwe-select-wrapper:before{bottom:unset;top:24px}.fwe-select-wrapper.fng-hide-label{margin-top:18px}.fwe-select-wrapper.fng-hide-label:before{top:6px}.fwe-select-wrapper.fwe-disabled:before{color:var(--fwe-text-disabled);background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMiAxMikiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMiAtMTIpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDApIj48cmVjdCB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS41OTggOC41MTMpIj48cGF0aCBkPSJNNS42MzYsOS4xOTRsNi4yNzgsNi41NjQsNi4yNzgtNi41NjQtLjctLjczTDExLjkxNCwxNC4zLDYuMzMzLDguNDY0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUuNjM2IC04LjQ2NCkiIGZpbGw9IiNiOWJhYmIiLz48L2c+PC9nPjwvZz48L3N2Zz4=)}.fwe-select-wrapper .fwe-select{cursor:pointer;height:unset;min-height:33px}.fwe-select-wrapper .fwe-select .fwe-select-content{padding-right:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5rem}.fwe-select-wrapper .fwe-select.fwe-required:not(.fwe-disabled)~.fwe-select-label:after{position:relative;left:3px;display:inline-block;content:\"*\"}.fwe-select-wrapper .fwe-select.fwe-disabled{cursor:default;border-color:var(--fwe-control-disabled)!important}.fwe-select-wrapper .fwe-select.fwe-disabled~.fwe-select-label{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-select-content{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-chip{color:var(--fwe-text-disabled);border:1px solid var(--fwe-control-disabled);pointer-events:none}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-chip .chip-removable:after{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select-label:empty~.fwe-select-options-container,.fwe-select-wrapper .fwe-select-label.fwe-sr-only~.fwe-select-options-container{top:38px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: FngChipTextPipe, name: "fngChipText" }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }], encapsulation: i0.ViewEncapsulation.None }); }
225
225
  }
226
226
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSelectComponent, decorators: [{
227
227
  type: Component,
@@ -231,7 +231,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
231
231
  useExisting: forwardRef(() => FngSelectComponent),
232
232
  multi: true
233
233
  }
234
- ], template: "<div #div class=\"fwe-select-wrapper\" [class.fwe-disabled]=\"disabled\" [class.fng-hide-label]=\"hideLabel\">\n <div\n class=\"fwe-select\"\n (click)=\"toggle()\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [class.fwe-focus]=\"showOptions\"\n [class.fwe-required]=\"required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fwe-pty]=\"empty\"\n >\n <div class=\"fwe-select-content\">\n <ng-container *ngIf=\"!multiple; else chips\">\n {{ value != null && value | fngChipText: options:optionsValueKey:optionsTextKey }}\n </ng-container>\n <ng-template #chips>\n <div class=\"fwe-chip-container\">\n <div\n *ngFor=\"let v of value\"\n class=\"fwe-chip chip-text-truncate fwe-pr-4\"\n [style.max-width.px]=\"triggerWidth\"\n [title]=\"v | fngChipText: options:optionsValueKey:optionsTextKey\"\n >\n {{ v | fngChipText: options:optionsValueKey:optionsTextKey }}\n <span class=\"chip-removable\" (click)=\"removeChip($event, v)\"></span>\n </div>\n </div>\n </ng-template>\n </div>\n </div>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayMinWidth]=\"triggerWidth\"\n [cdkConnectedOverlayOpen]=\"showOptions\"\n [cdkConnectedOverlayPanelClass]=\"selectPanelClasses\"\n (backdropClick)=\"close()\"\n >\n <div class=\"fng-select-panel-wrap\">\n <ul class=\"fwe-select-options-container\">\n <li class=\"fwe-select-option\" *ngIf=\"resetOption != null && !multiple\" (click)=\"select(null, $event)\">{{ resetOption }}</li>\n <li\n class=\"fwe-select-option\"\n *ngFor=\"let option of options; let i = index\"\n (click)=\"select(getOptionValue(i), $event)\"\n [title]=\"getOptionText(i) || option?.text\"\n >\n <span class=\"fwe-select-option-content\">\n <span\n *ngIf=\"multiple\"\n class=\"fng-select-pseudo-checkbox\"\n [ngClass]=\"{ 'fng-select-pseudo-checkbox-checked': checked.get(getOptionValue(i)) === 'checked' }\"\n ></span>\n <span *ngIf=\"hasProjectedOptions; else defaultTemplate\" [innerHTML]=\"projectedHtml[i]\"></span>\n <ng-template #defaultTemplate>{{ getOptionText(i) || option?.text }}</ng-template>\n </span>\n </li>\n </ul>\n </div>\n </ng-template>\n <label class=\"fwe-select-label\" [for]=\"id\" [class.fwe-sr-only]=\"hideLabel\">{{ label }}</label>\n <div class=\"fwe-select-description\" *ngIf=\"hint\">\n {{ hint }}\n </div>\n <div class=\"fwe-select-invalid\" *ngIf=\"error\">\n {{ error }}\n </div>\n</div>\n<div class=\"fwe-d-none\">\n <ng-content></ng-content>\n</div>\n", styles: [".fng-select-panel-open .fng-select-panel{opacity:1!important}fng-select{width:auto}fng-select.ng-invalid:not(.ng-pristine) .fwe-select:hover{border-color:var(--fwe-red)}fng-select.ng-invalid:not(.ng-pristine) .fwe-select.fwe-required~.fwe-select-invalid{display:block}fng-select.ng-invalid:not(.ng-pristine) .fwe-select.fwe-required~.fwe-select-description{display:none}.fng-select-panel{opacity:0!important}.fng-select-panel.fng-select-panel-options-3 .fwe-select-options-container{max-height:162px}.fng-select-panel.fng-select-panel-options-4 .fwe-select-options-container{max-height:210px}.fng-select-panel.fng-select-panel-options-5 .fwe-select-options-container{max-height:258px}.fng-select-panel.fng-select-panel-options-6 .fwe-select-options-container{max-height:306px}.fng-select-panel.fng-select-panel-options-7 .fwe-select-options-container{max-height:354px}.fng-select-panel.fng-select-panel-options-8 .fwe-select-options-container{max-height:402px}.fng-select-panel.fng-select-panel-options-9 .fwe-select-options-container{max-height:450px}.fng-select-panel.fng-select-panel-options-10 .fwe-select-options-container{max-height:498px}@-moz-document url-prefix(){.fng-select-panel .fwe-select-options-container{scrollbar-width:thin;scrollbar-color:var(--fwe-control-scrollbar) transparent}}@media (pointer: fine){.fng-select-panel .fwe-select-options-container::-webkit-scrollbar{width:14px}.fng-select-panel .fwe-select-options-container::-webkit-scrollbar-track{background:transparent}.fng-select-panel .fwe-select-options-container::-webkit-scrollbar-thumb{overflow:visible;background-color:var(--fwe-control-scrollbar);border:3px solid rgba(242,243,245,0);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:8px}}.fng-select-panel-wrap{flex-basis:100%}.fwe-select-options-container{position:relative;top:4px;left:0;max-height:258px;min-width:calc(100% + 0px)!important;max-width:280px;overflow:auto;font-size:var(--fwe-font-size-base);background-color:var(--fwe-white);border-radius:4px;padding:8px;margin:0;border:1px solid var(--fwe-gray-200);box-shadow:0 1px 4px #00000029;list-style:none;outline:0}.fwe-select-options-container .fwe-select-option{position:relative;line-height:24px;padding:12px 8px;min-height:24px;cursor:pointer}.fwe-select-options-container .fwe-select-option:hover{background-color:var(--fwe-gray-100)}.fwe-select-options-container .fwe-select-option:last-child{border-bottom:none}.fwe-select-options-container .fwe-select-option .fwe-select-option-content{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;line-height:24px;min-height:24px}.fng-select-pseudo-checkbox{width:16px;height:16px;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;color:var(--fwe-control-border);border:1px solid;transition:none;margin-right:12px;top:-1px}.fng-select-pseudo-checkbox:after{color:var(--fwe-white);position:absolute;display:block;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.fng-select-pseudo-checkbox.fng-select-pseudo-checkbox-checked{background:var(--fwe-caerul);border:1px solid var(--fwe-caerul)}.fng-select-pseudo-checkbox.fng-select-pseudo-checkbox-checked:after{top:3px;left:2px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.chip-text-truncate{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-removable:after{position:absolute;right:5px;top:4px;color:var(--fwe-text);font-family:var(--fwe-font-family-icons-16);font-size:var(--fwe-font-size-base);content:\"\\ea1c\";line-height:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fwe-select-wrapper{display:flex;width:inherit;min-width:48px}.fwe-select-wrapper:before{bottom:unset;top:24px}.fwe-select-wrapper.fng-hide-label{margin-top:18px}.fwe-select-wrapper.fng-hide-label:before{top:6px}.fwe-select-wrapper.fwe-disabled:before{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select{cursor:pointer;height:unset;min-height:33px}.fwe-select-wrapper .fwe-select .fwe-select-content{padding-right:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5rem}.fwe-select-wrapper .fwe-select.fwe-required:not(.fwe-disabled)~.fwe-select-label:after{position:relative;left:3px;display:inline-block;content:\"*\"}.fwe-select-wrapper .fwe-select.fwe-disabled{cursor:default;border-color:var(--fwe-control-disabled)!important}.fwe-select-wrapper .fwe-select.fwe-disabled~.fwe-select-label{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-select-content{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-chip{color:var(--fwe-text-disabled);border:1px solid var(--fwe-control-disabled);pointer-events:none}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-chip .chip-removable:after{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select-label:empty~.fwe-select-options-container,.fwe-select-wrapper .fwe-select-label.fwe-sr-only~.fwe-select-options-container{top:38px}\n"] }]
234
+ ], template: "<div #div class=\"fwe-select-wrapper\" [class.fwe-disabled]=\"disabled\" [class.fng-hide-label]=\"hideLabel\">\n <div\n class=\"fwe-select\"\n (click)=\"toggle()\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [class.fwe-focus]=\"showOptions\"\n [class.fwe-required]=\"required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fwe-pty]=\"empty\"\n >\n <div class=\"fwe-select-content\">\n <ng-container *ngIf=\"!multiple; else chips\">\n {{ value != null && value | fngChipText: options:optionsValueKey:optionsTextKey }}\n </ng-container>\n <ng-template #chips>\n <div class=\"fwe-chip-container\">\n <div\n *ngFor=\"let v of value\"\n class=\"fwe-chip chip-text-truncate fwe-pr-4\"\n [style.max-width.px]=\"triggerWidth\"\n [title]=\"v | fngChipText: options:optionsValueKey:optionsTextKey\"\n >\n {{ v | fngChipText: options:optionsValueKey:optionsTextKey }}\n <span class=\"chip-removable\" (click)=\"removeChip($event, v)\"></span>\n </div>\n </div>\n </ng-template>\n </div>\n </div>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayMinWidth]=\"triggerWidth\"\n [cdkConnectedOverlayOpen]=\"showOptions\"\n [cdkConnectedOverlayPanelClass]=\"selectPanelClasses\"\n (backdropClick)=\"close()\"\n >\n <div class=\"fng-select-panel-wrap\">\n <ul class=\"fwe-select-options-container\">\n <li class=\"fwe-select-option\" *ngIf=\"resetOption != null && !multiple\" (click)=\"select(null, $event)\">{{ resetOption }}</li>\n <li\n class=\"fwe-select-option\"\n *ngFor=\"let option of options; let i = index\"\n (click)=\"select(getOptionValue(i), $event)\"\n [title]=\"getOptionText(i) || option?.text\"\n >\n <span class=\"fwe-select-option-content\">\n <span\n *ngIf=\"multiple\"\n class=\"fng-select-pseudo-checkbox\"\n [ngClass]=\"{ 'fng-select-pseudo-checkbox-checked': checked.get(getOptionValue(i)) === 'checked' }\"\n ></span>\n <span *ngIf=\"hasProjectedOptions; else defaultTemplate\" [innerHTML]=\"projectedHtml[i]\"></span>\n <ng-template #defaultTemplate>{{ getOptionText(i) || option?.text }}</ng-template>\n </span>\n </li>\n </ul>\n </div>\n </ng-template>\n <label class=\"fwe-select-label\" [for]=\"id\" [class.fwe-sr-only]=\"hideLabel\">{{ label }}</label>\n <div class=\"fwe-select-description\" *ngIf=\"hint\">\n {{ hint }}\n </div>\n <div class=\"fwe-select-invalid\" *ngIf=\"error\">\n {{ error }}\n </div>\n</div>\n<div class=\"fwe-d-none\">\n <ng-content></ng-content>\n</div>\n", styles: [".fng-select-panel-open .fng-select-panel{opacity:1!important}fng-select{width:auto}fng-select.ng-invalid:not(.ng-pristine) .fwe-select:hover{border-color:var(--fwe-red)}fng-select.ng-invalid:not(.ng-pristine) .fwe-select.fwe-required~.fwe-select-invalid{display:block}fng-select.ng-invalid:not(.ng-pristine) .fwe-select.fwe-required~.fwe-select-description{display:none}.fng-select-panel{opacity:0!important}.fng-select-panel.fng-select-panel-options-3 .fwe-select-options-container{max-height:162px}.fng-select-panel.fng-select-panel-options-4 .fwe-select-options-container{max-height:210px}.fng-select-panel.fng-select-panel-options-5 .fwe-select-options-container{max-height:258px}.fng-select-panel.fng-select-panel-options-6 .fwe-select-options-container{max-height:306px}.fng-select-panel.fng-select-panel-options-7 .fwe-select-options-container{max-height:354px}.fng-select-panel.fng-select-panel-options-8 .fwe-select-options-container{max-height:402px}.fng-select-panel.fng-select-panel-options-9 .fwe-select-options-container{max-height:450px}.fng-select-panel.fng-select-panel-options-10 .fwe-select-options-container{max-height:498px}@-moz-document url-prefix(){.fng-select-panel .fwe-select-options-container{scrollbar-width:thin;scrollbar-color:var(--fwe-control-scrollbar) transparent}}@media (pointer: fine){.fng-select-panel .fwe-select-options-container::-webkit-scrollbar{width:14px}.fng-select-panel .fwe-select-options-container::-webkit-scrollbar-track{background:transparent}.fng-select-panel .fwe-select-options-container::-webkit-scrollbar-thumb{overflow:visible;background-color:var(--fwe-control-scrollbar);border:3px solid rgba(242,243,245,0);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:8px}}.fng-select-panel-wrap{flex-basis:100%}.fwe-select-options-container{position:relative;top:4px;left:0;max-height:258px;min-width:calc(100% + 0px)!important;max-width:280px;overflow:auto;font-size:var(--fwe-font-size-base);background-color:var(--fwe-white);border-radius:4px;padding:8px;margin:0;border:1px solid var(--fwe-gray-200);box-shadow:0 1px 4px #00000029;list-style:none;outline:0}.fwe-select-options-container .fwe-select-option{position:relative;line-height:24px;padding:12px 8px;min-height:24px;cursor:pointer}.fwe-select-options-container .fwe-select-option:hover{background-color:var(--fwe-gray-100)}.fwe-select-options-container .fwe-select-option:last-child{border-bottom:none}.fwe-select-options-container .fwe-select-option .fwe-select-option-content{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;line-height:24px;min-height:24px}.fng-select-pseudo-checkbox{width:16px;height:16px;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;color:var(--fwe-control-border);border:1px solid;transition:none;margin-right:12px;top:-1px}.fng-select-pseudo-checkbox:after{color:var(--fwe-white);position:absolute;display:block;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.fng-select-pseudo-checkbox.fng-select-pseudo-checkbox-checked{background:var(--fwe-caerul);border:1px solid var(--fwe-caerul)}.fng-select-pseudo-checkbox.fng-select-pseudo-checkbox-checked:after{top:3px;left:2px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.chip-text-truncate{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-removable:after{position:absolute;right:5px;top:4px;color:var(--fwe-text);font-family:var(--fwe-font-family-icons-16);font-size:var(--fwe-font-size-base);content:\"\\ea1c\";line-height:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fwe-select-wrapper{display:flex;width:inherit;min-width:48px}.fwe-select-wrapper:before{bottom:unset;top:24px}.fwe-select-wrapper.fng-hide-label{margin-top:18px}.fwe-select-wrapper.fng-hide-label:before{top:6px}.fwe-select-wrapper.fwe-disabled:before{color:var(--fwe-text-disabled);background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMiAxMikiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMiAtMTIpIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDApIj48cmVjdCB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS41OTggOC41MTMpIj48cGF0aCBkPSJNNS42MzYsOS4xOTRsNi4yNzgsNi41NjQsNi4yNzgtNi41NjQtLjctLjczTDExLjkxNCwxNC4zLDYuMzMzLDguNDY0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUuNjM2IC04LjQ2NCkiIGZpbGw9IiNiOWJhYmIiLz48L2c+PC9nPjwvZz48L3N2Zz4=)}.fwe-select-wrapper .fwe-select{cursor:pointer;height:unset;min-height:33px}.fwe-select-wrapper .fwe-select .fwe-select-content{padding-right:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5rem}.fwe-select-wrapper .fwe-select.fwe-required:not(.fwe-disabled)~.fwe-select-label:after{position:relative;left:3px;display:inline-block;content:\"*\"}.fwe-select-wrapper .fwe-select.fwe-disabled{cursor:default;border-color:var(--fwe-control-disabled)!important}.fwe-select-wrapper .fwe-select.fwe-disabled~.fwe-select-label{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-select-content{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-chip{color:var(--fwe-text-disabled);border:1px solid var(--fwe-control-disabled);pointer-events:none}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-chip .chip-removable:after{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select-label:empty~.fwe-select-options-container,.fwe-select-wrapper .fwe-select-label.fwe-sr-only~.fwe-select-options-container{top:38px}\n"] }]
235
235
  }], ctorParameters: () => [{ type: undefined, decorators: [{
236
236
  type: Inject,
237
237
  args: [DOCUMENT]
@@ -272,4 +272,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
272
272
  }], fngChange: [{
273
273
  type: Output
274
274
  }] } });
275
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEVBRVgsaUJBQWlCLEVBRWpCLE1BQU0sRUFDTixVQUFVLEVBQ1YsU0FBUyxFQUlULGVBQWUsRUFDZixNQUFNLEVBQ04sWUFBWSxFQUdiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQXNCL0IsTUFBTSxPQUFPLGtCQUFrQjthQUN0QixXQUFNLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUFPbEIsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxT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RSxrQkFBa0I7a0JBZjlCLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxhQUFhLENBQUMsWUFDdkUsWUFBWSxpQkFHUCxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs7MEJBa0ZZLE1BQU07MkJBQUMsUUFBUTtpR0F2RXhCLFFBQVE7c0JBRFgsS0FBSztnQkFTRixRQUFRO3NCQURYLEtBQUs7Z0JBc0NOLEVBQUU7c0JBREQsV0FBVztnQkFHSCxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ3FDLGdCQUFnQjtzQkFBMUQsZUFBZTt1QkFBQyx3QkFBd0I7Z0JBQ3ZCLFVBQVU7c0JBQTNCLFNBQVM7dUJBQUMsS0FBSztnQkFDTixTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgSG9zdEJpbmRpbmcsXG4gIE9uSW5pdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIFJlbmRlcmVyMixcbiAgSW5qZWN0LFxuICBmb3J3YXJkUmVmLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEFmdGVyVmlld0luaXQsXG4gIFF1ZXJ5TGlzdCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIEFmdGVyQ29udGVudEluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBGbmdTZWxlY3RPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC1vcHRpb24vc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nQ2hpcFRleHRQaXBlIH0gZnJvbSAnLi9jaGlwLXRleHQucGlwZSc7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZuZ1NlbGVjdE9wdGlvbiB7XG4gIHZhbHVlOiBhbnk7XG4gIHRleHQ6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZuZ0NoaXBUZXh0UGlwZSwgRm5nU2VsZWN0T3B0aW9uQ29tcG9uZW50LCBPdmVybGF5TW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdmbmctc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZuZ1NlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGbmdTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgcHJvdGVjdGVkIF9kaXNhYmxlZCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX3JlcXVpcmVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfdmFsdWU6IGFueTtcbiAgcHJvdGVjdGVkIGJvZHk6IEhUTUxFbGVtZW50O1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcbiAgfVxuICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIGlmICh0aGlzLm11bHRpcGxlID09PSB0cnVlKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuX3ZhbHVlLmluZGV4T2YodmFsdWUpO1xuICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICB0aGlzLl92YWx1ZS5wdXNoKHZhbHVlKTtcbiAgICAgICAgdGhpcy5jaGVja2VkLnNldCh2YWx1ZSwgJ2NoZWNrZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHRoaXMuY2hlY2tlZC5zZXQodmFsdWUsIG51bGwpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9uQ2hhbmdlICE9IG51bGwpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMuZm5nQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cblxuICBvbkNoYW5nZTogKChfOiBhbnkpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuICBvblRvdWNoZWQ6ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcblxuICB0b3VjaGVkID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKClcbiAgaWQgPSBgaW5wdXQtY29udHJvbC0keysrRm5nU2VsZWN0Q29tcG9uZW50Lm5leHRJZH1gO1xuXG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNpemU6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIG9wdGlvbnNWYWx1ZUtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBvcHRpb25zVGV4dEtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBvcHRpb25PYmplY3RBc1ZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBlcnJvcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICBASW5wdXQoKSBoaWRlTGFiZWwgPSBmYWxzZTtcbiAgQElucHV0KCkgaGludCA9ICcnO1xuICBASW5wdXQoKSByZXNldE9wdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBAQ29udGVudENoaWxkcmVuKEZuZ1NlbGVjdE9wdGlvbkNvbXBvbmVudCkgZm5nU2VsZWN0T3B0aW9uczogUXVlcnlMaXN0PEZuZ1NlbGVjdE9wdGlvbkNvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ2RpdicpIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gIEBPdXRwdXQoKSBmbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBzZWxlY3RQYW5lbENsYXNzZXM6IHN0cmluZ1tdID0gWydmbmctc2VsZWN0LXBhbmVsJ107XG4gIHNob3dPcHRpb25zID0gZmFsc2U7XG4gIGVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIHRyaWdnZXJXaWR0aDogYW55O1xuICBjaGVja2VkID0gbmV3IE1hcCgpO1xuICBoYXNQcm9qZWN0ZWRPcHRpb25zID0gZmFsc2U7XG4gIHByb2plY3RlZEh0bWw6IGFueVtdID0gW107XG4gIHByb3RlY3RlZCBjb21wbGV0ZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJvdGVjdGVkIGRvY3VtZW50OiBhbnksIHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyLCBwdWJsaWMgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5ib2R5ID0gKHRoaXMuZG9jdW1lbnQgYXMgRG9jdW1lbnQpLmJvZHk7XG4gIH1cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIC8vIG9ic2VydmUgaWYgYW55IG9mIHRoZSBwcm9qZWN0ZWQgY29udGVudCAoZm5nLXNlbGVjdC1vcHRpb24pIGNoYW5nZXNcbiAgICB0aGlzLmZuZ1NlbGVjdE9wdGlvbnM/LmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5jb21wbGV0ZSkpLnN1YnNjcmliZShfID0+IHtcbiAgICAgIC8vIGlmIGNvbnRlbnQgY2hhbmdlcyBpbml0IGFnYWluXG4gICAgICB0aGlzLm9wdGlvbnMgPSBbXTtcbiAgICAgIHRoaXMucHJvamVjdGVkSHRtbCA9IFtdO1xuICAgICAgdGhpcy5pbml0UHJvamVjdGVkT3B0aW9ucygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2l6ZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnNlbGVjdFBhbmVsQ2xhc3Nlcy5wdXNoKCdmbmctc2VsZWN0LXBhbmVsLW9wdGlvbnMtJyArIHRoaXMuc2l6ZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubXVsdGlwbGUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gW107XG4gICAgICB0aGlzLnNlbGVjdFBhbmVsQ2xhc3Nlcy5wdXNoKCdmbmctc2VsZWN0LXBhbmVsLW11bHRpcGxlJyk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudHJpZ2dlcldpZHRoID0gdGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8ud2lkdGg7XG4gICAgdGhpcy5pbml0UHJvamVjdGVkT3B0aW9ucygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jb21wbGV0ZS5uZXh0KHRydWUpO1xuICAgIHRoaXMuY29tcGxldGUudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShzaG91bGREaXNhYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IHNob3VsZERpc2FibGU7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tdWx0aXBsZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcblxuICAgICAgLy8gY2xlYXIgYW55IHByZXZpb3VzIHN0YXRlIG9mIG92ZXJsYXkgcGFuZWxcbiAgICAgIHRoaXMuY2hlY2tlZC5jbGVhcigpO1xuXG4gICAgICAvLyBzZXQgY2hlY2ttYXJrcyBpbiBvdmVybGF5IHBhbmVsLCBzbyB0aGF0IGl0IGlzIGRpc3BsYXllZCBjb3JyZWN0bHkgd2hlbiB1c2VyIG9wZW5zIGl0XG4gICAgICB2YWx1ZT8uZm9yRWFjaCgodjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuY2hlY2tlZC5zZXQodiwgJ2NoZWNrZWQnKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldE9wdGlvblRleHQoaW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLm9wdGlvbnNbaW5kZXhdICYmIHRoaXMub3B0aW9uc1RleHRLZXkgJiYgdGhpcy5vcHRpb25zW2luZGV4XVt0aGlzLm9wdGlvbnNUZXh0S2V5XSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zW2luZGV4XVt0aGlzLm9wdGlvbnNUZXh0S2V5XTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldE9wdGlvblZhbHVlKGluZGV4OiBudW1iZXIpIHtcbiAgICAvLyBpZiBzZXQgdG8gdHJ1ZSB0aGUgY29tcGxldGUgb3B0aW9uIG9iamVjdCBpcyByZXR1cm5lZCBhcyB2YWx1ZVxuICAgIGlmICh0aGlzLm9wdGlvbk9iamVjdEFzVmFsdWUgPT09IHRydWUpIHtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNbaW5kZXhdO1xuICAgIH1cblxuICAgIC8vIHRyeSB0byBhY2Nlc3Mgc3RhbmRhcmQgcHJvcGVydHkgJ3ZhbHVlJ1xuICAgIGNvbnN0IHYgPSB0aGlzLm9wdGlvbnNbaW5kZXhdWyd2YWx1ZSddO1xuXG4gICAgaWYgKHYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHY7XG4gICAgfVxuXG4gICAgLy8gdHJ5IHRvIG1hcCB0aGUgdmFsdWUgdG8gYSBwcm9wZXJ0eSBvZiB0aGUgb3B0aW9uIGJ5IGdpdmVuIGtleVxuICAgIGlmICh0aGlzLm9wdGlvbnNbaW5kZXhdICYmIHRoaXMub3B0aW9uc1ZhbHVlS2V5ICYmIHRoaXMub3B0aW9uc1tpbmRleF1bdGhpcy5vcHRpb25zVmFsdWVLZXldICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNbaW5kZXhdW3RoaXMub3B0aW9uc1ZhbHVlS2V5XTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJlbW92ZUNoaXAoZXZlbnQ6IGFueSwgY2hpcDogc3RyaW5nKSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKCF0aGlzLl9kaXNhYmxlZCkge1xuICAgICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICB0aGlzLnZhbHVlID0gY2hpcDtcbiAgICB9XG4gIH1cblxuICBvbk9wZW5lZENoYW5nZShpc09wZW46IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuYm9keSwgJ2ZuZy1zZWxlY3QtcGFuZWwtb3BlbicpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuYm9keSwgJ2ZuZy1zZWxlY3QtcGFuZWwtb3BlbicpO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuc2hvd09wdGlvbnMgPSBmYWxzZTtcbiAgICB0aGlzLmlzRW1wdHkoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAoZmFsc2UgPT09IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMudHJpZ2dlcldpZHRoID0gdGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8ud2lkdGg7XG4gICAgICB0aGlzLnNob3dPcHRpb25zID0gIXRoaXMuc2hvd09wdGlvbnM7XG4gICAgICB0aGlzLm9uT3BlbmVkQ2hhbmdlKHRoaXMuc2hvd09wdGlvbnMpO1xuICAgICAgdGhpcy5pc0VtcHR5KCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0KHZhbHVlOiBhbnksIGV2ZW50OiBFdmVudCkge1xuICAgIGlmICghdGhpcy5fZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMubWFya0FzVG91Y2hlZCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cbiAgICAgIGlmICh0aGlzLm11bHRpcGxlICE9PSB0cnVlKSB7XG4gICAgICAgIC8vIGNsb3NlcyBvdmVybGF5IHBhbmVsXG4gICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbWFya0FzVG91Y2hlZCgpIHtcbiAgICBpZiAoIXRoaXMudG91Y2hlZCkge1xuICAgICAgaWYgKHRoaXMub25Ub3VjaGVkICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaW5pdFByb2plY3RlZE9wdGlvbnMoKSB7XG4gICAgaWYgKHRoaXMuZm5nU2VsZWN0T3B0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmhhc1Byb2plY3RlZE9wdGlvbnMgPSB0cnVlO1xuICAgICAgdGhpcy5mbmdTZWxlY3RPcHRpb25zLmZvckVhY2goY29tcG9uZW50ID0+IHtcbiAgICAgICAgY29tcG9uZW50LnVwZGF0ZSgpLnRoZW4oZWwgPT4ge1xuICAgICAgICAgIGlmIChlbCkge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zLnB1c2goeyB2YWx1ZTogY29tcG9uZW50LnZhbHVlLCB0ZXh0OiBlbC50ZXh0Q29udGVudD8udHJpbSgpIH0pO1xuICAgICAgICAgICAgdGhpcy5wcm9qZWN0ZWRIdG1sLnB1c2goZWwuaW5uZXJIVE1MKTtcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBpc0VtcHR5KCkge1xuICAgIGlmICghdGhpcy5zaG93T3B0aW9ucyAmJiAoIXRoaXMuX3ZhbHVlIHx8ICcnID09PSB0aGlzLl92YWx1ZSkpIHtcbiAgICAgIHRoaXMuZW1wdHkgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVtcHR5ID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICNkaXYgY2xhc3M9XCJmd2Utc2VsZWN0LXdyYXBwZXJcIiBbY2xhc3MuZndlLWRpc2FibGVkXT1cImRpc2FibGVkXCIgW2NsYXNzLmZuZy1oaWRlLWxhYmVsXT1cImhpZGVMYWJlbFwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmd2Utc2VsZWN0XCJcbiAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICAgIGNka092ZXJsYXlPcmlnaW5cbiAgICAjdHJpZ2dlcj1cImNka092ZXJsYXlPcmlnaW5cIlxuICAgIFtjbGFzcy5md2UtZm9jdXNdPVwic2hvd09wdGlvbnNcIlxuICAgIFtjbGFzcy5md2UtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFtjbGFzcy5md2UtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtjbGFzcy5md2UtcHR5XT1cImVtcHR5XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmd2Utc2VsZWN0LWNvbnRlbnRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbXVsdGlwbGU7IGVsc2UgY2hpcHNcIj5cbiAgICAgICAge3sgdmFsdWUgIT0gbnVsbCAmJiB2YWx1ZSB8IGZuZ0NoaXBUZXh0OiBvcHRpb25zOm9wdGlvbnNWYWx1ZUtleTpvcHRpb25zVGV4dEtleSB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2NoaXBzPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZndlLWNoaXAtY29udGFpbmVyXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHYgb2YgdmFsdWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJmd2UtY2hpcCBjaGlwLXRleHQtdHJ1bmNhdGUgZndlLXByLTRcIlxuICAgICAgICAgICAgW3N0eWxlLm1heC13aWR0aC5weF09XCJ0cmlnZ2VyV2lkdGhcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInYgfCBmbmdDaGlwVGV4dDogb3B0aW9uczpvcHRpb25zVmFsdWVLZXk6b3B0aW9uc1RleHRLZXlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHYgfCBmbmdDaGlwVGV4dDogb3B0aW9uczpvcHRpb25zVmFsdWVLZXk6b3B0aW9uc1RleHRLZXkgfX1cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcC1yZW1vdmFibGVcIiAoY2xpY2spPVwicmVtb3ZlQ2hpcCgkZXZlbnQsIHYpXCI+PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGVcbiAgICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gICAgY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXG4gICAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlNaW5XaWR0aF09XCJ0cmlnZ2VyV2lkdGhcIlxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJzaG93T3B0aW9uc1wiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQYW5lbENsYXNzXT1cInNlbGVjdFBhbmVsQ2xhc3Nlc1wiXG4gICAgKGJhY2tkcm9wQ2xpY2spPVwiY2xvc2UoKVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiZm5nLXNlbGVjdC1wYW5lbC13cmFwXCI+XG4gICAgICA8dWwgY2xhc3M9XCJmd2Utc2VsZWN0LW9wdGlvbnMtY29udGFpbmVyXCI+XG4gICAgICAgIDxsaSBjbGFzcz1cImZ3ZS1zZWxlY3Qtb3B0aW9uXCIgKm5nSWY9XCJyZXNldE9wdGlvbiAhPSBudWxsICYmICFtdWx0aXBsZVwiIChjbGljayk9XCJzZWxlY3QobnVsbCwgJGV2ZW50KVwiPnt7IHJlc2V0T3B0aW9uIH19PC9saT5cbiAgICAgICAgPGxpXG4gICAgICAgICAgY2xhc3M9XCJmd2Utc2VsZWN0LW9wdGlvblwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0KGdldE9wdGlvblZhbHVlKGkpLCAkZXZlbnQpXCJcbiAgICAgICAgICBbdGl0bGVdPVwiZ2V0T3B0aW9uVGV4dChpKSB8fCBvcHRpb24/LnRleHRcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmd2Utc2VsZWN0LW9wdGlvbi1jb250ZW50XCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAqbmdJZj1cIm11bHRpcGxlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbmctc2VsZWN0LXBzZXVkby1jaGVja2JveFwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ZuZy1zZWxlY3QtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQnOiBjaGVja2VkLmdldChnZXRPcHRpb25WYWx1ZShpKSkgPT09ICdjaGVja2VkJyB9XCJcbiAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhhc1Byb2plY3RlZE9wdGlvbnM7IGVsc2UgZGVmYXVsdFRlbXBsYXRlXCIgW2lubmVySFRNTF09XCJwcm9qZWN0ZWRIdG1sW2ldXCI+PC9zcGFuPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+e3sgZ2V0T3B0aW9uVGV4dChpKSB8fCBvcHRpb24/LnRleHQgfX08L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxsYWJlbCBjbGFzcz1cImZ3ZS1zZWxlY3QtbGFiZWxcIiBbZm9yXT1cImlkXCIgW2NsYXNzLmZ3ZS1zci1vbmx5XT1cImhpZGVMYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1zZWxlY3QtZGVzY3JpcHRpb25cIiAqbmdJZj1cImhpbnRcIj5cbiAgICB7eyBoaW50IH19XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZndlLXNlbGVjdC1pbnZhbGlkXCIgKm5nSWY9XCJlcnJvclwiPlxuICAgIHt7IGVycm9yIH19XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZndlLWQtbm9uZVwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
275
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEVBRVgsaUJBQWlCLEVBRWpCLE1BQU0sRUFDTixVQUFVLEVBQ1YsU0FBUyxFQUlULGVBQWUsRUFDZixNQUFNLEVBQ04sWUFBWSxFQUdiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQXNCL0IsTUFBTSxPQUFPLGtCQUFrQjthQUN0QixXQUFNLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUFPbEIsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxT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RSxrQkFBa0I7a0JBZjlCLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxhQUFhLENBQUMsWUFDdkUsWUFBWSxpQkFHUCxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs7MEJBa0ZZLE1BQU07MkJBQUMsUUFBUTtpR0F2RXhCLFFBQVE7c0JBRFgsS0FBSztnQkFTRixRQUFRO3NCQURYLEtBQUs7Z0JBc0NOLEVBQUU7c0JBREQsV0FBVztnQkFHSCxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ3FDLGdCQUFnQjtzQkFBMUQsZUFBZTt1QkFBQyx3QkFBd0I7Z0JBQ3ZCLFVBQVU7c0JBQTNCLFNBQVM7dUJBQUMsS0FBSztnQkFDTixTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgSG9zdEJpbmRpbmcsXG4gIE9uSW5pdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIFJlbmRlcmVyMixcbiAgSW5qZWN0LFxuICBmb3J3YXJkUmVmLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEFmdGVyVmlld0luaXQsXG4gIFF1ZXJ5TGlzdCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIEFmdGVyQ29udGVudEluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBGbmdTZWxlY3RPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC1vcHRpb24vc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nQ2hpcFRleHRQaXBlIH0gZnJvbSAnLi9jaGlwLXRleHQucGlwZSc7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZuZ1NlbGVjdE9wdGlvbiB7XG4gIHZhbHVlOiBhbnk7XG4gIHRleHQ6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZuZ0NoaXBUZXh0UGlwZSwgRm5nU2VsZWN0T3B0aW9uQ29tcG9uZW50LCBPdmVybGF5TW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdmbmctc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZuZ1NlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGbmdTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgcHJvdGVjdGVkIF9kaXNhYmxlZCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX3JlcXVpcmVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfdmFsdWU6IGFueTtcbiAgcHJvdGVjdGVkIGJvZHk6IEhUTUxFbGVtZW50O1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcbiAgfVxuICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIGlmICh0aGlzLm11bHRpcGxlID09PSB0cnVlKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuX3ZhbHVlLmluZGV4T2YodmFsdWUpO1xuICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICB0aGlzLl92YWx1ZS5wdXNoKHZhbHVlKTtcbiAgICAgICAgdGhpcy5jaGVja2VkLnNldCh2YWx1ZSwgJ2NoZWNrZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHRoaXMuY2hlY2tlZC5zZXQodmFsdWUsIG51bGwpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9uQ2hhbmdlICE9IG51bGwpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMuZm5nQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cblxuICBvbkNoYW5nZTogKChfOiBhbnkpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuICBvblRvdWNoZWQ6ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcblxuICB0b3VjaGVkID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKClcbiAgaWQgPSBgaW5wdXQtY29udHJvbC0keysrRm5nU2VsZWN0Q29tcG9uZW50Lm5leHRJZH1gO1xuXG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNpemU6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIG9wdGlvbnNWYWx1ZUtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBvcHRpb25zVGV4dEtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBvcHRpb25PYmplY3RBc1ZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBlcnJvcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICBASW5wdXQoKSBoaWRlTGFiZWwgPSBmYWxzZTtcbiAgQElucHV0KCkgaGludCA9ICcnO1xuICBASW5wdXQoKSByZXNldE9wdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBAQ29udGVudENoaWxkcmVuKEZuZ1NlbGVjdE9wdGlvbkNvbXBvbmVudCkgZm5nU2VsZWN0T3B0aW9uczogUXVlcnlMaXN0PEZuZ1NlbGVjdE9wdGlvbkNvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ2RpdicpIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gIEBPdXRwdXQoKSBmbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBzZWxlY3RQYW5lbENsYXNzZXM6IHN0cmluZ1tdID0gWydmbmctc2VsZWN0LXBhbmVsJ107XG4gIHNob3dPcHRpb25zID0gZmFsc2U7XG4gIGVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIHRyaWdnZXJXaWR0aDogYW55O1xuICBjaGVja2VkID0gbmV3IE1hcCgpO1xuICBoYXNQcm9qZWN0ZWRPcHRpb25zID0gZmFsc2U7XG4gIHByb2plY3RlZEh0bWw6IGFueVtdID0gW107XG4gIHByb3RlY3RlZCBjb21wbGV0ZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJvdGVjdGVkIGRvY3VtZW50OiBhbnksIHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyLCBwdWJsaWMgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5ib2R5ID0gKHRoaXMuZG9jdW1lbnQgYXMgRG9jdW1lbnQpLmJvZHk7XG4gIH1cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIC8vIG9ic2VydmUgaWYgYW55IG9mIHRoZSBwcm9qZWN0ZWQgY29udGVudCAoZm5nLXNlbGVjdC1vcHRpb24pIGNoYW5nZXNcbiAgICB0aGlzLmZuZ1NlbGVjdE9wdGlvbnM/LmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5jb21wbGV0ZSkpLnN1YnNjcmliZShfID0+IHtcbiAgICAgIC8vIGlmIGNvbnRlbnQgY2hhbmdlcyBpbml0IGFnYWluXG4gICAgICB0aGlzLm9wdGlvbnMgPSBbXTtcbiAgICAgIHRoaXMucHJvamVjdGVkSHRtbCA9IFtdO1xuICAgICAgdGhpcy5pbml0UHJvamVjdGVkT3B0aW9ucygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2l6ZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnNlbGVjdFBhbmVsQ2xhc3Nlcy5wdXNoKCdmbmctc2VsZWN0LXBhbmVsLW9wdGlvbnMtJyArIHRoaXMuc2l6ZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubXVsdGlwbGUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gW107XG4gICAgICB0aGlzLnNlbGVjdFBhbmVsQ2xhc3Nlcy5wdXNoKCdmbmctc2VsZWN0LXBhbmVsLW11bHRpcGxlJyk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudHJpZ2dlcldpZHRoID0gdGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8ud2lkdGg7XG4gICAgdGhpcy5pbml0UHJvamVjdGVkT3B0aW9ucygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jb21wbGV0ZS5uZXh0KHRydWUpO1xuICAgIHRoaXMuY29tcGxldGUudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShzaG91bGREaXNhYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IHNob3VsZERpc2FibGU7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tdWx0aXBsZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcblxuICAgICAgLy8gY2xlYXIgYW55IHByZXZpb3VzIHN0YXRlIG9mIG92ZXJsYXkgcGFuZWxcbiAgICAgIHRoaXMuY2hlY2tlZC5jbGVhcigpO1xuXG4gICAgICAvLyBzZXQgY2hlY2ttYXJrcyBpbiBvdmVybGF5IHBhbmVsLCBzbyB0aGF0IGl0IGlzIGRpc3BsYXllZCBjb3JyZWN0bHkgd2hlbiB1c2VyIG9wZW5zIGl0XG4gICAgICB2YWx1ZT8uZm9yRWFjaCgodjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuY2hlY2tlZC5zZXQodiwgJ2NoZWNrZWQnKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldE9wdGlvblRleHQoaW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLm9wdGlvbnNbaW5kZXhdICYmIHRoaXMub3B0aW9uc1RleHRLZXkgJiYgdGhpcy5vcHRpb25zW2luZGV4XVt0aGlzLm9wdGlvbnNUZXh0S2V5XSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zW2luZGV4XVt0aGlzLm9wdGlvbnNUZXh0S2V5XTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldE9wdGlvblZhbHVlKGluZGV4OiBudW1iZXIpIHtcbiAgICAvLyBpZiBzZXQgdG8gdHJ1ZSB0aGUgY29tcGxldGUgb3B0aW9uIG9iamVjdCBpcyByZXR1cm5lZCBhcyB2YWx1ZVxuICAgIGlmICh0aGlzLm9wdGlvbk9iamVjdEFzVmFsdWUgPT09IHRydWUpIHtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNbaW5kZXhdO1xuICAgIH1cblxuICAgIC8vIHRyeSB0byBhY2Nlc3Mgc3RhbmRhcmQgcHJvcGVydHkgJ3ZhbHVlJ1xuICAgIGNvbnN0IHYgPSB0aGlzLm9wdGlvbnNbaW5kZXhdWyd2YWx1ZSddO1xuXG4gICAgaWYgKHYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHY7XG4gICAgfVxuXG4gICAgLy8gdHJ5IHRvIG1hcCB0aGUgdmFsdWUgdG8gYSBwcm9wZXJ0eSBvZiB0aGUgb3B0aW9uIGJ5IGdpdmVuIGtleVxuICAgIGlmICh0aGlzLm9wdGlvbnNbaW5kZXhdICYmIHRoaXMub3B0aW9uc1ZhbHVlS2V5ICYmIHRoaXMub3B0aW9uc1tpbmRleF1bdGhpcy5vcHRpb25zVmFsdWVLZXldICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNbaW5kZXhdW3RoaXMub3B0aW9uc1ZhbHVlS2V5XTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJlbW92ZUNoaXAoZXZlbnQ6IGFueSwgY2hpcDogc3RyaW5nKSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKCF0aGlzLl9kaXNhYmxlZCkge1xuICAgICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICB0aGlzLnZhbHVlID0gY2hpcDtcbiAgICB9XG4gIH1cblxuICBvbk9wZW5lZENoYW5nZShpc09wZW46IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuYm9keSwgJ2ZuZy1zZWxlY3QtcGFuZWwtb3BlbicpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuYm9keSwgJ2ZuZy1zZWxlY3QtcGFuZWwtb3BlbicpO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuc2hvd09wdGlvbnMgPSBmYWxzZTtcbiAgICB0aGlzLmlzRW1wdHkoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAoZmFsc2UgPT09IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMudHJpZ2dlcldpZHRoID0gdGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8ud2lkdGg7XG4gICAgICB0aGlzLnNob3dPcHRpb25zID0gIXRoaXMuc2hvd09wdGlvbnM7XG4gICAgICB0aGlzLm9uT3BlbmVkQ2hhbmdlKHRoaXMuc2hvd09wdGlvbnMpO1xuICAgICAgdGhpcy5pc0VtcHR5KCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0KHZhbHVlOiBhbnksIGV2ZW50OiBFdmVudCkge1xuICAgIGlmICghdGhpcy5fZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMubWFya0FzVG91Y2hlZCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cbiAgICAgIGlmICh0aGlzLm11bHRpcGxlICE9PSB0cnVlKSB7XG4gICAgICAgIC8vIGNsb3NlcyBvdmVybGF5IHBhbmVsXG4gICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbWFya0FzVG91Y2hlZCgpIHtcbiAgICBpZiAoIXRoaXMudG91Y2hlZCkge1xuICAgICAgaWYgKHRoaXMub25Ub3VjaGVkICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaW5pdFByb2plY3RlZE9wdGlvbnMoKSB7XG4gICAgaWYgKHRoaXMuZm5nU2VsZWN0T3B0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmhhc1Byb2plY3RlZE9wdGlvbnMgPSB0cnVlO1xuICAgICAgdGhpcy5mbmdTZWxlY3RPcHRpb25zLmZvckVhY2goY29tcG9uZW50ID0+IHtcbiAgICAgICAgY29tcG9uZW50LnVwZGF0ZSgpLnRoZW4oZWwgPT4ge1xuICAgICAgICAgIGlmIChlbCkge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zLnB1c2goeyB2YWx1ZTogY29tcG9uZW50LnZhbHVlLCB0ZXh0OiBlbC50ZXh0Q29udGVudD8udHJpbSgpIH0pO1xuICAgICAgICAgICAgdGhpcy5wcm9qZWN0ZWRIdG1sLnB1c2goZWwuaW5uZXJIVE1MKTtcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBpc0VtcHR5KCkge1xuICAgIGlmICghdGhpcy5zaG93T3B0aW9ucyAmJiAoIXRoaXMuX3ZhbHVlIHx8ICcnID09PSB0aGlzLl92YWx1ZSkpIHtcbiAgICAgIHRoaXMuZW1wdHkgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVtcHR5ID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICNkaXYgY2xhc3M9XCJmd2Utc2VsZWN0LXdyYXBwZXJcIiBbY2xhc3MuZndlLWRpc2FibGVkXT1cImRpc2FibGVkXCIgW2NsYXNzLmZuZy1oaWRlLWxhYmVsXT1cImhpZGVMYWJlbFwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmd2Utc2VsZWN0XCJcbiAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICAgIGNka092ZXJsYXlPcmlnaW5cbiAgICAjdHJpZ2dlcj1cImNka092ZXJsYXlPcmlnaW5cIlxuICAgIFtjbGFzcy5md2UtZm9jdXNdPVwic2hvd09wdGlvbnNcIlxuICAgIFtjbGFzcy5md2UtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFtjbGFzcy5md2UtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtjbGFzcy5md2UtcHR5XT1cImVtcHR5XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmd2Utc2VsZWN0LWNvbnRlbnRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbXVsdGlwbGU7IGVsc2UgY2hpcHNcIj5cbiAgICAgICAge3sgdmFsdWUgIT0gbnVsbCAmJiB2YWx1ZSB8IGZuZ0NoaXBUZXh0OiBvcHRpb25zOm9wdGlvbnNWYWx1ZUtleTpvcHRpb25zVGV4dEtleSB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2NoaXBzPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZndlLWNoaXAtY29udGFpbmVyXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHYgb2YgdmFsdWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJmd2UtY2hpcCBjaGlwLXRleHQtdHJ1bmNhdGUgZndlLXByLTRcIlxuICAgICAgICAgICAgW3N0eWxlLm1heC13aWR0aC5weF09XCJ0cmlnZ2VyV2lkdGhcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInYgfCBmbmdDaGlwVGV4dDogb3B0aW9uczpvcHRpb25zVmFsdWVLZXk6b3B0aW9uc1RleHRLZXlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHYgfCBmbmdDaGlwVGV4dDogb3B0aW9uczpvcHRpb25zVmFsdWVLZXk6b3B0aW9uc1RleHRLZXkgfX1cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcC1yZW1vdmFibGVcIiAoY2xpY2spPVwicmVtb3ZlQ2hpcCgkZXZlbnQsIHYpXCI+PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGVcbiAgICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gICAgY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXG4gICAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlNaW5XaWR0aF09XCJ0cmlnZ2VyV2lkdGhcIlxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJzaG93T3B0aW9uc1wiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQYW5lbENsYXNzXT1cInNlbGVjdFBhbmVsQ2xhc3Nlc1wiXG4gICAgKGJhY2tkcm9wQ2xpY2spPVwiY2xvc2UoKVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiZm5nLXNlbGVjdC1wYW5lbC13cmFwXCI+XG4gICAgICA8dWwgY2xhc3M9XCJmd2Utc2VsZWN0LW9wdGlvbnMtY29udGFpbmVyXCI+XG4gICAgICAgIDxsaSBjbGFzcz1cImZ3ZS1zZWxlY3Qtb3B0aW9uXCIgKm5nSWY9XCJyZXNldE9wdGlvbiAhPSBudWxsICYmICFtdWx0aXBsZVwiIChjbGljayk9XCJzZWxlY3QobnVsbCwgJGV2ZW50KVwiPnt7IHJlc2V0T3B0aW9uIH19PC9saT5cbiAgICAgICAgPGxpXG4gICAgICAgICAgY2xhc3M9XCJmd2Utc2VsZWN0LW9wdGlvblwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0KGdldE9wdGlvblZhbHVlKGkpLCAkZXZlbnQpXCJcbiAgICAgICAgICBbdGl0bGVdPVwiZ2V0T3B0aW9uVGV4dChpKSB8fCBvcHRpb24/LnRleHRcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmd2Utc2VsZWN0LW9wdGlvbi1jb250ZW50XCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAqbmdJZj1cIm11bHRpcGxlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbmctc2VsZWN0LXBzZXVkby1jaGVja2JveFwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ZuZy1zZWxlY3QtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQnOiBjaGVja2VkLmdldChnZXRPcHRpb25WYWx1ZShpKSkgPT09ICdjaGVja2VkJyB9XCJcbiAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhhc1Byb2plY3RlZE9wdGlvbnM7IGVsc2UgZGVmYXVsdFRlbXBsYXRlXCIgW2lubmVySFRNTF09XCJwcm9qZWN0ZWRIdG1sW2ldXCI+PC9zcGFuPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+e3sgZ2V0T3B0aW9uVGV4dChpKSB8fCBvcHRpb24/LnRleHQgfX08L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxsYWJlbCBjbGFzcz1cImZ3ZS1zZWxlY3QtbGFiZWxcIiBbZm9yXT1cImlkXCIgW2NsYXNzLmZ3ZS1zci1vbmx5XT1cImhpZGVMYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1zZWxlY3QtZGVzY3JpcHRpb25cIiAqbmdJZj1cImhpbnRcIj5cbiAgICB7eyBoaW50IH19XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZndlLXNlbGVjdC1pbnZhbGlkXCIgKm5nSWY9XCJlcnJvclwiPlxuICAgIHt7IGVycm9yIH19XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZndlLWQtbm9uZVwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==