@skyux/popovers 10.44.1 → 10.44.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +752 -752
- package/esm2022/lib/modules/popover/popover-content.component.mjs +38 -40
- package/fesm2022/skyux-popovers.mjs +41 -112
- package/fesm2022/skyux-popovers.mjs.map +1 -1
- package/lib/modules/popover/popover-content.component.d.ts +2 -5
- package/package.json +6 -6
- package/esm2022/lib/modules/popover/popover-adapter.service.mjs +0 -74
- package/esm2022/lib/modules/popover/types/popover-adapter-arrow-coordinates.mjs +0 -2
- package/esm2022/lib/modules/popover/types/popover-adapter-elements.mjs +0 -2
- package/lib/modules/popover/popover-adapter.service.d.ts +0 -12
- package/lib/modules/popover/types/popover-adapter-arrow-coordinates.d.ts +0 -7
- package/lib/modules/popover/types/popover-adapter-elements.d.ts +0 -9
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import { Component, ElementRef, HostBinding, Optional, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
2
2
|
import { SkyAffixAutoFitContext, } from '@skyux/core';
|
|
3
|
-
import { Subject, fromEvent as observableFromEvent } from 'rxjs';
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { SkyPopoverAdapterService } from './popover-adapter.service';
|
|
3
|
+
import { Subject, animationFrameScheduler, debounceTime, distinctUntilChanged, map, fromEvent as observableFromEvent, takeUntil, } from 'rxjs';
|
|
6
4
|
import { skyPopoverAnimation } from './popover-animation';
|
|
7
5
|
import { parseAffixHorizontalAlignment, parseAffixPlacement, } from './popover-extensions';
|
|
8
6
|
import * as i0 from "@angular/core";
|
|
9
7
|
import * as i1 from "@skyux/core";
|
|
10
|
-
import * as i2 from "./popover-
|
|
11
|
-
import * as i3 from "
|
|
12
|
-
import * as i4 from "@
|
|
13
|
-
import * as i5 from "@angular/common";
|
|
8
|
+
import * as i2 from "./popover-context";
|
|
9
|
+
import * as i3 from "@skyux/theme";
|
|
10
|
+
import * as i4 from "@angular/common";
|
|
14
11
|
/**
|
|
15
12
|
* @internal
|
|
16
13
|
*/
|
|
@@ -45,11 +42,11 @@ export class SkyPopoverContentComponent {
|
|
|
45
42
|
#changeDetector;
|
|
46
43
|
#elementRef;
|
|
47
44
|
#affixService;
|
|
45
|
+
#arrowAffixer;
|
|
48
46
|
#coreAdapterService;
|
|
49
|
-
#adapterService;
|
|
50
47
|
#context;
|
|
51
48
|
#themeSvc;
|
|
52
|
-
constructor(changeDetector, elementRef, affixService, coreAdapterService,
|
|
49
|
+
constructor(changeDetector, elementRef, affixService, coreAdapterService, context, themeSvc) {
|
|
53
50
|
this.animationState = 'closed';
|
|
54
51
|
this.dismissOnBlur = true;
|
|
55
52
|
this.enableAnimations = true;
|
|
@@ -65,7 +62,6 @@ export class SkyPopoverContentComponent {
|
|
|
65
62
|
this.#elementRef = elementRef;
|
|
66
63
|
this.#affixService = affixService;
|
|
67
64
|
this.#coreAdapterService = coreAdapterService;
|
|
68
|
-
this.#adapterService = adapterService;
|
|
69
65
|
this.#context = context;
|
|
70
66
|
this.#themeSvc = themeSvc;
|
|
71
67
|
}
|
|
@@ -95,6 +91,11 @@ export class SkyPopoverContentComponent {
|
|
|
95
91
|
this.affixer.destroy();
|
|
96
92
|
this.affixer = undefined;
|
|
97
93
|
}
|
|
94
|
+
/* istanbul ignore else */
|
|
95
|
+
if (this.#arrowAffixer) {
|
|
96
|
+
this.#arrowAffixer.destroy();
|
|
97
|
+
this.#arrowAffixer = undefined;
|
|
98
|
+
}
|
|
98
99
|
}
|
|
99
100
|
onAnimationEvent(event) {
|
|
100
101
|
if (event.fromState === 'void') {
|
|
@@ -131,7 +132,7 @@ export class SkyPopoverContentComponent {
|
|
|
131
132
|
// Let the styles render before gauging the affix dimensions.
|
|
132
133
|
setTimeout(() => {
|
|
133
134
|
/* istanbul ignore if */
|
|
134
|
-
if (!this.popoverRef?.nativeElement || this.#ngUnsubscribe.
|
|
135
|
+
if (!this.popoverRef?.nativeElement || this.#ngUnsubscribe.closed) {
|
|
135
136
|
return;
|
|
136
137
|
}
|
|
137
138
|
if (!this.affixer) {
|
|
@@ -167,36 +168,33 @@ export class SkyPopoverContentComponent {
|
|
|
167
168
|
#setupAffixer() {
|
|
168
169
|
if (this.popoverRef) {
|
|
169
170
|
const affixer = this.#affixService.createAffixer(this.popoverRef);
|
|
170
|
-
affixer.offsetChange
|
|
171
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
172
|
-
.subscribe(() => {
|
|
173
|
-
this.#updateArrowOffset();
|
|
174
|
-
this.#changeDetector.markForCheck();
|
|
175
|
-
});
|
|
176
|
-
affixer.overflowScroll
|
|
177
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
178
|
-
.subscribe(() => {
|
|
179
|
-
this.#updateArrowOffset();
|
|
180
|
-
this.#changeDetector.markForCheck();
|
|
181
|
-
});
|
|
182
171
|
affixer.placementChange
|
|
183
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
184
|
-
.subscribe((
|
|
185
|
-
this.placement =
|
|
186
|
-
this.#
|
|
172
|
+
.pipe(takeUntil(this.#ngUnsubscribe), debounceTime(0, animationFrameScheduler), map((change) => change.placement), distinctUntilChanged())
|
|
173
|
+
.subscribe((placement) => {
|
|
174
|
+
this.placement = placement;
|
|
175
|
+
this.#updateArrowOffset();
|
|
176
|
+
this.#changeDetector.detectChanges();
|
|
187
177
|
});
|
|
188
178
|
this.affixer = affixer;
|
|
189
179
|
}
|
|
190
180
|
}
|
|
191
181
|
#updateArrowOffset() {
|
|
192
|
-
if (this.#caller && this.
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
182
|
+
if (this.#caller && this.arrowRef && this.placement) {
|
|
183
|
+
this.#arrowAffixer?.destroy();
|
|
184
|
+
this.#arrowAffixer = this.#affixService.createAffixer(this.arrowRef);
|
|
185
|
+
this.#arrowAffixer.affixTo(this.#caller?.nativeElement, {
|
|
186
|
+
autoFitContext: SkyAffixAutoFitContext.Viewport,
|
|
187
|
+
enableAutoFit: false,
|
|
188
|
+
horizontalAlignment: ['above', 'below'].includes(this.placement)
|
|
189
|
+
? 'center'
|
|
190
|
+
: undefined,
|
|
191
|
+
verticalAlignment: ['left', 'right'].includes(this.placement)
|
|
192
|
+
? 'middle'
|
|
193
|
+
: undefined,
|
|
194
|
+
isSticky: true,
|
|
195
|
+
placement: parseAffixPlacement(this.placement),
|
|
196
|
+
position: 'absolute',
|
|
197
|
+
});
|
|
200
198
|
}
|
|
201
199
|
}
|
|
202
200
|
#isFocusLeavingElement(event) {
|
|
@@ -243,13 +241,13 @@ export class SkyPopoverContentComponent {
|
|
|
243
241
|
}
|
|
244
242
|
});
|
|
245
243
|
}
|
|
246
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyPopoverContentComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyAffixService }, { token: i1.SkyCoreAdapterService }, { token: i2.
|
|
247
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SkyPopoverContentComponent, selector: "sky-popover-content", host: { properties: { "id": "this.popoverId" } }, providers: [SkyPopoverAdapterService], viewQueries: [{ propertyName: "arrowRef", first: true, predicate: ["arrowRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "popoverRef", first: true, predicate: ["popoverRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "contentTarget", first: true, predicate: ["contentTarget"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n #popoverRef\n class=\"sky-popover-container sky-popover-max-height\"\n [@.disabled]=\"!enableAnimations\"\n [@skyPopoverAnimation]=\"animationState\"\n [class.sky-popover-hidden]=\"!placement\"\n [ngClass]=\"[\n 'sky-popover-alignment-' + horizontalAlignment,\n 'sky-popover-placement-' + placement,\n 'sky-popover-' + popoverType\n ]\"\n (@skyPopoverAnimation.done)=\"onAnimationEvent($event)\"\n (@skyPopoverAnimation.start)=\"onAnimationEvent($event)\"\n>\n <div\n class=\"sky-popover\"\n tabindex=\"-1\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n >\n @if (popoverTitle) {\n <div\n class=\"sky-popover-header\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg sky-margin-stacked-lg': 'modern'\n }\"\n >\n <h4 class=\"sky-popover-title sky-font-heading-4\">\n {{ popoverTitle }}\n </h4>\n </div>\n }\n <div\n class=\"sky-popover-body\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg': 'modern'\n }\"\n >\n <ng-container #contentTarget />\n </div>\n <span\n #arrowRef\n aria-hidden=\"true\"\n class=\"sky-popover-arrow\"\n [style.left.px]=\"arrowLeft\"\n [style.top.px]=\"arrowTop\"\n ></span>\n </div>\n</div>\n", styles: [".sky-popover-container{position:fixed;min-width:276px;max-width:276px}.sky-popover-container.sky-popover-hidden{visibility:hidden;opacity:0;pointer-events:none!important}.sky-popover-container.sky-popover-hidden *{pointer-events:none!important}.sky-popover-container.sky-popover-static .sky-popover-arrow{position:absolute}.sky-popover-container:focus{outline:none}@media (max-width: 276px){.sky-popover-container{max-width:100%;min-width:auto}}.sky-popover{background-color:#fff}.sky-popover-header{padding-bottom:0}.sky-popover-header+.sky-popover-body{padding-top:2px}.sky-popover-title{margin:0}.sky-popover-arrow{width:0;height:0;position:fixed;border:10px solid transparent}.sky-popover-placement-above{padding-bottom:10px}.sky-popover-placement-above .sky-popover{border-bottom:10px solid #00b4f1}.sky-popover-placement-above .sky-popover-arrow{border-bottom:0;border-top-color:#00b4f1;bottom:0;left:50%;margin-left:-10px}.sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044}.sky-popover-placement-below{padding-top:10px}.sky-popover-placement-below .sky-popover{border-top:10px solid #00b4f1}.sky-popover-placement-below .sky-popover-arrow{border-top:0;border-bottom-color:#00b4f1;top:0;left:50%;margin-left:-10px}.sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044}.sky-popover-placement-right{padding-left:10px}.sky-popover-placement-right .sky-popover{border-left:10px solid #00b4f1}.sky-popover-placement-right .sky-popover-arrow{border-left:0;border-right-color:#00b4f1;left:0;top:50%;margin-top:-10px}.sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-right-color:#ef4044}.sky-popover-placement-left{padding-right:10px}.sky-popover-placement-left .sky-popover{border-right:10px solid #00b4f1}.sky-popover-placement-left .sky-popover-arrow{border-right:0;border-left-color:#00b4f1;right:0;top:50%;margin-top:-10px}.sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-left-color:#ef4044}.sky-popover-placement-above.sky-popover-alignment-left .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-left .sky-popover-arrow{left:40px;right:auto}.sky-popover-placement-above.sky-popover-alignment-right .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-right .sky-popover-arrow{left:auto;right:40px}.sky-popover-max-height .sky-popover{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(100vh - min(50px,5vh))}:host-context(.sky-theme-modern) .sky-popover{border-radius:6px}:host-context(.sky-theme-modern) .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-above{padding-bottom:10px}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-below{padding-top:10px}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-right{padding-left:10px}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-left{padding-right:10px}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover{border-radius:6px}.sky-theme-modern .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}.sky-theme-modern .sky-popover-placement-above{padding-bottom:10px}.sky-theme-modern .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover-placement-below{padding-top:10px}.sky-theme-modern .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-right{padding-left:10px}.sky-theme-modern .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-left{padding-right:10px}.sky-theme-modern .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], animations: [skyPopoverAnimation] }); }
|
|
244
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyPopoverContentComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyAffixService }, { token: i1.SkyCoreAdapterService }, { token: i2.SkyPopoverContext }, { token: i3.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
245
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SkyPopoverContentComponent, selector: "sky-popover-content", host: { properties: { "id": "this.popoverId" } }, viewQueries: [{ propertyName: "arrowRef", first: true, predicate: ["arrowRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "popoverRef", first: true, predicate: ["popoverRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "contentTarget", first: true, predicate: ["contentTarget"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n #popoverRef\n class=\"sky-popover-container sky-popover-max-height\"\n [@.disabled]=\"!enableAnimations\"\n [@skyPopoverAnimation]=\"animationState\"\n [class.sky-popover-hidden]=\"!placement\"\n [ngClass]=\"[\n 'sky-popover-alignment-' + horizontalAlignment,\n 'sky-popover-placement-' + placement,\n 'sky-popover-' + popoverType\n ]\"\n (@skyPopoverAnimation.done)=\"onAnimationEvent($event)\"\n (@skyPopoverAnimation.start)=\"onAnimationEvent($event)\"\n>\n <div\n class=\"sky-popover\"\n tabindex=\"-1\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n >\n @if (popoverTitle) {\n <div\n class=\"sky-popover-header\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg sky-margin-stacked-lg': 'modern'\n }\"\n >\n <h4 class=\"sky-popover-title sky-font-heading-4\">\n {{ popoverTitle }}\n </h4>\n </div>\n }\n <div\n class=\"sky-popover-body\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg': 'modern'\n }\"\n >\n <ng-container #contentTarget />\n </div>\n </div>\n <span #arrowRef aria-hidden=\"true\" class=\"sky-popover-arrow\"></span>\n</div>\n", styles: [".sky-popover-container{position:fixed;min-width:276px;max-width:276px}.sky-popover-container.sky-popover-hidden{visibility:hidden;opacity:0;pointer-events:none!important}.sky-popover-container.sky-popover-hidden *{pointer-events:none!important}.sky-popover-container.sky-popover-static .sky-popover-arrow{position:absolute}.sky-popover-container:focus{outline:none}@media (max-width: 276px){.sky-popover-container{max-width:100%;min-width:auto}}.sky-popover{background-color:#fff}.sky-popover-header{padding-bottom:0}.sky-popover-header+.sky-popover-body{padding-top:2px}.sky-popover-title{margin:0}.sky-popover-arrow{display:inline-block;position:absolute;background-color:#00b4f1}.sky-popover-placement-above{padding-bottom:10px}.sky-popover-placement-above .sky-popover{border-bottom:10px solid #00b4f1}.sky-popover-placement-above .sky-popover-arrow{width:30px;height:15px;clip-path:polygon(0 0,50% 95%,100% 0)}.sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-popover-placement-below{padding-top:10px}.sky-popover-placement-below .sky-popover{border-top:10px solid #00b4f1}.sky-popover-placement-below .sky-popover-arrow{width:30px;height:15px;clip-path:polygon(50% 5%,0 100%,100% 100%)}.sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-popover-placement-right{padding-left:10px}.sky-popover-placement-right .sky-popover{border-left:10px solid #00b4f1}.sky-popover-placement-right .sky-popover-arrow{width:15px;height:30px;clip-path:polygon(5% 50%,100% 100%,100% 0);background-color:#00b4f1}.sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-popover-placement-left{padding-right:10px}.sky-popover-placement-left .sky-popover{border-right:10px solid #00b4f1}.sky-popover-placement-left .sky-popover-arrow{width:15px;height:30px;clip-path:polygon(0 0,0 100%,95% 50%);background-color:#00b4f1}.sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-popover-max-height .sky-popover{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(100vh - min(50px,5vh))}:host-context(.sky-theme-modern) .sky-popover{border-radius:6px}:host-context(.sky-theme-modern) .sky-popover-arrow{background-color:#00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above{padding-bottom:10px}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover-arrow{clip-path:polygon(0 0,45% 88%,50% 92%,55% 88%,100% 0)}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-below{padding-top:10px}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover-arrow{clip-path:polygon(0 100%,45% 12%,50% 8%,55% 12%,100% 100%)}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right{padding-left:10px}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover-arrow{clip-path:polygon(100% 0,12% 45%,8% 50%,12% 55%,100% 100%)}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left{padding-right:10px}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover-arrow{clip-path:polygon(0 0,88% 45%,92% 50%,88% 55%,0 100%)}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-theme-modern .sky-popover{border-radius:6px}.sky-theme-modern .sky-popover-arrow{background-color:#00b4f1}.sky-theme-modern .sky-popover-placement-above{padding-bottom:10px}.sky-theme-modern .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above .sky-popover-arrow{clip-path:polygon(0 0,45% 88%,50% 92%,55% 88%,100% 0)}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-theme-modern .sky-popover-placement-below{padding-top:10px}.sky-theme-modern .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below .sky-popover-arrow{clip-path:polygon(0 100%,45% 12%,50% 8%,55% 12%,100% 100%)}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-theme-modern .sky-popover-placement-right{padding-left:10px}.sky-theme-modern .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right .sky-popover-arrow{clip-path:polygon(100% 0,12% 45%,8% 50%,12% 55%,100% 100%)}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-theme-modern .sky-popover-placement-left{padding-right:10px}.sky-theme-modern .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left .sky-popover-arrow{clip-path:polygon(0 0,88% 45%,92% 50%,88% 55%,0 100%)}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], animations: [skyPopoverAnimation] }); }
|
|
248
246
|
}
|
|
249
247
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyPopoverContentComponent, decorators: [{
|
|
250
248
|
type: Component,
|
|
251
|
-
args: [{ selector: 'sky-popover-content', animations: [skyPopoverAnimation], providers: [SkyPopoverAdapterService], template: "<div\n #popoverRef\n class=\"sky-popover-container sky-popover-max-height\"\n [@.disabled]=\"!enableAnimations\"\n [@skyPopoverAnimation]=\"animationState\"\n [class.sky-popover-hidden]=\"!placement\"\n [ngClass]=\"[\n 'sky-popover-alignment-' + horizontalAlignment,\n 'sky-popover-placement-' + placement,\n 'sky-popover-' + popoverType\n ]\"\n (@skyPopoverAnimation.done)=\"onAnimationEvent($event)\"\n (@skyPopoverAnimation.start)=\"onAnimationEvent($event)\"\n>\n <div\n class=\"sky-popover\"\n tabindex=\"-1\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n >\n @if (popoverTitle) {\n <div\n class=\"sky-popover-header\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg sky-margin-stacked-lg': 'modern'\n }\"\n >\n <h4 class=\"sky-popover-title sky-font-heading-4\">\n {{ popoverTitle }}\n </h4>\n </div>\n }\n <div\n class=\"sky-popover-body\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg': 'modern'\n }\"\n >\n <ng-container #contentTarget />\n </div>\n <span\n #arrowRef\n aria-hidden=\"true\"\n class=\"sky-popover-arrow\"\n [style.left.px]=\"arrowLeft\"\n [style.top.px]=\"arrowTop\"\n ></span>\n </div>\n</div>\n", styles: [".sky-popover-container{position:fixed;min-width:276px;max-width:276px}.sky-popover-container.sky-popover-hidden{visibility:hidden;opacity:0;pointer-events:none!important}.sky-popover-container.sky-popover-hidden *{pointer-events:none!important}.sky-popover-container.sky-popover-static .sky-popover-arrow{position:absolute}.sky-popover-container:focus{outline:none}@media (max-width: 276px){.sky-popover-container{max-width:100%;min-width:auto}}.sky-popover{background-color:#fff}.sky-popover-header{padding-bottom:0}.sky-popover-header+.sky-popover-body{padding-top:2px}.sky-popover-title{margin:0}.sky-popover-arrow{width:0;height:0;position:fixed;border:10px solid transparent}.sky-popover-placement-above{padding-bottom:10px}.sky-popover-placement-above .sky-popover{border-bottom:10px solid #00b4f1}.sky-popover-placement-above .sky-popover-arrow{border-bottom:0;border-top-color:#00b4f1;bottom:0;left:50%;margin-left:-10px}.sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044}.sky-popover-placement-below{padding-top:10px}.sky-popover-placement-below .sky-popover{border-top:10px solid #00b4f1}.sky-popover-placement-below .sky-popover-arrow{border-top:0;border-bottom-color:#00b4f1;top:0;left:50%;margin-left:-10px}.sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044}.sky-popover-placement-right{padding-left:10px}.sky-popover-placement-right .sky-popover{border-left:10px solid #00b4f1}.sky-popover-placement-right .sky-popover-arrow{border-left:0;border-right-color:#00b4f1;left:0;top:50%;margin-top:-10px}.sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-right-color:#ef4044}.sky-popover-placement-left{padding-right:10px}.sky-popover-placement-left .sky-popover{border-right:10px solid #00b4f1}.sky-popover-placement-left .sky-popover-arrow{border-right:0;border-left-color:#00b4f1;right:0;top:50%;margin-top:-10px}.sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-left-color:#ef4044}.sky-popover-placement-above.sky-popover-alignment-left .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-left .sky-popover-arrow{left:40px;right:auto}.sky-popover-placement-above.sky-popover-alignment-right .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-right .sky-popover-arrow{left:auto;right:40px}.sky-popover-max-height .sky-popover{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(100vh - min(50px,5vh))}:host-context(.sky-theme-modern) .sky-popover{border-radius:6px}:host-context(.sky-theme-modern) .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-above{padding-bottom:10px}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-below{padding-top:10px}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-right{padding-left:10px}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-left{padding-right:10px}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover{border-radius:6px}.sky-theme-modern .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}.sky-theme-modern .sky-popover-placement-above{padding-bottom:10px}.sky-theme-modern .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover-placement-below{padding-top:10px}.sky-theme-modern .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-right{padding-left:10px}.sky-theme-modern .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-left{padding-right:10px}.sky-theme-modern .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}\n"] }]
|
|
252
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.SkyAffixService }, { type: i1.SkyCoreAdapterService }, { type: i2.
|
|
249
|
+
args: [{ selector: 'sky-popover-content', animations: [skyPopoverAnimation], template: "<div\n #popoverRef\n class=\"sky-popover-container sky-popover-max-height\"\n [@.disabled]=\"!enableAnimations\"\n [@skyPopoverAnimation]=\"animationState\"\n [class.sky-popover-hidden]=\"!placement\"\n [ngClass]=\"[\n 'sky-popover-alignment-' + horizontalAlignment,\n 'sky-popover-placement-' + placement,\n 'sky-popover-' + popoverType\n ]\"\n (@skyPopoverAnimation.done)=\"onAnimationEvent($event)\"\n (@skyPopoverAnimation.start)=\"onAnimationEvent($event)\"\n>\n <div\n class=\"sky-popover\"\n tabindex=\"-1\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n >\n @if (popoverTitle) {\n <div\n class=\"sky-popover-header\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg sky-margin-stacked-lg': 'modern'\n }\"\n >\n <h4 class=\"sky-popover-title sky-font-heading-4\">\n {{ popoverTitle }}\n </h4>\n </div>\n }\n <div\n class=\"sky-popover-body\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg': 'modern'\n }\"\n >\n <ng-container #contentTarget />\n </div>\n </div>\n <span #arrowRef aria-hidden=\"true\" class=\"sky-popover-arrow\"></span>\n</div>\n", styles: [".sky-popover-container{position:fixed;min-width:276px;max-width:276px}.sky-popover-container.sky-popover-hidden{visibility:hidden;opacity:0;pointer-events:none!important}.sky-popover-container.sky-popover-hidden *{pointer-events:none!important}.sky-popover-container.sky-popover-static .sky-popover-arrow{position:absolute}.sky-popover-container:focus{outline:none}@media (max-width: 276px){.sky-popover-container{max-width:100%;min-width:auto}}.sky-popover{background-color:#fff}.sky-popover-header{padding-bottom:0}.sky-popover-header+.sky-popover-body{padding-top:2px}.sky-popover-title{margin:0}.sky-popover-arrow{display:inline-block;position:absolute;background-color:#00b4f1}.sky-popover-placement-above{padding-bottom:10px}.sky-popover-placement-above .sky-popover{border-bottom:10px solid #00b4f1}.sky-popover-placement-above .sky-popover-arrow{width:30px;height:15px;clip-path:polygon(0 0,50% 95%,100% 0)}.sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-popover-placement-below{padding-top:10px}.sky-popover-placement-below .sky-popover{border-top:10px solid #00b4f1}.sky-popover-placement-below .sky-popover-arrow{width:30px;height:15px;clip-path:polygon(50% 5%,0 100%,100% 100%)}.sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-popover-placement-right{padding-left:10px}.sky-popover-placement-right .sky-popover{border-left:10px solid #00b4f1}.sky-popover-placement-right .sky-popover-arrow{width:15px;height:30px;clip-path:polygon(5% 50%,100% 100%,100% 0);background-color:#00b4f1}.sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-popover-placement-left{padding-right:10px}.sky-popover-placement-left .sky-popover{border-right:10px solid #00b4f1}.sky-popover-placement-left .sky-popover-arrow{width:15px;height:30px;clip-path:polygon(0 0,0 100%,95% 50%);background-color:#00b4f1}.sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-popover-max-height .sky-popover{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(100vh - min(50px,5vh))}:host-context(.sky-theme-modern) .sky-popover{border-radius:6px}:host-context(.sky-theme-modern) .sky-popover-arrow{background-color:#00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above{padding-bottom:10px}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover-arrow{clip-path:polygon(0 0,45% 88%,50% 92%,55% 88%,100% 0)}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-below{padding-top:10px}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover-arrow{clip-path:polygon(0 100%,45% 12%,50% 8%,55% 12%,100% 100%)}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right{padding-left:10px}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover-arrow{clip-path:polygon(100% 0,12% 45%,8% 50%,12% 55%,100% 100%)}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left{padding-right:10px}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover-arrow{clip-path:polygon(0 0,88% 45%,92% 50%,88% 55%,0 100%)}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-theme-modern .sky-popover{border-radius:6px}.sky-theme-modern .sky-popover-arrow{background-color:#00b4f1}.sky-theme-modern .sky-popover-placement-above{padding-bottom:10px}.sky-theme-modern .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above .sky-popover-arrow{clip-path:polygon(0 0,45% 88%,50% 92%,55% 88%,100% 0)}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-theme-modern .sky-popover-placement-below{padding-top:10px}.sky-theme-modern .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below .sky-popover-arrow{clip-path:polygon(0 100%,45% 12%,50% 8%,55% 12%,100% 100%)}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-theme-modern .sky-popover-placement-right{padding-left:10px}.sky-theme-modern .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right .sky-popover-arrow{clip-path:polygon(100% 0,12% 45%,8% 50%,12% 55%,100% 100%)}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}.sky-theme-modern .sky-popover-placement-left{padding-right:10px}.sky-theme-modern .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left .sky-popover-arrow{clip-path:polygon(0 0,88% 45%,92% 50%,88% 55%,0 100%)}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{background-color:#ef4044}\n"] }]
|
|
250
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.SkyAffixService }, { type: i1.SkyCoreAdapterService }, { type: i2.SkyPopoverContext }, { type: i3.SkyThemeService, decorators: [{
|
|
253
251
|
type: Optional
|
|
254
252
|
}] }], propDecorators: { popoverId: [{
|
|
255
253
|
type: HostBinding,
|
|
@@ -273,4 +271,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
273
271
|
static: true,
|
|
274
272
|
}]
|
|
275
273
|
}] } });
|
|
276
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wb3BvdmVycy9zcmMvbGliL21vZHVsZXMvcG9wb3Zlci9wb3BvdmVyLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3NyYy9saWIvbW9kdWxlcy9wb3BvdmVyL3BvcG92ZXItY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBR1gsUUFBUSxFQUNSLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLHNCQUFzQixHQUt2QixNQUFNLGFBQWEsQ0FBQztBQUdyQixPQUFPLEVBQWMsT0FBTyxFQUFFLFNBQVMsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHMUQsT0FBTyxFQUNMLDZCQUE2QixFQUM3QixtQkFBbUIsR0FDcEIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQUs5Qjs7R0FFRztBQVFILE1BQU0sT0FBTywwQkFBMEI7SUFNckMsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsWUFB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QUFDLElBQUk7Z0JBa0RWLFFBQVE7c0JBSmQsU0FBUzt1QkFBQyxVQUFVLEVBQUU7d0JBQ3JCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTSxVQUFVO3NCQUpoQixTQUFTO3VCQUFDLFlBQVksRUFBRTt3QkFDdkIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9VLGFBQWE7c0JBSnZCLFNBQVM7dUJBQUMsZUFBZSxFQUFFO3dCQUMxQixJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixNQUFNLEVBQUUsSUFBSTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5QWZmaXhBdXRvRml0Q29udGV4dCxcbiAgU2t5QWZmaXhDb25maWcsXG4gIFNreUFmZml4U2VydmljZSxcbiAgU2t5QWZmaXhlcixcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lUaGVtZVNlcnZpY2UgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBmcm9tRXZlbnQgYXMgb2JzZXJ2YWJsZUZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lQb3BvdmVyQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3BvcG92ZXItYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IHNreVBvcG92ZXJBbmltYXRpb24gfSBmcm9tICcuL3BvcG92ZXItYW5pbWF0aW9uJztcbmltcG9ydCB7IFNreVBvcG92ZXJBbmltYXRpb25TdGF0ZSB9IGZyb20gJy4vcG9wb3Zlci1hbmltYXRpb24tc3RhdGUnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlckNvbnRleHQgfSBmcm9tICcuL3BvcG92ZXItY29udGV4dCc7XG5pbXBvcnQge1xuICBwYXJzZUFmZml4SG9yaXpvbnRhbEFsaWdubWVudCxcbiAgcGFyc2VBZmZpeFBsYWNlbWVudCxcbn0gZnJvbSAnLi9wb3BvdmVyLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlckFsaWdubWVudCB9IGZyb20gJy4vdHlwZXMvcG9wb3Zlci1hbGlnbm1lbnQnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlclBsYWNlbWVudCB9IGZyb20gJy4vdHlwZXMvcG9wb3Zlci1wbGFjZW1lbnQnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlclR5cGUgfSBmcm9tICcuL3R5cGVzL3BvcG92ZXItdHlwZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wb3BvdmVyLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtza3lQb3BvdmVyQW5pbWF0aW9uXSxcbiAgcHJvdmlkZXJzOiBbU2t5UG9wb3ZlckFkYXB0ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UG9wb3ZlckNvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBIb3N0QmluZGluZygnaWQnKVxuICBwcm90ZWN0ZWQgcG9wb3ZlcklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGFuaW1hdGlvblN0YXRlOiBTa3lQb3BvdmVyQW5pbWF0aW9uU3RhdGUgPSAnY2xvc2VkJztcblxuICBwdWJsaWMgZ2V0IGNsb3NlZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jX2Nsb3NlZC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3BlbmVkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNfb3BlbmVkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc01vdXNlRW50ZXIoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuI19pc01vdXNlRW50ZXIuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgYWZmaXhlcjogU2t5QWZmaXhlciB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgYXJyb3dMZWZ0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGFycm93VG9wOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGRpc21pc3NPbkJsdXIgPSB0cnVlO1xuXG4gIHB1YmxpYyBlbmFibGVBbmltYXRpb25zID0gdHJ1ZTtcblxuICBwdWJsaWMgaG9yaXpvbnRhbEFsaWdubWVudDogU2t5UG9wb3ZlckFsaWdubWVudCA9ICdjZW50ZXInO1xuXG4gIHB1YmxpYyBzZXQgaXNPcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jX2lzT3BlbiA9IHZhbHVlO1xuICAgIHRoaXMuYW5pbWF0aW9uU3RhdGUgPSB2YWx1ZSA/ICdvcGVuJyA6ICdjbG9zZWQnO1xuICB9XG5cbiAgcHVibGljIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19pc09wZW47XG4gIH1cblxuICBwdWJsaWMgcGxhY2VtZW50OiBTa3lQb3BvdmVyUGxhY2VtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIHBvcG92ZXJUaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBwb3BvdmVyVHlwZTogU2t5UG9wb3ZlclR5cGUgPSAnaW5mbyc7XG5cbiAgcHVibGljIHRoZW1lTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ2Fycm93UmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgYXJyb3dSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgncG9wb3ZlclJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIHBvcG92ZXJSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnY29udGVudFRhcmdldCcsIHtcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIHNldCBjb250ZW50VGFyZ2V0KHZhbHVlOiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB2YWx1ZS5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy4jY29udGV4dC5jb250ZW50VGVtcGxhdGVSZWYpO1xuICAgIH1cbiAgfVxuXG4gICNjYWxsZXI6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfY2xvc2VkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjX2lzTW91c2VFbnRlciA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgI19pc09wZW4gPSBmYWxzZTtcblxuICAjX29wZW5lZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gICNhZmZpeFNlcnZpY2U6IFNreUFmZml4U2VydmljZTtcbiAgI2NvcmVBZGFwdGVyU2VydmljZTogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuICAjYWRhcHRlclNlcnZpY2U6IFNreVBvcG92ZXJBZGFwdGVyU2VydmljZTtcbiAgI2NvbnRleHQ6IFNreVBvcG92ZXJDb250ZXh0O1xuICAjdGhlbWVTdmM6IFNreVRoZW1lU2VydmljZSB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBhZmZpeFNlcnZpY2U6IFNreUFmZml4U2VydmljZSxcbiAgICBjb3JlQWRhcHRlclNlcnZpY2U6IFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgICBhZGFwdGVyU2VydmljZTogU2t5UG9wb3ZlckFkYXB0ZXJTZXJ2aWNlLFxuICAgIGNvbnRleHQ6IFNreVBvcG92ZXJDb250ZXh0LFxuICAgIEBPcHRpb25hbCgpIHRoZW1lU3ZjPzogU2t5VGhlbWVTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2VsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICAgIHRoaXMuI2FmZml4U2VydmljZSA9IGFmZml4U2VydmljZTtcbiAgICB0aGlzLiNjb3JlQWRhcHRlclNlcnZpY2UgPSBjb3JlQWRhcHRlclNlcnZpY2U7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2UgPSBhZGFwdGVyU2VydmljZTtcbiAgICB0aGlzLiNjb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLiN0aGVtZVN2YyA9IHRoZW1lU3ZjO1xuICB9XG5cbiAgcHVibGljIGhhc0ZvY3VzYWJsZUNvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuI2NvcmVBZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbihcbiAgICAgICAgdGhpcy5wb3BvdmVyUmVmPy5uYXRpdmVFbGVtZW50LFxuICAgICAgKS5sZW5ndGggPiAwXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNhZGRFdmVudExpc3RlbmVycygpO1xuXG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHRoaXMuI3RoZW1lU3ZjKSB7XG4gICAgICB0aGlzLiN0aGVtZVN2Yy5zZXR0aW5nc0NoYW5nZVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRoZW1lU2V0dGluZ3MpID0+IHtcbiAgICAgICAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0Ki9cbiAgICAgICAgICB0aGlzLnRoZW1lTmFtZSA9IHRoZW1lU2V0dGluZ3MuY3VycmVudFNldHRpbmdzPy50aGVtZT8ubmFtZTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIHRoaXMuI19jbG9zZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLiNfaXNNb3VzZUVudGVyLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jX29wZW5lZC5jb21wbGV0ZSgpO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5hZmZpeGVyKSB7XG4gICAgICB0aGlzLmFmZml4ZXIuZGVzdHJveSgpO1xuICAgICAgdGhpcy5hZmZpeGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkFuaW1hdGlvbkV2ZW50KGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5mcm9tU3RhdGUgPT09ICd2b2lkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudC5waGFzZU5hbWUgPT09ICdkb25lJykge1xuICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICdvcGVuJykge1xuICAgICAgICB0aGlzLiNfb3BlbmVkLm5leHQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuI19jbG9zZWQubmV4dCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvcGVuKFxuICAgIGNhbGxlcjogRWxlbWVudFJlZixcbiAgICBjb25maWc6IHtcbiAgICAgIGRpc21pc3NPbkJsdXI6IGJvb2xlYW47XG4gICAgICBlbmFibGVBbmltYXRpb25zOiBib29sZWFuO1xuICAgICAgaG9yaXpvbnRhbEFsaWdubWVudDogU2t5UG9wb3ZlckFsaWdubWVudDtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBpc1N0YXRpYzogYm9vbGVhbjtcbiAgICAgIHBsYWNlbWVudDogU2t5UG9wb3ZlclBsYWNlbWVudDtcbiAgICAgIHBvcG92ZXJUaXRsZT86IHN0cmluZztcbiAgICAgIHBvcG92ZXJUeXBlOiBTa3lQb3BvdmVyVHlwZTtcbiAgICB9LFxuICApOiB2b2lkIHtcbiAgICB0aGlzLiNjYWxsZXIgPSBjYWxsZXI7XG4gICAgdGhpcy5kaXNtaXNzT25CbHVyID0gY29uZmlnLmRpc21pc3NPbkJsdXI7XG4gICAgdGhpcy5lbmFibGVBbmltYXRpb25zID0gY29uZmlnLmVuYWJsZUFuaW1hdGlvbnM7XG4gICAgdGhpcy5ob3Jpem9udGFsQWxpZ25tZW50ID0gY29uZmlnLmhvcml6b250YWxBbGlnbm1lbnQ7XG4gICAgdGhpcy5wb3BvdmVySWQgPSBjb25maWcuaWQ7XG4gICAgdGhpcy5wbGFjZW1lbnQgPSBjb25maWcucGxhY2VtZW50O1xuICAgIHRoaXMucG9wb3ZlclRpdGxlID0gY29uZmlnLnBvcG92ZXJUaXRsZTtcbiAgICB0aGlzLnBvcG92ZXJUeXBlID0gY29uZmlnLnBvcG92ZXJUeXBlO1xuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICAvLyBJbmRpY2F0ZXMgaWYgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIGRpc3BsYXllZCBzdGF0aWNhbGx5LlxuICAgIC8vIFBsZWFzZSBub3RlOiBUaGlzIGZlYXR1cmUgaXMgaW50ZXJuYWwtb25seSBhbmQgdXNlZCBieSB0aGUgdmlzdWFsIHRlc3RzIHRvIGNhcHR1cmUgbXVsdGlwbGVcbiAgICAvLyBzdGF0ZXMgc2ltdWx0YW5lb3VzbHkgd2l0aG91dCB0aGUgb3ZlcmhlYWQgb2YgZXZlbnQgbGlzdGVuZXJzLlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChjb25maWcuaXNTdGF0aWMpIHtcbiAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIExldCB0aGUgc3R5bGVzIHJlbmRlciBiZWZvcmUgZ2F1Z2luZyB0aGUgYWZmaXggZGltZW5zaW9ucy5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKCF0aGlzLnBvcG92ZXJSZWY/Lm5hdGl2ZUVsZW1lbnQgfHwgdGhpcy4jbmdVbnN1YnNjcmliZS5pc1N0b3BwZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuYWZmaXhlcikge1xuICAgICAgICB0aGlzLiNzZXR1cEFmZml4ZXIoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWZmaXhPcHRpb25zOiBTa3lBZmZpeENvbmZpZyA9IHtcbiAgICAgICAgYXV0b0ZpdENvbnRleHQ6IFNreUFmZml4QXV0b0ZpdENvbnRleHQuVmlld3BvcnQsXG4gICAgICAgIGVuYWJsZUF1dG9GaXQ6IHRydWUsXG4gICAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6IHBhcnNlQWZmaXhIb3Jpem9udGFsQWxpZ25tZW50KFxuICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICAgICAgKSxcbiAgICAgICAgaXNTdGlja3k6IHRydWUsXG4gICAgICAgIHBsYWNlbWVudDogcGFyc2VBZmZpeFBsYWNlbWVudCh0aGlzLnBsYWNlbWVudCBhcyBTa3lQb3BvdmVyUGxhY2VtZW50KSxcbiAgICAgIH07XG5cbiAgICAgIC8vIEVuc3VyZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgaXMgc2V0IGFjY29yZGluZyB0byB0aGUgcG9wb3ZlcidzIHBsYWNlbWVudCB2YWx1ZS5cbiAgICAgIGlmIChcbiAgICAgICAgYWZmaXhPcHRpb25zLnBsYWNlbWVudCA9PT0gJ2xlZnQnIHx8XG4gICAgICAgIGFmZml4T3B0aW9ucy5wbGFjZW1lbnQgPT09ICdyaWdodCdcbiAgICAgICkge1xuICAgICAgICBhZmZpeE9wdGlvbnMudmVydGljYWxBbGlnbm1lbnQgPSAnbWlkZGxlJztcbiAgICAgIH1cblxuICAgICAgdGhpcy5hZmZpeGVyIS5hZmZpeFRvKHRoaXMuI2NhbGxlcj8ubmF0aXZlRWxlbWVudCwgYWZmaXhPcHRpb25zKTtcblxuICAgICAgdGhpcy4jdXBkYXRlQXJyb3dPZmZzZXQoKTtcblxuICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseUZvY3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBvcG92ZXJSZWYgJiYgdGhpcy5pc09wZW4pIHtcbiAgICAgIHRoaXMuI2NvcmVBZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbkFuZEFwcGx5Rm9jdXMoXG4gICAgICAgIHRoaXMucG9wb3ZlclJlZixcbiAgICAgICAgJy5za3ktcG9wb3ZlcicsXG4gICAgICAgIHRydWUsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gICNzZXR1cEFmZml4ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucG9wb3ZlclJlZikge1xuICAgICAgY29uc3QgYWZmaXhlciA9IHRoaXMuI2FmZml4U2VydmljZS5jcmVhdGVBZmZpeGVyKHRoaXMucG9wb3ZlclJlZik7XG5cbiAgICAgIGFmZml4ZXIub2Zmc2V0Q2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQXJyb3dPZmZzZXQoKTtcbiAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIGFmZml4ZXIub3ZlcmZsb3dTY3JvbGxcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVBcnJvd09mZnNldCgpO1xuICAgICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcblxuICAgICAgYWZmaXhlci5wbGFjZW1lbnRDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgICAgICB0aGlzLnBsYWNlbWVudCA9IGNoYW5nZS5wbGFjZW1lbnQ7XG4gICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLmFmZml4ZXIgPSBhZmZpeGVyO1xuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVBcnJvd09mZnNldCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jY2FsbGVyICYmIHRoaXMucG9wb3ZlclJlZiAmJiB0aGlzLmFycm93UmVmICYmIHRoaXMucGxhY2VtZW50KSB7XG4gICAgICBjb25zdCB7IHRvcCwgbGVmdCB9ID0gdGhpcy4jYWRhcHRlclNlcnZpY2UuZ2V0QXJyb3dDb29yZGluYXRlcyhcbiAgICAgICAge1xuICAgICAgICAgIGNhbGxlcjogdGhpcy4jY2FsbGVyLFxuICAgICAgICAgIHBvcG92ZXI6IHRoaXMucG9wb3ZlclJlZixcbiAgICAgICAgICBwb3BvdmVyQXJyb3c6IHRoaXMuYXJyb3dSZWYsXG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMucGxhY2VtZW50LFxuICAgICAgICB0aGlzLnRoZW1lTmFtZSxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuYXJyb3dUb3AgPSB0b3A7XG4gICAgICB0aGlzLmFycm93TGVmdCA9IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgI2lzRm9jdXNMZWF2aW5nRWxlbWVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZvY3VzYWJsZUl0ZW1zID0gdGhpcy4jY29yZUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuKFxuICAgICAgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICk7XG5cbiAgICBjb25zdCBpc0ZpcnN0SXRlbSA9IGZvY3VzYWJsZUl0ZW1zWzBdID09PSBldmVudC50YXJnZXQgJiYgZXZlbnQuc2hpZnRLZXk7XG5cbiAgICBjb25zdCBpc0xhc3RJdGVtID1cbiAgICAgIGZvY3VzYWJsZUl0ZW1zW2ZvY3VzYWJsZUl0ZW1zLmxlbmd0aCAtIDFdID09PSBldmVudC50YXJnZXQgJiZcbiAgICAgICFldmVudC5zaGlmdEtleTtcblxuICAgIHJldHVybiBmb2N1c2FibGVJdGVtcy5sZW5ndGggPT09IDAgfHwgaXNGaXJzdEl0ZW0gfHwgaXNMYXN0SXRlbTtcbiAgfVxuXG4gICNhZGRFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoaG9zdEVsZW1lbnQsICdtb3VzZWVudGVyJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy4jX2lzTW91c2VFbnRlci5uZXh0KHRydWUpKTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoaG9zdEVsZW1lbnQsICdtb3VzZWxlYXZlJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy4jX2lzTW91c2VFbnRlci5uZXh0KGZhbHNlKSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGhvc3RFbGVtZW50LCAna2V5ZG93bicpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgIGNhc2UgJ2VzY2FwZSc6XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLiNjYWxsZXI/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgLy8gU2luY2UgdGhlIHBvcG92ZXIgbm93IGxpdmVzIGluIGFuIG92ZXJsYXkgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZG9jdW1lbnQgYm9keSwgd2UgbmVlZFxuICAgICAgICAgIC8vIHRvIGhhbmRsZSB0aGUgdGFiIGtleSBvdXJzZWx2ZXMuIE90aGVyd2lzZSwgZm9jdXMgd291bGQgYmUgbW92ZWQgdG8gdGhlIGJyb3dzZXInc1xuICAgICAgICAgIC8vIHNlYXJjaCBiYXIuXG4gICAgICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNtaXNzT25CbHVyKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgICAgICAgICBpZiAodGhpcy4jaXNGb2N1c0xlYXZpbmdFbGVtZW50KGV2ZW50KSkge1xuICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICAgIHRoaXMuI2NhbGxlcj8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGRpdlxuICAjcG9wb3ZlclJlZlxuICBjbGFzcz1cInNreS1wb3BvdmVyLWNvbnRhaW5lciBza3ktcG9wb3Zlci1tYXgtaGVpZ2h0XCJcbiAgW0AuZGlzYWJsZWRdPVwiIWVuYWJsZUFuaW1hdGlvbnNcIlxuICBbQHNreVBvcG92ZXJBbmltYXRpb25dPVwiYW5pbWF0aW9uU3RhdGVcIlxuICBbY2xhc3Muc2t5LXBvcG92ZXItaGlkZGVuXT1cIiFwbGFjZW1lbnRcIlxuICBbbmdDbGFzc109XCJbXG4gICAgJ3NreS1wb3BvdmVyLWFsaWdubWVudC0nICsgaG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICAnc2t5LXBvcG92ZXItcGxhY2VtZW50LScgKyBwbGFjZW1lbnQsXG4gICAgJ3NreS1wb3BvdmVyLScgKyBwb3BvdmVyVHlwZVxuICBdXCJcbiAgKEBza3lQb3BvdmVyQW5pbWF0aW9uLmRvbmUpPVwib25BbmltYXRpb25FdmVudCgkZXZlbnQpXCJcbiAgKEBza3lQb3BvdmVyQW5pbWF0aW9uLnN0YXJ0KT1cIm9uQW5pbWF0aW9uRXZlbnQoJGV2ZW50KVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1wb3BvdmVyXCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbiAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAnc2t5LXJvdW5kZWQtY29ybmVycyBza3ktc2hhZG93JzogJ2RlZmF1bHQnLFxuICAgICAgJ3NreS1lbGV2YXRpb24tNCc6ICdtb2Rlcm4nXG4gICAgfVwiXG4gID5cbiAgICBAaWYgKHBvcG92ZXJUaXRsZSkge1xuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNreS1wb3BvdmVyLWhlYWRlclwiXG4gICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LXBhZGRpbmctZXZlbi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgICAgICdza3ktcGFkZGluZy1ldmVuLWxnIHNreS1tYXJnaW4tc3RhY2tlZC1sZyc6ICdtb2Rlcm4nXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA8aDQgY2xhc3M9XCJza3ktcG9wb3Zlci10aXRsZSBza3ktZm9udC1oZWFkaW5nLTRcIj5cbiAgICAgICAgICB7eyBwb3BvdmVyVGl0bGUgfX1cbiAgICAgICAgPC9oND5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNreS1wb3BvdmVyLWJvZHlcIlxuICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LXBhZGRpbmctZXZlbi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgICAnc2t5LXBhZGRpbmctZXZlbi1sZyc6ICdtb2Rlcm4nXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICNjb250ZW50VGFyZ2V0IC8+XG4gICAgPC9kaXY+XG4gICAgPHNwYW5cbiAgICAgICNhcnJvd1JlZlxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwic2t5LXBvcG92ZXItYXJyb3dcIlxuICAgICAgW3N0eWxlLmxlZnQucHhdPVwiYXJyb3dMZWZ0XCJcbiAgICAgIFtzdHlsZS50b3AucHhdPVwiYXJyb3dUb3BcIlxuICAgID48L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wb3BvdmVycy9zcmMvbGliL21vZHVsZXMvcG9wb3Zlci9wb3BvdmVyLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3NyYy9saWIvbW9kdWxlcy9wb3BvdmVyL3BvcG92ZXItY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBR1gsUUFBUSxFQUNSLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLHNCQUFzQixHQUt2QixNQUFNLGFBQWEsQ0FBQztBQUdyQixPQUFPLEVBRUwsT0FBTyxFQUNQLHVCQUF1QixFQUN2QixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLEdBQUcsRUFDSCxTQUFTLElBQUksbUJBQW1CLEVBQ2hDLFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzFELE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsbUJBQW1CLEdBQ3BCLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQUs5Qjs7R0FFRztBQU9ILE1BQU0sT0FBTywwQkFBMEI7SUFNckMsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMs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QTZGOUIsUUFBUTt5Q0F6RkQsU0FBUztzQkFEbEIsV0FBVzt1QkFBQyxJQUFJO2dCQThDVixRQUFRO3NCQUpkLFNBQVM7dUJBQUMsVUFBVSxFQUFFO3dCQUNyQixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT00sVUFBVTtzQkFKaEIsU0FBUzt1QkFBQyxZQUFZLEVBQUU7d0JBQ3ZCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPVSxhQUFhO3NCQUp2QixTQUFTO3VCQUFDLGVBQWUsRUFBRTt3QkFDMUIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLElBQUk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUFmZml4QXV0b0ZpdENvbnRleHQsXG4gIFNreUFmZml4Q29uZmlnLFxuICBTa3lBZmZpeFNlcnZpY2UsXG4gIFNreUFmZml4ZXIsXG4gIFNreUNvcmVBZGFwdGVyU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIsXG4gIGRlYm91bmNlVGltZSxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1hcCxcbiAgZnJvbUV2ZW50IGFzIG9ic2VydmFibGVGcm9tRXZlbnQsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHNreVBvcG92ZXJBbmltYXRpb24gfSBmcm9tICcuL3BvcG92ZXItYW5pbWF0aW9uJztcbmltcG9ydCB7IFNreVBvcG92ZXJBbmltYXRpb25TdGF0ZSB9IGZyb20gJy4vcG9wb3Zlci1hbmltYXRpb24tc3RhdGUnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlckNvbnRleHQgfSBmcm9tICcuL3BvcG92ZXItY29udGV4dCc7XG5pbXBvcnQge1xuICBwYXJzZUFmZml4SG9yaXpvbnRhbEFsaWdubWVudCxcbiAgcGFyc2VBZmZpeFBsYWNlbWVudCxcbn0gZnJvbSAnLi9wb3BvdmVyLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlckFsaWdubWVudCB9IGZyb20gJy4vdHlwZXMvcG9wb3Zlci1hbGlnbm1lbnQnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlclBsYWNlbWVudCB9IGZyb20gJy4vdHlwZXMvcG9wb3Zlci1wbGFjZW1lbnQnO1xuaW1wb3J0IHsgU2t5UG9wb3ZlclR5cGUgfSBmcm9tICcuL3R5cGVzL3BvcG92ZXItdHlwZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wb3BvdmVyLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtza3lQb3BvdmVyQW5pbWF0aW9uXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UG9wb3ZlckNvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBIb3N0QmluZGluZygnaWQnKVxuICBwcm90ZWN0ZWQgcG9wb3ZlcklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGFuaW1hdGlvblN0YXRlOiBTa3lQb3BvdmVyQW5pbWF0aW9uU3RhdGUgPSAnY2xvc2VkJztcblxuICBwdWJsaWMgZ2V0IGNsb3NlZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jX2Nsb3NlZC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3BlbmVkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNfb3BlbmVkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc01vdXNlRW50ZXIoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuI19pc01vdXNlRW50ZXIuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgYWZmaXhlcjogU2t5QWZmaXhlciB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZGlzbWlzc09uQmx1ciA9IHRydWU7XG5cbiAgcHVibGljIGVuYWJsZUFuaW1hdGlvbnMgPSB0cnVlO1xuXG4gIHB1YmxpYyBob3Jpem9udGFsQWxpZ25tZW50OiBTa3lQb3BvdmVyQWxpZ25tZW50ID0gJ2NlbnRlcic7XG5cbiAgcHVibGljIHNldCBpc09wZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNfaXNPcGVuID0gdmFsdWU7XG4gICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9IHZhbHVlID8gJ29wZW4nIDogJ2Nsb3NlZCc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2lzT3BlbjtcbiAgfVxuXG4gIHB1YmxpYyBwbGFjZW1lbnQ6IFNreVBvcG92ZXJQbGFjZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgcG9wb3ZlclRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHBvcG92ZXJUeXBlOiBTa3lQb3BvdmVyVHlwZSA9ICdpbmZvJztcblxuICBwdWJsaWMgdGhlbWVOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnYXJyb3dSZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBhcnJvd1JlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdwb3BvdmVyUmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgcG9wb3ZlclJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdjb250ZW50VGFyZ2V0Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgc2V0IGNvbnRlbnRUYXJnZXQodmFsdWU6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHZhbHVlLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLiNjb250ZXh0LmNvbnRlbnRUZW1wbGF0ZVJlZik7XG4gICAgfVxuICB9XG5cbiAgI2NhbGxlcjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI19jbG9zZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfaXNNb3VzZUVudGVyID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAjX2lzT3BlbiA9IGZhbHNlO1xuXG4gICNfb3BlbmVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgI2FmZml4U2VydmljZTogU2t5QWZmaXhTZXJ2aWNlO1xuICAjYXJyb3dBZmZpeGVyOiBTa3lBZmZpeGVyIHwgdW5kZWZpbmVkO1xuICAjY29yZUFkYXB0ZXJTZXJ2aWNlOiBTa3lDb3JlQWRhcHRlclNlcnZpY2U7XG4gICNjb250ZXh0OiBTa3lQb3BvdmVyQ29udGV4dDtcbiAgI3RoZW1lU3ZjOiBTa3lUaGVtZVNlcnZpY2UgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgY29yZUFkYXB0ZXJTZXJ2aWNlOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgY29udGV4dDogU2t5UG9wb3ZlckNvbnRleHQsXG4gICAgQE9wdGlvbmFsKCkgdGhlbWVTdmM/OiBTa3lUaGVtZVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgdGhpcy4jYWZmaXhTZXJ2aWNlID0gYWZmaXhTZXJ2aWNlO1xuICAgIHRoaXMuI2NvcmVBZGFwdGVyU2VydmljZSA9IGNvcmVBZGFwdGVyU2VydmljZTtcbiAgICB0aGlzLiNjb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLiN0aGVtZVN2YyA9IHRoZW1lU3ZjO1xuICB9XG5cbiAgcHVibGljIGhhc0ZvY3VzYWJsZUNvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuI2NvcmVBZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbihcbiAgICAgICAgdGhpcy5wb3BvdmVyUmVmPy5uYXRpdmVFbGVtZW50LFxuICAgICAgKS5sZW5ndGggPiAwXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNhZGRFdmVudExpc3RlbmVycygpO1xuXG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHRoaXMuI3RoZW1lU3ZjKSB7XG4gICAgICB0aGlzLiN0aGVtZVN2Yy5zZXR0aW5nc0NoYW5nZVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRoZW1lU2V0dGluZ3MpID0+IHtcbiAgICAgICAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0Ki9cbiAgICAgICAgICB0aGlzLnRoZW1lTmFtZSA9IHRoZW1lU2V0dGluZ3MuY3VycmVudFNldHRpbmdzPy50aGVtZT8ubmFtZTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIHRoaXMuI19jbG9zZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLiNfaXNNb3VzZUVudGVyLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jX29wZW5lZC5jb21wbGV0ZSgpO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5hZmZpeGVyKSB7XG4gICAgICB0aGlzLmFmZml4ZXIuZGVzdHJveSgpO1xuICAgICAgdGhpcy5hZmZpeGVyID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2Fycm93QWZmaXhlcikge1xuICAgICAgdGhpcy4jYXJyb3dBZmZpeGVyLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuI2Fycm93QWZmaXhlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25BbmltYXRpb25FdmVudChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuZnJvbVN0YXRlID09PSAndm9pZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQucGhhc2VOYW1lID09PSAnZG9uZScpIHtcbiAgICAgIGlmIChldmVudC50b1N0YXRlID09PSAnb3BlbicpIHtcbiAgICAgICAgdGhpcy4jX29wZW5lZC5uZXh0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiNfY2xvc2VkLm5leHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3BlbihcbiAgICBjYWxsZXI6IEVsZW1lbnRSZWYsXG4gICAgY29uZmlnOiB7XG4gICAgICBkaXNtaXNzT25CbHVyOiBib29sZWFuO1xuICAgICAgZW5hYmxlQW5pbWF0aW9uczogYm9vbGVhbjtcbiAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6IFNreVBvcG92ZXJBbGlnbm1lbnQ7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgaXNTdGF0aWM6IGJvb2xlYW47XG4gICAgICBwbGFjZW1lbnQ6IFNreVBvcG92ZXJQbGFjZW1lbnQ7XG4gICAgICBwb3BvdmVyVGl0bGU/OiBzdHJpbmc7XG4gICAgICBwb3BvdmVyVHlwZTogU2t5UG9wb3ZlclR5cGU7XG4gICAgfSxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy4jY2FsbGVyID0gY2FsbGVyO1xuICAgIHRoaXMuZGlzbWlzc09uQmx1ciA9IGNvbmZpZy5kaXNtaXNzT25CbHVyO1xuICAgIHRoaXMuZW5hYmxlQW5pbWF0aW9ucyA9IGNvbmZpZy5lbmFibGVBbmltYXRpb25zO1xuICAgIHRoaXMuaG9yaXpvbnRhbEFsaWdubWVudCA9IGNvbmZpZy5ob3Jpem9udGFsQWxpZ25tZW50O1xuICAgIHRoaXMucG9wb3ZlcklkID0gY29uZmlnLmlkO1xuICAgIHRoaXMucGxhY2VtZW50ID0gY29uZmlnLnBsYWNlbWVudDtcbiAgICB0aGlzLnBvcG92ZXJUaXRsZSA9IGNvbmZpZy5wb3BvdmVyVGl0bGU7XG4gICAgdGhpcy5wb3BvdmVyVHlwZSA9IGNvbmZpZy5wb3BvdmVyVHlwZTtcblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgLy8gSW5kaWNhdGVzIGlmIHRoZSBwb3BvdmVyIHNob3VsZCBiZSBkaXNwbGF5ZWQgc3RhdGljYWxseS5cbiAgICAvLyBQbGVhc2Ugbm90ZTogVGhpcyBmZWF0dXJlIGlzIGludGVybmFsLW9ubHkgYW5kIHVzZWQgYnkgdGhlIHZpc3VhbCB0ZXN0cyB0byBjYXB0dXJlIG11bHRpcGxlXG4gICAgLy8gc3RhdGVzIHNpbXVsdGFuZW91c2x5IHdpdGhvdXQgdGhlIG92ZXJoZWFkIG9mIGV2ZW50IGxpc3RlbmVycy5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoY29uZmlnLmlzU3RhdGljKSB7XG4gICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBMZXQgdGhlIHN0eWxlcyByZW5kZXIgYmVmb3JlIGdhdWdpbmcgdGhlIGFmZml4IGRpbWVuc2lvbnMuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmICghdGhpcy5wb3BvdmVyUmVmPy5uYXRpdmVFbGVtZW50IHx8IHRoaXMuI25nVW5zdWJzY3JpYmUuY2xvc2VkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmFmZml4ZXIpIHtcbiAgICAgICAgdGhpcy4jc2V0dXBBZmZpeGVyKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFmZml4T3B0aW9uczogU2t5QWZmaXhDb25maWcgPSB7XG4gICAgICAgIGF1dG9GaXRDb250ZXh0OiBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LlZpZXdwb3J0LFxuICAgICAgICBlbmFibGVBdXRvRml0OiB0cnVlLFxuICAgICAgICBob3Jpem9udGFsQWxpZ25tZW50OiBwYXJzZUFmZml4SG9yaXpvbnRhbEFsaWdubWVudChcbiAgICAgICAgICB0aGlzLmhvcml6b250YWxBbGlnbm1lbnQsXG4gICAgICAgICksXG4gICAgICAgIGlzU3RpY2t5OiB0cnVlLFxuICAgICAgICBwbGFjZW1lbnQ6IHBhcnNlQWZmaXhQbGFjZW1lbnQodGhpcy5wbGFjZW1lbnQgYXMgU2t5UG9wb3ZlclBsYWNlbWVudCksXG4gICAgICB9O1xuXG4gICAgICAvLyBFbnN1cmUgdmVydGljYWwgYWxpZ25tZW50IGlzIHNldCBhY2NvcmRpbmcgdG8gdGhlIHBvcG92ZXIncyBwbGFjZW1lbnQgdmFsdWUuXG4gICAgICBpZiAoXG4gICAgICAgIGFmZml4T3B0aW9ucy5wbGFjZW1lbnQgPT09ICdsZWZ0JyB8fFxuICAgICAgICBhZmZpeE9wdGlvbnMucGxhY2VtZW50ID09PSAncmlnaHQnXG4gICAgICApIHtcbiAgICAgICAgYWZmaXhPcHRpb25zLnZlcnRpY2FsQWxpZ25tZW50ID0gJ21pZGRsZSc7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWZmaXhlciEuYWZmaXhUbyh0aGlzLiNjYWxsZXI/Lm5hdGl2ZUVsZW1lbnQsIGFmZml4T3B0aW9ucyk7XG5cbiAgICAgIHRoaXMuI3VwZGF0ZUFycm93T2Zmc2V0KCk7XG5cbiAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlGb2N1cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wb3BvdmVyUmVmICYmIHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLiNjb3JlQWRhcHRlclNlcnZpY2UuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW5BbmRBcHBseUZvY3VzKFxuICAgICAgICB0aGlzLnBvcG92ZXJSZWYsXG4gICAgICAgICcuc2t5LXBvcG92ZXInLFxuICAgICAgICB0cnVlLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAjc2V0dXBBZmZpeGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBvcG92ZXJSZWYpIHtcbiAgICAgIGNvbnN0IGFmZml4ZXIgPSB0aGlzLiNhZmZpeFNlcnZpY2UuY3JlYXRlQWZmaXhlcih0aGlzLnBvcG92ZXJSZWYpO1xuXG4gICAgICBhZmZpeGVyLnBsYWNlbWVudENoYW5nZVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDAsIGFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyKSxcbiAgICAgICAgICBtYXAoKGNoYW5nZSkgPT4gY2hhbmdlLnBsYWNlbWVudCksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChwbGFjZW1lbnQpID0+IHtcbiAgICAgICAgICB0aGlzLnBsYWNlbWVudCA9IHBsYWNlbWVudDtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVBcnJvd09mZnNldCgpO1xuICAgICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYWZmaXhlciA9IGFmZml4ZXI7XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZUFycm93T2Zmc2V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNjYWxsZXIgJiYgdGhpcy5hcnJvd1JlZiAmJiB0aGlzLnBsYWNlbWVudCkge1xuICAgICAgdGhpcy4jYXJyb3dBZmZpeGVyPy5kZXN0cm95KCk7XG4gICAgICB0aGlzLiNhcnJvd0FmZml4ZXIgPSB0aGlzLiNhZmZpeFNlcnZpY2UuY3JlYXRlQWZmaXhlcih0aGlzLmFycm93UmVmKTtcbiAgICAgIHRoaXMuI2Fycm93QWZmaXhlci5hZmZpeFRvKHRoaXMuI2NhbGxlcj8ubmF0aXZlRWxlbWVudCwge1xuICAgICAgICBhdXRvRml0Q29udGV4dDogU2t5QWZmaXhBdXRvRml0Q29udGV4dC5WaWV3cG9ydCxcbiAgICAgICAgZW5hYmxlQXV0b0ZpdDogZmFsc2UsXG4gICAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6IFsnYWJvdmUnLCAnYmVsb3cnXS5pbmNsdWRlcyh0aGlzLnBsYWNlbWVudClcbiAgICAgICAgICA/ICdjZW50ZXInXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIHZlcnRpY2FsQWxpZ25tZW50OiBbJ2xlZnQnLCAncmlnaHQnXS5pbmNsdWRlcyh0aGlzLnBsYWNlbWVudClcbiAgICAgICAgICA/ICdtaWRkbGUnXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGlzU3RpY2t5OiB0cnVlLFxuICAgICAgICBwbGFjZW1lbnQ6IHBhcnNlQWZmaXhQbGFjZW1lbnQodGhpcy5wbGFjZW1lbnQgYXMgU2t5UG9wb3ZlclBsYWNlbWVudCksXG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI2lzRm9jdXNMZWF2aW5nRWxlbWVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZvY3VzYWJsZUl0ZW1zID0gdGhpcy4jY29yZUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuKFxuICAgICAgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICk7XG5cbiAgICBjb25zdCBpc0ZpcnN0SXRlbSA9IGZvY3VzYWJsZUl0ZW1zWzBdID09PSBldmVudC50YXJnZXQgJiYgZXZlbnQuc2hpZnRLZXk7XG5cbiAgICBjb25zdCBpc0xhc3RJdGVtID1cbiAgICAgIGZvY3VzYWJsZUl0ZW1zW2ZvY3VzYWJsZUl0ZW1zLmxlbmd0aCAtIDFdID09PSBldmVudC50YXJnZXQgJiZcbiAgICAgICFldmVudC5zaGlmdEtleTtcblxuICAgIHJldHVybiBmb2N1c2FibGVJdGVtcy5sZW5ndGggPT09IDAgfHwgaXNGaXJzdEl0ZW0gfHwgaXNMYXN0SXRlbTtcbiAgfVxuXG4gICNhZGRFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoaG9zdEVsZW1lbnQsICdtb3VzZWVudGVyJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy4jX2lzTW91c2VFbnRlci5uZXh0KHRydWUpKTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoaG9zdEVsZW1lbnQsICdtb3VzZWxlYXZlJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy4jX2lzTW91c2VFbnRlci5uZXh0KGZhbHNlKSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGhvc3RFbGVtZW50LCAna2V5ZG93bicpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgIGNhc2UgJ2VzY2FwZSc6XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLiNjYWxsZXI/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgLy8gU2luY2UgdGhlIHBvcG92ZXIgbm93IGxpdmVzIGluIGFuIG92ZXJsYXkgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZG9jdW1lbnQgYm9keSwgd2UgbmVlZFxuICAgICAgICAgIC8vIHRvIGhhbmRsZSB0aGUgdGFiIGtleSBvdXJzZWx2ZXMuIE90aGVyd2lzZSwgZm9jdXMgd291bGQgYmUgbW92ZWQgdG8gdGhlIGJyb3dzZXInc1xuICAgICAgICAgIC8vIHNlYXJjaCBiYXIuXG4gICAgICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNtaXNzT25CbHVyKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgICAgICAgICBpZiAodGhpcy4jaXNGb2N1c0xlYXZpbmdFbGVtZW50KGV2ZW50KSkge1xuICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICAgIHRoaXMuI2NhbGxlcj8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGRpdlxuICAjcG9wb3ZlclJlZlxuICBjbGFzcz1cInNreS1wb3BvdmVyLWNvbnRhaW5lciBza3ktcG9wb3Zlci1tYXgtaGVpZ2h0XCJcbiAgW0AuZGlzYWJsZWRdPVwiIWVuYWJsZUFuaW1hdGlvbnNcIlxuICBbQHNreVBvcG92ZXJBbmltYXRpb25dPVwiYW5pbWF0aW9uU3RhdGVcIlxuICBbY2xhc3Muc2t5LXBvcG92ZXItaGlkZGVuXT1cIiFwbGFjZW1lbnRcIlxuICBbbmdDbGFzc109XCJbXG4gICAgJ3NreS1wb3BvdmVyLWFsaWdubWVudC0nICsgaG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICAnc2t5LXBvcG92ZXItcGxhY2VtZW50LScgKyBwbGFjZW1lbnQsXG4gICAgJ3NreS1wb3BvdmVyLScgKyBwb3BvdmVyVHlwZVxuICBdXCJcbiAgKEBza3lQb3BvdmVyQW5pbWF0aW9uLmRvbmUpPVwib25BbmltYXRpb25FdmVudCgkZXZlbnQpXCJcbiAgKEBza3lQb3BvdmVyQW5pbWF0aW9uLnN0YXJ0KT1cIm9uQW5pbWF0aW9uRXZlbnQoJGV2ZW50KVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1wb3BvdmVyXCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbiAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAnc2t5LXJvdW5kZWQtY29ybmVycyBza3ktc2hhZG93JzogJ2RlZmF1bHQnLFxuICAgICAgJ3NreS1lbGV2YXRpb24tNCc6ICdtb2Rlcm4nXG4gICAgfVwiXG4gID5cbiAgICBAaWYgKHBvcG92ZXJUaXRsZSkge1xuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNreS1wb3BvdmVyLWhlYWRlclwiXG4gICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LXBhZGRpbmctZXZlbi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgICAgICdza3ktcGFkZGluZy1ldmVuLWxnIHNreS1tYXJnaW4tc3RhY2tlZC1sZyc6ICdtb2Rlcm4nXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA8aDQgY2xhc3M9XCJza3ktcG9wb3Zlci10aXRsZSBza3ktZm9udC1oZWFkaW5nLTRcIj5cbiAgICAgICAgICB7eyBwb3BvdmVyVGl0bGUgfX1cbiAgICAgICAgPC9oND5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNreS1wb3BvdmVyLWJvZHlcIlxuICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LXBhZGRpbmctZXZlbi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgICAnc2t5LXBhZGRpbmctZXZlbi1sZyc6ICdtb2Rlcm4nXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICNjb250ZW50VGFyZ2V0IC8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8c3BhbiAjYXJyb3dSZWYgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJza3ktcG9wb3Zlci1hcnJvd1wiPjwvc3Bhbj5cbjwvZGl2PlxuIl19
|