@skyux/tabs 10.0.0-alpha.0 → 10.0.0-alpha.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 +1212 -940
- package/esm2022/lib/modules/sectioned-form/sectioned-form-section.component.mjs +4 -4
- package/esm2022/lib/modules/sectioned-form/sectioned-form.component.mjs +4 -4
- package/esm2022/lib/modules/sectioned-form/sectioned-form.module.mjs +4 -4
- package/esm2022/lib/modules/sectioned-form/sectioned-form.service.mjs +3 -3
- package/esm2022/lib/modules/shared/sky-tabs-resources.module.mjs +5 -6
- package/esm2022/lib/modules/shared/tab-id.service.mjs +3 -3
- package/esm2022/lib/modules/tabs/tab-button-adapter.service.mjs +3 -3
- package/esm2022/lib/modules/tabs/tab-button-view-model.mjs +1 -1
- package/esm2022/lib/modules/tabs/tab-button.component.mjs +7 -6
- package/esm2022/lib/modules/tabs/tab.component.mjs +3 -3
- package/esm2022/lib/modules/tabs/tabs.module.mjs +9 -5
- package/esm2022/lib/modules/tabs/tabset-adapter.service.mjs +3 -3
- package/esm2022/lib/modules/tabs/tabset-nav-button-disabled.pipe.mjs +3 -3
- package/esm2022/lib/modules/tabs/tabset-nav-button.component.mjs +3 -3
- package/esm2022/lib/modules/tabs/tabset-permalink.service.mjs +4 -4
- package/esm2022/lib/modules/tabs/tabset.component.mjs +3 -3
- package/esm2022/lib/modules/tabs/tabset.service.mjs +5 -6
- package/esm2022/lib/modules/vertical-tabset/vertical-tab-media-query.service.mjs +3 -3
- package/esm2022/lib/modules/vertical-tabset/vertical-tab.component.mjs +42 -32
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +59 -5
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset-group-message.mjs +2 -0
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset-group.component.mjs +68 -24
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset-group.service.mjs +17 -0
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset.component.mjs +26 -11
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset.module.mjs +4 -4
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset.service.mjs +36 -5
- package/esm2022/testing/tabs/tabset-fixture.mjs +2 -2
- package/fesm2022/skyux-tabs-testing.mjs +1 -1
- package/fesm2022/skyux-tabs-testing.mjs.map +1 -1
- package/fesm2022/skyux-tabs.mjs +297 -135
- package/fesm2022/skyux-tabs.mjs.map +1 -1
- package/lib/modules/tabs/tab-button-view-model.d.ts +2 -2
- package/lib/modules/tabs/tabs.module.d.ts +4 -3
- package/lib/modules/vertical-tabset/vertical-tab.component.d.ts +9 -3
- package/lib/modules/vertical-tabset/vertical-tabset-adapter.service.d.ts +4 -0
- package/lib/modules/vertical-tabset/vertical-tabset-group-message.d.ts +3 -0
- package/lib/modules/vertical-tabset/vertical-tabset-group.component.d.ts +6 -5
- package/lib/modules/vertical-tabset/vertical-tabset-group.service.d.ts +11 -0
- package/lib/modules/vertical-tabset/vertical-tabset.component.d.ts +7 -0
- package/lib/modules/vertical-tabset/vertical-tabset.service.d.ts +5 -1
- package/package.json +14 -14
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { Injectable, inject, } from '@angular/core';
|
|
2
3
|
import { SkyMediaBreakpoints } from '@skyux/core';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
const VERTICAL_TABSET_BUTTON_SELECTOR = '.sky-vertical-tabset-button';
|
|
6
|
+
const VERTICAL_TABSET_BUTTON_DISABLED_SELECTOR = `${VERTICAL_TABSET_BUTTON_SELECTOR}-disabled`;
|
|
4
7
|
export class SkyVerticalTabsetAdapterService {
|
|
5
8
|
#renderer;
|
|
9
|
+
#document = inject(DOCUMENT);
|
|
6
10
|
constructor(rendererFactory) {
|
|
7
11
|
this.#renderer = rendererFactory.createRenderer(undefined, null);
|
|
8
12
|
}
|
|
@@ -39,10 +43,60 @@ export class SkyVerticalTabsetAdapterService {
|
|
|
39
43
|
}
|
|
40
44
|
this.#renderer.addClass(nativeEl, newClass);
|
|
41
45
|
}
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
focusButton(elRef) {
|
|
47
|
+
return this.#focusButtonEl(elRef?.nativeElement);
|
|
48
|
+
}
|
|
49
|
+
focusFirstButton(tabGroups) {
|
|
50
|
+
const tabGroupsEl = tabGroups?.nativeElement;
|
|
51
|
+
if (tabGroupsEl) {
|
|
52
|
+
const firstButtonEl = tabGroupsEl.querySelector(VERTICAL_TABSET_BUTTON_SELECTOR);
|
|
53
|
+
if (firstButtonEl) {
|
|
54
|
+
firstButtonEl.focus();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
focusNextButton(tabGroups) {
|
|
59
|
+
this.#focusSiblingButton(tabGroups);
|
|
60
|
+
}
|
|
61
|
+
focusPreviousButton(tabGroups) {
|
|
62
|
+
this.#focusSiblingButton(tabGroups, true);
|
|
63
|
+
}
|
|
64
|
+
#focusSiblingButton(tabGroups, previous) {
|
|
65
|
+
if (tabGroups) {
|
|
66
|
+
const focusedEl = this.#document.activeElement;
|
|
67
|
+
if (focusedEl?.matches(VERTICAL_TABSET_BUTTON_SELECTOR)) {
|
|
68
|
+
const tabGroupsEl = tabGroups.nativeElement;
|
|
69
|
+
const buttonEls = Array.from(tabGroupsEl.querySelectorAll(VERTICAL_TABSET_BUTTON_SELECTOR));
|
|
70
|
+
if (previous) {
|
|
71
|
+
buttonEls.reverse();
|
|
72
|
+
}
|
|
73
|
+
const focusedIndex = buttonEls.indexOf(focusedEl);
|
|
74
|
+
for (let i = 1, n = buttonEls.length; i < n; i++) {
|
|
75
|
+
// Offset the index of the next button from the index of the
|
|
76
|
+
// currently focused button, circling back to the first button
|
|
77
|
+
// when the end of the list is reached.
|
|
78
|
+
const offset = (i + focusedIndex) % n;
|
|
79
|
+
if (this.#focusButtonEl(buttonEls[offset])) {
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
#focusButtonEl(el) {
|
|
87
|
+
if (el && !el.matches(VERTICAL_TABSET_BUTTON_DISABLED_SELECTOR)) {
|
|
88
|
+
el.focus();
|
|
89
|
+
return this.#elHasFocus(el);
|
|
90
|
+
}
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
#elHasFocus(el) {
|
|
94
|
+
return !!el && el === this.#document.activeElement;
|
|
95
|
+
}
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyVerticalTabsetAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
97
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyVerticalTabsetAdapterService }); }
|
|
44
98
|
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyVerticalTabsetAdapterService, decorators: [{
|
|
46
100
|
type: Injectable
|
|
47
101
|
}], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVMLFVBQVUsRUFHVixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUVsRCxNQUFNLCtCQUErQixHQUFHLDZCQUE2QixDQUFDO0FBQ3RFLE1BQU0sd0NBQXdDLEdBQUcsR0FBRywrQkFBK0IsV0FBVyxDQUFDO0FBRy9GLE1BQU0sT0FBTywrQkFBK0I7SUFDMUMsU0FBUyxDQUFZO0lBQ3JCLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFN0IsWUFBWSxlQUFpQztRQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxRQUFRLENBQUMsVUFBc0I7UUFDcEMsT0FBTyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUM5QyxDQUFDO0lBRU0sa0JBQWtCLENBQUMsT0FBbUI7UUFDM0MsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxrQkFBa0IsQ0FDdkIsT0FBbUIsRUFDbkIsVUFBK0I7UUFFL0IsTUFBTSxRQUFRLEdBQWdCLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFFcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLDZCQUE2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QyxDQUFDO29CQUV0QyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDM0MsTUFBTTtvQkFDUixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsRUFBa0M7UUFDL0MsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLEVBQUUsQ0FBQztZQUNoRSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFrQztRQUM1QyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO0lBQ3JELENBQUM7OEdBNUhVLCtCQUErQjtrSEFBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0YWJsZSxcbiAgUmVuZGVyZXIyLFxuICBSZW5kZXJlckZhY3RvcnkyLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cyB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuY29uc3QgVkVSVElDQUxfVEFCU0VUX0JVVFRPTl9TRUxFQ1RPUiA9ICcuc2t5LXZlcnRpY2FsLXRhYnNldC1idXR0b24nO1xuY29uc3QgVkVSVElDQUxfVEFCU0VUX0JVVFRPTl9ESVNBQkxFRF9TRUxFQ1RPUiA9IGAke1ZFUlRJQ0FMX1RBQlNFVF9CVVRUT05fU0VMRUNUT1J9LWRpc2FibGVkYDtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVZlcnRpY2FsVGFic2V0QWRhcHRlclNlcnZpY2Uge1xuICAjcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgI2RvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIpIHtcbiAgICB0aGlzLiNyZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIG51bGwpO1xuICB9XG5cbiAgcHVibGljIGdldFdpZHRoKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpOiBudW1iZXIge1xuICAgIHJldHVybiBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsVG9Db250ZW50VG9wKGVsZW1lbnQ6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gMDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRSZXNwb25zaXZlQ2xhc3MoXG4gICAgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBicmVha3BvaW50OiBTa3lNZWRpYUJyZWFrcG9pbnRzLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBuYXRpdmVFbDogSFRNTEVsZW1lbnQgPSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0aGlzLiNyZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbCwgJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci14cycpO1xuICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZUNsYXNzKG5hdGl2ZUVsLCAnc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLXNtJyk7XG4gICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlQ2xhc3MobmF0aXZlRWwsICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItbWQnKTtcbiAgICB0aGlzLiNyZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbCwgJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci1sZycpO1xuXG4gICAgbGV0IG5ld0NsYXNzOiBzdHJpbmc7XG5cbiAgICBzd2l0Y2ggKGJyZWFrcG9pbnQpIHtcbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy54czoge1xuICAgICAgICBuZXdDbGFzcyA9ICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXIteHMnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy5zbToge1xuICAgICAgICBuZXdDbGFzcyA9ICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItc20nO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy5tZDoge1xuICAgICAgICBuZXdDbGFzcyA9ICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItbWQnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgbmV3Q2xhc3MgPSAnc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLWxnJztcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy4jcmVuZGVyZXIuYWRkQ2xhc3MobmF0aXZlRWwsIG5ld0NsYXNzKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0J1dHRvbihlbFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jZm9jdXNCdXR0b25FbChlbFJlZj8ubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNGaXJzdEJ1dHRvbihcbiAgICB0YWJHcm91cHM6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCB0YWJHcm91cHNFbCA9IHRhYkdyb3Vwcz8ubmF0aXZlRWxlbWVudDtcblxuICAgIGlmICh0YWJHcm91cHNFbCkge1xuICAgICAgY29uc3QgZmlyc3RCdXR0b25FbCA9IHRhYkdyb3Vwc0VsLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgIFZFUlRJQ0FMX1RBQlNFVF9CVVRUT05fU0VMRUNUT1IsXG4gICAgICApIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcblxuICAgICAgaWYgKGZpcnN0QnV0dG9uRWwpIHtcbiAgICAgICAgZmlyc3RCdXR0b25FbC5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmb2N1c05leHRCdXR0b24odGFiR3JvdXBzOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy4jZm9jdXNTaWJsaW5nQnV0dG9uKHRhYkdyb3Vwcyk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNQcmV2aW91c0J1dHRvbih0YWJHcm91cHM6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLiNmb2N1c1NpYmxpbmdCdXR0b24odGFiR3JvdXBzLCB0cnVlKTtcbiAgfVxuXG4gICNmb2N1c1NpYmxpbmdCdXR0b24oXG4gICAgdGFiR3JvdXBzOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgICBwcmV2aW91cz86IGJvb2xlYW4sXG4gICk6IHZvaWQge1xuICAgIGlmICh0YWJHcm91cHMpIHtcbiAgICAgIGNvbnN0IGZvY3VzZWRFbCA9IHRoaXMuI2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuXG4gICAgICBpZiAoZm9jdXNlZEVsPy5tYXRjaGVzKFZFUlRJQ0FMX1RBQlNFVF9CVVRUT05fU0VMRUNUT1IpKSB7XG4gICAgICAgIGNvbnN0IHRhYkdyb3Vwc0VsID0gdGFiR3JvdXBzLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgY29uc3QgYnV0dG9uRWxzID0gQXJyYXkuZnJvbShcbiAgICAgICAgICB0YWJHcm91cHNFbC5xdWVyeVNlbGVjdG9yQWxsKFZFUlRJQ0FMX1RBQlNFVF9CVVRUT05fU0VMRUNUT1IpLFxuICAgICAgICApIGFzIEhUTUxFbGVtZW50W107XG5cbiAgICAgICAgaWYgKHByZXZpb3VzKSB7XG4gICAgICAgICAgYnV0dG9uRWxzLnJldmVyc2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZvY3VzZWRJbmRleCA9IGJ1dHRvbkVscy5pbmRleE9mKGZvY3VzZWRFbCk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDEsIG4gPSBidXR0b25FbHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgICAgLy8gT2Zmc2V0IHRoZSBpbmRleCBvZiB0aGUgbmV4dCBidXR0b24gZnJvbSB0aGUgaW5kZXggb2YgdGhlXG4gICAgICAgICAgLy8gY3VycmVudGx5IGZvY3VzZWQgYnV0dG9uLCBjaXJjbGluZyBiYWNrIHRvIHRoZSBmaXJzdCBidXR0b25cbiAgICAgICAgICAvLyB3aGVuIHRoZSBlbmQgb2YgdGhlIGxpc3QgaXMgcmVhY2hlZC5cbiAgICAgICAgICBjb25zdCBvZmZzZXQgPSAoaSArIGZvY3VzZWRJbmRleCkgJSBuO1xuXG4gICAgICAgICAgaWYgKHRoaXMuI2ZvY3VzQnV0dG9uRWwoYnV0dG9uRWxzW29mZnNldF0pKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZm9jdXNCdXR0b25FbChlbDogSFRNTEVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgaWYgKGVsICYmICFlbC5tYXRjaGVzKFZFUlRJQ0FMX1RBQlNFVF9CVVRUT05fRElTQUJMRURfU0VMRUNUT1IpKSB7XG4gICAgICBlbC5mb2N1cygpO1xuICAgICAgcmV0dXJuIHRoaXMuI2VsSGFzRm9jdXMoZWwpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gICNlbEhhc0ZvY3VzKGVsOiBIVE1MRWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFlbCAmJiBlbCA9PT0gdGhpcy4jZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LWdyb3VwLW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYnNldC1ncm91cC1tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNreVZlcnRpY2FsVGFic2V0R3JvdXBNZXNzYWdlIHtcbiAgbWVzc2FnZVR5cGU6ICdmb2N1cyc7XG59XG4iXX0=
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ContentChildren, Input, } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChildren, Input, ViewChild, inject, } from '@angular/core';
|
|
2
2
|
import { skyAnimationSlide } from '@skyux/animations';
|
|
3
|
+
import { SkyIdService } from '@skyux/core';
|
|
3
4
|
import { Subject } from 'rxjs';
|
|
4
5
|
import { takeUntil } from 'rxjs/operators';
|
|
6
|
+
import { SkyTabIdService } from '../shared/tab-id.service';
|
|
5
7
|
import { SkyVerticalTabComponent } from './vertical-tab.component';
|
|
8
|
+
import { SkyVerticalTabsetAdapterService } from './vertical-tabset-adapter.service';
|
|
9
|
+
import { SkyVerticalTabsetGroupService } from './vertical-tabset-group.service';
|
|
6
10
|
import * as i0 from "@angular/core";
|
|
7
11
|
import * as i1 from "./vertical-tabset.service";
|
|
8
12
|
import * as i2 from "@angular/common";
|
|
@@ -34,43 +38,48 @@ export class SkyVerticalTabsetGroupComponent {
|
|
|
34
38
|
#ngUnsubscribe;
|
|
35
39
|
#tabService;
|
|
36
40
|
#changeRef;
|
|
41
|
+
#adapterService;
|
|
42
|
+
#idService;
|
|
43
|
+
#tabIdService;
|
|
44
|
+
#groupService;
|
|
37
45
|
#_disabled;
|
|
38
46
|
#_open;
|
|
39
47
|
constructor(tabService, changeRef) {
|
|
40
48
|
this.animationDisabled = false;
|
|
41
49
|
this.slideDirection = 'up';
|
|
42
50
|
this.#ngUnsubscribe = new Subject();
|
|
43
|
-
this
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
this
|
|
47
|
-
// Angular will sometimes place the animation into the "void" state when tabs are hidden. Update our internal variable to reflect that.
|
|
48
|
-
this.slideDirection = 'void';
|
|
49
|
-
this.#changeRef.markForCheck();
|
|
50
|
-
};
|
|
51
|
-
this.tabsShown = () => {
|
|
52
|
-
// Set the animation back up so that the "void" state is returned to where it was prior to the tabs being hidden.
|
|
53
|
-
// This will be instantaneous due to there not being a "void -> *" state on the slide animation.
|
|
54
|
-
this.#updateSlideDirection(true);
|
|
55
|
-
this.#changeRef.markForCheck();
|
|
56
|
-
};
|
|
51
|
+
this.#adapterService = inject(SkyVerticalTabsetAdapterService);
|
|
52
|
+
this.#idService = inject(SkyIdService);
|
|
53
|
+
this.#tabIdService = inject(SkyTabIdService);
|
|
54
|
+
this.#groupService = inject(SkyVerticalTabsetGroupService);
|
|
57
55
|
this.#tabService = tabService;
|
|
58
56
|
this.#changeRef = changeRef;
|
|
57
|
+
this.groupId = this.#idService.generateId();
|
|
58
|
+
this.#groupService.messageStream.subscribe((message) => {
|
|
59
|
+
switch (message.messageType) {
|
|
60
|
+
case 'focus':
|
|
61
|
+
this.#focusButton();
|
|
62
|
+
}
|
|
63
|
+
});
|
|
59
64
|
}
|
|
60
65
|
ngOnInit() {
|
|
66
|
+
this.#tabIdService.register(this.groupId, this.groupId);
|
|
67
|
+
this.#tabService.addGroup(this);
|
|
61
68
|
this.#tabService.hidingTabs
|
|
62
69
|
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
63
|
-
.subscribe(this
|
|
70
|
+
.subscribe(() => this.#tabsHidden());
|
|
64
71
|
this.#tabService.showingTabs
|
|
65
72
|
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
66
|
-
.subscribe(this
|
|
73
|
+
.subscribe(() => this.#tabsShown());
|
|
67
74
|
this.#tabService.tabClicked
|
|
68
75
|
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
69
|
-
.subscribe(this
|
|
76
|
+
.subscribe(() => this.#tabClicked());
|
|
70
77
|
}
|
|
71
78
|
ngOnDestroy() {
|
|
79
|
+
this.#tabService.destroyGroup(this);
|
|
72
80
|
this.#ngUnsubscribe.next();
|
|
73
81
|
this.#ngUnsubscribe.complete();
|
|
82
|
+
this.#tabIdService.unregister(this.groupId);
|
|
74
83
|
}
|
|
75
84
|
updateSlideDirection(event) {
|
|
76
85
|
this.slideDirection = event.toState;
|
|
@@ -82,19 +91,51 @@ export class SkyVerticalTabsetGroupComponent {
|
|
|
82
91
|
this.#updateSlideDirection(true);
|
|
83
92
|
this.#changeRef.markForCheck();
|
|
84
93
|
}
|
|
85
|
-
|
|
94
|
+
groupButtonArrowLeft(event) {
|
|
95
|
+
if (this.open) {
|
|
96
|
+
this.toggleMenuOpen();
|
|
97
|
+
}
|
|
98
|
+
event.preventDefault();
|
|
99
|
+
}
|
|
100
|
+
groupButtonArrowRight(event) {
|
|
101
|
+
if (this.open) {
|
|
102
|
+
this.tabs?.get(0)?.focusButton();
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
this.toggleMenuOpen();
|
|
106
|
+
}
|
|
107
|
+
event.preventDefault();
|
|
108
|
+
}
|
|
109
|
+
isActive() {
|
|
86
110
|
return !!this.tabs && this.tabs.find((t) => !!t.active) !== undefined;
|
|
87
111
|
}
|
|
112
|
+
#tabClicked() {
|
|
113
|
+
this.#changeRef.markForCheck();
|
|
114
|
+
}
|
|
115
|
+
#tabsHidden() {
|
|
116
|
+
// Angular will sometimes place the animation into the "void" state when tabs are hidden. Update our internal variable to reflect that.
|
|
117
|
+
this.slideDirection = 'void';
|
|
118
|
+
this.#changeRef.markForCheck();
|
|
119
|
+
}
|
|
120
|
+
#tabsShown() {
|
|
121
|
+
// Set the animation back up so that the "void" state is returned to where it was prior to the tabs being hidden.
|
|
122
|
+
// This will be instantaneous due to there not being a "void -> *" state on the slide animation.
|
|
123
|
+
this.#updateSlideDirection(true);
|
|
124
|
+
this.#changeRef.markForCheck();
|
|
125
|
+
}
|
|
88
126
|
#updateSlideDirection(animate) {
|
|
89
127
|
this.animationDisabled = !animate;
|
|
90
128
|
this.slideDirection = this.open && !this.disabled ? 'down' : 'up';
|
|
91
129
|
}
|
|
92
|
-
|
|
93
|
-
|
|
130
|
+
#focusButton() {
|
|
131
|
+
this.#adapterService.focusButton(this.groupHeadingButton);
|
|
132
|
+
}
|
|
133
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyVerticalTabsetGroupComponent, deps: [{ token: i1.SkyVerticalTabsetService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyVerticalTabsetGroupComponent, selector: "sky-vertical-tabset-group", inputs: { disabled: "disabled", groupHeading: "groupHeading", open: "open" }, providers: [SkyVerticalTabsetGroupService], queries: [{ propertyName: "tabs", predicate: SkyVerticalTabComponent }], viewQueries: [{ propertyName: "groupHeadingButton", first: true, predicate: ["groupHeadingButton"], descendants: true }], ngImport: i0, template: "<div class=\"sky-vertical-tabset-group\">\n <!-- [ngClass] includes font classes for both modern and default styles -->\n <div\n class=\"sky-vertical-tabset-group-header\"\n [ngClass]=\"{\n 'sky-vertical-tabset-group-header-active sky-font-emphasized':\n isActive(),\n 'sky-vertical-tabset-group-header-sub-open': open,\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled,\n }\"\n >\n <button\n class=\"sky-padding-even-default sky-vertical-tabset-button\"\n role=\"tab\"\n type=\"button\"\n [attr.aria-controls]=\"groupContent.id\"\n [attr.aria-disabled]=\"disabled || undefined\"\n [attr.aria-expanded]=\"!disabled && open\"\n [id]=\"groupId\"\n [ngClass]=\"{\n 'sky-vertical-tabset-button-disabled': disabled\n }\"\n [tabIndex]=\"-1\"\n (click)=\"toggleMenuOpen()\"\n (keyup.arrowleft)=\"groupButtonArrowLeft($event)\"\n (keyup.arrowright)=\"groupButtonArrowRight($event)\"\n #groupHeadingButton\n >\n {{ groupHeading }}\n <sky-expansion-indicator\n class=\"sky-vertical-tabset-group-expansion-indicator\"\n [direction]=\"!disabled && open ? 'up' : 'down'\"\n >\n </sky-expansion-indicator>\n </button>\n </div>\n <div\n class=\"sky-vertical-tabset-group-content\"\n skyId\n [attr.labelledby]=\"groupId\"\n [@.disabled]=\"animationDisabled\"\n [@skyAnimationSlide]=\"slideDirection\"\n (@skyAnimationSlide.done)=\"updateSlideDirection($event)\"\n #groupContent\n >\n <ng-content />\n </div>\n</div>\n", styles: [".sky-vertical-tabset-group{border-bottom:1px solid #e2e3e4;margin:5px 0 5px 5px}.sky-vertical-tabset-group-header button{cursor:pointer;display:flex;justify-content:space-between;border:none;width:100%;text-align:left;background:none}.sky-vertical-tabset-group-content{overflow:hidden;border-top:1px solid #e2e3e4}:host ::ng-deep .sky-vertical-tabset-group-expansion-indicator>button{font-size:14px!important}.sky-vertical-tabset-button-disabled{cursor:not-allowed;pointer-events:none}:host-context(.sky-theme-modern) .sky-vertical-tabset-group{border:none;margin:15px 0}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-content{border:none;padding-left:10px}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-header{position:relative}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-expansion-indicator{position:absolute;top:6px;right:5px}.sky-theme-modern .sky-vertical-tabset-group{border:none;margin:15px 0}.sky-theme-modern .sky-vertical-tabset-group-content{border:none;padding-left:10px}.sky-theme-modern .sky-vertical-tabset-group-header{position:relative}.sky-theme-modern .sky-vertical-tabset-group-expansion-indicator{position:absolute;top:6px;right:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "component", type: i4.λ15, selector: "sky-expansion-indicator", inputs: ["direction"] }], animations: [skyAnimationSlide], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
94
135
|
}
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyVerticalTabsetGroupComponent, decorators: [{
|
|
96
137
|
type: Component,
|
|
97
|
-
args: [{ selector: 'sky-vertical-tabset-group', changeDetection: ChangeDetectionStrategy.OnPush, animations: [skyAnimationSlide], template: "<div class=\"sky-vertical-tabset-group\">\n <!-- [ngClass] includes font classes for both modern and default styles -->\n <div\n class=\"sky-vertical-tabset-group-header\"\n [ngClass]=\"{\n 'sky-vertical-tabset-group-header-
|
|
138
|
+
args: [{ selector: 'sky-vertical-tabset-group', changeDetection: ChangeDetectionStrategy.OnPush, animations: [skyAnimationSlide], providers: [SkyVerticalTabsetGroupService], template: "<div class=\"sky-vertical-tabset-group\">\n <!-- [ngClass] includes font classes for both modern and default styles -->\n <div\n class=\"sky-vertical-tabset-group-header\"\n [ngClass]=\"{\n 'sky-vertical-tabset-group-header-active sky-font-emphasized':\n isActive(),\n 'sky-vertical-tabset-group-header-sub-open': open,\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled,\n }\"\n >\n <button\n class=\"sky-padding-even-default sky-vertical-tabset-button\"\n role=\"tab\"\n type=\"button\"\n [attr.aria-controls]=\"groupContent.id\"\n [attr.aria-disabled]=\"disabled || undefined\"\n [attr.aria-expanded]=\"!disabled && open\"\n [id]=\"groupId\"\n [ngClass]=\"{\n 'sky-vertical-tabset-button-disabled': disabled\n }\"\n [tabIndex]=\"-1\"\n (click)=\"toggleMenuOpen()\"\n (keyup.arrowleft)=\"groupButtonArrowLeft($event)\"\n (keyup.arrowright)=\"groupButtonArrowRight($event)\"\n #groupHeadingButton\n >\n {{ groupHeading }}\n <sky-expansion-indicator\n class=\"sky-vertical-tabset-group-expansion-indicator\"\n [direction]=\"!disabled && open ? 'up' : 'down'\"\n >\n </sky-expansion-indicator>\n </button>\n </div>\n <div\n class=\"sky-vertical-tabset-group-content\"\n skyId\n [attr.labelledby]=\"groupId\"\n [@.disabled]=\"animationDisabled\"\n [@skyAnimationSlide]=\"slideDirection\"\n (@skyAnimationSlide.done)=\"updateSlideDirection($event)\"\n #groupContent\n >\n <ng-content />\n </div>\n</div>\n", styles: [".sky-vertical-tabset-group{border-bottom:1px solid #e2e3e4;margin:5px 0 5px 5px}.sky-vertical-tabset-group-header button{cursor:pointer;display:flex;justify-content:space-between;border:none;width:100%;text-align:left;background:none}.sky-vertical-tabset-group-content{overflow:hidden;border-top:1px solid #e2e3e4}:host ::ng-deep .sky-vertical-tabset-group-expansion-indicator>button{font-size:14px!important}.sky-vertical-tabset-button-disabled{cursor:not-allowed;pointer-events:none}:host-context(.sky-theme-modern) .sky-vertical-tabset-group{border:none;margin:15px 0}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-content{border:none;padding-left:10px}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-header{position:relative}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-expansion-indicator{position:absolute;top:6px;right:5px}.sky-theme-modern .sky-vertical-tabset-group{border:none;margin:15px 0}.sky-theme-modern .sky-vertical-tabset-group-content{border:none;padding-left:10px}.sky-theme-modern .sky-vertical-tabset-group-header{position:relative}.sky-theme-modern .sky-vertical-tabset-group-expansion-indicator{position:absolute;top:6px;right:5px}\n"] }]
|
|
98
139
|
}], ctorParameters: () => [{ type: i1.SkyVerticalTabsetService }, { type: i0.ChangeDetectorRef }], propDecorators: { disabled: [{
|
|
99
140
|
type: Input
|
|
100
141
|
}], groupHeading: [{
|
|
@@ -104,5 +145,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
104
145
|
}], tabs: [{
|
|
105
146
|
type: ContentChildren,
|
|
106
147
|
args: [SkyVerticalTabComponent]
|
|
148
|
+
}], groupHeadingButton: [{
|
|
149
|
+
type: ViewChild,
|
|
150
|
+
args: ['groupHeadingButton']
|
|
107
151
|
}] } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFDZixLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQVVuRSxNQUFNLE9BQU8sK0JBQStCO0lBQzFDOzs7T0FHRztJQUNILElBQ1csUUFBUSxDQUFDLEtBQTBCO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBUUQ7OztPQUdHO0lBQ0gsSUFDVyxJQUFJLENBQUMsS0FBMEI7UUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLHFCQUFxQixDQUFD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LENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNwRSxDQUFDOzhHQWpIVSwrQkFBK0I7a0dBQS9CLCtCQUErQixvS0FtQ3pCLHVCQUF1Qiw2QkM1RDFDLGd4Q0EwQ0EsKzlDRG5CYyxDQUFDLGlCQUFpQixDQUFDOzsyRkFFcEIsK0JBQStCO2tCQVAzQyxTQUFTOytCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLGlCQUFpQixDQUFDOzZIQVFwQixRQUFRO3NCQURsQixLQUFLO2dCQWNDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBUUssSUFBSTtzQkFEZCxLQUFLO2dCQVdDLElBQUk7c0JBRFYsZUFBZTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBza3lBbmltYXRpb25TbGlkZSB9IGZyb20gJ0Bza3l1eC9hbmltYXRpb25zJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudCB9IGZyb20gJy4vdmVydGljYWwtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lWZXJ0aWNhbFRhYnNldFNlcnZpY2UgfSBmcm9tICcuL3ZlcnRpY2FsLXRhYnNldC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXZlcnRpY2FsLXRhYnNldC1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi92ZXJ0aWNhbC10YWJzZXQtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92ZXJ0aWNhbC10YWJzZXQtZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtza3lBbmltYXRpb25TbGlkZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVZlcnRpY2FsVGFic2V0R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIGFiaWxpdHkgdG8gZXhwYW5kIGFuZCBjb2xsYXBzZSB0aGUgZ3JvdXAuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgdGhpcy4jdXBkYXRlU2xpZGVEaXJlY3Rpb24oZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBoZWFkZXIgZm9yIHRoZSBjb2xsYXBzaWJsZSBncm91cCBvZiB0YWJzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdyb3VwSGVhZGluZzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjb2xsYXBzaWJsZSBncm91cCBpcyBleHBhbmRlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgb3Blbih2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19vcGVuID0gdmFsdWU7XG4gICAgdGhpcy4jdXBkYXRlU2xpZGVEaXJlY3Rpb24oZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGdldCBvcGVuKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfb3BlbjtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5VmVydGljYWxUYWJDb21wb25lbnQpXG4gIHB1YmxpYyB0YWJzOiBRdWVyeUxpc3Q8U2t5VmVydGljYWxUYWJDb21wb25lbnQ+IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBhbmltYXRpb25EaXNhYmxlZCA9IGZhbHNlO1xuICBwdWJsaWMgc2xpZGVEaXJlY3Rpb246ICdkb3duJyB8ICd1cCcgfCAndm9pZCcgPSAndXAnO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjdGFiU2VydmljZTogU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlO1xuICAjY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICAjX2Rpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAjX29wZW46IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGFiU2VydmljZTogU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlLFxuICAgIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHRoaXMuI3RhYlNlcnZpY2UgPSB0YWJTZXJ2aWNlO1xuICAgIHRoaXMuI2NoYW5nZVJlZiA9IGNoYW5nZVJlZjtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiN0YWJTZXJ2aWNlLmhpZGluZ1RhYnNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUodGhpcy50YWJzSGlkZGVuKTtcblxuICAgIHRoaXMuI3RhYlNlcnZpY2Uuc2hvd2luZ1RhYnNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUodGhpcy50YWJzU2hvd24pO1xuXG4gICAgdGhpcy4jdGFiU2VydmljZS50YWJDbGlja2VkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKHRoaXMudGFiQ2xpY2tlZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVNsaWRlRGlyZWN0aW9uKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnNsaWRlRGlyZWN0aW9uID0gZXZlbnQudG9TdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVNZW51T3BlbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgdGhpcy4jdXBkYXRlU2xpZGVEaXJlY3Rpb24odHJ1ZSk7XG4gICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHN1Yk1lbnVPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMudGFicyAmJiB0aGlzLnRhYnMuZmluZCgodCkgPT4gISF0LmFjdGl2ZSkgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyB0YWJDbGlja2VkID0gKCkgPT4ge1xuICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBwdWJsaWMgdGFic0hpZGRlbiA9ICgpID0+IHtcbiAgICAvLyBBbmd1bGFyIHdpbGwgc29tZXRpbWVzIHBsYWNlIHRoZSBhbmltYXRpb24gaW50byB0aGUgXCJ2b2lkXCIgc3RhdGUgd2hlbiB0YWJzIGFyZSBoaWRkZW4uIFVwZGF0ZSBvdXIgaW50ZXJuYWwgdmFyaWFibGUgdG8gcmVmbGVjdCB0aGF0LlxuICAgIHRoaXMuc2xpZGVEaXJlY3Rpb24gPSAndm9pZCc7XG4gICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIHB1YmxpYyB0YWJzU2hvd24gPSAoKSA9PiB7XG4gICAgLy8gU2V0IHRoZSBhbmltYXRpb24gYmFjayB1cCBzbyB0aGF0IHRoZSBcInZvaWRcIiBzdGF0ZSBpcyByZXR1cm5lZCB0byB3aGVyZSBpdCB3YXMgcHJpb3IgdG8gdGhlIHRhYnMgYmVpbmcgaGlkZGVuLlxuICAgIC8vIFRoaXMgd2lsbCBiZSBpbnN0YW50YW5lb3VzIGR1ZSB0byB0aGVyZSBub3QgYmVpbmcgYSBcInZvaWQgLT4gKlwiIHN0YXRlIG9uIHRoZSBzbGlkZSBhbmltYXRpb24uXG4gICAgdGhpcy4jdXBkYXRlU2xpZGVEaXJlY3Rpb24odHJ1ZSk7XG4gICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gICN1cGRhdGVTbGlkZURpcmVjdGlvbihhbmltYXRlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5hbmltYXRpb25EaXNhYmxlZCA9ICFhbmltYXRlO1xuICAgIHRoaXMuc2xpZGVEaXJlY3Rpb24gPSB0aGlzLm9wZW4gJiYgIXRoaXMuZGlzYWJsZWQgPyAnZG93bicgOiAndXAnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LXZlcnRpY2FsLXRhYnNldC1ncm91cFwiPlxuICA8IS0tIFtuZ0NsYXNzXSBpbmNsdWRlcyBmb250IGNsYXNzZXMgZm9yIGJvdGggbW9kZXJuIGFuZCBkZWZhdWx0IHN0eWxlcyAtLT5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LXZlcnRpY2FsLXRhYnNldC1ncm91cC1oZWFkZXJcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktdmVydGljYWwtdGFic2V0LWdyb3VwLWhlYWRlci1zdWItb3BlbiBza3ktZm9udC1lbXBoYXNpemVkJzpcbiAgICAgICAgc3ViTWVudU9wZW4oKSxcbiAgICAgICdza3ktZm9udC1kZWVtcGhhc2l6ZWQnOiBkaXNhYmxlZCxcbiAgICAgICdza3ktZGVlbXBoYXNpemVkJzogZGlzYWJsZWQsXG4gICAgICAnc2t5LXZlcnRpY2FsLXRhYnNldC1kaXNhYmxlZCc6IGRpc2FibGVkXG4gICAgfVwiXG4gICAgW3RhYkluZGV4XT1cIi0xXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic2t5LXBhZGRpbmctZXZlbi1kZWZhdWx0XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgc2t5SWRcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiZ3JvdXBDb250ZW50LmlkXCJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiIWRpc2FibGVkICYmIG9wZW5cIlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZU1lbnVPcGVuKClcIlxuICAgICAgI2dyb3VwSGVhZGluZ0J1dHRvblxuICAgID5cbiAgICAgIHt7IGdyb3VwSGVhZGluZyB9fVxuICAgICAgPHNreS1leHBhbnNpb24taW5kaWNhdG9yXG4gICAgICAgIGNsYXNzPVwic2t5LXZlcnRpY2FsLXRhYnNldC1ncm91cC1leHBhbnNpb24taW5kaWNhdG9yXCJcbiAgICAgICAgW2RpcmVjdGlvbl09XCIhZGlzYWJsZWQgJiYgb3BlbiA/ICd1cCcgOiAnZG93bidcIlxuICAgICAgPlxuICAgICAgPC9za3ktZXhwYW5zaW9uLWluZGljYXRvcj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS12ZXJ0aWNhbC10YWJzZXQtZ3JvdXAtY29udGVudFwiXG4gICAgc2t5SWRcbiAgICBbYXR0ci5sYWJlbGxlZGJ5XT1cImdyb3VwSGVhZGluZ0J1dHRvbi5pZFwiXG4gICAgW0AuZGlzYWJsZWRdPVwiYW5pbWF0aW9uRGlzYWJsZWRcIlxuICAgIFtAc2t5QW5pbWF0aW9uU2xpZGVdPVwic2xpZGVEaXJlY3Rpb25cIlxuICAgIChAc2t5QW5pbWF0aW9uU2xpZGUuZG9uZSk9XCJ1cGRhdGVTbGlkZURpcmVjdGlvbigkZXZlbnQpXCJcbiAgICAjZ3JvdXBDb250ZW50XG4gID5cbiAgICA8bmctY29udGVudCAvPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFFZixLQUFLLEVBSUwsU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7O0FBV2hGLE1BQU0sT0FBTywrQkFBK0I7SUFDMUM7OztPQUdHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBMEI7UUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFRRDs7O09BR0c7SUFDSCxJQUNXLElBQUksQ0FBQyxLQUEwQjtRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBYUQsY0FBYyxDQUF1QjtJQUVyQyxXQUFXLENBQTJCO0lBQ3RDLFVBQVUsQ0FBb0I7SUFDOUIsZUFBZSxDQUEyQztJQUMxRCxVQUFVLENBQXdCO0lBQ2xDLGFBQWEsQ0FBMkI7SUFDeEMsYUFBYSxDQUF5QztJQUV0RCxVQUFVLENBQXNCO0lBQ2hDLE1BQU0sQ0FBc0I7SUFFNUIsWUFDRSxVQUFvQyxFQUNwQyxTQUE0QjtRQW5CdkIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLG1CQUFjLEdBQTJCLElBQUksQ0FBQztRQUlyRCxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFJckMsb0JBQWUsR0FBRyxNQUFNLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUMxRCxlQUFVLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFTcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFFNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRTVDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JELFFBQVEsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUM1QixLQUFLLE9BQU87b0JBQ1YsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO2FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVc7YUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVTthQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRS9CLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0sb0JBQW9CLENBQUMsS0FBVTtRQUNwQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN6QixDQUFDO1FBRUQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVTLG9CQUFvQixDQUFDLEtBQVk7UUFDekMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQztRQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRVMscUJBQXFCLENBQUMsS0FBWTtRQUMxQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ25DLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFFRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFNBQVMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDVCx1SUFBdUk7UUFDdkksSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVTtRQUNSLGlIQUFpSDtRQUNqSCxnR0FBZ0c7UUFDaEcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELHFCQUFxQixDQUFDLE9BQWdCO1FBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNwRSxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7OEdBaktVLCtCQUErQjtrR0FBL0IsK0JBQStCLGtJQUYvQixDQUFDLDZCQUE2QixDQUFDLCtDQXFDekIsdUJBQXVCLHVKQ3JFMUMsd2tEQWlEQSxzK0NEbEJjLENBQUMsaUJBQWlCLENBQUM7OzJGQUdwQiwrQkFBK0I7a0JBUjNDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMsaUJBQWlCLENBQUMsYUFDcEIsQ0FBQyw2QkFBNkIsQ0FBQzs2SEFRL0IsUUFBUTtzQkFEbEIsS0FBSztnQkFjQyxZQUFZO3NCQURsQixLQUFLO2dCQVFLLElBQUk7c0JBRGQsS0FBSztnQkFXQyxJQUFJO3NCQURWLGVBQWU7dUJBQUMsdUJBQXVCO2dCQUlqQyxrQkFBa0I7c0JBRHhCLFNBQVM7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNreUFuaW1hdGlvblNsaWRlIH0gZnJvbSAnQHNreXV4L2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgU2t5SWRTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRhYklkU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC90YWItaWQuc2VydmljZSc7XG5cbmltcG9ydCB7IFNreVZlcnRpY2FsVGFiQ29tcG9uZW50IH0gZnJvbSAnLi92ZXJ0aWNhbC10YWIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVZlcnRpY2FsVGFic2V0QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3ZlcnRpY2FsLXRhYnNldC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5VmVydGljYWxUYWJzZXRHcm91cFNlcnZpY2UgfSBmcm9tICcuL3ZlcnRpY2FsLXRhYnNldC1ncm91cC5zZXJ2aWNlJztcbmltcG9ydCB7IFNreVZlcnRpY2FsVGFic2V0U2VydmljZSB9IGZyb20gJy4vdmVydGljYWwtdGFic2V0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdmVydGljYWwtdGFic2V0LWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZlcnRpY2FsLXRhYnNldC1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZlcnRpY2FsLXRhYnNldC1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW3NreUFuaW1hdGlvblNsaWRlXSxcbiAgcHJvdmlkZXJzOiBbU2t5VmVydGljYWxUYWJzZXRHcm91cFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lWZXJ0aWNhbFRhYnNldEdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogV2hldGhlciB0byBkaXNhYmxlIHRoZSBhYmlsaXR5IHRvIGV4cGFuZCBhbmQgY29sbGFwc2UgdGhlIGdyb3VwLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNhYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMuI3VwZGF0ZVNsaWRlRGlyZWN0aW9uKGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaGVhZGVyIGZvciB0aGUgY29sbGFwc2libGUgZ3JvdXAgb2YgdGFicy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBncm91cEhlYWRpbmc6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY29sbGFwc2libGUgZ3JvdXAgaXMgZXhwYW5kZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG9wZW4odmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfb3BlbiA9IHZhbHVlO1xuICAgIHRoaXMuI3VwZGF0ZVNsaWRlRGlyZWN0aW9uKGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3BlbigpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX29wZW47XG4gIH1cblxuICBAQ29udGVudENoaWxkcmVuKFNreVZlcnRpY2FsVGFiQ29tcG9uZW50KVxuICBwdWJsaWMgdGFiczogUXVlcnlMaXN0PFNreVZlcnRpY2FsVGFiQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdncm91cEhlYWRpbmdCdXR0b24nKVxuICBwdWJsaWMgZ3JvdXBIZWFkaW5nQnV0dG9uOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBhbmltYXRpb25EaXNhYmxlZCA9IGZhbHNlO1xuICBwdWJsaWMgc2xpZGVEaXJlY3Rpb246ICdkb3duJyB8ICd1cCcgfCAndm9pZCcgPSAndXAnO1xuXG4gIHByb3RlY3RlZCBncm91cElkOiBzdHJpbmc7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICN0YWJTZXJ2aWNlOiBTa3lWZXJ0aWNhbFRhYnNldFNlcnZpY2U7XG4gICNjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmO1xuICAjYWRhcHRlclNlcnZpY2UgPSBpbmplY3QoU2t5VmVydGljYWxUYWJzZXRBZGFwdGVyU2VydmljZSk7XG4gICNpZFNlcnZpY2UgPSBpbmplY3QoU2t5SWRTZXJ2aWNlKTtcbiAgI3RhYklkU2VydmljZSA9IGluamVjdChTa3lUYWJJZFNlcnZpY2UpO1xuICAjZ3JvdXBTZXJ2aWNlID0gaW5qZWN0KFNreVZlcnRpY2FsVGFic2V0R3JvdXBTZXJ2aWNlKTtcblxuICAjX2Rpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAjX29wZW46IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGFiU2VydmljZTogU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlLFxuICAgIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHRoaXMuI3RhYlNlcnZpY2UgPSB0YWJTZXJ2aWNlO1xuICAgIHRoaXMuI2NoYW5nZVJlZiA9IGNoYW5nZVJlZjtcblxuICAgIHRoaXMuZ3JvdXBJZCA9IHRoaXMuI2lkU2VydmljZS5nZW5lcmF0ZUlkKCk7XG5cbiAgICB0aGlzLiNncm91cFNlcnZpY2UubWVzc2FnZVN0cmVhbS5zdWJzY3JpYmUoKG1lc3NhZ2UpID0+IHtcbiAgICAgIHN3aXRjaCAobWVzc2FnZS5tZXNzYWdlVHlwZSkge1xuICAgICAgICBjYXNlICdmb2N1cyc6XG4gICAgICAgICAgdGhpcy4jZm9jdXNCdXR0b24oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiN0YWJJZFNlcnZpY2UucmVnaXN0ZXIodGhpcy5ncm91cElkLCB0aGlzLmdyb3VwSWQpO1xuXG4gICAgdGhpcy4jdGFiU2VydmljZS5hZGRHcm91cCh0aGlzKTtcblxuICAgIHRoaXMuI3RhYlNlcnZpY2UuaGlkaW5nVGFic1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLiN0YWJzSGlkZGVuKCkpO1xuXG4gICAgdGhpcy4jdGFiU2VydmljZS5zaG93aW5nVGFic1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLiN0YWJzU2hvd24oKSk7XG5cbiAgICB0aGlzLiN0YWJTZXJ2aWNlLnRhYkNsaWNrZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy4jdGFiQ2xpY2tlZCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiN0YWJTZXJ2aWNlLmRlc3Ryb3lHcm91cCh0aGlzKTtcblxuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIHRoaXMuI3RhYklkU2VydmljZS51bnJlZ2lzdGVyKHRoaXMuZ3JvdXBJZCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU2xpZGVEaXJlY3Rpb24oZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2xpZGVEaXJlY3Rpb24gPSBldmVudC50b1N0YXRlO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZU1lbnVPcGVuKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgICB9XG5cbiAgICB0aGlzLiN1cGRhdGVTbGlkZURpcmVjdGlvbih0cnVlKTtcbiAgICB0aGlzLiNjaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ3JvdXBCdXR0b25BcnJvd0xlZnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgdGhpcy50b2dnbGVNZW51T3BlbigpO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ3JvdXBCdXR0b25BcnJvd1JpZ2h0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9wZW4pIHtcbiAgICAgIHRoaXMudGFicz8uZ2V0KDApPy5mb2N1c0J1dHRvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRvZ2dsZU1lbnVPcGVuKCk7XG4gICAgfVxuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnRhYnMgJiYgdGhpcy50YWJzLmZpbmQoKHQpID0+ICEhdC5hY3RpdmUpICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICAjdGFiQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLiNjaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjdGFic0hpZGRlbigpOiB2b2lkIHtcbiAgICAvLyBBbmd1bGFyIHdpbGwgc29tZXRpbWVzIHBsYWNlIHRoZSBhbmltYXRpb24gaW50byB0aGUgXCJ2b2lkXCIgc3RhdGUgd2hlbiB0YWJzIGFyZSBoaWRkZW4uIFVwZGF0ZSBvdXIgaW50ZXJuYWwgdmFyaWFibGUgdG8gcmVmbGVjdCB0aGF0LlxuICAgIHRoaXMuc2xpZGVEaXJlY3Rpb24gPSAndm9pZCc7XG4gICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI3RhYnNTaG93bigpOiB2b2lkIHtcbiAgICAvLyBTZXQgdGhlIGFuaW1hdGlvbiBiYWNrIHVwIHNvIHRoYXQgdGhlIFwidm9pZFwiIHN0YXRlIGlzIHJldHVybmVkIHRvIHdoZXJlIGl0IHdhcyBwcmlvciB0byB0aGUgdGFicyBiZWluZyBoaWRkZW4uXG4gICAgLy8gVGhpcyB3aWxsIGJlIGluc3RhbnRhbmVvdXMgZHVlIHRvIHRoZXJlIG5vdCBiZWluZyBhIFwidm9pZCAtPiAqXCIgc3RhdGUgb24gdGhlIHNsaWRlIGFuaW1hdGlvbi5cbiAgICB0aGlzLiN1cGRhdGVTbGlkZURpcmVjdGlvbih0cnVlKTtcbiAgICB0aGlzLiNjaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjdXBkYXRlU2xpZGVEaXJlY3Rpb24oYW5pbWF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuYW5pbWF0aW9uRGlzYWJsZWQgPSAhYW5pbWF0ZTtcbiAgICB0aGlzLnNsaWRlRGlyZWN0aW9uID0gdGhpcy5vcGVuICYmICF0aGlzLmRpc2FibGVkID8gJ2Rvd24nIDogJ3VwJztcbiAgfVxuXG4gICNmb2N1c0J1dHRvbigpOiB2b2lkIHtcbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5mb2N1c0J1dHRvbih0aGlzLmdyb3VwSGVhZGluZ0J1dHRvbik7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktdmVydGljYWwtdGFic2V0LWdyb3VwXCI+XG4gIDwhLS0gW25nQ2xhc3NdIGluY2x1ZGVzIGZvbnQgY2xhc3NlcyBmb3IgYm90aCBtb2Rlcm4gYW5kIGRlZmF1bHQgc3R5bGVzIC0tPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktdmVydGljYWwtdGFic2V0LWdyb3VwLWhlYWRlclwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS12ZXJ0aWNhbC10YWJzZXQtZ3JvdXAtaGVhZGVyLWFjdGl2ZSBza3ktZm9udC1lbXBoYXNpemVkJzpcbiAgICAgICAgaXNBY3RpdmUoKSxcbiAgICAgICdza3ktdmVydGljYWwtdGFic2V0LWdyb3VwLWhlYWRlci1zdWItb3Blbic6IG9wZW4sXG4gICAgICAnc2t5LWZvbnQtZGVlbXBoYXNpemVkJzogZGlzYWJsZWQsXG4gICAgICAnc2t5LWRlZW1waGFzaXplZCc6IGRpc2FibGVkLFxuICAgIH1cIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktcGFkZGluZy1ldmVuLWRlZmF1bHQgc2t5LXZlcnRpY2FsLXRhYnNldC1idXR0b25cIlxuICAgICAgcm9sZT1cInRhYlwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiZ3JvdXBDb250ZW50LmlkXCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgdW5kZWZpbmVkXCJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiIWRpc2FibGVkICYmIG9wZW5cIlxuICAgICAgW2lkXT1cImdyb3VwSWRcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LXZlcnRpY2FsLXRhYnNldC1idXR0b24tZGlzYWJsZWQnOiBkaXNhYmxlZFxuICAgICAgfVwiXG4gICAgICBbdGFiSW5kZXhdPVwiLTFcIlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZU1lbnVPcGVuKClcIlxuICAgICAgKGtleXVwLmFycm93bGVmdCk9XCJncm91cEJ1dHRvbkFycm93TGVmdCgkZXZlbnQpXCJcbiAgICAgIChrZXl1cC5hcnJvd3JpZ2h0KT1cImdyb3VwQnV0dG9uQXJyb3dSaWdodCgkZXZlbnQpXCJcbiAgICAgICNncm91cEhlYWRpbmdCdXR0b25cbiAgICA+XG4gICAgICB7eyBncm91cEhlYWRpbmcgfX1cbiAgICAgIDxza3ktZXhwYW5zaW9uLWluZGljYXRvclxuICAgICAgICBjbGFzcz1cInNreS12ZXJ0aWNhbC10YWJzZXQtZ3JvdXAtZXhwYW5zaW9uLWluZGljYXRvclwiXG4gICAgICAgIFtkaXJlY3Rpb25dPVwiIWRpc2FibGVkICYmIG9wZW4gPyAndXAnIDogJ2Rvd24nXCJcbiAgICAgID5cbiAgICAgIDwvc2t5LWV4cGFuc2lvbi1pbmRpY2F0b3I+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktdmVydGljYWwtdGFic2V0LWdyb3VwLWNvbnRlbnRcIlxuICAgIHNreUlkXG4gICAgW2F0dHIubGFiZWxsZWRieV09XCJncm91cElkXCJcbiAgICBbQC5kaXNhYmxlZF09XCJhbmltYXRpb25EaXNhYmxlZFwiXG4gICAgW0Bza3lBbmltYXRpb25TbGlkZV09XCJzbGlkZURpcmVjdGlvblwiXG4gICAgKEBza3lBbmltYXRpb25TbGlkZS5kb25lKT1cInVwZGF0ZVNsaWRlRGlyZWN0aW9uKCRldmVudClcIlxuICAgICNncm91cENvbnRlbnRcbiAgPlxuICAgIDxuZy1jb250ZW50IC8+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export class SkyVerticalTabsetGroupService {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.messageStream = new Subject();
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyVerticalTabsetGroupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
12
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyVerticalTabsetGroupService }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyVerticalTabsetGroupService, decorators: [{
|
|
15
|
+
type: Injectable
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LWdyb3VwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYnNldC1ncm91cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFJL0I7O0dBRUc7QUFFSCxNQUFNLE9BQU8sNkJBQTZCO0lBRDFDO1FBRVMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBaUMsQ0FBQztLQUNyRTs4R0FGWSw2QkFBNkI7a0hBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lWZXJ0aWNhbFRhYnNldEdyb3VwTWVzc2FnZSB9IGZyb20gJy4vdmVydGljYWwtdGFic2V0LWdyb3VwLW1lc3NhZ2UnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VmVydGljYWxUYWJzZXRHcm91cFNlcnZpY2Uge1xuICBwdWJsaWMgbWVzc2FnZVN0cmVhbSA9IG5ldyBTdWJqZWN0PFNreVZlcnRpY2FsVGFic2V0R3JvdXBNZXNzYWdlPigpO1xufVxuIl19
|
|
@@ -32,10 +32,10 @@ export class SkyVerticalTabsetComponent {
|
|
|
32
32
|
#_ariaRole;
|
|
33
33
|
#resources;
|
|
34
34
|
#changeRef;
|
|
35
|
-
#tabIdSvc;
|
|
36
35
|
constructor(adapterService, tabService, resources, changeRef, tabIdSvc) {
|
|
37
36
|
this.adapterService = adapterService;
|
|
38
37
|
this.tabService = tabService;
|
|
38
|
+
this.tabIdSvc = tabIdSvc;
|
|
39
39
|
/**
|
|
40
40
|
* Whether the vertical tabset loads tab content during initialization so that it
|
|
41
41
|
* displays content without moving around elements in the content container.
|
|
@@ -48,15 +48,11 @@ export class SkyVerticalTabsetComponent {
|
|
|
48
48
|
*/
|
|
49
49
|
this.activeChange = new EventEmitter();
|
|
50
50
|
this.isMobile = false;
|
|
51
|
+
this.tablistHasFocus = false;
|
|
51
52
|
this.#ngUnsubscribe = new Subject();
|
|
52
53
|
this.#_ariaRole = 'tablist';
|
|
53
54
|
this.#resources = resources;
|
|
54
55
|
this.#changeRef = changeRef;
|
|
55
|
-
this.#tabIdSvc = tabIdSvc;
|
|
56
|
-
this.#tabIdSvc.ids.pipe(takeUntil(this.#ngUnsubscribe)).subscribe((ids) => {
|
|
57
|
-
this.ariaOwns = ids.join(' ') || undefined;
|
|
58
|
-
this.#changeRef.markForCheck();
|
|
59
|
-
});
|
|
60
56
|
}
|
|
61
57
|
ngOnInit() {
|
|
62
58
|
this.tabService.maintainTabContent = this.maintainTabContent;
|
|
@@ -101,8 +97,27 @@ export class SkyVerticalTabsetComponent {
|
|
|
101
97
|
this.#ngUnsubscribe.next();
|
|
102
98
|
this.#ngUnsubscribe.complete();
|
|
103
99
|
}
|
|
104
|
-
|
|
105
|
-
|
|
100
|
+
tabsetFocus() {
|
|
101
|
+
this.tabService.focusActiveTab(this.tabGroups);
|
|
102
|
+
}
|
|
103
|
+
tabGroupsFocusIn() {
|
|
104
|
+
// This will set the tab index of the the vertical tabset element to -1
|
|
105
|
+
// while focus is inside the tab list, allowing Shift+Tab to move
|
|
106
|
+
// to the next element above the tab list element. Otherwise focus would
|
|
107
|
+
// be trapped on the currently focused tab.
|
|
108
|
+
this.tablistHasFocus = true;
|
|
109
|
+
}
|
|
110
|
+
tabGroupsFocusOut() {
|
|
111
|
+
this.tablistHasFocus = false;
|
|
112
|
+
}
|
|
113
|
+
tabGroupsArrowDown() {
|
|
114
|
+
this.adapterService.focusNextButton(this.tabGroups);
|
|
115
|
+
}
|
|
116
|
+
tabGroupsArrowUp() {
|
|
117
|
+
this.adapterService.focusPreviousButton(this.tabGroups);
|
|
118
|
+
}
|
|
119
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyVerticalTabsetComponent, deps: [{ token: i1.SkyVerticalTabsetAdapterService }, { token: i2.SkyVerticalTabsetService }, { token: i3.SkyLibResourcesService }, { token: i0.ChangeDetectorRef }, { token: i4.SkyTabIdService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
120
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyVerticalTabsetComponent, selector: "sky-vertical-tabset", inputs: { showTabsText: "showTabsText", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", ariaRole: "ariaRole", maintainTabContent: "maintainTabContent" }, outputs: { activeChange: "activeChange" }, providers: [SkyTabIdService, SkyVerticalTabsetService], viewQueries: [{ propertyName: "tabGroups", first: true, predicate: ["groupContainerWrapper"], descendants: true }, { propertyName: "content", first: true, predicate: ["skySideContent"], descendants: true }, { propertyName: "contentWrapper", first: true, predicate: ["contentContainerWrapper"], descendants: true }], ngImport: i0, template: "<div\n class=\"sky-vertical-tabset\"\n [tabIndex]=\"tablistHasFocus ? -1 : 0\"\n (focus)=\"tabsetFocus()\"\n>\n <!--\n ARIA rules do not allow tabpanel elements to be children of a tablist element.\n However, the markup for each sky-vertical-tab component includes both the tab button\n and its panel, making the panel element a child of its tablist. Moreover, our\n sky-vertical-tab components can be grouped within collapsible containers, which also\n violates accessibility rules because only tab buttons can be children of a tablist.\n To address this, we create an empty tablist element with an aria-owns attribute,\n pointing to each tab element individually. That way, we don't have to worry about the\n structure for each sky-vertical-tab component in order to satisfy accessibility\n guidelines.\n -->\n <span\n aria-orientation=\"vertical\"\n class=\"sky-vertical-tabset-tablist\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-owns]=\"(tabIdSvc.ids | async)?.join(' ') || undefined\"\n [attr.role]=\"isMobile ? undefined : ariaRole\"\n ></span>\n <div\n *ngIf=\"maintainTabContent || tabService.tabsVisible()\"\n class=\"sky-vertical-tabset-group-container\"\n [@tabGroupEnter]=\"tabService.animationTabsVisibleState\"\n [ngClass]=\"{ 'sky-vertical-tabset-hidden': !tabService.tabsVisible() }\"\n (keydown.arrowdown)=\"tabGroupsArrowDown(); $event.preventDefault()\"\n (keydown.arrowup)=\"tabGroupsArrowUp(); $event.preventDefault()\"\n (focusin)=\"tabGroupsFocusIn()\"\n (focusout)=\"tabGroupsFocusOut()\"\n #groupContainerWrapper\n >\n <ng-content />\n </div>\n <div\n *ngIf=\"maintainTabContent || tabService.contentVisible()\"\n class=\"sky-vertical-tabset-content\"\n [ngClass]=\"{\n 'sky-vertical-tabset-content-hidden': !tabService.contentVisible()\n }\"\n [@contentEnter]=\"tabService.animationContentVisibleState\"\n #contentContainerWrapper\n >\n <div #skySideContent></div>\n <button\n *ngIf=\"!tabService.tabsVisible()\"\n (click)=\"tabService.showTabs()\"\n class=\"sky-btn sky-btn-primary sky-vertical-tabset-show-tabs-btn\"\n type=\"button\"\n >\n <sky-icon icon=\"chevron-left\" />\n {{ showTabsText }}\n </button>\n </div>\n</div>\n", styles: [":host .sky-vertical-tabset{display:block;height:auto}:host .sky-vertical-tabset-group-container{border-right:none}:host-context(.sky-responsive-container-xs) .sky-vertical-tabset,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset,:host-context(.sky-responsive-container-md) .sky-vertical-tabset,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset{display:block;height:auto}:host-context(.sky-responsive-container-xs) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:none}@media (min-width: 768px){:host .sky-vertical-tabset{display:flex;height:100%}:host .sky-vertical-tabset-group-container{border-right:1px solid #cdcfd2}}:host-context(.sky-responsive-container-sm) .sky-vertical-tabset,:host-context(.sky-responsive-container-md) .sky-vertical-tabset,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset{display:flex;height:100%}:host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #cdcfd2}.sky-vertical-tabset-hidden{display:none}.sky-vertical-tabset-content{margin:10px 0 0 10px;flex-basis:75%;overflow-y:auto}.sky-vertical-tabset-content-hidden{display:none}.sky-vertical-tabset-show-tabs-btn{margin-top:10px}.sky-vertical-tabset-group-container{flex-basis:25%;overflow-y:auto}:host-context(sky-modal-content)>.sky-vertical-tabset{margin:-15px}:host-context(.sky-theme-modern) .sky-vertical-tabset-content{margin:15px}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-vertical-tabset-content{margin:20px 30px}:host-context(.sky-theme-modern) :host .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-content{margin:20px 30px}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}.sky-theme-modern .sky-vertical-tabset-content{margin:15px}@media (min-width: 768px){.sky-theme-modern :host .sky-vertical-tabset-content{margin:20px 30px}.sky-theme-modern :host .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-content,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-vertical-tabset-content,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-content{margin:20px 30px}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], animations: [
|
|
106
121
|
trigger('tabGroupEnter', [
|
|
107
122
|
transition(`${HIDDEN_STATE} => ${VISIBLE_STATE}`, [
|
|
108
123
|
style({ transform: 'translate(-100%)' }),
|
|
@@ -117,7 +132,7 @@ export class SkyVerticalTabsetComponent {
|
|
|
117
132
|
]),
|
|
118
133
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
119
134
|
}
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyVerticalTabsetComponent, decorators: [{
|
|
121
136
|
type: Component,
|
|
122
137
|
args: [{ selector: 'sky-vertical-tabset', providers: [SkyTabIdService, SkyVerticalTabsetService], changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
123
138
|
trigger('tabGroupEnter', [
|
|
@@ -132,7 +147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
132
147
|
animate('150ms ease-in'),
|
|
133
148
|
]),
|
|
134
149
|
]),
|
|
135
|
-
], template: "<div
|
|
150
|
+
], template: "<div\n class=\"sky-vertical-tabset\"\n [tabIndex]=\"tablistHasFocus ? -1 : 0\"\n (focus)=\"tabsetFocus()\"\n>\n <!--\n ARIA rules do not allow tabpanel elements to be children of a tablist element.\n However, the markup for each sky-vertical-tab component includes both the tab button\n and its panel, making the panel element a child of its tablist. Moreover, our\n sky-vertical-tab components can be grouped within collapsible containers, which also\n violates accessibility rules because only tab buttons can be children of a tablist.\n To address this, we create an empty tablist element with an aria-owns attribute,\n pointing to each tab element individually. That way, we don't have to worry about the\n structure for each sky-vertical-tab component in order to satisfy accessibility\n guidelines.\n -->\n <span\n aria-orientation=\"vertical\"\n class=\"sky-vertical-tabset-tablist\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-owns]=\"(tabIdSvc.ids | async)?.join(' ') || undefined\"\n [attr.role]=\"isMobile ? undefined : ariaRole\"\n ></span>\n <div\n *ngIf=\"maintainTabContent || tabService.tabsVisible()\"\n class=\"sky-vertical-tabset-group-container\"\n [@tabGroupEnter]=\"tabService.animationTabsVisibleState\"\n [ngClass]=\"{ 'sky-vertical-tabset-hidden': !tabService.tabsVisible() }\"\n (keydown.arrowdown)=\"tabGroupsArrowDown(); $event.preventDefault()\"\n (keydown.arrowup)=\"tabGroupsArrowUp(); $event.preventDefault()\"\n (focusin)=\"tabGroupsFocusIn()\"\n (focusout)=\"tabGroupsFocusOut()\"\n #groupContainerWrapper\n >\n <ng-content />\n </div>\n <div\n *ngIf=\"maintainTabContent || tabService.contentVisible()\"\n class=\"sky-vertical-tabset-content\"\n [ngClass]=\"{\n 'sky-vertical-tabset-content-hidden': !tabService.contentVisible()\n }\"\n [@contentEnter]=\"tabService.animationContentVisibleState\"\n #contentContainerWrapper\n >\n <div #skySideContent></div>\n <button\n *ngIf=\"!tabService.tabsVisible()\"\n (click)=\"tabService.showTabs()\"\n class=\"sky-btn sky-btn-primary sky-vertical-tabset-show-tabs-btn\"\n type=\"button\"\n >\n <sky-icon icon=\"chevron-left\" />\n {{ showTabsText }}\n </button>\n </div>\n</div>\n", styles: [":host .sky-vertical-tabset{display:block;height:auto}:host .sky-vertical-tabset-group-container{border-right:none}:host-context(.sky-responsive-container-xs) .sky-vertical-tabset,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset,:host-context(.sky-responsive-container-md) .sky-vertical-tabset,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset{display:block;height:auto}:host-context(.sky-responsive-container-xs) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:none}@media (min-width: 768px){:host .sky-vertical-tabset{display:flex;height:100%}:host .sky-vertical-tabset-group-container{border-right:1px solid #cdcfd2}}:host-context(.sky-responsive-container-sm) .sky-vertical-tabset,:host-context(.sky-responsive-container-md) .sky-vertical-tabset,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset{display:flex;height:100%}:host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #cdcfd2}.sky-vertical-tabset-hidden{display:none}.sky-vertical-tabset-content{margin:10px 0 0 10px;flex-basis:75%;overflow-y:auto}.sky-vertical-tabset-content-hidden{display:none}.sky-vertical-tabset-show-tabs-btn{margin-top:10px}.sky-vertical-tabset-group-container{flex-basis:25%;overflow-y:auto}:host-context(sky-modal-content)>.sky-vertical-tabset{margin:-15px}:host-context(.sky-theme-modern) .sky-vertical-tabset-content{margin:15px}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-vertical-tabset-content{margin:20px 30px}:host-context(.sky-theme-modern) :host .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-content{margin:20px 30px}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}.sky-theme-modern .sky-vertical-tabset-content{margin:15px}@media (min-width: 768px){.sky-theme-modern :host .sky-vertical-tabset-content{margin:20px 30px}.sky-theme-modern :host .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-content,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-vertical-tabset-content,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-content{margin:20px 30px}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}\n"] }]
|
|
136
151
|
}], ctorParameters: () => [{ type: i1.SkyVerticalTabsetAdapterService }, { type: i2.SkyVerticalTabsetService }, { type: i3.SkyLibResourcesService }, { type: i0.ChangeDetectorRef }, { type: i4.SkyTabIdService }], propDecorators: { showTabsText: [{
|
|
137
152
|
type: Input
|
|
138
153
|
}], ariaLabel: [{
|
|
@@ -155,4 +170,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
155
170
|
type: ViewChild,
|
|
156
171
|
args: ['contentContainerWrapper']
|
|
157
172
|
}] } });
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUczRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLHdCQUF3QixFQUN4QixhQUFhLEdBQ2QsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUF1Qm5DLE1BQU0sT0FBTywwQkFBMEI7SUE0QnJDOzs7Ozs7Ozs7T0FTRztJQUNILElBQ1csUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLEtBQXlCO1FBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxJQUFJLFNBQVMsQ0FBQztJQUN2QyxDQUFDO0lBNkJELGNBQWMsQ0FBdUI7SUFD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Q0FDaEQsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUM7Z0NBQ3hDLE9BQU8sQ0FBQyxlQUFlLENBQUM7NkJBQ3pCLENBQUM7eUJBQ0gsQ0FBQzt3QkFDRixPQUFPLENBQUMsY0FBYyxFQUFFOzRCQUN0QixVQUFVLENBQUMsR0FBRyxZQUFZLE9BQU8sYUFBYSxFQUFFLEVBQUU7Z0NBQ2hELEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO2dDQUN2QyxPQUFPLENBQUMsZUFBZSxDQUFDOzZCQUN6QixDQUFDO3lCQUNILENBQUM7cUJBQ0g7OE9BU00sWUFBWTtzQkFEbEIsS0FBSztnQkFVQyxTQUFTO3NCQURmLEtBQUs7Z0JBV0MsY0FBYztzQkFEcEIsS0FBSztnQkFjSyxRQUFRO3NCQURsQixLQUFLO2dCQWVDLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFRQyxZQUFZO3NCQURsQixNQUFNO2dCQUlBLFNBQVM7c0JBRGYsU0FBUzt1QkFBQyx1QkFBdUI7Z0JBSTNCLE9BQU87c0JBRGIsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBSXBCLGNBQWM7c0JBRHBCLFNBQVM7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUYWJJZFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvdGFiLWlkLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTa3lWZXJ0aWNhbFRhYnNldEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi92ZXJ0aWNhbC10YWJzZXQtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEhJRERFTl9TVEFURSxcbiAgU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlLFxuICBWSVNJQkxFX1NUQVRFLFxufSBmcm9tICcuL3ZlcnRpY2FsLXRhYnNldC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXZlcnRpY2FsLXRhYnNldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi92ZXJ0aWNhbC10YWJzZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92ZXJ0aWNhbC10YWJzZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5VGFiSWRTZXJ2aWNlLCBTa3lWZXJ0aWNhbFRhYnNldFNlcnZpY2VdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3RhYkdyb3VwRW50ZXInLCBbXG4gICAgICB0cmFuc2l0aW9uKGAke0hJRERFTl9TVEFURX0gPT4gJHtWSVNJQkxFX1NUQVRFfWAsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoLTEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgnMTUwbXMgZWFzZS1pbicpLFxuICAgICAgXSksXG4gICAgXSksXG4gICAgdHJpZ2dlcignY29udGVudEVudGVyJywgW1xuICAgICAgdHJhbnNpdGlvbihgJHtISURERU5fU1RBVEV9ID0+ICR7VklTSUJMRV9TVEFURX1gLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlKDEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgnMTUwbXMgZWFzZS1pbicpLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVZlcnRpY2FsVGFic2V0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdDaGVja2VkLCBPbkRlc3Ryb3lcbntcbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHRvIGRpc3BsYXkgb24gdGhlIHNob3cgdGFicyBidXR0b24gb24gbW9iaWxlIGRldmljZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd1RhYnNUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBBUklBIGxhYmVsIGZvciB0aGUgdGFic2V0LiBUaGlzIHNldHMgdGhlIHRhYnNldCdzIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gcHJvdmlkZSBhIHRleHQgZXF1aXZhbGVudCBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogSWYgdGhlIHRhYnNldCBpbmNsdWRlcyBhIHZpc2libGUgbGFiZWwsIHVzZSBgYXJpYUxhYmVsbGVkQnlgIGluc3RlYWQuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgYXJpYS1sYWJlbGAgYXR0cmlidXRlLCBzZWUgdGhlIFtXQUktQVJJQSBkZWZpbml0aW9uXShodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEvI2FyaWEtbGFiZWwpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFyaWFMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgSFRNTCBlbGVtZW50IElEIG9mIHRoZSBlbGVtZW50IHRoYXQgbGFiZWxzXG4gICAqIHRoZSB0YWJzZXQuIFRoaXMgc2V0cyB0aGUgdGFic2V0J3MgYGFyaWEtbGFiZWxsZWRieWAgYXR0cmlidXRlIHRvIHByb3ZpZGUgYSB0ZXh0IGVxdWl2YWxlbnQgZm9yIHNjcmVlbiByZWFkZXJzXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqIElmIHRoZSB0YWJzZXQgZG9lcyBub3QgaW5jbHVkZSBhIHZpc2libGUgbGFiZWwsIHVzZSBgYXJpYUxhYmVsYCBpbnN0ZWFkLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYGFyaWEtbGFiZWxsZWRieWAgYXR0cmlidXRlLCBzZWUgdGhlIFtXQUktQVJJQSBkZWZpbml0aW9uXShodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEvI2FyaWEtbGFiZWxsZWRieSkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXJpYUxhYmVsbGVkQnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIEFSSUEgcm9sZSBmb3IgdGhlIHZlcnRpY2FsIHRhYnNldFxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpXG4gICAqIGJ5IGluZGljYXRpbmcgaG93IHRoZSB0YWJzZXQgZnVuY3Rpb25zIGFuZCB3aGF0IGl0IGNvbnRyb2xzLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgaG93XG4gICAqIGFuIEFSSUEgcm9sZSBpbmRpY2F0ZXMgd2hhdCBhbiBpdGVtIHJlcHJlc2VudHMgb24gYSB3ZWIgcGFnZSwgc2VlIHRoZVxuICAgKiBbV0FJLUFSSUEgcm9sZXMgbW9kZWxdKGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvUEYvYXJpYS8jcm9sZXMpLlxuICAgKiBAZGVmYXVsdCBcInRhYmxpc3RcIlxuICAgKiBAZGVwcmVjYXRlZCBBbnkgb3RoZXIgdmFsdWUgdGhhbiBgdGFibGlzdGAgY291bGQgbGVhZCB0byBhIHBvb3IgdXNlciBleHBlcmllbmNlIGZvciB1c2VycyB3aXRoIGFzc2lzdGl2ZSB0ZWNobm9sb2d5LlxuICAgKiBJbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uLCB0aGlzIHByb3BlcnR5IHdpbGwgYmUgYXV0b21hdGljYWxseSBzZXQgdG8gYHRhYmxpc3RgLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBhcmlhUm9sZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfYXJpYVJvbGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGFyaWFSb2xlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfYXJpYVJvbGUgPSB2YWx1ZSA/PyAndGFibGlzdCc7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdmVydGljYWwgdGFic2V0IGxvYWRzIHRhYiBjb250ZW50IGR1cmluZyBpbml0aWFsaXphdGlvbiBzbyB0aGF0IGl0XG4gICAqIGRpc3BsYXlzIGNvbnRlbnQgd2l0aG91dCBtb3ZpbmcgYXJvdW5kIGVsZW1lbnRzIGluIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYWludGFpblRhYkNvbnRlbnQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgYWN0aXZlIHRhYiBjaGFuZ2VzLiBFbWl0cyB0aGUgaW5kZXggb2YgdGhlIGFjdGl2ZSB0YWIuIFRoZVxuICAgKiBpbmRleCBpcyBiYXNlZCBvbiB0aGUgdGFiJ3MgcG9zaXRpb24gd2hlbiBpdCBsb2Fkcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYWN0aXZlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQFZpZXdDaGlsZCgnZ3JvdXBDb250YWluZXJXcmFwcGVyJylcbiAgcHVibGljIHRhYkdyb3VwczogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdza3lTaWRlQ29udGVudCcpXG4gIHB1YmxpYyBjb250ZW50OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnRDb250YWluZXJXcmFwcGVyJylcbiAgcHVibGljIGNvbnRlbnRXcmFwcGVyOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBhcmlhT3duczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBpc01vYmlsZSA9IGZhbHNlO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNfYXJpYVJvbGUgPSAndGFibGlzdCc7XG5cbiAgI3Jlc291cmNlczogU2t5TGliUmVzb3VyY2VzU2VydmljZTtcbiAgI2NoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICN0YWJJZFN2YzogU2t5VGFiSWRTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBhZGFwdGVyU2VydmljZTogU2t5VmVydGljYWxUYWJzZXRBZGFwdGVyU2VydmljZSxcbiAgICBwdWJsaWMgdGFiU2VydmljZTogU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlLFxuICAgIHJlc291cmNlczogU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbiAgICBjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHRhYklkU3ZjOiBTa3lUYWJJZFNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuI3Jlc291cmNlcyA9IHJlc291cmNlcztcbiAgICB0aGlzLiNjaGFuZ2VSZWYgPSBjaGFuZ2VSZWY7XG4gICAgdGhpcy4jdGFiSWRTdmMgPSB0YWJJZFN2YztcblxuICAgIHRoaXMuI3RhYklkU3ZjLmlkcy5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChpZHMpID0+IHtcbiAgICAgIHRoaXMuYXJpYU93bnMgPSBpZHMuam9pbignICcpIHx8IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRhYlNlcnZpY2UubWFpbnRhaW5UYWJDb250ZW50ID0gdGhpcy5tYWludGFpblRhYkNvbnRlbnQ7XG5cbiAgICB0aGlzLnRhYlNlcnZpY2UuaW5kZXhDaGFuZ2VkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChpbmRleDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZlQ2hhbmdlLmVtaXQoaW5kZXgpO1xuICAgICAgICBpZiAodGhpcy5jb250ZW50V3JhcHBlcikge1xuICAgICAgICAgIHRoaXMuYWRhcHRlclNlcnZpY2Uuc2Nyb2xsVG9Db250ZW50VG9wKHRoaXMuY29udGVudFdyYXBwZXIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy50YWJTZXJ2aWNlLnN3aXRjaGluZ01vYmlsZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobW9iaWxlOiBib29sZWFuKSA9PiB7XG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBtb2JpbGU7XG4gICAgICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMudGFiU2VydmljZS5pc01vYmlsZSgpKSB7XG4gICAgICB0aGlzLmlzTW9iaWxlID0gdHJ1ZTtcbiAgICAgIHRoaXMudGFiU2VydmljZS5hbmltYXRpb25Db250ZW50VmlzaWJsZVN0YXRlID0gVklTSUJMRV9TVEFURTtcbiAgICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnNob3dUYWJzVGV4dCkge1xuICAgICAgdGhpcy4jcmVzb3VyY2VzXG4gICAgICAgIC5nZXRTdHJpbmcoJ3NreXV4X3ZlcnRpY2FsX3RhYnNfc2hvd190YWJzX3RleHQnKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZSkgPT4ge1xuICAgICAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKCF0aGlzLnNob3dUYWJzVGV4dCkge1xuICAgICAgICAgICAgdGhpcy5zaG93VGFic1RleHQgPSByZXNvdXJjZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgdGhpcy50YWJTZXJ2aWNlLmNvbnRlbnQgPSB0aGlzLmNvbnRlbnQ7XG4gICAgdGhpcy50YWJTZXJ2aWNlLnVwZGF0ZUNvbnRlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktdmVydGljYWwtdGFic2V0XCI+XG4gIDwhLS1cbiAgICBBUklBIHJ1bGVzIGRvIG5vdCBhbGxvdyB0YWJwYW5lbCBlbGVtZW50cyB0byBiZSBjaGlsZHJlbiBvZiBhIHRhYmxpc3QgZWxlbWVudC5cbiAgICBIb3dldmVyLCB0aGUgbWFya3VwIGZvciBlYWNoIHNreS12ZXJ0aWNhbC10YWIgY29tcG9uZW50IGluY2x1ZGVzIGJvdGggdGhlIHRhYiBidXR0b25cbiAgICBhbmQgaXRzIHBhbmVsLCBtYWtpbmcgdGhlIHBhbmVsIGVsZW1lbnQgYSBjaGlsZCBvZiBpdHMgdGFibGlzdC4gTW9yZW92ZXIsIG91clxuICAgIHNreS12ZXJ0aWNhbC10YWIgY29tcG9uZW50cyBjYW4gYmUgZ3JvdXBlZCB3aXRoaW4gY29sbGFwc2libGUgY29udGFpbmVycywgd2hpY2ggYWxzb1xuICAgIHZpb2xhdGVzIGFjY2Vzc2liaWxpdHkgcnVsZXMgYmVjYXVzZSBvbmx5IHRhYiBidXR0b25zIGNhbiBiZSBjaGlsZHJlbiBvZiBhIHRhYmxpc3QuXG4gICAgVG8gYWRkcmVzcyB0aGlzLCB3ZSBjcmVhdGUgYW4gZW1wdHkgdGFibGlzdCBlbGVtZW50IHdpdGggYW4gYXJpYS1vd25zIGF0dHJpYnV0ZSxcbiAgICBwb2ludGluZyB0byBlYWNoIHRhYiBlbGVtZW50IGluZGl2aWR1YWxseS4gVGhhdCB3YXksIHdlIGRvbid0IGhhdmUgdG8gd29ycnkgYWJvdXQgdGhlXG4gICAgc3RydWN0dXJlIGZvciBlYWNoIHNreS12ZXJ0aWNhbC10YWIgY29tcG9uZW50IGluIG9yZGVyIHRvIHNhdGlzZnkgYWNjZXNzaWJpbGl0eVxuICAgIGd1aWRlbGluZXMuXG4gIC0tPlxuICA8c3BhblxuICAgIGFyaWEtb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiXG4gICAgY2xhc3M9XCJza3ktdmVydGljYWwtdGFic2V0LXRhYmxpc3RcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgIFthdHRyLmFyaWEtb3duc109XCJhcmlhT3duc1wiXG4gICAgW2F0dHIucm9sZV09XCJpc01vYmlsZSA/IHVuZGVmaW5lZCA6IGFyaWFSb2xlXCJcbiAgPjwvc3Bhbj5cbiAgPGRpdlxuICAgICpuZ0lmPVwibWFpbnRhaW5UYWJDb250ZW50IHx8IHRhYlNlcnZpY2UudGFic1Zpc2libGUoKVwiXG4gICAgY2xhc3M9XCJza3ktdmVydGljYWwtdGFic2V0LWdyb3VwLWNvbnRhaW5lclwiXG4gICAgW0B0YWJHcm91cEVudGVyXT1cInRhYlNlcnZpY2UuYW5pbWF0aW9uVGFic1Zpc2libGVTdGF0ZVwiXG4gICAgW25nQ2xhc3NdPVwieyAnc2t5LXZlcnRpY2FsLXRhYnNldC1oaWRkZW4nOiAhdGFiU2VydmljZS50YWJzVmlzaWJsZSgpIH1cIlxuICA+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cIm1haW50YWluVGFiQ29udGVudCB8fCB0YWJTZXJ2aWNlLmNvbnRlbnRWaXNpYmxlKClcIlxuICAgIGNsYXNzPVwic2t5LXZlcnRpY2FsLXRhYnNldC1jb250ZW50XCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LXZlcnRpY2FsLXRhYnNldC1jb250ZW50LWhpZGRlbic6ICF0YWJTZXJ2aWNlLmNvbnRlbnRWaXNpYmxlKClcbiAgICB9XCJcbiAgICBbQGNvbnRlbnRFbnRlcl09XCJ0YWJTZXJ2aWNlLmFuaW1hdGlvbkNvbnRlbnRWaXNpYmxlU3RhdGVcIlxuICAgICNjb250ZW50Q29udGFpbmVyV3JhcHBlclxuICA+XG4gICAgPGRpdiAjc2t5U2lkZUNvbnRlbnQ+PC9kaXY+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCIhdGFiU2VydmljZS50YWJzVmlzaWJsZSgpXCJcbiAgICAgIChjbGljayk9XCJ0YWJTZXJ2aWNlLnNob3dUYWJzKClcIlxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tcHJpbWFyeSBza3ktdmVydGljYWwtdGFic2V0LXNob3ctdGFicy1idG5cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgPHNreS1pY29uIGljb249XCJjaGV2cm9uLWxlZnRcIiAvPlxuICAgICAge3sgc2hvd1RhYnNUZXh0IH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUczRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLHdCQUF3QixFQUN4QixhQUFhLEdBQ2QsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUF1Qm5DLE1BQU0sT0FBTywwQkFBMEI7SUE0QnJDOzs7Ozs7Ozs7T0FTRztJQUNILElBQ1csUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLEtBQXlCO1FBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxJQUFJLFNBQVMsQ0FBQztJQUN2QyxDQUFDO0lBZ0NELGNBQWMsQ0FBdUI7SUFD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RkFFVSwwQkFBMEI7a0JBckJ0QyxTQUFTOytCQUNFLHFCQUFxQixhQUdwQixDQUFDLGVBQWUsRUFBRSx3QkFBd0IsQ0FBQyxtQkFDckMsdUJBQXVCLENBQUMsTUFBTSxjQUNuQzt3QkFDVixPQUFPLENBQUMsZUFBZSxFQUFFOzRCQUN2QixVQUFVLENBQUMsR0FBRyxZQUFZLE9BQU8sYUFBYSxFQUFFLEVBQUU7Z0NBQ2hELEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO2dDQUN4QyxPQUFPLENBQUMsZUFBZSxDQUFDOzZCQUN6QixDQUFDO3lCQUNILENBQUM7d0JBQ0YsT0FBTyxDQUFDLGNBQWMsRUFBRTs0QkFDdEIsVUFBVSxDQUFDLEdBQUcsWUFBWSxPQUFPLGFBQWEsRUFBRSxFQUFFO2dDQUNoRCxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztnQ0FDdkMsT0FBTyxDQUFDLGVBQWUsQ0FBQzs2QkFDekIsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIOzhPQVNNLFlBQVk7c0JBRGxCLEtBQUs7Z0JBVUMsU0FBUztzQkFEZixLQUFLO2dCQVdDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBY0ssUUFBUTtzQkFEbEIsS0FBSztnQkFlQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBUUMsWUFBWTtzQkFEbEIsTUFBTTtnQkFJQSxTQUFTO3NCQURmLFNBQVM7dUJBQUMsdUJBQXVCO2dCQUkzQixPQUFPO3NCQURiLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUlwQixjQUFjO3NCQURwQixTQUFTO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5VGFiSWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3RhYi1pZC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgU2t5VmVydGljYWxUYWJzZXRBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vdmVydGljYWwtdGFic2V0LWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQge1xuICBISURERU5fU1RBVEUsXG4gIFNreVZlcnRpY2FsVGFic2V0U2VydmljZSxcbiAgVklTSUJMRV9TVEFURSxcbn0gZnJvbSAnLi92ZXJ0aWNhbC10YWJzZXQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS12ZXJ0aWNhbC10YWJzZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdmVydGljYWwtdGFic2V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdmVydGljYWwtdGFic2V0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreVRhYklkU2VydmljZSwgU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCd0YWJHcm91cEVudGVyJywgW1xuICAgICAgdHJhbnNpdGlvbihgJHtISURERU5fU1RBVEV9ID0+ICR7VklTSUJMRV9TVEFURX1gLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlKC0xMDAlKScgfSksXG4gICAgICAgIGFuaW1hdGUoJzE1MG1zIGVhc2UtaW4nKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICAgIHRyaWdnZXIoJ2NvbnRlbnRFbnRlcicsIFtcbiAgICAgIHRyYW5zaXRpb24oYCR7SElEREVOX1NUQVRFfSA9PiAke1ZJU0lCTEVfU1RBVEV9YCwgW1xuICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZSgxMDAlKScgfSksXG4gICAgICAgIGFuaW1hdGUoJzE1MG1zIGVhc2UtaW4nKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lWZXJ0aWNhbFRhYnNldENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBkaXNwbGF5IG9uIHRoZSBzaG93IHRhYnMgYnV0dG9uIG9uIG1vYmlsZSBkZXZpY2VzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dUYWJzVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJJQSBsYWJlbCBmb3IgdGhlIHRhYnNldC4gVGhpcyBzZXRzIHRoZSB0YWJzZXQncyBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHByb3ZpZGUgYSB0ZXh0IGVxdWl2YWxlbnQgZm9yIHNjcmVlbiByZWFkZXJzXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqIElmIHRoZSB0YWJzZXQgaW5jbHVkZXMgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGFyaWFMYWJlbGxlZEJ5YCBpbnN0ZWFkLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSwgc2VlIHRoZSBbV0FJLUFSSUEgZGVmaW5pdGlvbl0oaHR0cHM6Ly93d3cudzMub3JnL1RSL3dhaS1hcmlhLyNhcmlhLWxhYmVsKS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcmlhTGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIEhUTUwgZWxlbWVudCBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGxhYmVsc1xuICAgKiB0aGUgdGFic2V0LiBUaGlzIHNldHMgdGhlIHRhYnNldCdzIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZSB0byBwcm92aWRlIGEgdGV4dCBlcXVpdmFsZW50IGZvciBzY3JlZW4gcmVhZGVyc1xuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBJZiB0aGUgdGFic2V0IGRvZXMgbm90IGluY2x1ZGUgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGFyaWFMYWJlbGAgaW5zdGVhZC5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZSwgc2VlIHRoZSBbV0FJLUFSSUEgZGVmaW5pdGlvbl0oaHR0cHM6Ly93d3cudzMub3JnL1RSL3dhaS1hcmlhLyNhcmlhLWxhYmVsbGVkYnkpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFyaWFMYWJlbGxlZEJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBBUklBIHJvbGUgZm9yIHRoZSB2ZXJ0aWNhbCB0YWJzZXRcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KVxuICAgKiBieSBpbmRpY2F0aW5nIGhvdyB0aGUgdGFic2V0IGZ1bmN0aW9ucyBhbmQgd2hhdCBpdCBjb250cm9scy4gRm9yIGluZm9ybWF0aW9uIGFib3V0IGhvd1xuICAgKiBhbiBBUklBIHJvbGUgaW5kaWNhdGVzIHdoYXQgYW4gaXRlbSByZXByZXNlbnRzIG9uIGEgd2ViIHBhZ2UsIHNlZSB0aGVcbiAgICogW1dBSS1BUklBIHJvbGVzIG1vZGVsXShodHRwczovL3d3dy53My5vcmcvV0FJL1BGL2FyaWEvI3JvbGVzKS5cbiAgICogQGRlZmF1bHQgXCJ0YWJsaXN0XCJcbiAgICogQGRlcHJlY2F0ZWQgQW55IG90aGVyIHZhbHVlIHRoYW4gYHRhYmxpc3RgIGNvdWxkIGxlYWQgdG8gYSBwb29yIHVzZXIgZXhwZXJpZW5jZSBmb3IgdXNlcnMgd2l0aCBhc3Npc3RpdmUgdGVjaG5vbG9neS5cbiAgICogSW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiwgdGhpcyBwcm9wZXJ0eSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIGB0YWJsaXN0YC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgYXJpYVJvbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX2FyaWFSb2xlO1xuICB9XG5cbiAgcHVibGljIHNldCBhcmlhUm9sZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2FyaWFSb2xlID0gdmFsdWUgPz8gJ3RhYmxpc3QnO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHZlcnRpY2FsIHRhYnNldCBsb2FkcyB0YWIgY29udGVudCBkdXJpbmcgaW5pdGlhbGl6YXRpb24gc28gdGhhdCBpdFxuICAgKiBkaXNwbGF5cyBjb250ZW50IHdpdGhvdXQgbW92aW5nIGFyb3VuZCBlbGVtZW50cyBpbiB0aGUgY29udGVudCBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWFpbnRhaW5UYWJDb250ZW50OiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIGFjdGl2ZSB0YWIgY2hhbmdlcy4gRW1pdHMgdGhlIGluZGV4IG9mIHRoZSBhY3RpdmUgdGFiLiBUaGVcbiAgICogaW5kZXggaXMgYmFzZWQgb24gdGhlIHRhYidzIHBvc2l0aW9uIHdoZW4gaXQgbG9hZHMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGFjdGl2ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2dyb3VwQ29udGFpbmVyV3JhcHBlcicpXG4gIHB1YmxpYyB0YWJHcm91cHM6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnc2t5U2lkZUNvbnRlbnQnKVxuICBwdWJsaWMgY29udGVudDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdjb250ZW50Q29udGFpbmVyV3JhcHBlcicpXG4gIHB1YmxpYyBjb250ZW50V3JhcHBlcjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgYXJpYU93bnM6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaXNNb2JpbGUgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgdGFibGlzdEhhc0ZvY3VzID0gZmFsc2U7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjX2FyaWFSb2xlID0gJ3RhYmxpc3QnO1xuXG4gICNyZXNvdXJjZXM6IFNreUxpYlJlc291cmNlc1NlcnZpY2U7XG4gICNjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBhZGFwdGVyU2VydmljZTogU2t5VmVydGljYWxUYWJzZXRBZGFwdGVyU2VydmljZSxcbiAgICBwdWJsaWMgdGFiU2VydmljZTogU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlLFxuICAgIHJlc291cmNlczogU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbiAgICBjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyB0YWJJZFN2YzogU2t5VGFiSWRTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLiNyZXNvdXJjZXMgPSByZXNvdXJjZXM7XG4gICAgdGhpcy4jY2hhbmdlUmVmID0gY2hhbmdlUmVmO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGFiU2VydmljZS5tYWludGFpblRhYkNvbnRlbnQgPSB0aGlzLm1haW50YWluVGFiQ29udGVudDtcblxuICAgIHRoaXMudGFiU2VydmljZS5pbmRleENoYW5nZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGluZGV4KSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZlQ2hhbmdlLmVtaXQoaW5kZXgpO1xuICAgICAgICBpZiAodGhpcy5jb250ZW50V3JhcHBlcikge1xuICAgICAgICAgIHRoaXMuYWRhcHRlclNlcnZpY2Uuc2Nyb2xsVG9Db250ZW50VG9wKHRoaXMuY29udGVudFdyYXBwZXIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy50YWJTZXJ2aWNlLnN3aXRjaGluZ01vYmlsZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobW9iaWxlOiBib29sZWFuKSA9PiB7XG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBtb2JpbGU7XG4gICAgICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMudGFiU2VydmljZS5pc01vYmlsZSgpKSB7XG4gICAgICB0aGlzLmlzTW9iaWxlID0gdHJ1ZTtcbiAgICAgIHRoaXMudGFiU2VydmljZS5hbmltYXRpb25Db250ZW50VmlzaWJsZVN0YXRlID0gVklTSUJMRV9TVEFURTtcbiAgICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnNob3dUYWJzVGV4dCkge1xuICAgICAgdGhpcy4jcmVzb3VyY2VzXG4gICAgICAgIC5nZXRTdHJpbmcoJ3NreXV4X3ZlcnRpY2FsX3RhYnNfc2hvd190YWJzX3RleHQnKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZSkgPT4ge1xuICAgICAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKCF0aGlzLnNob3dUYWJzVGV4dCkge1xuICAgICAgICAgICAgdGhpcy5zaG93VGFic1RleHQgPSByZXNvdXJjZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJTZXJ2aWNlLmNvbnRlbnQgPSB0aGlzLmNvbnRlbnQ7XG4gICAgdGhpcy50YWJTZXJ2aWNlLnVwZGF0ZUNvbnRlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdGFic2V0Rm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy50YWJTZXJ2aWNlLmZvY3VzQWN0aXZlVGFiKHRoaXMudGFiR3JvdXBzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0YWJHcm91cHNGb2N1c0luKCk6IHZvaWQge1xuICAgIC8vIFRoaXMgd2lsbCBzZXQgdGhlIHRhYiBpbmRleCBvZiB0aGUgdGhlIHZlcnRpY2FsIHRhYnNldCBlbGVtZW50IHRvIC0xXG4gICAgLy8gd2hpbGUgZm9jdXMgaXMgaW5zaWRlIHRoZSB0YWIgbGlzdCwgYWxsb3dpbmcgU2hpZnQrVGFiIHRvIG1vdmVcbiAgICAvLyB0byB0aGUgbmV4dCBlbGVtZW50IGFib3ZlIHRoZSB0YWIgbGlzdCBlbGVtZW50LiBPdGhlcndpc2UgZm9jdXMgd291bGRcbiAgICAvLyBiZSB0cmFwcGVkIG9uIHRoZSBjdXJyZW50bHkgZm9jdXNlZCB0YWIuXG4gICAgdGhpcy50YWJsaXN0SGFzRm9jdXMgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRhYkdyb3Vwc0ZvY3VzT3V0KCk6IHZvaWQge1xuICAgIHRoaXMudGFibGlzdEhhc0ZvY3VzID0gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgdGFiR3JvdXBzQXJyb3dEb3duKCk6IHZvaWQge1xuICAgIHRoaXMuYWRhcHRlclNlcnZpY2UuZm9jdXNOZXh0QnV0dG9uKHRoaXMudGFiR3JvdXBzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0YWJHcm91cHNBcnJvd1VwKCk6IHZvaWQge1xuICAgIHRoaXMuYWRhcHRlclNlcnZpY2UuZm9jdXNQcmV2aW91c0J1dHRvbih0aGlzLnRhYkdyb3Vwcyk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdmVydGljYWwtdGFic2V0XCJcbiAgW3RhYkluZGV4XT1cInRhYmxpc3RIYXNGb2N1cyA/IC0xIDogMFwiXG4gIChmb2N1cyk9XCJ0YWJzZXRGb2N1cygpXCJcbj5cbiAgPCEtLVxuICAgIEFSSUEgcnVsZXMgZG8gbm90IGFsbG93IHRhYnBhbmVsIGVsZW1lbnRzIHRvIGJlIGNoaWxkcmVuIG9mIGEgdGFibGlzdCBlbGVtZW50LlxuICAgIEhvd2V2ZXIsIHRoZSBtYXJrdXAgZm9yIGVhY2ggc2t5LXZlcnRpY2FsLXRhYiBjb21wb25lbnQgaW5jbHVkZXMgYm90aCB0aGUgdGFiIGJ1dHRvblxuICAgIGFuZCBpdHMgcGFuZWwsIG1ha2luZyB0aGUgcGFuZWwgZWxlbWVudCBhIGNoaWxkIG9mIGl0cyB0YWJsaXN0LiBNb3Jlb3Zlciwgb3VyXG4gICAgc2t5LXZlcnRpY2FsLXRhYiBjb21wb25lbnRzIGNhbiBiZSBncm91cGVkIHdpdGhpbiBjb2xsYXBzaWJsZSBjb250YWluZXJzLCB3aGljaCBhbHNvXG4gICAgdmlvbGF0ZXMgYWNjZXNzaWJpbGl0eSBydWxlcyBiZWNhdXNlIG9ubHkgdGFiIGJ1dHRvbnMgY2FuIGJlIGNoaWxkcmVuIG9mIGEgdGFibGlzdC5cbiAgICBUbyBhZGRyZXNzIHRoaXMsIHdlIGNyZWF0ZSBhbiBlbXB0eSB0YWJsaXN0IGVsZW1lbnQgd2l0aCBhbiBhcmlhLW93bnMgYXR0cmlidXRlLFxuICAgIHBvaW50aW5nIHRvIGVhY2ggdGFiIGVsZW1lbnQgaW5kaXZpZHVhbGx5LiBUaGF0IHdheSwgd2UgZG9uJ3QgaGF2ZSB0byB3b3JyeSBhYm91dCB0aGVcbiAgICBzdHJ1Y3R1cmUgZm9yIGVhY2ggc2t5LXZlcnRpY2FsLXRhYiBjb21wb25lbnQgaW4gb3JkZXIgdG8gc2F0aXNmeSBhY2Nlc3NpYmlsaXR5XG4gICAgZ3VpZGVsaW5lcy5cbiAgLS0+XG4gIDxzcGFuXG4gICAgYXJpYS1vcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICBjbGFzcz1cInNreS12ZXJ0aWNhbC10YWJzZXQtdGFibGlzdFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgW2F0dHIuYXJpYS1vd25zXT1cIih0YWJJZFN2Yy5pZHMgfCBhc3luYyk/LmpvaW4oJyAnKSB8fCB1bmRlZmluZWRcIlxuICAgIFthdHRyLnJvbGVdPVwiaXNNb2JpbGUgPyB1bmRlZmluZWQgOiBhcmlhUm9sZVwiXG4gID48L3NwYW4+XG4gIDxkaXZcbiAgICAqbmdJZj1cIm1haW50YWluVGFiQ29udGVudCB8fCB0YWJTZXJ2aWNlLnRhYnNWaXNpYmxlKClcIlxuICAgIGNsYXNzPVwic2t5LXZlcnRpY2FsLXRhYnNldC1ncm91cC1jb250YWluZXJcIlxuICAgIFtAdGFiR3JvdXBFbnRlcl09XCJ0YWJTZXJ2aWNlLmFuaW1hdGlvblRhYnNWaXNpYmxlU3RhdGVcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ3NreS12ZXJ0aWNhbC10YWJzZXQtaGlkZGVuJzogIXRhYlNlcnZpY2UudGFic1Zpc2libGUoKSB9XCJcbiAgICAoa2V5ZG93bi5hcnJvd2Rvd24pPVwidGFiR3JvdXBzQXJyb3dEb3duKCk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAoa2V5ZG93bi5hcnJvd3VwKT1cInRhYkdyb3Vwc0Fycm93VXAoKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgIChmb2N1c2luKT1cInRhYkdyb3Vwc0ZvY3VzSW4oKVwiXG4gICAgKGZvY3Vzb3V0KT1cInRhYkdyb3Vwc0ZvY3VzT3V0KClcIlxuICAgICNncm91cENvbnRhaW5lcldyYXBwZXJcbiAgPlxuICAgIDxuZy1jb250ZW50IC8+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgKm5nSWY9XCJtYWludGFpblRhYkNvbnRlbnQgfHwgdGFiU2VydmljZS5jb250ZW50VmlzaWJsZSgpXCJcbiAgICBjbGFzcz1cInNreS12ZXJ0aWNhbC10YWJzZXQtY29udGVudFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS12ZXJ0aWNhbC10YWJzZXQtY29udGVudC1oaWRkZW4nOiAhdGFiU2VydmljZS5jb250ZW50VmlzaWJsZSgpXG4gICAgfVwiXG4gICAgW0Bjb250ZW50RW50ZXJdPVwidGFiU2VydmljZS5hbmltYXRpb25Db250ZW50VmlzaWJsZVN0YXRlXCJcbiAgICAjY29udGVudENvbnRhaW5lcldyYXBwZXJcbiAgPlxuICAgIDxkaXYgI3NreVNpZGVDb250ZW50PjwvZGl2PlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwiIXRhYlNlcnZpY2UudGFic1Zpc2libGUoKVwiXG4gICAgICAoY2xpY2spPVwidGFiU2VydmljZS5zaG93VGFicygpXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLXByaW1hcnkgc2t5LXZlcnRpY2FsLXRhYnNldC1zaG93LXRhYnMtYnRuXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgID5cbiAgICAgIDxza3ktaWNvbiBpY29uPVwiY2hldnJvbi1sZWZ0XCIgLz5cbiAgICAgIHt7IHNob3dUYWJzVGV4dCB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|