@sbb-esta/lyne-elements 1.7.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/calendar/calendar.d.ts +5 -2
- package/calendar/calendar.d.ts.map +1 -1
- package/calendar.js +73 -66
- package/clock.js +5 -5
- package/container/container.js +18 -18
- package/core/base-elements/open-close-base-element.d.ts +10 -0
- package/core/base-elements/open-close-base-element.d.ts.map +1 -1
- package/core/base-elements.js +4 -0
- package/core/controllers/inert-controller.d.ts +18 -0
- package/core/controllers/inert-controller.d.ts.map +1 -0
- package/core/controllers.d.ts +1 -0
- package/core/controllers.d.ts.map +1 -1
- package/core/controllers.js +67 -23
- package/core/dom/platform.d.ts +2 -3
- package/core/dom/platform.d.ts.map +1 -1
- package/core/dom.js +38 -40
- package/core/overlay/overlay.d.ts +0 -13
- package/core/overlay/overlay.d.ts.map +1 -1
- package/core/overlay.js +36 -86
- package/core/styles/core.scss +6 -0
- package/core/styles/mixins/lists.scss +11 -1
- package/core/testing/wait-for-image-ready.d.ts.map +1 -1
- package/core/testing.js +61 -54
- package/core.css +5 -0
- package/custom-elements.json +492 -66
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +4 -0
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/datepicker/datepicker-toggle.js +52 -42
- package/development/calendar/calendar.d.ts +5 -2
- package/development/calendar/calendar.d.ts.map +1 -1
- package/development/calendar.js +35 -19
- package/development/clock.js +1 -1
- package/development/container/container.js +9 -5
- package/development/core/base-elements/open-close-base-element.d.ts +10 -0
- package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
- package/development/core/base-elements.js +5 -1
- package/development/core/controllers/inert-controller.d.ts +18 -0
- package/development/core/controllers/inert-controller.d.ts.map +1 -0
- package/development/core/controllers.d.ts +1 -0
- package/development/core/controllers.d.ts.map +1 -1
- package/development/core/controllers.js +90 -1
- package/development/core/dom/platform.d.ts +2 -3
- package/development/core/dom/platform.d.ts.map +1 -1
- package/development/core/dom.js +4 -5
- package/development/core/overlay/overlay.d.ts +0 -13
- package/development/core/overlay/overlay.d.ts.map +1 -1
- package/development/core/overlay.js +1 -87
- package/development/core/testing/wait-for-image-ready.d.ts.map +1 -1
- package/development/core/testing.js +16 -2
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +4 -0
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle.js +19 -4
- package/development/dialog/dialog/dialog.d.ts.map +1 -1
- package/development/dialog/dialog.js +3 -4
- package/development/flip-card/flip-card/flip-card.d.ts.map +1 -1
- package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
- package/development/flip-card/flip-card-details.js +28 -9
- package/development/flip-card/flip-card-summary.js +6 -1
- package/development/flip-card/flip-card.js +43 -12
- package/development/form-field/form-field.js +4 -2
- package/development/lead-container.js +5 -1
- package/development/menu/menu/menu.d.ts +1 -0
- package/development/menu/menu/menu.d.ts.map +1 -1
- package/development/menu/menu.js +6 -9
- package/development/navigation/navigation/navigation.d.ts +1 -0
- package/development/navigation/navigation/navigation.d.ts.map +1 -1
- package/development/navigation/navigation.js +6 -9
- package/development/overlay/overlay-base-element.d.ts +2 -1
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay/overlay.d.ts.map +1 -1
- package/development/overlay.js +6 -17
- package/development/popover/popover.js +2 -2
- package/development/select/select.d.ts +3 -1
- package/development/select/select.d.ts.map +1 -1
- package/development/select.js +20 -6
- package/development/stepper/step-label.js +20 -2
- package/development/stepper/stepper/stepper.d.ts +3 -0
- package/development/stepper/stepper/stepper.d.ts.map +1 -1
- package/development/stepper/stepper.js +16 -1
- package/development/toggle/toggle/toggle.d.ts +2 -1
- package/development/toggle/toggle/toggle.d.ts.map +1 -1
- package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/development/toggle/toggle-option.js +4 -2
- package/development/toggle/toggle.js +7 -7
- package/dialog/dialog/dialog.d.ts.map +1 -1
- package/dialog/dialog.js +11 -12
- package/flip-card/flip-card/flip-card.d.ts.map +1 -1
- package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
- package/flip-card/flip-card-details.js +19 -17
- package/flip-card/flip-card-summary.js +13 -13
- package/flip-card/flip-card.js +26 -24
- package/form-field/form-field.js +1 -1
- package/lead-container.js +1 -1
- package/lists.css +9 -1
- package/menu/menu/menu.d.ts +1 -0
- package/menu/menu/menu.d.ts.map +1 -1
- package/menu/menu.js +30 -30
- package/navigation/navigation/navigation.d.ts +1 -0
- package/navigation/navigation/navigation.d.ts.map +1 -1
- package/navigation/navigation.js +37 -37
- package/overlay/overlay-base-element.d.ts +2 -1
- package/overlay/overlay-base-element.d.ts.map +1 -1
- package/overlay/overlay.d.ts.map +1 -1
- package/overlay.js +44 -45
- package/package.json +1 -1
- package/popover/popover.js +1 -1
- package/select/select.d.ts +3 -1
- package/select/select.d.ts.map +1 -1
- package/select.js +61 -50
- package/standard-theme.css +14 -1
- package/stepper/step-label.js +10 -10
- package/stepper/stepper/stepper.d.ts +3 -0
- package/stepper/stepper/stepper.d.ts.map +1 -1
- package/stepper/stepper.js +34 -25
- package/toggle/toggle/toggle.d.ts +2 -1
- package/toggle/toggle/toggle.d.ts.map +1 -1
- package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/toggle/toggle-option.js +9 -8
- package/toggle/toggle.js +20 -21
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { html } from "lit";
|
|
2
|
-
const IS_OPEN_OVERLAY_QUERY = `:is(sbb-dialog, sbb-navigation, sbb-menu, sbb-overlay)[data-state='opened']`;
|
|
3
2
|
function overlayGapFixCorners() {
|
|
4
3
|
return html`
|
|
5
4
|
<div class="sbb-gap-fix-wrapper">
|
|
@@ -10,89 +9,6 @@ function overlayGapFixCorners() {
|
|
|
10
9
|
</div>
|
|
11
10
|
`;
|
|
12
11
|
}
|
|
13
|
-
const getAncestors = (overlay, root) => {
|
|
14
|
-
let el = overlay.parentElement;
|
|
15
|
-
const ancestors = [];
|
|
16
|
-
while (el) {
|
|
17
|
-
ancestors.push(el);
|
|
18
|
-
if (el !== root) {
|
|
19
|
-
el = el.parentElement;
|
|
20
|
-
} else {
|
|
21
|
-
break;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return ancestors;
|
|
25
|
-
};
|
|
26
|
-
const setDataSbbInert = (el) => {
|
|
27
|
-
el.setAttribute(
|
|
28
|
-
"data-sbb-inert",
|
|
29
|
-
`${+(el.getAttribute("data-sbb-inert") ?? void 0) + 1 || 0}`
|
|
30
|
-
);
|
|
31
|
-
};
|
|
32
|
-
const setSbbInert = (el) => {
|
|
33
|
-
if (!el.inert) {
|
|
34
|
-
el.inert = true;
|
|
35
|
-
if (el.matches(IS_OPEN_OVERLAY_QUERY)) {
|
|
36
|
-
setDataSbbInert(el);
|
|
37
|
-
} else {
|
|
38
|
-
el.toggleAttribute("data-sbb-inert", true);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
if (!el.hasAttribute("aria-hidden")) {
|
|
42
|
-
el.setAttribute("aria-hidden", "true");
|
|
43
|
-
el.toggleAttribute("data-sbb-aria-hidden", true);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
const removeSbbInert = (el) => {
|
|
47
|
-
if (el.hasAttribute("data-sbb-inert")) {
|
|
48
|
-
el.inert = false;
|
|
49
|
-
el.removeAttribute("data-sbb-inert");
|
|
50
|
-
}
|
|
51
|
-
if (el.hasAttribute("data-sbb-aria-hidden")) {
|
|
52
|
-
el.removeAttribute("aria-hidden");
|
|
53
|
-
el.removeAttribute("data-sbb-aria-hidden");
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
function applyInertMechanism(overlay) {
|
|
57
|
-
removeSbbInert(overlay);
|
|
58
|
-
const overlayRoot = overlay.closest("body > *");
|
|
59
|
-
const documentChildren = Array.from(document.querySelectorAll("body > *")).filter(
|
|
60
|
-
(el) => el !== overlayRoot
|
|
61
|
-
);
|
|
62
|
-
documentChildren.forEach((el) => setSbbInert(el));
|
|
63
|
-
let children = [];
|
|
64
|
-
const ancestors = getAncestors(overlay, overlayRoot);
|
|
65
|
-
for (const el of ancestors) {
|
|
66
|
-
children = children.concat(
|
|
67
|
-
Array.from(el.children).filter(
|
|
68
|
-
(el2) => el2 !== overlay && !ancestors.includes(el2)
|
|
69
|
-
)
|
|
70
|
-
);
|
|
71
|
-
if (el.matches(IS_OPEN_OVERLAY_QUERY)) {
|
|
72
|
-
setDataSbbInert(el);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
children.forEach((el) => setSbbInert(el));
|
|
76
|
-
}
|
|
77
|
-
function removeInertMechanism() {
|
|
78
|
-
const openOverlays = Array.from(
|
|
79
|
-
document.documentElement.querySelectorAll(IS_OPEN_OVERLAY_QUERY)
|
|
80
|
-
);
|
|
81
|
-
if (openOverlays.length) {
|
|
82
|
-
openOverlays.forEach((el) => {
|
|
83
|
-
const newValue = +el.getAttribute("data-sbb-inert") - 1;
|
|
84
|
-
el.setAttribute("data-sbb-inert", `${newValue}`);
|
|
85
|
-
if (newValue && newValue < 0) {
|
|
86
|
-
removeSbbInert(el);
|
|
87
|
-
Array.from(el.children).forEach((el2) => removeSbbInert(el2));
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
Array.from(document.documentElement.querySelectorAll("[data-sbb-inert]")).forEach(
|
|
93
|
-
(el) => removeSbbInert(el)
|
|
94
|
-
);
|
|
95
|
-
}
|
|
96
12
|
function getElementRectangle(el) {
|
|
97
13
|
const elementStyle = window.getComputedStyle(el), elementDisplay = elementStyle.display, elementMaxHeight = parseInt(elementStyle.maxHeight, 10).toString();
|
|
98
14
|
if (elementDisplay !== "none" && elementMaxHeight !== "0") {
|
|
@@ -225,16 +141,14 @@ function removeAriaComboBoxAttributes(trigger) {
|
|
|
225
141
|
trigger.removeAttribute("aria-expanded");
|
|
226
142
|
}
|
|
227
143
|
export {
|
|
228
|
-
applyInertMechanism,
|
|
229
144
|
getElementPosition,
|
|
230
145
|
getElementRectangle,
|
|
231
146
|
isEventOnElement,
|
|
232
147
|
overlayGapFixCorners,
|
|
233
148
|
removeAriaComboBoxAttributes,
|
|
234
149
|
removeAriaOverlayTriggerAttributes,
|
|
235
|
-
removeInertMechanism,
|
|
236
150
|
setAriaComboBoxAttributes,
|
|
237
151
|
setAriaOverlayTriggerAttributes,
|
|
238
152
|
setOverlayPosition
|
|
239
153
|
};
|
|
240
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9vdmVybGF5LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9wb3NpdGlvbi50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL292ZXJsYXkvb3ZlcmxheS1vcHRpb24tcGFuZWwudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9vdmVybGF5L292ZXJsYXktdHJpZ2dlci1hdHRyaWJ1dGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdCc7XG5cbmNvbnN0IElTX09QRU5fT1ZFUkxBWV9RVUVSWSA9IGA6aXMoc2JiLWRpYWxvZywgc2JiLW5hdmlnYXRpb24sIHNiYi1tZW51LCBzYmItb3ZlcmxheSlbZGF0YS1zdGF0ZT0nb3BlbmVkJ11gO1xuXG4vKipcbiAqIFVzZWQgdG8gY3JlYXRlIHRoZSBcIndyYXBwaW5nXCIgZWZmZWN0IGFyb3VuZCB0aGUgYW5jaG9yIGZvciBvdmVybGF5cyAoZXMuIGF1dG9jb21wbGV0ZSlcbiAqIFdvcmtzIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICdvdmVybGF5R2FwRml4Q29ybmVycygpJyBmdW5jdGlvbiBpbiAnb3ZlcmxheS50cydcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG92ZXJsYXlHYXBGaXhDb3JuZXJzKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgcmV0dXJuIGh0bWxgXG4gICAgPGRpdiBjbGFzcz1cInNiYi1nYXAtZml4LXdyYXBwZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZ2FwLWZpeC1jb3JuZXJcIiBpZD1cImxlZnRcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2JiLWdhcC1maXgtd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1nYXAtZml4LWNvcm5lclwiIGlkPVwicmlnaHRcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFsbCB0aGUgYW5jZXN0b3JzIG9mIHRoZSBvdmVybGF5LlxuICovXG5jb25zdCBnZXRBbmNlc3RvcnMgPSAob3ZlcmxheTogSFRNTEVsZW1lbnQsIHJvb3Q6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnRbXSA9PiB7XG4gIGxldCBlbCA9IG92ZXJsYXkucGFyZW50RWxlbWVudDtcbiAgY29uc3QgYW5jZXN0b3JzOiBIVE1MRWxlbWVudFtdID0gW107XG4gIHdoaWxlIChlbCkge1xuICAgIGFuY2VzdG9ycy5wdXNoKGVsKTtcbiAgICBpZiAoZWwgIT09IHJvb3QpIHtcbiAgICAgIGVsID0gZWwucGFyZW50RWxlbWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIHJldHVybiBhbmNlc3RvcnM7XG59O1xuXG5jb25zdCBzZXREYXRhU2JiSW5lcnQgPSAoZWw6IEhUTUxFbGVtZW50KTogdm9pZCA9PiB7XG4gIGVsLnNldEF0dHJpYnV0ZShcbiAgICAnZGF0YS1zYmItaW5lcnQnLFxuICAgIGAkeysoZWwuZ2V0QXR0cmlidXRlKCdkYXRhLXNiYi1pbmVydCcpID8/IHVuZGVmaW5lZCkhICsgMSB8fCAwfWAsXG4gICk7XG59O1xuXG4vKipcbiAqIFNldCB0aGUgaW5lcnQgYW5kIHRoZSBkYXRhLXNiYi1pbmVydCBhdHRyaWJ1dGVzLlxuICovXG5jb25zdCBzZXRTYmJJbmVydCA9IChlbDogSFRNTEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgaWYgKCFlbC5pbmVydCkge1xuICAgIGVsLmluZXJ0ID0gdHJ1ZTtcbiAgICBpZiAoZWwubWF0Y2hlcyhJU19PUEVOX09WRVJMQVlfUVVFUlkpKSB7XG4gICAgICBzZXREYXRhU2JiSW5lcnQoZWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc2JiLWluZXJ0JywgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFlbC5oYXNBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJykpIHtcbiAgICBlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcbiAgICBlbC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc2JiLWFyaWEtaGlkZGVuJywgdHJ1ZSk7XG4gIH1cbn07XG5cbi8qKlxuICogUmVtb3ZlcyB0aGUgaW5lcnQgYW5kIHRoZSBkYXRhLXNiYi1pbmVydCBhdHRyaWJ1dGVzLlxuICovXG5jb25zdCByZW1vdmVTYmJJbmVydCA9IChlbDogSFRNTEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgaWYgKGVsLmhhc0F0dHJpYnV0ZSgnZGF0YS1zYmItaW5lcnQnKSkge1xuICAgIGVsLmluZXJ0ID0gZmFsc2U7XG4gICAgZWwucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXNiYi1pbmVydCcpO1xuICB9XG5cbiAgaWYgKGVsLmhhc0F0dHJpYnV0ZSgnZGF0YS1zYmItYXJpYS1oaWRkZW4nKSkge1xuICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nKTtcbiAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtc2JiLWFyaWEtaGlkZGVuJyk7XG4gIH1cbn07XG5cbi8qKlxuICogQXBwbGllcyBpbmVydCB0byBldmVyeSBvdGhlciBlbGVtZW50IG9uIHRoZSBwYWdlIGV4Y2VwdCB0aGUgb3ZlcmxheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5SW5lcnRNZWNoYW5pc20ob3ZlcmxheTogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgcmVtb3ZlU2JiSW5lcnQob3ZlcmxheSk7XG5cbiAgY29uc3Qgb3ZlcmxheVJvb3QgPSBvdmVybGF5LmNsb3Nlc3QoJ2JvZHkgPiAqJykgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IGRvY3VtZW50Q2hpbGRyZW4gPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2JvZHkgPiAqJykpLmZpbHRlcihcbiAgICAoZWwpID0+IGVsICE9PSBvdmVybGF5Um9vdCxcbiAgKSBhcyBIVE1MRWxlbWVudFtdO1xuXG4gIGRvY3VtZW50Q2hpbGRyZW4uZm9yRWFjaCgoZWwpID0+IHNldFNiYkluZXJ0KGVsKSk7XG5cbiAgbGV0IGNoaWxkcmVuOiBIVE1MRWxlbWVudFtdID0gW107XG4gIGNvbnN0IGFuY2VzdG9ycyA9IGdldEFuY2VzdG9ycyhvdmVybGF5LCBvdmVybGF5Um9vdCk7XG5cbiAgZm9yIChjb25zdCBlbCBvZiBhbmNlc3RvcnMpIHtcbiAgICBjaGlsZHJlbiA9IGNoaWxkcmVuLmNvbmNhdChcbiAgICAgIEFycmF5LmZyb20oZWwuY2hpbGRyZW4pLmZpbHRlcihcbiAgICAgICAgKGVsOiBFbGVtZW50KSA9PiBlbCAhPT0gb3ZlcmxheSAmJiAhYW5jZXN0b3JzLmluY2x1ZGVzKGVsIGFzIEhUTUxFbGVtZW50KSxcbiAgICAgICkgYXMgSFRNTEVsZW1lbnRbXSxcbiAgICApO1xuICAgIGlmIChlbC5tYXRjaGVzKElTX09QRU5fT1ZFUkxBWV9RVUVSWSkpIHtcbiAgICAgIHNldERhdGFTYmJJbmVydChlbCk7XG4gICAgfVxuICB9XG5cbiAgY2hpbGRyZW4uZm9yRWFjaCgoZWwpID0+IHNldFNiYkluZXJ0KGVsKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVJbmVydE1lY2hhbmlzbSgpOiB2b2lkIHtcbiAgY29uc3Qgb3Blbk92ZXJsYXlzID0gQXJyYXkuZnJvbShcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChJU19PUEVOX09WRVJMQVlfUVVFUlkpLFxuICApIGFzIEhUTUxFbGVtZW50W107XG5cbiAgaWYgKG9wZW5PdmVybGF5cy5sZW5ndGgpIHtcbiAgICBvcGVuT3ZlcmxheXMuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gK2VsLmdldEF0dHJpYnV0ZSgnZGF0YS1zYmItaW5lcnQnKSEgLSAxO1xuICAgICAgZWwuc2V0QXR0cmlidXRlKCdkYXRhLXNiYi1pbmVydCcsIGAke25ld1ZhbHVlfWApO1xuXG4gICAgICBpZiAobmV3VmFsdWUgJiYgbmV3VmFsdWUgPCAwKSB7XG4gICAgICAgIHJlbW92ZVNiYkluZXJ0KGVsKTtcbiAgICAgICAgQXJyYXkuZnJvbShlbC5jaGlsZHJlbikuZm9yRWFjaCgoZWw6IEVsZW1lbnQpID0+IHJlbW92ZVNiYkluZXJ0KGVsIGFzIEhUTUxFbGVtZW50KSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgQXJyYXkuZnJvbShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtc2JiLWluZXJ0XScpKS5mb3JFYWNoKChlbDogRWxlbWVudCkgPT5cbiAgICByZW1vdmVTYmJJbmVydChlbCBhcyBIVE1MRWxlbWVudCksXG4gICk7XG59XG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBHbG9iYWxFdmVudEhhbmRsZXJzRXZlbnRNYXAge1xuICAgIHdpbGxPcGVuOiBDdXN0b21FdmVudDx2b2lkPjtcbiAgICB3aWxsQ2xvc2U6IEN1c3RvbUV2ZW50PHZvaWQ+O1xuICAgIGRpZE9wZW46IEN1c3RvbUV2ZW50PHZvaWQ+O1xuICAgIGRpZENsb3NlOiBDdXN0b21FdmVudDx2b2lkPjtcbiAgfVxufVxuIiwiZXhwb3J0IHR5cGUgRWxlbWVudFJlY3RhbmdsZSA9IFBpY2s8XG4gIEhUTUxFbGVtZW50LFxuICAnc2Nyb2xsSGVpZ2h0JyB8ICdjbGllbnRIZWlnaHQnIHwgJ29mZnNldEhlaWdodCcgfCAnc2Nyb2xsV2lkdGgnIHwgJ2NsaWVudFdpZHRoJyB8ICdvZmZzZXRXaWR0aCdcbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiQWxpZ25tZW50IHtcbiAgaG9yaXpvbnRhbDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG4gIHZlcnRpY2FsOiAnYWJvdmUnIHwgJ2JlbG93Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50UG9zaXRpb25JbmZvcyB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIG1heEhlaWdodDogc3RyaW5nO1xuICBhbGlnbm1lbnQ6IFNiYkFsaWdubWVudDtcbn1cblxuLyoqXG4gKiBHZXRzIGhlaWdodCBhbmQgd2lkdGggb2YgYW4gZWxlbWVudCBldmVuIGlmIGl0J3MgaGlkZGVuIChgZGlzcGxheTogbm9uZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFJlY3RhbmdsZShlbDogSFRNTEVsZW1lbnQpOiBFbGVtZW50UmVjdGFuZ2xlIHtcbiAgY29uc3QgZWxlbWVudFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpLFxuICAgIGVsZW1lbnREaXNwbGF5ID0gZWxlbWVudFN0eWxlLmRpc3BsYXksXG4gICAgZWxlbWVudE1heEhlaWdodCA9IHBhcnNlSW50KGVsZW1lbnRTdHlsZS5tYXhIZWlnaHQsIDEwKS50b1N0cmluZygpO1xuXG4gIC8vIElmIGl0IGlzIG5vdCBoaWRkZW4gd2UganVzdCByZXR1cm4gbm9ybWFsIGhlaWdodFxuICBpZiAoZWxlbWVudERpc3BsYXkgIT09ICdub25lJyAmJiBlbGVtZW50TWF4SGVpZ2h0ICE9PSAnMCcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Nyb2xsSGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICBjbGllbnRIZWlnaHQ6IGVsLmNsaWVudEhlaWdodCxcbiAgICAgIG9mZnNldEhlaWdodDogZWwub2Zmc2V0SGVpZ2h0LFxuICAgICAgc2Nyb2xsV2lkdGg6IGVsLnNjcm9sbFdpZHRoLFxuICAgICAgY2xpZW50V2lkdGg6IGVsLmNsaWVudFdpZHRoLFxuICAgICAgb2Zmc2V0V2lkdGg6IGVsLm9mZnNldFdpZHRoLFxuICAgIH07XG4gIH1cblxuICAvLyBUaGUgZWxlbWVudCBpcyBoaWRkZW4gc286XG4gIC8vIG1ha2UgdGhlIGVsIGJsb2NrIGluIG9yZGVyIHRvIG1lYXN1cmUgaXRzIGhlaWdodCBidXQgc3RpbGwgYmUgaGlkZGVuXG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICBjb25zdCBzY3JvbGxIZWlnaHQgPSBlbC5zY3JvbGxIZWlnaHQsXG4gICAgY2xpZW50SGVpZ2h0ID0gZWwuY2xpZW50SGVpZ2h0LFxuICAgIG9mZnNldEhlaWdodCA9IGVsLm9mZnNldEhlaWdodCxcbiAgICBzY3JvbGxXaWR0aCA9IGVsLnNjcm9sbFdpZHRoLFxuICAgIGNsaWVudFdpZHRoID0gZWwuY2xpZW50V2lkdGgsXG4gICAgb2Zmc2V0V2lkdGggPSBlbC5vZmZzZXRXaWR0aDtcblxuICAvLyBSZXZlcnRpbmcgdG8gdGhlIG9yaWdpbmFsIHZhbHVlc1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJyc7XG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJyc7XG4gIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAnJztcblxuICByZXR1cm4geyBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCwgb2Zmc2V0SGVpZ2h0LCBzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGgsIG9mZnNldFdpZHRoIH07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGV2ZW50IGlzIGZpcmVkIG9uIGEgc3BlY2lmaWMgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRXZlbnRPbkVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQsIGV2ZW50OiBNb3VzZUV2ZW50IHwgUG9pbnRlckV2ZW50KTogYm9vbGVhbiB7XG4gIGlmICghZWxlbWVudCB8fCAhZXZlbnQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgcmV0dXJuIChcbiAgICByZWN0LnRvcCA8PSBldmVudC5jbGllbnRZICYmXG4gICAgZXZlbnQuY2xpZW50WSA8PSByZWN0LnRvcCArIHJlY3QuaGVpZ2h0ICYmXG4gICAgcmVjdC5sZWZ0IDw9IGV2ZW50LmNsaWVudFggJiZcbiAgICBldmVudC5jbGllbnRYIDw9IHJlY3QubGVmdCArIHJlY3Qud2lkdGhcbiAgKTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHRoZSBwb3NpdGlvbiBvZiBhbiBlbGVtZW50IHJlbGF0aXZlIHRvIGEgdHJpZ2dlciBlbGVtZW50IGJ5IGV2YWx1YXRpbmdcbiAqIHRoZSBvcHRpbWFsIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBhdmFpbGFibGUgc3BhY2UuXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgVGhlIGVsZW1lbnQgb2Ygd2hpY2ggdG8gY2FsY3VsYXRlIHRoZSBwb3NpdGlvbi5cbiAqIEBwYXJhbSB0cmlnZ2VyIFRoZSBlbGVtZW50IHJlbGF0aXZlIHRvIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgcG9zaXRpb24uXG4gKiBAcGFyYW0gY29udGFpbmVyIFRoZSBlbGVtZW50IHdoaWNoIGhhcyB0aGUgcG9zaXRpb246Zml4ZWQgYXBwbGllZC5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzIFByb3BlcnRpZXMgdG8gdGFrZSBpbnRvIGFjY291bnQgaW4gY2FsY3VsYXRpb25zIChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy52ZXJ0aWNhbE9mZnNldCBUaGUgZGlzdGFuY2UgdG8gYmUgYWRkZWQgYmV0d2VlbiB0aGUgZWxlbWVudCBhbmQgdGhlIHRyaWdnZXIgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLmhvcml6b250YWxPZmZzZXQgVGhlIGhvcml6b250YWwgb2Zmc2V0IHRvIGJlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLmNlbnRlcmVkIFdoZXRoZXIgdGhlIGVsZW1lbnQgc2hvdWxkIGJlIHBsYWNlZCBpbiB0aGUgY2VudGVyIGJ5IGRlZmF1bHQgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLnJlc3BvbnNpdmVIZWlnaHQgV2hldGhlciB0aGUgZWxlbWVudCBjYWxjdWxhdGVzIGl0cyBoZWlnaHQgYmFzZWQgb24gaXRzIGNvbnRlbnQgKG9wdGlvbmFsKS5cbiAqIEByZXR1cm5zIFJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGxlZnQgcG9zaXRpb24sIHRoZSB0b3AgcG9zaXRpb24sIHRoZSBtYXhpbXVtIGhlaWdodFxuICogb2YgdGhlIGVsZW1lbnQgYW5kIHRoZSBjdXJyZW50IGFsaWdubWVudCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50UG9zaXRpb24oXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgcHJvcGVydGllcz86IHtcbiAgICB2ZXJ0aWNhbE9mZnNldD86IG51bWJlcjtcbiAgICBob3Jpem9udGFsT2Zmc2V0PzogbnVtYmVyO1xuICAgIGNlbnRlcmVkPzogYm9vbGVhbjtcbiAgICByZXNwb25zaXZlSGVpZ2h0PzogYm9vbGVhbjtcbiAgfSxcbik6IFNiYkVsZW1lbnRQb3NpdGlvbkluZm9zIHtcbiAgY29uc3QgbWF4V2lkdGhPZmZzZXQgPSAxNjtcbiAgY29uc3QgdmVydGljYWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy52ZXJ0aWNhbE9mZnNldCB8fCAwO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0ID0gcHJvcGVydGllcz8uaG9yaXpvbnRhbE9mZnNldCB8fCAwO1xuICBjb25zdCByZXNwb25zaXZlSGVpZ2h0ID0gcHJvcGVydGllcz8ucmVzcG9uc2l2ZUhlaWdodCB8fCBmYWxzZTtcblxuICBjb25zdCB0cmlnZ2VyUmVjID0gdHJpZ2dlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgZWxlbWVudFJlYyA9IGdldEVsZW1lbnRSZWN0YW5nbGUoZWxlbWVudCk7XG5cbiAgY29uc3QgdHJpZ2dlckxlZnQgPSB0cmlnZ2VyUmVjLmxlZnQ7XG4gIGNvbnN0IHRyaWdnZXJUb3AgPSB0cmlnZ2VyUmVjLnRvcDtcblxuICBjb25zdCBhdmFpbGFibGVTcGFjZVJpZ2h0ID1cbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggLSAodHJpZ2dlckxlZnQgKyB0cmlnZ2VyUmVjLndpZHRoKTtcbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VBYm92ZSA9IHRyaWdnZXJUb3AgLSB2ZXJ0aWNhbE9mZnNldDtcbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VCZWxvdyA9XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtICh0cmlnZ2VyVG9wICsgdHJpZ2dlclJlYy5oZWlnaHQgKyB2ZXJ0aWNhbE9mZnNldCk7XG5cbiAgLy8gRGVmYXVsdCBlbGVtZW50IGFsaWdubWVudCBpcyBcInN0YXJ0L2JlbG93XCJcbiAgbGV0IGVsZW1lbnRYUG9zaXRpb24gPSB0cmlnZ2VyTGVmdDtcbiAgbGV0IGVsZW1lbnRZUG9zaXRpb24gPSB0cmlnZ2VyVG9wICsgdHJpZ2dlclJlYy5oZWlnaHQgKyB2ZXJ0aWNhbE9mZnNldDtcbiAgbGV0IGVsZW1lbnRYT3ZlcmZsb3cgPSBlbGVtZW50UmVjLm9mZnNldFdpZHRoIC0gdHJpZ2dlclJlYy53aWR0aDtcbiAgY29uc3QgYWxpZ25tZW50OiBTYmJBbGlnbm1lbnQgPSB7IGhvcml6b250YWw6ICdzdGFydCcsIHZlcnRpY2FsOiAnYmVsb3cnIH07XG5cbiAgLy8gQ2FsY3VsYXRlIGVsZW1lbnQgbWF4LWhlaWdodFxuICBsZXQgZWxlbWVudE1heEhlaWdodCA9IGAke2F2YWlsYWJsZVNwYWNlQmVsb3cgLSB2ZXJ0aWNhbE9mZnNldH1weGA7XG5cbiAgLy8gQ2hlY2sgaWYgaG9yaXpvbnRhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImNlbnRlclwiXG4gIGlmIChcbiAgICBwcm9wZXJ0aWVzPy5jZW50ZXJlZCAmJlxuICAgIHRyaWdnZXJMZWZ0IC0gbWF4V2lkdGhPZmZzZXQgKyB0cmlnZ2VyUmVjLndpZHRoIC8gMiA+IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggLyAyICYmXG4gICAgYXZhaWxhYmxlU3BhY2VSaWdodCAtIG1heFdpZHRoT2Zmc2V0ID4gZWxlbWVudFhPdmVyZmxvdyAvIDJcbiAgKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiAtPSBlbGVtZW50WE92ZXJmbG93IC89IDI7XG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgPSAnY2VudGVyJztcbiAgfVxuXG4gIC8vIENoZWNrIGlmIGhvcml6b250YWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJlbmRcIlxuICBpZiAoYXZhaWxhYmxlU3BhY2VSaWdodCA8IGVsZW1lbnRYT3ZlcmZsb3cgJiYgdHJpZ2dlckxlZnQgPiBlbGVtZW50WE92ZXJmbG93KSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiA9IGVsZW1lbnRYUG9zaXRpb24gLSBlbGVtZW50WE92ZXJmbG93O1xuICAgIGFsaWdubWVudC5ob3Jpem9udGFsID0gJ2VuZCc7XG4gIH1cblxuICAvLyBBZGQgaG9yaXpvbnRhbCBvZmZzZXRcbiAgaWYgKFxuICAgIGhvcml6b250YWxPZmZzZXQgJiZcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCAhPT0gJ2NlbnRlcicgJiZcbiAgICB0cmlnZ2VyUmVjLndpZHRoIC8gMiA8IGhvcml6b250YWxPZmZzZXRcbiAgKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiArPSBob3Jpem9udGFsT2Zmc2V0ICogKGFsaWdubWVudC5ob3Jpem9udGFsID09PSAnc3RhcnQnID8gLTEgOiAxKTtcbiAgfVxuXG4gIC8vIENoZWNrIHdoZXRoZXIgdGhlcmUgaXMgaW5zdWZmaWNpZW50IHNwYWNlIG9uIGJvdGggc2lkZXNcbiAgaWYgKFxuICAgICh0cmlnZ2VyTGVmdCA8IGVsZW1lbnRYT3ZlcmZsb3cgJiYgYXZhaWxhYmxlU3BhY2VSaWdodCA8IGVsZW1lbnRYT3ZlcmZsb3cpIHx8XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIDwgZWxlbWVudFJlYy5vZmZzZXRXaWR0aFxuICApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC8gMiAtIGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggLyAyO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdmVydGljYWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJhYm92ZVwiOlxuICBpZiAoXG4gICAgKGF2YWlsYWJsZVNwYWNlQmVsb3cgLSB2ZXJ0aWNhbE9mZnNldCA8IGVsZW1lbnRSZWMuc2Nyb2xsSGVpZ2h0ICYmXG4gICAgICBhdmFpbGFibGVTcGFjZUFib3ZlIC0gdmVydGljYWxPZmZzZXQgPlxuICAgICAgICAocmVzcG9uc2l2ZUhlaWdodCA/IGVsZW1lbnRSZWMuY2xpZW50SGVpZ2h0IDogZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQpKSB8fFxuICAgIChhdmFpbGFibGVTcGFjZUFib3ZlID4gYXZhaWxhYmxlU3BhY2VCZWxvdyAmJlxuICAgICAgYXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0IDwgZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgJiZcbiAgICAgICFyZXNwb25zaXZlSGVpZ2h0KVxuICApIHtcbiAgICBlbGVtZW50WVBvc2l0aW9uID1cbiAgICAgIGF2YWlsYWJsZVNwYWNlQWJvdmUgPCBlbGVtZW50UmVjLnNjcm9sbEhlaWdodFxuICAgICAgICA/IGVsZW1lbnRZUG9zaXRpb24gLSB0cmlnZ2VyUmVjLmhlaWdodCAtIGF2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldFxuICAgICAgICA6IHRyaWdnZXJUb3AgLSBlbGVtZW50UmVjLmNsaWVudEhlaWdodCAtIHZlcnRpY2FsT2Zmc2V0O1xuXG4gICAgZWxlbWVudE1heEhlaWdodCA9IGAke2F2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldH1weGA7XG4gICAgYWxpZ25tZW50LnZlcnRpY2FsID0gJ2Fib3ZlJztcbiAgfVxuXG4gIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgLy8gV2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGUgY29udGFpbmVyIHJlY3RhbmdsZSBjb250YWlucyBuZWdhdGl2ZSB2YWx1ZXMgZm9yIHRoZSBwb3NpdGlvblxuICAvLyBhbmQgd2UgbmVlZCB0byByZS1hZGQgdGhlbSB0byB0aGUgY2FsY3VsYXRlZCBjb29yZGluYXRlcy5cbiAgaWYgKGNvbnRhaW5lclJlY3QubGVmdCA8IDApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uIC09IGNvbnRhaW5lclJlY3QubGVmdDtcbiAgfVxuXG4gIC8vIE5vcm1hbGx5IHRoZSBjb250YWluZXJSZWN0J3MgdG9wIHZhbHVlIHdvdWxkIGJlIHplcm8sIGhvd2V2ZXIgd2hlbiB0aGUgb3ZlcmxheSBpcyBhdHRhY2hlZCB0byBhbiBpbnB1dFxuICAvLyAoZS5nLiBpbiBhbiBhdXRvY29tcGxldGUpLCBtb2JpbGUgYnJvd3NlcnMgd2lsbCBzaGlmdCBldmVyeXRoaW5nIGluIG9yZGVyIHRvIHB1dCB0aGUgaW5wdXQgaW4gdGhlIG1pZGRsZVxuICAvLyBvZiB0aGUgc2NyZWVuIGFuZCB0byBtYWtlIHNwYWNlIGZvciB0aGUgdmlydHVhbCBrZXlib2FyZC4gV2UgbmVlZCB0byBhY2NvdW50IGZvciB0aGlzIG9mZnNldCxcbiAgLy8gb3RoZXJ3aXNlIG91ciBwb3NpdGlvbmluZyB3aWxsIGJlIHRocm93biBvZmYuXG4gIC8vIEFkZGl0aW9uYWxseSwgd2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGlzIGZpeGVzIHRoZSB2ZXJ0aWNhbCBwb3NpdGlvbi5cbiAgaWYgKGNvbnRhaW5lclJlY3QudG9wIDwgMCkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC50b3A7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHRvcDogZWxlbWVudFlQb3NpdGlvbixcbiAgICBsZWZ0OiBlbGVtZW50WFBvc2l0aW9uLFxuICAgIG1heEhlaWdodDogZWxlbWVudE1heEhlaWdodCxcbiAgICBhbGlnbm1lbnQ6IGFsaWdubWVudCxcbiAgfTtcbn1cbiIsImltcG9ydCB7IGdldEVsZW1lbnRQb3NpdGlvbiB9IGZyb20gJy4vcG9zaXRpb24uanMnO1xuXG4vKipcbiAqIFBsYWNlcyB0aGUgb3ZlcmxheSBpbiB0aGUgY29ycmVjdCBwb3NpdGlvbi5cbiAqIEBwYXJhbSBkaWFsb2cgVGhlIHJlZmVyZW5jZSB0byB0aGUgZGlhbG9nIGVsZW1lbnQuXG4gKiBAcGFyYW0gb3JpZ2luRWxlbWVudCBUaGUgcmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IHRoZSBkaWFsb2cgaXMgYXR0YWNoZWQgdG8uXG4gKiBAcGFyYW0gb3B0aW9uQ29udGFpbmVyIFRoZSByZWZlcmVuY2UgdG8gdGhlIG9wdGlvbiBwYW5lbC5cbiAqIEBwYXJhbSBjb250YWluZXIgVGhlIGVsZW1lbnQgd2hpY2ggaGFzIHRoZSBwb3NpdGlvbjpmaXhlZCBhcHBsaWVkLlxuICogQHBhcmFtIGVsZW1lbnQgVGhlIHJlZmVyZW5jZSB0byB0aGUgY29tcG9uZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0T3ZlcmxheVBvc2l0aW9uKFxuICBkaWFsb2c6IEhUTUxFbGVtZW50LFxuICBvcmlnaW5FbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgb3B0aW9uQ29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4pOiB2b2lkIHtcbiAgaWYgKCFkaWFsb2cgfHwgIW9yaWdpbkVsZW1lbnQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBTZXQgdGhlIHdpZHRoIHRvIG1hdGNoIHRoZSB0cmlnZ2VyIGVsZW1lbnRcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC13aWR0aCcsIGAke29yaWdpbkVsZW1lbnQub2Zmc2V0V2lkdGh9cHhgKTtcblxuICAvLyBTZXQgdGhlIG9yaWdpbiBoZWlnaHRcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1vcmlnaW4taGVpZ2h0JywgYCR7b3JpZ2luRWxlbWVudC5vZmZzZXRIZWlnaHR9cHhgKTtcblxuICAvLyBDYWxjdWxhdGUgYW5kIHNldCB0aGUgcG9zaXRpb25cbiAgY29uc3QgcGFuZWxQb3NpdGlvbiA9IGdldEVsZW1lbnRQb3NpdGlvbihvcHRpb25Db250YWluZXIsIG9yaWdpbkVsZW1lbnQsIGNvbnRhaW5lcik7XG5cbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1wb3NpdGlvbi14JywgYCR7cGFuZWxQb3NpdGlvbi5sZWZ0fXB4YCk7XG4gIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW9wdGlvbnMtcGFuZWwtcG9zaXRpb24teScsIGAke3BhbmVsUG9zaXRpb24udG9wfXB4YCk7XG4gIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW9wdGlvbnMtcGFuZWwtbWF4LWhlaWdodCcsIHBhbmVsUG9zaXRpb24ubWF4SGVpZ2h0KTtcbiAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtb3B0aW9ucy1wYW5lbC1wb3NpdGlvbicsIHBhbmVsUG9zaXRpb24uYWxpZ25tZW50LnZlcnRpY2FsKTtcbiAgb3JpZ2luRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtb3B0aW9ucy1wYW5lbC1wb3NpdGlvbicsIHBhbmVsUG9zaXRpb24uYWxpZ25tZW50LnZlcnRpY2FsKTtcbn1cbiIsIi8qKlxuICogQWRkIG1lYW5pbmdmdWwgYXJpYSBhdHRyaWJ1dGVzIHRvIHRyaWdnZXIgZWxlbWVudHMgdGhhdCBhcmUgY29ubmVjdGVkIHRvXG4gKiBvdmVybGF5IGVsZW1lbnRzIHN1Y2ggYXMgbWVudXMgYW5kIGRpYWxvZ3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgcG9wdXBUeXBlOiAnbWVudScgfCAnZGlhbG9nJyxcbiAgb3ZlcmxheUlkOiBzdHJpbmcsXG4gIHN0YXRlOiBzdHJpbmcsXG4pOiB2b2lkIHtcbiAgaWYgKCF0cmlnZ2VyKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGFzcG9wdXAnLCBwb3B1cFR5cGUpO1xuICB0cmlnZ2VyLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIG92ZXJsYXlJZCk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgYCR7c3RhdGUgPT09ICdvcGVuaW5nJyB8fCBzdGF0ZSA9PT0gJ29wZW5lZCd9YCk7XG59XG5cbi8qKlxuICogUmVtb3ZlIGFyaWEgYXR0cmlidXRlcyBmcm9tIHRyaWdnZXIgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICBpZiAoIXRyaWdnZXIpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oYXNwb3B1cCcpO1xuICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycpO1xuICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpO1xufVxuXG4vKipcbiAqIEFkZCBtZWFuaW5nZnVsIGFyaWEgYXR0cmlidXRlcyB0byB0cmlnZ2VyIGVsZW1lbnQgb2Ygcm9sZT0nY29tYm9ib3gnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRBcmlhQ29tYm9Cb3hBdHRyaWJ1dGVzKFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgb3ZlcmxheUlkOiBzdHJpbmcsXG4gIGV4cGFuZGVkOiBib29sZWFuLFxuICBoYXNQb3B1cDogJ2xpc3Rib3gnIHwgJ2dyaWQnID0gJ2xpc3Rib3gnLFxuKTogdm9pZCB7XG4gIGlmICghdHJpZ2dlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhdXRvY29tcGxldGUnLCAnb2ZmJyk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdyb2xlJywgJ2NvbWJvYm94Jyk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWF1dG9jb21wbGV0ZScsICdsaXN0Jyk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWhhc3BvcHVwJywgaGFzUG9wdXApO1xuICB0cmlnZ2VyLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIG92ZXJsYXlJZCk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLW93bnMnLCBvdmVybGF5SWQpOyAvLyBGcm9tIEFyaWEgMS4yIHRoaXMgc2hvdWxkIG5vdCBiZSBuZWNlc3NhcnksIGJ1dCBzYWZhcmkgc3RpbGwgbmVlZHMgaXRcbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBgJHtleHBhbmRlZH1gKTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYXJpYSBhdHRyaWJ1dGVzIGZyb20gdHJpZ2dlciBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUFyaWFDb21ib0JveEF0dHJpYnV0ZXModHJpZ2dlcj86IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gIGlmICghdHJpZ2dlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhdXRvY29tcGxldGUnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ3JvbGUnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtYXV0b2NvbXBsZXRlJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWhhc3BvcHVwJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLW93bnMnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKTtcbn1cbiJdLCJuYW1lcyI6WyJlbCJdLCJtYXBwaW5ncyI6IjtBQUdBLE1BQU0sd0JBQXdCO0FBTXZCLFNBQVMsdUJBQXVDO0FBQzlDLFNBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFUO0FBS0EsTUFBTSxlQUFlLENBQUMsU0FBc0IsU0FBcUM7QUFDL0UsTUFBSSxLQUFLLFFBQVE7QUFDakIsUUFBTSxZQUEyQixDQUFBO0FBQ2pDLFNBQU8sSUFBSTtBQUNULGNBQVUsS0FBSyxFQUFFO0FBQ2pCLFFBQUksT0FBTyxNQUFNO0FBQ2YsV0FBSyxHQUFHO0FBQUEsSUFBQSxPQUNIO0FBQ0w7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNPLFNBQUE7QUFDVDtBQUVBLE1BQU0sa0JBQWtCLENBQUMsT0FBMEI7QUFDOUMsS0FBQTtBQUFBLElBQ0Q7QUFBQSxJQUNBLEdBQUcsRUFBRSxHQUFHLGFBQWEsZ0JBQWdCLEtBQUssVUFBYyxLQUFLLENBQUM7QUFBQSxFQUFBO0FBRWxFO0FBS0EsTUFBTSxjQUFjLENBQUMsT0FBMEI7QUFDekMsTUFBQSxDQUFDLEdBQUcsT0FBTztBQUNiLE9BQUcsUUFBUTtBQUNQLFFBQUEsR0FBRyxRQUFRLHFCQUFxQixHQUFHO0FBQ3JDLHNCQUFnQixFQUFFO0FBQUEsSUFBQSxPQUNiO0FBQ0YsU0FBQSxnQkFBZ0Isa0JBQWtCLElBQUk7QUFBQSxJQUMzQztBQUFBLEVBQ0Y7QUFFQSxNQUFJLENBQUMsR0FBRyxhQUFhLGFBQWEsR0FBRztBQUNoQyxPQUFBLGFBQWEsZUFBZSxNQUFNO0FBQ2xDLE9BQUEsZ0JBQWdCLHdCQUF3QixJQUFJ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
|
|
154
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9vdmVybGF5LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9wb3NpdGlvbi50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL292ZXJsYXkvb3ZlcmxheS1vcHRpb24tcGFuZWwudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9vdmVybGF5L292ZXJsYXktdHJpZ2dlci1hdHRyaWJ1dGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdCc7XG5cbi8qKlxuICogVXNlZCB0byBjcmVhdGUgdGhlIFwid3JhcHBpbmdcIiBlZmZlY3QgYXJvdW5kIHRoZSBhbmNob3IgZm9yIG92ZXJsYXlzIChlcy4gYXV0b2NvbXBsZXRlKVxuICogV29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJ292ZXJsYXlHYXBGaXhDb3JuZXJzKCknIGZ1bmN0aW9uIGluICdvdmVybGF5LnRzJ1xuICovXG5leHBvcnQgZnVuY3Rpb24gb3ZlcmxheUdhcEZpeENvcm5lcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICByZXR1cm4gaHRtbGBcbiAgICA8ZGl2IGNsYXNzPVwic2JiLWdhcC1maXgtd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1nYXAtZml4LWNvcm5lclwiIGlkPVwibGVmdFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzYmItZ2FwLWZpeC13cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWdhcC1maXgtY29ybmVyXCIgaWQ9XCJyaWdodFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICBgO1xufVxuIiwiZXhwb3J0IHR5cGUgRWxlbWVudFJlY3RhbmdsZSA9IFBpY2s8XG4gIEhUTUxFbGVtZW50LFxuICAnc2Nyb2xsSGVpZ2h0JyB8ICdjbGllbnRIZWlnaHQnIHwgJ29mZnNldEhlaWdodCcgfCAnc2Nyb2xsV2lkdGgnIHwgJ2NsaWVudFdpZHRoJyB8ICdvZmZzZXRXaWR0aCdcbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiQWxpZ25tZW50IHtcbiAgaG9yaXpvbnRhbDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG4gIHZlcnRpY2FsOiAnYWJvdmUnIHwgJ2JlbG93Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50UG9zaXRpb25JbmZvcyB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIG1heEhlaWdodDogc3RyaW5nO1xuICBhbGlnbm1lbnQ6IFNiYkFsaWdubWVudDtcbn1cblxuLyoqXG4gKiBHZXRzIGhlaWdodCBhbmQgd2lkdGggb2YgYW4gZWxlbWVudCBldmVuIGlmIGl0J3MgaGlkZGVuIChgZGlzcGxheTogbm9uZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFJlY3RhbmdsZShlbDogSFRNTEVsZW1lbnQpOiBFbGVtZW50UmVjdGFuZ2xlIHtcbiAgY29uc3QgZWxlbWVudFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpLFxuICAgIGVsZW1lbnREaXNwbGF5ID0gZWxlbWVudFN0eWxlLmRpc3BsYXksXG4gICAgZWxlbWVudE1heEhlaWdodCA9IHBhcnNlSW50KGVsZW1lbnRTdHlsZS5tYXhIZWlnaHQsIDEwKS50b1N0cmluZygpO1xuXG4gIC8vIElmIGl0IGlzIG5vdCBoaWRkZW4gd2UganVzdCByZXR1cm4gbm9ybWFsIGhlaWdodFxuICBpZiAoZWxlbWVudERpc3BsYXkgIT09ICdub25lJyAmJiBlbGVtZW50TWF4SGVpZ2h0ICE9PSAnMCcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Nyb2xsSGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICBjbGllbnRIZWlnaHQ6IGVsLmNsaWVudEhlaWdodCxcbiAgICAgIG9mZnNldEhlaWdodDogZWwub2Zmc2V0SGVpZ2h0LFxuICAgICAgc2Nyb2xsV2lkdGg6IGVsLnNjcm9sbFdpZHRoLFxuICAgICAgY2xpZW50V2lkdGg6IGVsLmNsaWVudFdpZHRoLFxuICAgICAgb2Zmc2V0V2lkdGg6IGVsLm9mZnNldFdpZHRoLFxuICAgIH07XG4gIH1cblxuICAvLyBUaGUgZWxlbWVudCBpcyBoaWRkZW4gc286XG4gIC8vIG1ha2UgdGhlIGVsIGJsb2NrIGluIG9yZGVyIHRvIG1lYXN1cmUgaXRzIGhlaWdodCBidXQgc3RpbGwgYmUgaGlkZGVuXG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICBjb25zdCBzY3JvbGxIZWlnaHQgPSBlbC5zY3JvbGxIZWlnaHQsXG4gICAgY2xpZW50SGVpZ2h0ID0gZWwuY2xpZW50SGVpZ2h0LFxuICAgIG9mZnNldEhlaWdodCA9IGVsLm9mZnNldEhlaWdodCxcbiAgICBzY3JvbGxXaWR0aCA9IGVsLnNjcm9sbFdpZHRoLFxuICAgIGNsaWVudFdpZHRoID0gZWwuY2xpZW50V2lkdGgsXG4gICAgb2Zmc2V0V2lkdGggPSBlbC5vZmZzZXRXaWR0aDtcblxuICAvLyBSZXZlcnRpbmcgdG8gdGhlIG9yaWdpbmFsIHZhbHVlc1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJyc7XG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJyc7XG4gIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAnJztcblxuICByZXR1cm4geyBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCwgb2Zmc2V0SGVpZ2h0LCBzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGgsIG9mZnNldFdpZHRoIH07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGV2ZW50IGlzIGZpcmVkIG9uIGEgc3BlY2lmaWMgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRXZlbnRPbkVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQsIGV2ZW50OiBNb3VzZUV2ZW50IHwgUG9pbnRlckV2ZW50KTogYm9vbGVhbiB7XG4gIGlmICghZWxlbWVudCB8fCAhZXZlbnQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgcmV0dXJuIChcbiAgICByZWN0LnRvcCA8PSBldmVudC5jbGllbnRZICYmXG4gICAgZXZlbnQuY2xpZW50WSA8PSByZWN0LnRvcCArIHJlY3QuaGVpZ2h0ICYmXG4gICAgcmVjdC5sZWZ0IDw9IGV2ZW50LmNsaWVudFggJiZcbiAgICBldmVudC5jbGllbnRYIDw9IHJlY3QubGVmdCArIHJlY3Qud2lkdGhcbiAgKTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHRoZSBwb3NpdGlvbiBvZiBhbiBlbGVtZW50IHJlbGF0aXZlIHRvIGEgdHJpZ2dlciBlbGVtZW50IGJ5IGV2YWx1YXRpbmdcbiAqIHRoZSBvcHRpbWFsIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBhdmFpbGFibGUgc3BhY2UuXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgVGhlIGVsZW1lbnQgb2Ygd2hpY2ggdG8gY2FsY3VsYXRlIHRoZSBwb3NpdGlvbi5cbiAqIEBwYXJhbSB0cmlnZ2VyIFRoZSBlbGVtZW50IHJlbGF0aXZlIHRvIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgcG9zaXRpb24uXG4gKiBAcGFyYW0gY29udGFpbmVyIFRoZSBlbGVtZW50IHdoaWNoIGhhcyB0aGUgcG9zaXRpb246Zml4ZWQgYXBwbGllZC5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzIFByb3BlcnRpZXMgdG8gdGFrZSBpbnRvIGFjY291bnQgaW4gY2FsY3VsYXRpb25zIChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy52ZXJ0aWNhbE9mZnNldCBUaGUgZGlzdGFuY2UgdG8gYmUgYWRkZWQgYmV0d2VlbiB0aGUgZWxlbWVudCBhbmQgdGhlIHRyaWdnZXIgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLmhvcml6b250YWxPZmZzZXQgVGhlIGhvcml6b250YWwgb2Zmc2V0IHRvIGJlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLmNlbnRlcmVkIFdoZXRoZXIgdGhlIGVsZW1lbnQgc2hvdWxkIGJlIHBsYWNlZCBpbiB0aGUgY2VudGVyIGJ5IGRlZmF1bHQgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLnJlc3BvbnNpdmVIZWlnaHQgV2hldGhlciB0aGUgZWxlbWVudCBjYWxjdWxhdGVzIGl0cyBoZWlnaHQgYmFzZWQgb24gaXRzIGNvbnRlbnQgKG9wdGlvbmFsKS5cbiAqIEByZXR1cm5zIFJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGxlZnQgcG9zaXRpb24sIHRoZSB0b3AgcG9zaXRpb24sIHRoZSBtYXhpbXVtIGhlaWdodFxuICogb2YgdGhlIGVsZW1lbnQgYW5kIHRoZSBjdXJyZW50IGFsaWdubWVudCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50UG9zaXRpb24oXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgcHJvcGVydGllcz86IHtcbiAgICB2ZXJ0aWNhbE9mZnNldD86IG51bWJlcjtcbiAgICBob3Jpem9udGFsT2Zmc2V0PzogbnVtYmVyO1xuICAgIGNlbnRlcmVkPzogYm9vbGVhbjtcbiAgICByZXNwb25zaXZlSGVpZ2h0PzogYm9vbGVhbjtcbiAgfSxcbik6IFNiYkVsZW1lbnRQb3NpdGlvbkluZm9zIHtcbiAgY29uc3QgbWF4V2lkdGhPZmZzZXQgPSAxNjtcbiAgY29uc3QgdmVydGljYWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy52ZXJ0aWNhbE9mZnNldCB8fCAwO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0ID0gcHJvcGVydGllcz8uaG9yaXpvbnRhbE9mZnNldCB8fCAwO1xuICBjb25zdCByZXNwb25zaXZlSGVpZ2h0ID0gcHJvcGVydGllcz8ucmVzcG9uc2l2ZUhlaWdodCB8fCBmYWxzZTtcblxuICBjb25zdCB0cmlnZ2VyUmVjID0gdHJpZ2dlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgZWxlbWVudFJlYyA9IGdldEVsZW1lbnRSZWN0YW5nbGUoZWxlbWVudCk7XG5cbiAgY29uc3QgdHJpZ2dlckxlZnQgPSB0cmlnZ2VyUmVjLmxlZnQ7XG4gIGNvbnN0IHRyaWdnZXJUb3AgPSB0cmlnZ2VyUmVjLnRvcDtcblxuICBjb25zdCBhdmFpbGFibGVTcGFjZVJpZ2h0ID1cbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggLSAodHJpZ2dlckxlZnQgKyB0cmlnZ2VyUmVjLndpZHRoKTtcbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VBYm92ZSA9IHRyaWdnZXJUb3AgLSB2ZXJ0aWNhbE9mZnNldDtcbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VCZWxvdyA9XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtICh0cmlnZ2VyVG9wICsgdHJpZ2dlclJlYy5oZWlnaHQgKyB2ZXJ0aWNhbE9mZnNldCk7XG5cbiAgLy8gRGVmYXVsdCBlbGVtZW50IGFsaWdubWVudCBpcyBcInN0YXJ0L2JlbG93XCJcbiAgbGV0IGVsZW1lbnRYUG9zaXRpb24gPSB0cmlnZ2VyTGVmdDtcbiAgbGV0IGVsZW1lbnRZUG9zaXRpb24gPSB0cmlnZ2VyVG9wICsgdHJpZ2dlclJlYy5oZWlnaHQgKyB2ZXJ0aWNhbE9mZnNldDtcbiAgbGV0IGVsZW1lbnRYT3ZlcmZsb3cgPSBlbGVtZW50UmVjLm9mZnNldFdpZHRoIC0gdHJpZ2dlclJlYy53aWR0aDtcbiAgY29uc3QgYWxpZ25tZW50OiBTYmJBbGlnbm1lbnQgPSB7IGhvcml6b250YWw6ICdzdGFydCcsIHZlcnRpY2FsOiAnYmVsb3cnIH07XG5cbiAgLy8gQ2FsY3VsYXRlIGVsZW1lbnQgbWF4LWhlaWdodFxuICBsZXQgZWxlbWVudE1heEhlaWdodCA9IGAke2F2YWlsYWJsZVNwYWNlQmVsb3cgLSB2ZXJ0aWNhbE9mZnNldH1weGA7XG5cbiAgLy8gQ2hlY2sgaWYgaG9yaXpvbnRhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImNlbnRlclwiXG4gIGlmIChcbiAgICBwcm9wZXJ0aWVzPy5jZW50ZXJlZCAmJlxuICAgIHRyaWdnZXJMZWZ0IC0gbWF4V2lkdGhPZmZzZXQgKyB0cmlnZ2VyUmVjLndpZHRoIC8gMiA+IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggLyAyICYmXG4gICAgYXZhaWxhYmxlU3BhY2VSaWdodCAtIG1heFdpZHRoT2Zmc2V0ID4gZWxlbWVudFhPdmVyZmxvdyAvIDJcbiAgKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiAtPSBlbGVtZW50WE92ZXJmbG93IC89IDI7XG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgPSAnY2VudGVyJztcbiAgfVxuXG4gIC8vIENoZWNrIGlmIGhvcml6b250YWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJlbmRcIlxuICBpZiAoYXZhaWxhYmxlU3BhY2VSaWdodCA8IGVsZW1lbnRYT3ZlcmZsb3cgJiYgdHJpZ2dlckxlZnQgPiBlbGVtZW50WE92ZXJmbG93KSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiA9IGVsZW1lbnRYUG9zaXRpb24gLSBlbGVtZW50WE92ZXJmbG93O1xuICAgIGFsaWdubWVudC5ob3Jpem9udGFsID0gJ2VuZCc7XG4gIH1cblxuICAvLyBBZGQgaG9yaXpvbnRhbCBvZmZzZXRcbiAgaWYgKFxuICAgIGhvcml6b250YWxPZmZzZXQgJiZcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCAhPT0gJ2NlbnRlcicgJiZcbiAgICB0cmlnZ2VyUmVjLndpZHRoIC8gMiA8IGhvcml6b250YWxPZmZzZXRcbiAgKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiArPSBob3Jpem9udGFsT2Zmc2V0ICogKGFsaWdubWVudC5ob3Jpem9udGFsID09PSAnc3RhcnQnID8gLTEgOiAxKTtcbiAgfVxuXG4gIC8vIENoZWNrIHdoZXRoZXIgdGhlcmUgaXMgaW5zdWZmaWNpZW50IHNwYWNlIG9uIGJvdGggc2lkZXNcbiAgaWYgKFxuICAgICh0cmlnZ2VyTGVmdCA8IGVsZW1lbnRYT3ZlcmZsb3cgJiYgYXZhaWxhYmxlU3BhY2VSaWdodCA8IGVsZW1lbnRYT3ZlcmZsb3cpIHx8XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIDwgZWxlbWVudFJlYy5vZmZzZXRXaWR0aFxuICApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC8gMiAtIGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggLyAyO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdmVydGljYWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJhYm92ZVwiOlxuICBpZiAoXG4gICAgKGF2YWlsYWJsZVNwYWNlQmVsb3cgLSB2ZXJ0aWNhbE9mZnNldCA8IGVsZW1lbnRSZWMuc2Nyb2xsSGVpZ2h0ICYmXG4gICAgICBhdmFpbGFibGVTcGFjZUFib3ZlIC0gdmVydGljYWxPZmZzZXQgPlxuICAgICAgICAocmVzcG9uc2l2ZUhlaWdodCA/IGVsZW1lbnRSZWMuY2xpZW50SGVpZ2h0IDogZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQpKSB8fFxuICAgIChhdmFpbGFibGVTcGFjZUFib3ZlID4gYXZhaWxhYmxlU3BhY2VCZWxvdyAmJlxuICAgICAgYXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0IDwgZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgJiZcbiAgICAgICFyZXNwb25zaXZlSGVpZ2h0KVxuICApIHtcbiAgICBlbGVtZW50WVBvc2l0aW9uID1cbiAgICAgIGF2YWlsYWJsZVNwYWNlQWJvdmUgPCBlbGVtZW50UmVjLnNjcm9sbEhlaWdodFxuICAgICAgICA/IGVsZW1lbnRZUG9zaXRpb24gLSB0cmlnZ2VyUmVjLmhlaWdodCAtIGF2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldFxuICAgICAgICA6IHRyaWdnZXJUb3AgLSBlbGVtZW50UmVjLmNsaWVudEhlaWdodCAtIHZlcnRpY2FsT2Zmc2V0O1xuXG4gICAgZWxlbWVudE1heEhlaWdodCA9IGAke2F2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldH1weGA7XG4gICAgYWxpZ25tZW50LnZlcnRpY2FsID0gJ2Fib3ZlJztcbiAgfVxuXG4gIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgLy8gV2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGUgY29udGFpbmVyIHJlY3RhbmdsZSBjb250YWlucyBuZWdhdGl2ZSB2YWx1ZXMgZm9yIHRoZSBwb3NpdGlvblxuICAvLyBhbmQgd2UgbmVlZCB0byByZS1hZGQgdGhlbSB0byB0aGUgY2FsY3VsYXRlZCBjb29yZGluYXRlcy5cbiAgaWYgKGNvbnRhaW5lclJlY3QubGVmdCA8IDApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uIC09IGNvbnRhaW5lclJlY3QubGVmdDtcbiAgfVxuXG4gIC8vIE5vcm1hbGx5IHRoZSBjb250YWluZXJSZWN0J3MgdG9wIHZhbHVlIHdvdWxkIGJlIHplcm8sIGhvd2V2ZXIgd2hlbiB0aGUgb3ZlcmxheSBpcyBhdHRhY2hlZCB0byBhbiBpbnB1dFxuICAvLyAoZS5nLiBpbiBhbiBhdXRvY29tcGxldGUpLCBtb2JpbGUgYnJvd3NlcnMgd2lsbCBzaGlmdCBldmVyeXRoaW5nIGluIG9yZGVyIHRvIHB1dCB0aGUgaW5wdXQgaW4gdGhlIG1pZGRsZVxuICAvLyBvZiB0aGUgc2NyZWVuIGFuZCB0byBtYWtlIHNwYWNlIGZvciB0aGUgdmlydHVhbCBrZXlib2FyZC4gV2UgbmVlZCB0byBhY2NvdW50IGZvciB0aGlzIG9mZnNldCxcbiAgLy8gb3RoZXJ3aXNlIG91ciBwb3NpdGlvbmluZyB3aWxsIGJlIHRocm93biBvZmYuXG4gIC8vIEFkZGl0aW9uYWxseSwgd2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGlzIGZpeGVzIHRoZSB2ZXJ0aWNhbCBwb3NpdGlvbi5cbiAgaWYgKGNvbnRhaW5lclJlY3QudG9wIDwgMCkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC50b3A7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHRvcDogZWxlbWVudFlQb3NpdGlvbixcbiAgICBsZWZ0OiBlbGVtZW50WFBvc2l0aW9uLFxuICAgIG1heEhlaWdodDogZWxlbWVudE1heEhlaWdodCxcbiAgICBhbGlnbm1lbnQ6IGFsaWdubWVudCxcbiAgfTtcbn1cbiIsImltcG9ydCB7IGdldEVsZW1lbnRQb3NpdGlvbiB9IGZyb20gJy4vcG9zaXRpb24uanMnO1xuXG4vKipcbiAqIFBsYWNlcyB0aGUgb3ZlcmxheSBpbiB0aGUgY29ycmVjdCBwb3NpdGlvbi5cbiAqIEBwYXJhbSBkaWFsb2cgVGhlIHJlZmVyZW5jZSB0byB0aGUgZGlhbG9nIGVsZW1lbnQuXG4gKiBAcGFyYW0gb3JpZ2luRWxlbWVudCBUaGUgcmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IHRoZSBkaWFsb2cgaXMgYXR0YWNoZWQgdG8uXG4gKiBAcGFyYW0gb3B0aW9uQ29udGFpbmVyIFRoZSByZWZlcmVuY2UgdG8gdGhlIG9wdGlvbiBwYW5lbC5cbiAqIEBwYXJhbSBjb250YWluZXIgVGhlIGVsZW1lbnQgd2hpY2ggaGFzIHRoZSBwb3NpdGlvbjpmaXhlZCBhcHBsaWVkLlxuICogQHBhcmFtIGVsZW1lbnQgVGhlIHJlZmVyZW5jZSB0byB0aGUgY29tcG9uZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0T3ZlcmxheVBvc2l0aW9uKFxuICBkaWFsb2c6IEhUTUxFbGVtZW50LFxuICBvcmlnaW5FbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgb3B0aW9uQ29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4pOiB2b2lkIHtcbiAgaWYgKCFkaWFsb2cgfHwgIW9yaWdpbkVsZW1lbnQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBTZXQgdGhlIHdpZHRoIHRvIG1hdGNoIHRoZSB0cmlnZ2VyIGVsZW1lbnRcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC13aWR0aCcsIGAke29yaWdpbkVsZW1lbnQub2Zmc2V0V2lkdGh9cHhgKTtcblxuICAvLyBTZXQgdGhlIG9yaWdpbiBoZWlnaHRcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1vcmlnaW4taGVpZ2h0JywgYCR7b3JpZ2luRWxlbWVudC5vZmZzZXRIZWlnaHR9cHhgKTtcblxuICAvLyBDYWxjdWxhdGUgYW5kIHNldCB0aGUgcG9zaXRpb25cbiAgY29uc3QgcGFuZWxQb3NpdGlvbiA9IGdldEVsZW1lbnRQb3NpdGlvbihvcHRpb25Db250YWluZXIsIG9yaWdpbkVsZW1lbnQsIGNvbnRhaW5lcik7XG5cbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1wb3NpdGlvbi14JywgYCR7cGFuZWxQb3NpdGlvbi5sZWZ0fXB4YCk7XG4gIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW9wdGlvbnMtcGFuZWwtcG9zaXRpb24teScsIGAke3BhbmVsUG9zaXRpb24udG9wfXB4YCk7XG4gIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW9wdGlvbnMtcGFuZWwtbWF4LWhlaWdodCcsIHBhbmVsUG9zaXRpb24ubWF4SGVpZ2h0KTtcbiAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtb3B0aW9ucy1wYW5lbC1wb3NpdGlvbicsIHBhbmVsUG9zaXRpb24uYWxpZ25tZW50LnZlcnRpY2FsKTtcbiAgb3JpZ2luRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtb3B0aW9ucy1wYW5lbC1wb3NpdGlvbicsIHBhbmVsUG9zaXRpb24uYWxpZ25tZW50LnZlcnRpY2FsKTtcbn1cbiIsIi8qKlxuICogQWRkIG1lYW5pbmdmdWwgYXJpYSBhdHRyaWJ1dGVzIHRvIHRyaWdnZXIgZWxlbWVudHMgdGhhdCBhcmUgY29ubmVjdGVkIHRvXG4gKiBvdmVybGF5IGVsZW1lbnRzIHN1Y2ggYXMgbWVudXMgYW5kIGRpYWxvZ3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgcG9wdXBUeXBlOiAnbWVudScgfCAnZGlhbG9nJyxcbiAgb3ZlcmxheUlkOiBzdHJpbmcsXG4gIHN0YXRlOiBzdHJpbmcsXG4pOiB2b2lkIHtcbiAgaWYgKCF0cmlnZ2VyKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGFzcG9wdXAnLCBwb3B1cFR5cGUpO1xuICB0cmlnZ2VyLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIG92ZXJsYXlJZCk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgYCR7c3RhdGUgPT09ICdvcGVuaW5nJyB8fCBzdGF0ZSA9PT0gJ29wZW5lZCd9YCk7XG59XG5cbi8qKlxuICogUmVtb3ZlIGFyaWEgYXR0cmlidXRlcyBmcm9tIHRyaWdnZXIgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICBpZiAoIXRyaWdnZXIpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oYXNwb3B1cCcpO1xuICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycpO1xuICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpO1xufVxuXG4vKipcbiAqIEFkZCBtZWFuaW5nZnVsIGFyaWEgYXR0cmlidXRlcyB0byB0cmlnZ2VyIGVsZW1lbnQgb2Ygcm9sZT0nY29tYm9ib3gnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRBcmlhQ29tYm9Cb3hBdHRyaWJ1dGVzKFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgb3ZlcmxheUlkOiBzdHJpbmcsXG4gIGV4cGFuZGVkOiBib29sZWFuLFxuICBoYXNQb3B1cDogJ2xpc3Rib3gnIHwgJ2dyaWQnID0gJ2xpc3Rib3gnLFxuKTogdm9pZCB7XG4gIGlmICghdHJpZ2dlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhdXRvY29tcGxldGUnLCAnb2ZmJyk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdyb2xlJywgJ2NvbWJvYm94Jyk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWF1dG9jb21wbGV0ZScsICdsaXN0Jyk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWhhc3BvcHVwJywgaGFzUG9wdXApO1xuICB0cmlnZ2VyLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIG92ZXJsYXlJZCk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLW93bnMnLCBvdmVybGF5SWQpOyAvLyBGcm9tIEFyaWEgMS4yIHRoaXMgc2hvdWxkIG5vdCBiZSBuZWNlc3NhcnksIGJ1dCBzYWZhcmkgc3RpbGwgbmVlZHMgaXRcbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBgJHtleHBhbmRlZH1gKTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYXJpYSBhdHRyaWJ1dGVzIGZyb20gdHJpZ2dlciBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUFyaWFDb21ib0JveEF0dHJpYnV0ZXModHJpZ2dlcj86IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gIGlmICghdHJpZ2dlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhdXRvY29tcGxldGUnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ3JvbGUnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtYXV0b2NvbXBsZXRlJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWhhc3BvcHVwJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLW93bnMnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBT08sU0FBUyx1QkFBdUM7QUFDOUMsU0FBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUVQ7QUNJTyxTQUFTLG9CQUFvQixJQUFtQztBQUNyRSxRQUFNLGVBQWUsT0FBTyxpQkFBaUIsRUFBRSxHQUM3QyxpQkFBaUIsYUFBYSxTQUM5QixtQkFBbUIsU0FBUyxhQUFhLFdBQVcsRUFBRSxFQUFFO0FBR3RELE1BQUEsbUJBQW1CLFVBQVUscUJBQXFCLEtBQUs7QUFDbEQsV0FBQTtBQUFBLE1BQ0wsY0FBYyxHQUFHO0FBQUEsTUFDakIsY0FBYyxHQUFHO0FBQUEsTUFDakIsY0FBYyxHQUFHO0FBQUEsTUFDakIsYUFBYSxHQUFHO0FBQUEsTUFDaEIsYUFBYSxHQUFHO0FBQUEsTUFDaEIsYUFBYSxHQUFHO0FBQUEsSUFBQTtBQUFBLEVBRXBCO0FBSUEsS0FBRyxNQUFNLFdBQVc7QUFDcEIsS0FBRyxNQUFNLGFBQWE7QUFDdEIsS0FBRyxNQUFNLFVBQVU7QUFF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait-for-image-ready.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/testing/wait-for-image-ready.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"wait-for-image-ready.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/testing/wait-for-image-ready.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,gBAAgB,GAAG,eAAe,EAC3C,qBAAqB,SAAW,GAC/B,OAAO,CAAC,IAAI,CAAC,CAkCf"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isSafari } from "./dom.js";
|
|
1
2
|
class EventSpy {
|
|
2
3
|
constructor(_event, _target = null) {
|
|
3
4
|
this._event = _event;
|
|
@@ -76,18 +77,31 @@ function waitForEvent(element, eventName, timeout = 1e3) {
|
|
|
76
77
|
});
|
|
77
78
|
}
|
|
78
79
|
async function waitForImageReady(element, timeoutInMilliseconds = 2 * 1e3) {
|
|
80
|
+
var _a;
|
|
81
|
+
const imgElement = element.localName === "sbb-image" ? ((_a = element.shadowRoot) == null ? void 0 : _a.querySelector(".sbb-image__img")) ?? null : element;
|
|
82
|
+
if (!imgElement) {
|
|
83
|
+
throw new Error("img tag not found");
|
|
84
|
+
}
|
|
79
85
|
if (!element.complete) {
|
|
80
86
|
await new Promise((resolve, reject) => {
|
|
81
87
|
const timeout = setTimeout(() => reject("image loading timeout"), timeoutInMilliseconds);
|
|
82
88
|
element.addEventListener("load", () => {
|
|
83
89
|
clearTimeout(timeout);
|
|
84
|
-
|
|
90
|
+
imgElement.decode().then(() => {
|
|
91
|
+
if (isSafari && element.localName === "sbb-image") {
|
|
92
|
+
setTimeout(resolve, 100);
|
|
93
|
+
} else {
|
|
94
|
+
resolve();
|
|
95
|
+
}
|
|
96
|
+
});
|
|
85
97
|
});
|
|
86
98
|
element.addEventListener("error", () => {
|
|
87
99
|
clearTimeout(timeout);
|
|
88
100
|
reject("image error");
|
|
89
101
|
});
|
|
90
102
|
});
|
|
103
|
+
} else {
|
|
104
|
+
await imgElement.decode();
|
|
91
105
|
}
|
|
92
106
|
}
|
|
93
107
|
const isReactiveElement = (element) => {
|
|
@@ -117,4 +131,4 @@ export {
|
|
|
117
131
|
waitForImageReady,
|
|
118
132
|
waitForLitRender
|
|
119
133
|
};
|
|
120
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvdGVzdGluZy9ldmVudC1zcHkudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL21vY2hhLWV4dGVuc2lvbnMudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL3Njcm9sbC50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3Rlc3Rpbmcvd2FpdC1mb3ItY29uZGl0aW9uLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvdGVzdGluZy93YWl0LWZvci1ldmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3Rlc3Rpbmcvd2FpdC1mb3ItaW1hZ2UtcmVhZHkudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL3dhaXQtZm9yLXJlbmRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoaXMgY2xhc3MgZXhpc3RzIHRvIGZhY2lsaXRhdGUgdGhlIHRlc3QgbWlncmF0aW9uIGZyb20gc3RlbmNpbCB0byBsaXQuXG4gKiBJdCBtaW1pY3MgdGhlIEFQSSB0aGF0IHN0ZW5jaWwgcHJvdmlkZWQgdG8gdGVzdCBldmVudHMuXG4gKlxuICogVE9ETzogRG9jdW1lbnQgbWVcbiAqL1xuZXhwb3J0IGNsYXNzIEV2ZW50U3B5PFQgZXh0ZW5kcyBFdmVudD4ge1xuICBwcml2YXRlIF9jb3VudDogbnVtYmVyID0gMDtcbiAgcHVibGljIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jb3VudDtcbiAgfVxuXG4gIHByaXZhdGUgX2V2ZW50czogVFtdID0gW107XG4gIHB1YmxpYyBnZXQgZXZlbnRzKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2V2ZW50cztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlyc3RFdmVudCgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzLmxlbmd0aCA/IHRoaXMuZXZlbnRzWzBdIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFzdEV2ZW50KCk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5ldmVudHMubGVuZ3RoID8gdGhpcy5ldmVudHNbdGhpcy5ldmVudHMubGVuZ3RoIC0gMV0gOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2V2ZW50OiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFyZ2V0OiBOb2RlIHwgbnVsbCA9IG51bGwsXG4gICkge1xuICAgIGlmICghdGhpcy5fdGFyZ2V0KSB7XG4gICAgICB0aGlzLl90YXJnZXQgPSBkb2N1bWVudDtcbiAgICB9XG4gICAgdGhpcy5fbGlzdGVuRm9yRXZlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlbkZvckV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuX3RhcmdldD8uYWRkRXZlbnRMaXN0ZW5lcih0aGlzLl9ldmVudCwgKGV2KSA9PiB7XG4gICAgICB0aGlzLl9ldmVudHMucHVzaChldiBhcyBUKTtcbiAgICAgIHRoaXMuX2NvdW50Kys7XG4gICAgfSk7XG4gIH1cbn1cbiIsImltcG9ydCB0eXBlIHsgRnVuYywgU3VpdGUsIFRlc3QgfSBmcm9tICdtb2NoYSc7XG5cbi8qKlxuICogU2tpcCB0aGUgYGRlc2NyaWJlYCBpZiB0aGUgY29uZGl0aW9uIGlzIG5vdCBtZXRcbiAqL1xuZXhwb3J0IGNvbnN0IGRlc2NyaWJlSWYgPSAoXG4gIGNvbmRpdGlvbjogYm9vbGVhbixcbiAgdGl0bGU6IHN0cmluZyxcbiAgZm46ICh0aGlzOiBTdWl0ZSkgPT4gdm9pZCxcbik6IFN1aXRlIHwgdm9pZCA9PiB7XG4gIGlmIChjb25kaXRpb24pIHtcbiAgICByZXR1cm4gTW9jaGEuZGVzY3JpYmUodGl0bGUsIGZuKTtcbiAgfVxufTtcblxuLyoqXG4gKiBTa2lwIHRoZSBgdGVzdGAgaWYgdGhlIGNvbmRpdGlvbiBpcyBub3QgbWV0XG4gKi9cbmV4cG9ydCBjb25zdCB0ZXN0SWYgPSAoY29uZGl0aW9uOiBib29sZWFuLCB0aXRsZTogc3RyaW5nLCBmbj86IEZ1bmMpOiBUZXN0IHwgdm9pZCA9PiB7XG4gIGlmIChjb25kaXRpb24pIHtcbiAgICByZXR1cm4gTW9jaGEudGVzdCh0aXRsZSwgZm4pO1xuICB9XG59O1xuIiwiLyoqXG4gKiBDYW4gYmUgdXNlZCBpbiB0ZXN0cyB3aGVyZSBzY3JvbGwgZXZlbnRzIGFyZSBub3QgdHJpZ2dlcmVkIGJ5IGRlZmF1bHQuXG4gKiBAcGFyYW0gb3B0aW9ucyBTY3JvbGxUb09wdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1vY2tTY3JvbGxUbyhvcHRpb25zOiBTY3JvbGxUb09wdGlvbnMpOiB2b2lkIHtcbiAgd2luZG93LnNjcm9sbFRvKG9wdGlvbnMpO1xuXG4gIC8vIFdlIG5lZWQgdG8gbWFudWFsbHkgZGlzcGF0Y2hpbmcgdGhlIHNjcm9sbCBhcyB0aGUgc2Nyb2xsVG9cbiAgLy8gZG9lcyBub3QgZmlyZSBhIHNjcm9sbCBldmVudCBpbiB0ZXN0IGVudi5cbiAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Njcm9sbCcpKTtcbn1cbiIsImV4cG9ydCBhc3luYyBmdW5jdGlvbiB3YWl0Rm9yQ29uZGl0aW9uKFxuICBjb25kaXRpb246ICgpID0+IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+LFxuICBpbnRlcnZhbCA9IDMwLFxuICB0aW1lb3V0SW5NaWxsaXNlY29uZHMgPSAyICogMTAwMCxcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBzdGFydCA9IG5ldyBEYXRlKCk7XG4gIGxldCBjb3VudGVyID0gMDtcbiAgZnVuY3Rpb24gY2hlY2tDb25kaXRpb24oKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvdW50ZXIrKztcbiAgICByZXR1cm4gY29uZGl0aW9uKCk7XG4gIH1cbiAgd2hpbGUgKFxuICAgICEoYXdhaXQgY2hlY2tDb25kaXRpb24oKSkgJiZcbiAgICBzdGFydC5nZXRUaW1lKCkgKyB0aW1lb3V0SW5NaWxsaXNlY29uZHMgPj0gbmV3IERhdGUoKS5nZXRUaW1lKClcbiAgKSB7XG4gICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgaW50ZXJ2YWwpKTtcbiAgfVxuICBpZiAoc3RhcnQuZ2V0VGltZSgpICsgdGltZW91dEluTWlsbGlzZWNvbmRzIDwgbmV3IERhdGUoKS5nZXRUaW1lKCkpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICBgd2FpdEZvckNvbmRpdGlvbiB0aW1lb3V0OiAke2NvbmRpdGlvbi50b1N0cmluZygpfSwgYXR0ZW1wdHM6ICR7Y291bnRlcn0sIHN0YXJ0OiAke3N0YXJ0LmdldFRpbWUoKX0sIGVuZDogJHtuZXcgRGF0ZSgpLmdldFRpbWUoKX1gLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKTtcbn1cbiIsImV4cG9ydCBmdW5jdGlvbiB3YWl0Rm9yRXZlbnQoXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICBldmVudE5hbWU6IHN0cmluZyxcbiAgdGltZW91dCA9IDEwMDAsXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBzaWduYWwgPSBBYm9ydFNpZ25hbC50aW1lb3V0KHRpbWVvdXQpO1xuICAgIGNvbnN0IHRpbWVvdXRSZWFjaGVkID0gKCk6IHZvaWQgPT4gcmVqZWN0KGBUaW1lb3V0IG9mICR7dGltZW91dH0gcmVhY2hlZGApO1xuICAgIHNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIHRpbWVvdXRSZWFjaGVkKTtcbiAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICBldmVudE5hbWUsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIHRpbWVvdXRSZWFjaGVkKTtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSxcbiAgICAgIHsgcGFzc2l2ZTogdHJ1ZSwgc2lnbmFsIH0sXG4gICAgKTtcbiAgfSk7XG59XG4iLCJpbXBvcnQgdHlwZSB7IFNiYkltYWdlRWxlbWVudCB9IGZyb20gJy4uLy4uL2ltYWdlLmpzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JJbWFnZVJlYWR5KFxuICBlbGVtZW50OiBIVE1MSW1hZ2VFbGVtZW50IHwgU2JiSW1hZ2VFbGVtZW50LFxuICB0aW1lb3V0SW5NaWxsaXNlY29uZHMgPSAyICogMTAwMCxcbik6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIWVsZW1lbnQuY29tcGxldGUpIHtcbiAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiByZWplY3QoJ2ltYWdlIGxvYWRpbmcgdGltZW91dCcpLCB0aW1lb3V0SW5NaWxsaXNlY29uZHMpO1xuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH0pO1xuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsICgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgICAgICByZWplY3QoJ2ltYWdlIGVycm9yJyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiaW1wb3J0IHR5cGUgeyBSZWFjdGl2ZUVsZW1lbnQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkh5ZHJhdGlvbk1peGluVHlwZSB9IGZyb20gJy4uL21peGlucy5qcyc7XG5cbi8qKlxuICogVGVzdHMgaWYgYW4gZWxlbWVudCBpcyBhIExpdCBgUmVhY3RpdmVFbGVtZW50YC5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCB0aGUgZWxlbWVudCB0byB0ZXN0LlxuICogQHJldHVybiB0cnVlIGlmIHRoZSBlbGVtZW50IGlzIGEgYFJlYWN0aXZlRWxlbWVudGAuXG4gKi9cbmV4cG9ydCBjb25zdCBpc1JlYWN0aXZlRWxlbWVudCA9IChcbiAgZWxlbWVudDogRWxlbWVudCxcbik6IGVsZW1lbnQgaXMgUmVhY3RpdmVFbGVtZW50ICYgUGFydGlhbDxTYmJIeWRyYXRpb25NaXhpblR5cGU+ID0+IHtcbiAgcmV0dXJuIEJvb2xlYW4oKGVsZW1lbnQgYXMgUmVhY3RpdmVFbGVtZW50KS51cGRhdGVDb21wbGV0ZSk7XG59O1xuXG5jb25zdCBwcm9taXNlQ29tcGxldGUgPSBQcm9taXNlLnJlc29sdmUoKTtcblxuLyoqXG4gKiBXYWl0cyBmb3IgYWxsIExpdCBgUmVhY3RpdmVFbGVtZW50YCBjaGlsZHJlbiBvZiB0aGUgZ2l2ZW4gcGFyZW50IG5vZGUgdG9cbiAqIGZpbmlzaCByZW5kZXJpbmcuXG4gKlxuICogQHBhcmFtIHJvb3QgYSBwYXJlbnQgbm9kZSB0byB3YWl0IGZvciByZW5kZXJpbmcgb24uXG4gKi9cbmV4cG9ydCBjb25zdCB3YWl0Rm9yTGl0UmVuZGVyID0gYXN5bmMgPFxuICBUIGV4dGVuZHMgSFRNTEVsZW1lbnQgfCBEb2N1bWVudEZyYWdtZW50ID0gSFRNTEVsZW1lbnQgfCBEb2N1bWVudEZyYWdtZW50LFxuPihcbiAgbm9kZTogVCB8IFByb21pc2U8VD4sXG4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3Qgcm9vdCA9IGF3YWl0IG5vZGU7XG4gIChyb290LnBhcmVudEVsZW1lbnQgPz8gcm9vdClcbiAgICAucXVlcnlTZWxlY3RvckFsbD8uKCdbZGVmZXItaHlkcmF0aW9uXScpXG4gICAgLmZvckVhY2goKGUpID0+IGUucmVtb3ZlQXR0cmlidXRlKCdkZWZlci1oeWRyYXRpb24nKSk7XG4gIGNvbnN0IGNvbXBsZXRhYmxlcyA9IFtyb290IGFzIEVsZW1lbnQsIC4uLnJvb3QucXVlcnlTZWxlY3RvckFsbCgnKicpXVxuICAgIC5maWx0ZXIoaXNSZWFjdGl2ZUVsZW1lbnQpXG4gICAgLm1hcCgoZSkgPT4gW1xuICAgICAgZS51cGRhdGVDb21wbGV0ZSxcbiAgICAgIGUuaHlkcmF0aW9uQ29tcGxldGUgPz8gcHJvbWlzZUNvbXBsZXRlLFxuICAgICAgd2FpdEZvckxpdFJlbmRlcihlLnJlbmRlclJvb3QpLFxuICAgIF0pXG4gICAgLmZsYXQoSW5maW5pdHkpO1xuICBhd2FpdCBQcm9taXNlLmFsbChjb21wbGV0YWJsZXMpO1xuICByZXR1cm4gcm9vdDtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTU8sTUFBTSxTQUEwQjtBQUFBLEVBbUI5QixZQUNHLFFBQ1MsVUFBdUIsTUFDeEM7QUFGUSxTQUFBLFNBQUE7QUFDUyxTQUFBLFVBQUE7QUFwQm5CLFNBQVEsU0FBaUI7QUFLekIsU0FBUSxVQUFlO0FBaUJqQixRQUFBLENBQUMsS0FBSyxTQUFTO0FBQ2pCLFdBQUssVUFBVTtBQUFBLElBQ2pCO0FBQ0EsU0FBSyxnQkFBZ0I7QUFBQSxFQUN2QjtBQUFBLEVBekJBLElBQVcsUUFBZ0I7QUFDekIsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBR0EsSUFBVyxTQUFjO0FBQ3ZCLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQSxFQUVBLElBQVcsYUFBdUI7QUFDaEMsV0FBTyxLQUFLLE9BQU8sU0FBUyxLQUFLLE9BQU8sQ0FBQyxJQUFJO0FBQUEsRUFDL0M7QUFBQSxFQUVBLElBQVcsWUFBc0I7QUFDeEIsV0FBQSxLQUFLLE9BQU8sU0FBUyxLQUFLLE9BQU8sS0FBSyxPQUFPLFNBQVMsQ0FBQyxJQUFJO0FBQUEsRUFDcEU7QUFBQSxFQVlRLGtCQUF3QjtBQTdCM0I7QUE4QkgsZUFBSyxZQUFMLG1CQUFjLGlCQUFpQixLQUFLLFFBQVEsQ0FBQyxPQUFPO0FBQzdDLFdBQUEsUUFB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
|
|
134
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvdGVzdGluZy9ldmVudC1zcHkudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL21vY2hhLWV4dGVuc2lvbnMudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL3Njcm9sbC50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3Rlc3Rpbmcvd2FpdC1mb3ItY29uZGl0aW9uLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvdGVzdGluZy93YWl0LWZvci1ldmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3Rlc3Rpbmcvd2FpdC1mb3ItaW1hZ2UtcmVhZHkudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL3dhaXQtZm9yLXJlbmRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoaXMgY2xhc3MgZXhpc3RzIHRvIGZhY2lsaXRhdGUgdGhlIHRlc3QgbWlncmF0aW9uIGZyb20gc3RlbmNpbCB0byBsaXQuXG4gKiBJdCBtaW1pY3MgdGhlIEFQSSB0aGF0IHN0ZW5jaWwgcHJvdmlkZWQgdG8gdGVzdCBldmVudHMuXG4gKlxuICogVE9ETzogRG9jdW1lbnQgbWVcbiAqL1xuZXhwb3J0IGNsYXNzIEV2ZW50U3B5PFQgZXh0ZW5kcyBFdmVudD4ge1xuICBwcml2YXRlIF9jb3VudDogbnVtYmVyID0gMDtcbiAgcHVibGljIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jb3VudDtcbiAgfVxuXG4gIHByaXZhdGUgX2V2ZW50czogVFtdID0gW107XG4gIHB1YmxpYyBnZXQgZXZlbnRzKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2V2ZW50cztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlyc3RFdmVudCgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzLmxlbmd0aCA/IHRoaXMuZXZlbnRzWzBdIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFzdEV2ZW50KCk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5ldmVudHMubGVuZ3RoID8gdGhpcy5ldmVudHNbdGhpcy5ldmVudHMubGVuZ3RoIC0gMV0gOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2V2ZW50OiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFyZ2V0OiBOb2RlIHwgbnVsbCA9IG51bGwsXG4gICkge1xuICAgIGlmICghdGhpcy5fdGFyZ2V0KSB7XG4gICAgICB0aGlzLl90YXJnZXQgPSBkb2N1bWVudDtcbiAgICB9XG4gICAgdGhpcy5fbGlzdGVuRm9yRXZlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlbkZvckV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuX3RhcmdldD8uYWRkRXZlbnRMaXN0ZW5lcih0aGlzLl9ldmVudCwgKGV2KSA9PiB7XG4gICAgICB0aGlzLl9ldmVudHMucHVzaChldiBhcyBUKTtcbiAgICAgIHRoaXMuX2NvdW50Kys7XG4gICAgfSk7XG4gIH1cbn1cbiIsImltcG9ydCB0eXBlIHsgRnVuYywgU3VpdGUsIFRlc3QgfSBmcm9tICdtb2NoYSc7XG5cbi8qKlxuICogU2tpcCB0aGUgYGRlc2NyaWJlYCBpZiB0aGUgY29uZGl0aW9uIGlzIG5vdCBtZXRcbiAqL1xuZXhwb3J0IGNvbnN0IGRlc2NyaWJlSWYgPSAoXG4gIGNvbmRpdGlvbjogYm9vbGVhbixcbiAgdGl0bGU6IHN0cmluZyxcbiAgZm46ICh0aGlzOiBTdWl0ZSkgPT4gdm9pZCxcbik6IFN1aXRlIHwgdm9pZCA9PiB7XG4gIGlmIChjb25kaXRpb24pIHtcbiAgICByZXR1cm4gTW9jaGEuZGVzY3JpYmUodGl0bGUsIGZuKTtcbiAgfVxufTtcblxuLyoqXG4gKiBTa2lwIHRoZSBgdGVzdGAgaWYgdGhlIGNvbmRpdGlvbiBpcyBub3QgbWV0XG4gKi9cbmV4cG9ydCBjb25zdCB0ZXN0SWYgPSAoY29uZGl0aW9uOiBib29sZWFuLCB0aXRsZTogc3RyaW5nLCBmbj86IEZ1bmMpOiBUZXN0IHwgdm9pZCA9PiB7XG4gIGlmIChjb25kaXRpb24pIHtcbiAgICByZXR1cm4gTW9jaGEudGVzdCh0aXRsZSwgZm4pO1xuICB9XG59O1xuIiwiLyoqXG4gKiBDYW4gYmUgdXNlZCBpbiB0ZXN0cyB3aGVyZSBzY3JvbGwgZXZlbnRzIGFyZSBub3QgdHJpZ2dlcmVkIGJ5IGRlZmF1bHQuXG4gKiBAcGFyYW0gb3B0aW9ucyBTY3JvbGxUb09wdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1vY2tTY3JvbGxUbyhvcHRpb25zOiBTY3JvbGxUb09wdGlvbnMpOiB2b2lkIHtcbiAgd2luZG93LnNjcm9sbFRvKG9wdGlvbnMpO1xuXG4gIC8vIFdlIG5lZWQgdG8gbWFudWFsbHkgZGlzcGF0Y2hpbmcgdGhlIHNjcm9sbCBhcyB0aGUgc2Nyb2xsVG9cbiAgLy8gZG9lcyBub3QgZmlyZSBhIHNjcm9sbCBldmVudCBpbiB0ZXN0IGVudi5cbiAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Njcm9sbCcpKTtcbn1cbiIsImV4cG9ydCBhc3luYyBmdW5jdGlvbiB3YWl0Rm9yQ29uZGl0aW9uKFxuICBjb25kaXRpb246ICgpID0+IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+LFxuICBpbnRlcnZhbCA9IDMwLFxuICB0aW1lb3V0SW5NaWxsaXNlY29uZHMgPSAyICogMTAwMCxcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBzdGFydCA9IG5ldyBEYXRlKCk7XG4gIGxldCBjb3VudGVyID0gMDtcbiAgZnVuY3Rpb24gY2hlY2tDb25kaXRpb24oKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvdW50ZXIrKztcbiAgICByZXR1cm4gY29uZGl0aW9uKCk7XG4gIH1cbiAgd2hpbGUgKFxuICAgICEoYXdhaXQgY2hlY2tDb25kaXRpb24oKSkgJiZcbiAgICBzdGFydC5nZXRUaW1lKCkgKyB0aW1lb3V0SW5NaWxsaXNlY29uZHMgPj0gbmV3IERhdGUoKS5nZXRUaW1lKClcbiAgKSB7XG4gICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgaW50ZXJ2YWwpKTtcbiAgfVxuICBpZiAoc3RhcnQuZ2V0VGltZSgpICsgdGltZW91dEluTWlsbGlzZWNvbmRzIDwgbmV3IERhdGUoKS5nZXRUaW1lKCkpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICBgd2FpdEZvckNvbmRpdGlvbiB0aW1lb3V0OiAke2NvbmRpdGlvbi50b1N0cmluZygpfSwgYXR0ZW1wdHM6ICR7Y291bnRlcn0sIHN0YXJ0OiAke3N0YXJ0LmdldFRpbWUoKX0sIGVuZDogJHtuZXcgRGF0ZSgpLmdldFRpbWUoKX1gLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKTtcbn1cbiIsImV4cG9ydCBmdW5jdGlvbiB3YWl0Rm9yRXZlbnQoXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICBldmVudE5hbWU6IHN0cmluZyxcbiAgdGltZW91dCA9IDEwMDAsXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBzaWduYWwgPSBBYm9ydFNpZ25hbC50aW1lb3V0KHRpbWVvdXQpO1xuICAgIGNvbnN0IHRpbWVvdXRSZWFjaGVkID0gKCk6IHZvaWQgPT4gcmVqZWN0KGBUaW1lb3V0IG9mICR7dGltZW91dH0gcmVhY2hlZGApO1xuICAgIHNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIHRpbWVvdXRSZWFjaGVkKTtcbiAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICBldmVudE5hbWUsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIHRpbWVvdXRSZWFjaGVkKTtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSxcbiAgICAgIHsgcGFzc2l2ZTogdHJ1ZSwgc2lnbmFsIH0sXG4gICAgKTtcbiAgfSk7XG59XG4iLCJpbXBvcnQgdHlwZSB7IFNiYkltYWdlRWxlbWVudCB9IGZyb20gJy4uLy4uL2ltYWdlLmpzJztcbmltcG9ydCB7IGlzU2FmYXJpIH0gZnJvbSAnLi4vZG9tLmpzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JJbWFnZVJlYWR5KFxuICBlbGVtZW50OiBIVE1MSW1hZ2VFbGVtZW50IHwgU2JiSW1hZ2VFbGVtZW50LFxuICB0aW1lb3V0SW5NaWxsaXNlY29uZHMgPSAyICogMTAwMCxcbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBpbWdFbGVtZW50ID1cbiAgICBlbGVtZW50LmxvY2FsTmFtZSA9PT0gJ3NiYi1pbWFnZSdcbiAgICAgID8gKGVsZW1lbnQuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcjxIVE1MSW1hZ2VFbGVtZW50PignLnNiYi1pbWFnZV9faW1nJykgPz8gbnVsbClcbiAgICAgIDogKGVsZW1lbnQgYXMgSFRNTEltYWdlRWxlbWVudCk7XG5cbiAgaWYgKCFpbWdFbGVtZW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbWcgdGFnIG5vdCBmb3VuZCcpO1xuICB9XG5cbiAgaWYgKCFlbGVtZW50LmNvbXBsZXRlKSB7XG4gICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KCdpbWFnZSBsb2FkaW5nIHRpbWVvdXQnKSwgdGltZW91dEluTWlsbGlzZWNvbmRzKTtcbiAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuXG4gICAgICAgIGltZ0VsZW1lbnQuZGVjb2RlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgaWYgKGlzU2FmYXJpICYmIGVsZW1lbnQubG9jYWxOYW1lID09PSAnc2JiLWltYWdlJykge1xuICAgICAgICAgICAgLy8gT24gYSB0ZXN0IHBhZ2UgdGhpcyBpcyBvbmx5IGhhcHBlbmluZyBvbmNlIChmaXJzdCB0aW1lIGFuIGltYWdlIGlzIGxvYWRlZCkuIFRoZXJlZm9yZSwgdGhlIGltcGFjdCBpcyB2ZXJ5IHNtYWxsLlxuICAgICAgICAgICAgc2V0VGltZW91dChyZXNvbHZlLCAxMDApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgIHJlamVjdCgnaW1hZ2UgZXJyb3InKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGF3YWl0IGltZ0VsZW1lbnQuZGVjb2RlKCk7XG4gIH1cbn1cbiIsImltcG9ydCB0eXBlIHsgUmVhY3RpdmVFbGVtZW50IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHR5cGUgeyBTYmJIeWRyYXRpb25NaXhpblR5cGUgfSBmcm9tICcuLi9taXhpbnMuanMnO1xuXG4vKipcbiAqIFRlc3RzIGlmIGFuIGVsZW1lbnQgaXMgYSBMaXQgYFJlYWN0aXZlRWxlbWVudGAuXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgdGhlIGVsZW1lbnQgdG8gdGVzdC5cbiAqIEByZXR1cm4gdHJ1ZSBpZiB0aGUgZWxlbWVudCBpcyBhIGBSZWFjdGl2ZUVsZW1lbnRgLlxuICovXG5leHBvcnQgY29uc3QgaXNSZWFjdGl2ZUVsZW1lbnQgPSAoXG4gIGVsZW1lbnQ6IEVsZW1lbnQsXG4pOiBlbGVtZW50IGlzIFJlYWN0aXZlRWxlbWVudCAmIFBhcnRpYWw8U2JiSHlkcmF0aW9uTWl4aW5UeXBlPiA9PiB7XG4gIHJldHVybiBCb29sZWFuKChlbGVtZW50IGFzIFJlYWN0aXZlRWxlbWVudCkudXBkYXRlQ29tcGxldGUpO1xufTtcblxuY29uc3QgcHJvbWlzZUNvbXBsZXRlID0gUHJvbWlzZS5yZXNvbHZlKCk7XG5cbi8qKlxuICogV2FpdHMgZm9yIGFsbCBMaXQgYFJlYWN0aXZlRWxlbWVudGAgY2hpbGRyZW4gb2YgdGhlIGdpdmVuIHBhcmVudCBub2RlIHRvXG4gKiBmaW5pc2ggcmVuZGVyaW5nLlxuICpcbiAqIEBwYXJhbSByb290IGEgcGFyZW50IG5vZGUgdG8gd2FpdCBmb3IgcmVuZGVyaW5nIG9uLlxuICovXG5leHBvcnQgY29uc3Qgd2FpdEZvckxpdFJlbmRlciA9IGFzeW5jIDxcbiAgVCBleHRlbmRzIEhUTUxFbGVtZW50IHwgRG9jdW1lbnRGcmFnbWVudCA9IEhUTUxFbGVtZW50IHwgRG9jdW1lbnRGcmFnbWVudCxcbj4oXG4gIG5vZGU6IFQgfCBQcm9taXNlPFQ+LFxuKTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IHJvb3QgPSBhd2FpdCBub2RlO1xuICAocm9vdC5wYXJlbnRFbGVtZW50ID8/IHJvb3QpXG4gICAgLnF1ZXJ5U2VsZWN0b3JBbGw/LignW2RlZmVyLWh5ZHJhdGlvbl0nKVxuICAgIC5mb3JFYWNoKChlKSA9PiBlLnJlbW92ZUF0dHJpYnV0ZSgnZGVmZXItaHlkcmF0aW9uJykpO1xuICBjb25zdCBjb21wbGV0YWJsZXMgPSBbcm9vdCBhcyBFbGVtZW50LCAuLi5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoJyonKV1cbiAgICAuZmlsdGVyKGlzUmVhY3RpdmVFbGVtZW50KVxuICAgIC5tYXAoKGUpID0+IFtcbiAgICAgIGUudXBkYXRlQ29tcGxldGUsXG4gICAgICBlLmh5ZHJhdGlvbkNvbXBsZXRlID8/IHByb21pc2VDb21wbGV0ZSxcbiAgICAgIHdhaXRGb3JMaXRSZW5kZXIoZS5yZW5kZXJSb290KSxcbiAgICBdKVxuICAgIC5mbGF0KEluZmluaXR5KTtcbiAgYXdhaXQgUHJvbWlzZS5hbGwoY29tcGxldGFibGVzKTtcbiAgcmV0dXJuIHJvb3Q7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFNTyxNQUFNLFNBQTBCO0FBQUEsRUFtQjlCLFlBQ0csUUFDUyxVQUF1QixNQUN4QztBQUZRLFNBQUEsU0FBQTtBQUNTLFNBQUEsVUFBQTtBQXBCbkIsU0FBUSxTQUFpQjtBQUt6QixTQUFRLFVBQWU7QUFpQmpCLFFBQUEsQ0FBQyxLQUFLLFNBQVM7QUFDakIsV0FBSyxVQUFVO0FBQUEsSUFDakI7QUFDQSxTQUFLLGdCQUFnQjtBQUFBLEVBQ3ZCO0FBQUEsRUF6QkEsSUFBVyxRQUFnQjtBQUN6QixXQUFPLEtBQUs7QUFBQSxFQUNkO0FBQUEsRUFHQSxJQUFXLFNBQWM7QUFDdkIsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBRUEsSUFBVyxhQUF1QjtBQUNoQyxXQUFPLEtBQUssT0FBTyxTQUFTLEtBQUssT0FBTyxDQUFDLElBQUk7QUFBQSxFQUMvQztBQUFBLEVBRUEsSUFBVyxZQUFzQjtBQUN4QixXQUFBLEtBQUssT0FBTyxTQUFTLEtBQUssT0FBTyxLQUFLLE9BQU8sU0FBUyxDQUFDLElBQUk7QUFBQSxFQUNwRTtBQUFBLEVBWVEsa0JBQXdCOztBQUM5QixlQUFLLFlBQUwsbUJBQWMsaUJBQWlCLEtBQUssUUFBUSxDQUFDLE9BQU87QUFDN0MsV0FBQSxRQUFRLEtBQUssRUFBTztBQUNwQixXQUFBO0FBQUEsSUFBQTtBQUFBLEVBRVQ7QUFDRjtBQ3BDTyxNQUFNLGFBQWEsQ0FDeEIsV0FDQSxPQUNBLE9BQ2lCO0FBQ2pCLE1BQUksV0FBVztBQUNOLFdBQUEsTUFBTSxTQUFTLE9BQU8sRUFBRTtBQUFBLEVBQ2pDO0FBQ0Y7QUFLTyxNQUFNLFNBQVMsQ0FBQyxXQUFvQixPQUFlLE9BQTJCO0FBQ25GLE1BQUksV0FBVztBQUNOLFdBQUEsTUFBTSxLQUFLLE9BQU8sRUFB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
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CSSResultGroup, PropertyValues, TemplateResult, LitElement } from 'lit';
|
|
2
|
+
import { CalendarView } from '../../calendar.js';
|
|
2
3
|
import { SbbDatepickerElement } from '../datepicker.js';
|
|
3
4
|
declare const SbbDatepickerToggleElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNegativeMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbHydrationMixinType> & typeof LitElement;
|
|
4
5
|
/**
|
|
@@ -8,6 +9,8 @@ export declare class SbbDatepickerToggleElement<T = Date> extends SbbDatepickerT
|
|
|
8
9
|
static styles: CSSResultGroup;
|
|
9
10
|
/** Datepicker reference. */
|
|
10
11
|
datePicker?: string | SbbDatepickerElement;
|
|
12
|
+
/** The initial view of calendar which should be displayed on opening. */
|
|
13
|
+
view: CalendarView;
|
|
11
14
|
private _disabled;
|
|
12
15
|
private _min;
|
|
13
16
|
private _max;
|
|
@@ -18,6 +21,7 @@ export declare class SbbDatepickerToggleElement<T = Date> extends SbbDatepickerT
|
|
|
18
21
|
private _popoverElement;
|
|
19
22
|
private _datePickerController;
|
|
20
23
|
private _language;
|
|
24
|
+
private _abort;
|
|
21
25
|
constructor();
|
|
22
26
|
/**
|
|
23
27
|
* Opens the calendar.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datepicker-toggle.d.ts","sourceRoot":"","sources":["../../../../../src/elements/datepicker/datepicker-toggle/datepicker-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAW,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"datepicker-toggle.d.ts","sourceRoot":"","sources":["../../../../../src/elements/datepicker/datepicker-toggle/datepicker-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAW,MAAM,KAAK,CAAC;AAI1D,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAC;AAO1E,OAAO,KAAK,EAAE,oBAAoB,EAAuB,MAAM,kBAAkB,CAAC;AAKlF,OAAO,mBAAmB,CAAC;AAC3B,OAAO,kBAAkB,CAAC;;AAE1B;;GAEG;AACH,qBAIa,0BAA0B,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,+BAEzD;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,4BAA4B;IACmB,UAAU,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAAC;IAE1F,yEAAyE;IACtD,IAAI,EAAE,YAAY,CAAS;IAErC,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,IAAI,CAA4C;IAExD,OAAO,CAAC,IAAI,CAA4C;IAExD,OAAO,CAAC,eAAe,CAAS;IAEzC,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,qBAAqB,CAAmB;IAChD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,MAAM,CAAyC;;IASvD;;OAEG;IACI,IAAI,IAAI,IAAI;IAOH,iBAAiB,IAAI,IAAI;IAsBzB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQzD,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,KAAK;IAyCb,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,eAAe;cAgBJ,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAMzE,OAAO,CAAC,eAAe;cAIJ,MAAM,IAAI,cAAc;CA2C5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
|
|
@@ -2,7 +2,7 @@ import { css, LitElement, isServer, html, nothing } from "lit";
|
|
|
2
2
|
import { property, state, customElement } from "lit/decorators.js";
|
|
3
3
|
import { ref } from "lit/directives/ref.js";
|
|
4
4
|
import { sbbInputModalityDetector } from "../core/a11y.js";
|
|
5
|
-
import { SbbLanguageController } from "../core/controllers.js";
|
|
5
|
+
import { SbbLanguageController, SbbConnectedAbortController } from "../core/controllers.js";
|
|
6
6
|
import { hostAttributes } from "../core/decorators.js";
|
|
7
7
|
import { i18nShowCalendar } from "../core/i18n.js";
|
|
8
8
|
import { SbbNegativeMixin, SbbHydrationMixin } from "../core/mixins.js";
|
|
@@ -64,11 +64,13 @@ let SbbDatepickerToggleElement = class extends SbbNegativeMixin(
|
|
|
64
64
|
) {
|
|
65
65
|
constructor() {
|
|
66
66
|
super();
|
|
67
|
+
this.view = "day";
|
|
67
68
|
this._disabled = false;
|
|
68
69
|
this._min = null;
|
|
69
70
|
this._max = null;
|
|
70
71
|
this._renderCalendar = false;
|
|
71
72
|
this._language = new SbbLanguageController(this);
|
|
73
|
+
this._abort = new SbbConnectedAbortController(this);
|
|
72
74
|
if (!isServer) {
|
|
73
75
|
this.hydrationComplete.then(() => this._renderCalendar = true);
|
|
74
76
|
}
|
|
@@ -92,6 +94,15 @@ let SbbDatepickerToggleElement = class extends SbbNegativeMixin(
|
|
|
92
94
|
if (formField) {
|
|
93
95
|
this.negative = formField.hasAttribute("negative");
|
|
94
96
|
}
|
|
97
|
+
this.addEventListener(
|
|
98
|
+
"click",
|
|
99
|
+
(event) => {
|
|
100
|
+
if (event.composedPath()[0] === this) {
|
|
101
|
+
this.open();
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
{ signal: this._abort.signal }
|
|
105
|
+
);
|
|
95
106
|
}
|
|
96
107
|
willUpdate(changedProperties) {
|
|
97
108
|
super.willUpdate(changedProperties);
|
|
@@ -151,8 +162,8 @@ let SbbDatepickerToggleElement = class extends SbbNegativeMixin(
|
|
|
151
162
|
}
|
|
152
163
|
_datePickerChanged(event) {
|
|
153
164
|
this._datePickerElement = event.target;
|
|
154
|
-
if (this._calendarElement
|
|
155
|
-
this._calendarElement.selected = this._datePickerElement.valueAsDate;
|
|
165
|
+
if (this._calendarElement) {
|
|
166
|
+
this._calendarElement.selected = this._datePickerElement.valueAsDate || void 0;
|
|
156
167
|
}
|
|
157
168
|
}
|
|
158
169
|
_assignCalendar(calendar) {
|
|
@@ -199,6 +210,7 @@ let SbbDatepickerToggleElement = class extends SbbNegativeMixin(
|
|
|
199
210
|
${ref((el) => this._popoverElement = el)}
|
|
200
211
|
>
|
|
201
212
|
${this._renderCalendar ? html`<sbb-calendar
|
|
213
|
+
.view=${this.view}
|
|
202
214
|
.min=${this._min}
|
|
203
215
|
.max=${this._max}
|
|
204
216
|
.now=${this._nowOrUndefined()}
|
|
@@ -222,6 +234,9 @@ SbbDatepickerToggleElement.styles = style;
|
|
|
222
234
|
__decorateClass([
|
|
223
235
|
property({ attribute: "date-picker" })
|
|
224
236
|
], SbbDatepickerToggleElement.prototype, "datePicker", 2);
|
|
237
|
+
__decorateClass([
|
|
238
|
+
property()
|
|
239
|
+
], SbbDatepickerToggleElement.prototype, "view", 2);
|
|
225
240
|
__decorateClass([
|
|
226
241
|
state()
|
|
227
242
|
], SbbDatepickerToggleElement.prototype, "_disabled", 2);
|
|
@@ -243,4 +258,4 @@ SbbDatepickerToggleElement = __decorateClass([
|
|
|
243
258
|
export {
|
|
244
259
|
SbbDatepickerToggleElement
|
|
245
260
|
};
|
|
246
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci10b2dnbGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXItdG9nZ2xlL2RhdGVwaWNrZXItdG9nZ2xlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBpc1NlcnZlciwgTGl0RWxlbWVudCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkNhbGVuZGFyRWxlbWVudCB9IGZyb20gJy4uLy4uL2NhbGVuZGFyLmpzJztcbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGkxOG5TaG93Q2FsZW5kYXIgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4sIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlBvcG92ZXJFbGVtZW50LCBTYmJQb3BvdmVyVHJpZ2dlckVsZW1lbnQgfSBmcm9tICcuLi8uLi9wb3BvdmVyLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGF0ZXBpY2tlckVsZW1lbnQsIFNiYklucHV0VXBkYXRlRXZlbnQgfSBmcm9tICcuLi9kYXRlcGlja2VyLmpzJztcbmltcG9ydCB7IGRhdGVwaWNrZXJDb250cm9sUmVnaXN0ZXJlZEV2ZW50RmFjdG9yeSwgZ2V0RGF0ZVBpY2tlciB9IGZyb20gJy4uL2RhdGVwaWNrZXIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kYXRlcGlja2VyLXRvZ2dsZS5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2NhbGVuZGFyLmpzJztcbmltcG9ydCAnLi4vLi4vcG9wb3Zlci5qcyc7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIGBzYmItZGF0ZXBpY2tlcmAsIGl0IGNhbiBiZSB1c2VkIHRvIHNlbGVjdCBhIGRhdGUgZnJvbSBhIGBzYmItY2FsZW5kYXJgLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWRhdGVwaWNrZXItdG9nZ2xlJylcbkBob3N0QXR0cmlidXRlcyh7XG4gIHNsb3Q6ICdwcmVmaXgnLFxufSlcbmV4cG9ydCBjbGFzcyBTYmJEYXRlcGlja2VyVG9nZ2xlRWxlbWVudDxUID0gRGF0ZT4gZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKFxuICBTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogRGF0ZXBpY2tlciByZWZlcmVuY2UuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2RhdGUtcGlja2VyJyB9KSBwdWJsaWMgZGF0ZVBpY2tlcj86IHN0cmluZyB8IFNiYkRhdGVwaWNrZXJFbGVtZW50O1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBfbWluOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcblxuICBAc3RhdGUoKSBwcml2YXRlIF9tYXg6IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgX3JlbmRlckNhbGVuZGFyID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfZGF0ZVBpY2tlckVsZW1lbnQ6IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+IHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIF9jYWxlbmRhckVsZW1lbnQhOiBTYmJDYWxlbmRhckVsZW1lbnQ8VD47XG5cbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQhOiBTYmJQb3BvdmVyVHJpZ2dlckVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSBfcG9wb3ZlckVsZW1lbnQhOiBTYmJQb3BvdmVyRWxlbWVudDtcblxuICBwcml2YXRlIF9kYXRlUGlja2VyQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgaWYgKCFpc1NlcnZlcikge1xuICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+ICh0aGlzLl9yZW5kZXJDYWxlbmRhciA9IHRydWUpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIGNhbGVuZGFyLlxuICAgKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJ3NiYi1wb3BvdmVyLXRyaWdnZXInKSE7XG4gICAgfVxuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmNsaWNrKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBpZiAoIXRoaXMuZGF0ZVBpY2tlcikge1xuICAgICAgdGhpcy5faW5pdCgpO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpID8/IHRoaXMuY2xvc2VzdD8uKCdbZGF0YS1mb3JtLWZpZWxkXScpO1xuICAgIGlmIChmb3JtRmllbGQpIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSBmb3JtRmllbGQuaGFzQXR0cmlidXRlKCduZWdhdGl2ZScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGF0ZVBpY2tlcicpKSB7XG4gICAgICB0aGlzLl9pbml0KHRoaXMuZGF0ZVBpY2tlcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0KGRhdGVQaWNrZXI/OiBzdHJpbmcgfCBTYmJEYXRlcGlja2VyRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50ID0gZ2V0RGF0ZVBpY2tlcjxUPih0aGlzLCBkYXRlUGlja2VyKTtcbiAgICBpZiAoIXRoaXMuX2RhdGVQaWNrZXJFbGVtZW50KSB7XG4gICAgICAvLyBJZiB0aGUgY29tcG9uZW50IGlzIGF0dGFjaGVkIHRvIHRoZSBET00gYmVmb3JlIHRoZSBkYXRlcGlja2VyLCBpdCBoYXMgdG8gbGlzdGVuIGZvciB0aGUgZGF0ZXBpY2tlciBpbml0LFxuICAgICAgLy8gYXNzdW1pbmcgdGhhdCB0aGUgdHdvIGNvbXBvbmVudHMgc2hhcmUgdGhlIHNhbWUgcGFyZW50IGVsZW1lbnQuXG4gICAgICB0aGlzLnBhcmVudEVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdpbnB1dFVwZGF0ZWQnLFxuICAgICAgICAoZTogRXZlbnQpID0+IHRoaXMuX2luaXQoZS50YXJnZXQgYXMgU2JiRGF0ZXBpY2tlckVsZW1lbnQpLFxuICAgICAgICB7IG9uY2U6IHRydWUsIHNpZ25hbDogdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2lucHV0VXBkYXRlZCcsXG4gICAgICAoZXZlbnQ6IEN1c3RvbUV2ZW50PFNiYklucHV0VXBkYXRlRXZlbnQ+KSA9PiB7XG4gICAgICAgIHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+O1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9ICEhKGV2ZW50LmRldGFpbC5kaXNhYmxlZCB8fCBldmVudC5kZXRhaWwucmVhZG9ubHkpO1xuICAgICAgICB0aGlzLl9taW4gPSBldmVudC5kZXRhaWwubWluO1xuICAgICAgICB0aGlzLl9tYXggPSBldmVudC5kZXRhaWwubWF4O1xuICAgICAgfSxcbiAgICAgIHsgc2lnbmFsOiB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlci5zaWduYWwgfSxcbiAgICApO1xuICAgIHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2NoYW5nZScsXG4gICAgICAoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLl9kYXRlUGlja2VyQ2hhbmdlZChldmVudCksXG4gICAgICB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgfSxcbiAgICApO1xuICAgIHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2RhdGVQaWNrZXJVcGRhdGVkJyxcbiAgICAgIChldmVudDogRXZlbnQpID0+XG4gICAgICAgIHRoaXMuX2NvbmZpZ3VyZUNhbGVuZGFyKHRoaXMuX2NhbGVuZGFyRWxlbWVudCwgZXZlbnQudGFyZ2V0IGFzIFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+KSxcbiAgICAgIHsgc2lnbmFsOiB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlci5zaWduYWwgfSxcbiAgICApO1xuICAgIHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50LmRpc3BhdGNoRXZlbnQoZGF0ZXBpY2tlckNvbnRyb2xSZWdpc3RlcmVkRXZlbnRGYWN0b3J5KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlQ2FsZW5kYXIoXG4gICAgY2FsZW5kYXI6IFNiYkNhbGVuZGFyRWxlbWVudDxUPixcbiAgICBkYXRlcGlja2VyOiBTYmJEYXRlcGlja2VyRWxlbWVudDxUPixcbiAgKTogdm9pZCB7XG4gICAgaWYgKCFjYWxlbmRhciB8fCAhZGF0ZXBpY2tlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjYWxlbmRhci53aWRlID0gZGF0ZXBpY2tlci53aWRlO1xuICAgIGNhbGVuZGFyLm5vdyA9IHRoaXMuX25vd09yVW5kZWZpbmVkKCk7XG4gICAgY2FsZW5kYXIuZGF0ZUZpbHRlciA9IGRhdGVwaWNrZXIuZGF0ZUZpbHRlcjtcbiAgfVxuXG4gIHByaXZhdGUgX2RhdGVQaWNrZXJDaGFuZ2VkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+O1xuICAgIGlmICh0aGlzLl9jYWxlbmRhckVsZW1lbnQgJiYgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQudmFsdWVBc0RhdGUpIHtcbiAgICAgIHRoaXMuX2NhbGVuZGFyRWxlbWVudC5zZWxlY3RlZCA9IHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50LnZhbHVlQXNEYXRlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Fzc2lnbkNhbGVuZGFyKGNhbGVuZGFyOiBTYmJDYWxlbmRhckVsZW1lbnQ8VD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY2FsZW5kYXJFbGVtZW50ICYmIHRoaXMuX2NhbGVuZGFyRWxlbWVudCA9PT0gY2FsZW5kYXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50ID0gY2FsZW5kYXI7XG4gICAgaWYgKFxuICAgICAgISgndmFsdWVBc0RhdGUnIGluICh0aGlzLl9kYXRlUGlja2VyRWxlbWVudCA/PyB7fSkpIHx8XG4gICAgICAhdGhpcy5fY2FsZW5kYXJFbGVtZW50Py5yZXNldFBvc2l0aW9uXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2NhbGVuZGFyRWxlbWVudC5zZWxlY3RlZCA9IHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50IS52YWx1ZUFzRGF0ZSA/PyB1bmRlZmluZWQ7XG4gICAgdGhpcy5fY29uZmlndXJlQ2FsZW5kYXIodGhpcy5fY2FsZW5kYXJFbGVtZW50LCB0aGlzLl9kYXRlUGlja2VyRWxlbWVudCEpO1xuICAgIHRoaXMuX2NhbGVuZGFyRWxlbWVudC5yZXNldFBvc2l0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX3BvcG92ZXJFbGVtZW50LnRyaWdnZXIgPSB0aGlzLl90cmlnZ2VyRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgX25vd09yVW5kZWZpbmVkKCk6IFQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9kYXRlUGlja2VyRWxlbWVudD8uaGFzQ3VzdG9tTm93KCkgPyB0aGlzLl9kYXRlUGlja2VyRWxlbWVudC5ub3cgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzYmItcG9wb3Zlci10cmlnZ2VyXG4gICAgICAgIGljb24tbmFtZT1cImNhbGVuZGFyLXNtYWxsXCJcbiAgICAgICAgYXJpYS1sYWJlbD0ke2kxOG5TaG93Q2FsZW5kYXJbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgID9kaXNhYmxlZD0keyFpc1NlcnZlciAmJiAoIXRoaXMuX2RhdGVQaWNrZXJFbGVtZW50IHx8IHRoaXMuX2Rpc2FibGVkKX1cbiAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgZGF0YS1pY29uLXNtYWxsXG4gICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl90cmlnZ2VyRWxlbWVudCA9IGVsIGFzIFNiYlBvcG92ZXJUcmlnZ2VyRWxlbWVudCkpfVxuICAgICAgPjwvc2JiLXBvcG92ZXItdHJpZ2dlcj5cbiAgICAgIDxzYmItcG9wb3ZlclxuICAgICAgICBAd2lsbE9wZW49JHsoKSA9PiB0aGlzLl9jYWxlbmRhckVsZW1lbnQucmVzZXRQb3NpdGlvbigpfVxuICAgICAgICBAZGlkT3Blbj0keygpID0+IHtcbiAgICAgICAgICBpZiAoc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJykge1xuICAgICAgICAgICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAudHJpZ2dlcj0ke3RoaXMuX3RyaWdnZXJFbGVtZW50fVxuICAgICAgICBoaWRlLWNsb3NlLWJ1dHRvblxuICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fcG9wb3ZlckVsZW1lbnQgPSBlbCBhcyBTYmJQb3BvdmVyRWxlbWVudCkpfVxuICAgICAgPlxuICAgICAgICAke3RoaXMuX3JlbmRlckNhbGVuZGFyXG4gICAgICAgICAgPyBodG1sYDxzYmItY2FsZW5kYXJcbiAgICAgICAgICAgICAgLm1pbj0ke3RoaXMuX21pbn1cbiAgICAgICAgICAgICAgLm1heD0ke3RoaXMuX21heH1cbiAgICAgICAgICAgICAgLm5vdz0ke3RoaXMuX25vd09yVW5kZWZpbmVkKCl9XG4gICAgICAgICAgICAgID93aWRlPSR7dGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQ/LndpZGV9XG4gICAgICAgICAgICAgIC5kYXRlRmlsdGVyPSR7dGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQ/LmRhdGVGaWx0ZXJ9XG4gICAgICAgICAgICAgIEBkYXRlU2VsZWN0ZWQ9JHsoZDogQ3VzdG9tRXZlbnQ8VD4pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQuc2VsZWN0ZWQgPSBkLmRldGFpbDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50LnZhbHVlQXNEYXRlID0gZC5kZXRhaWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAke3JlZigoY2FsZW5kYXI/OiBFbGVtZW50KSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuX2Fzc2lnbkNhbGVuZGFyKGNhbGVuZGFyIGFzIFNiYkNhbGVuZGFyRWxlbWVudDxUPiksXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA+PC9zYmItY2FsZW5kYXI+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgIDwvc2JiLXBvcG92ZXI+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRhdGVwaWNrZXItdG9nZ2xlJzogU2JiRGF0ZXBpY2tlclRvZ2dsZUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMkJPLElBQU0sNkJBQU4sY0FBbUQ7QUFBQSxFQUN4RCxrQkFBa0IsVUFBVTtBQUM5QixFQUFFO0FBQUEsRUEwQk8sY0FBYztBQUNiO0FBckJDLFNBQVEsWUFBWTtBQUVwQixTQUFRLE9BQTJDO0FBRW5ELFNBQVEsT0FBMkM7QUFFbkQsU0FBUSxrQkFBa0I7QUFZM0IsU0FBQSxZQUFZLElBQUksc0JBQXNCLElBQUk7QUFJaEQsUUFBSSxDQUFDLFVBQVU7QUFDYixXQUFLLGtCQUFrQixLQUFLLE1BQU8sS0FBSyxrQkFBa0IsSUFBSztBQUFBLElBQ2pFO0FBQUEsRUFDRjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08sT0FBYTtBQUNkLFFBQUEsQ0FBQyxLQUFLLGlCQUFpQjtBQUN6QixXQUFLLGtCQUFrQixLQUFLLFdBQVksY0FBYyxxQkFBcUI7QUFBQSxJQUM3RTtBQUNBLFNBQUssZ0JBQWdCO0VBQ3ZCO0FBQUEsRUFFZ0Isb0JBQTBCOztBQUN4QyxVQUFNLGtCQUFrQjtBQUNwQixRQUFBLENBQUMsS0FBSyxZQUFZO0FBQ3BCLFdBQUssTUFBTTtBQUFBLElBQ2I7QUFFQSxVQUFNLGNBQVksVUFBSyxZQUFMLDhCQUFlLHdCQUFxQixVQUFLLFlBQUwsOEJB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
|
|
261
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci10b2dnbGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXItdG9nZ2xlL2RhdGVwaWNrZXItdG9nZ2xlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBpc1NlcnZlciwgTGl0RWxlbWVudCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgdHlwZSB7IENhbGVuZGFyVmlldywgU2JiQ2FsZW5kYXJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY2FsZW5kYXIuanMnO1xuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciwgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpMThuU2hvd0NhbGVuZGFyIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluLCBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJQb3BvdmVyRWxlbWVudCwgU2JiUG9wb3ZlclRyaWdnZXJFbGVtZW50IH0gZnJvbSAnLi4vLi4vcG9wb3Zlci5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRhdGVwaWNrZXJFbGVtZW50LCBTYmJJbnB1dFVwZGF0ZUV2ZW50IH0gZnJvbSAnLi4vZGF0ZXBpY2tlci5qcyc7XG5pbXBvcnQgeyBkYXRlcGlja2VyQ29udHJvbFJlZ2lzdGVyZWRFdmVudEZhY3RvcnksIGdldERhdGVQaWNrZXIgfSBmcm9tICcuLi9kYXRlcGlja2VyLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGF0ZXBpY2tlci10b2dnbGUuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9jYWxlbmRhci5qcyc7XG5pbXBvcnQgJy4uLy4uL3BvcG92ZXIuanMnO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBgc2JiLWRhdGVwaWNrZXJgLCBpdCBjYW4gYmUgdXNlZCB0byBzZWxlY3QgYSBkYXRlIGZyb20gYSBgc2JiLWNhbGVuZGFyYC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1kYXRlcGlja2VyLXRvZ2dsZScpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICBzbG90OiAncHJlZml4Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2JiRGF0ZXBpY2tlclRvZ2dsZUVsZW1lbnQ8VCA9IERhdGU+IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihcbiAgU2JiSHlkcmF0aW9uTWl4aW4oTGl0RWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIERhdGVwaWNrZXIgcmVmZXJlbmNlLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdkYXRlLXBpY2tlcicgfSkgcHVibGljIGRhdGVQaWNrZXI/OiBzdHJpbmcgfCBTYmJEYXRlcGlja2VyRWxlbWVudDtcblxuICAvKiogVGhlIGluaXRpYWwgdmlldyBvZiBjYWxlbmRhciB3aGljaCBzaG91bGQgYmUgZGlzcGxheWVkIG9uIG9wZW5pbmcuICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyB2aWV3OiBDYWxlbmRhclZpZXcgPSAnZGF5JztcblxuICBAc3RhdGUoKSBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgX21pbjogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBfbWF4OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcblxuICBAc3RhdGUoKSBwcml2YXRlIF9yZW5kZXJDYWxlbmRhciA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2RhdGVQaWNrZXJFbGVtZW50OiBTYmJEYXRlcGlja2VyRWxlbWVudDxUPiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2NhbGVuZGFyRWxlbWVudCE6IFNiYkNhbGVuZGFyRWxlbWVudDxUPjtcbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQhOiBTYmJQb3BvdmVyVHJpZ2dlckVsZW1lbnQ7XG4gIHByaXZhdGUgX3BvcG92ZXJFbGVtZW50ITogU2JiUG9wb3ZlckVsZW1lbnQ7XG4gIHByaXZhdGUgX2RhdGVQaWNrZXJDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2Fib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT4gKHRoaXMuX3JlbmRlckNhbGVuZGFyID0gdHJ1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3Rvcignc2JiLXBvcG92ZXItdHJpZ2dlcicpITtcbiAgICB9XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuY2xpY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGlmICghdGhpcy5kYXRlUGlja2VyKSB7XG4gICAgICB0aGlzLl9pbml0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgZm9ybUZpZWxkID0gdGhpcy5jbG9zZXN0Py4oJ3NiYi1mb3JtLWZpZWxkJykgPz8gdGhpcy5jbG9zZXN0Py4oJ1tkYXRhLWZvcm0tZmllbGRdJyk7XG4gICAgaWYgKGZvcm1GaWVsZCkge1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IGZvcm1GaWVsZC5oYXNBdHRyaWJ1dGUoJ25lZ2F0aXZlJyk7XG4gICAgfVxuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2NsaWNrJyxcbiAgICAgIChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQuY29tcG9zZWRQYXRoKClbMF0gPT09IHRoaXMpIHtcbiAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgc2lnbmFsOiB0aGlzLl9hYm9ydC5zaWduYWwgfSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkYXRlUGlja2VyJykpIHtcbiAgICAgIHRoaXMuX2luaXQodGhpcy5kYXRlUGlja2VyKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXQoZGF0ZVBpY2tlcj86IHN0cmluZyB8IFNiYkRhdGVwaWNrZXJFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQgPSBnZXREYXRlUGlja2VyPFQ+KHRoaXMsIGRhdGVQaWNrZXIpO1xuICAgIGlmICghdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQpIHtcbiAgICAgIC8vIElmIHRoZSBjb21wb25lbnQgaXMgYXR0YWNoZWQgdG8gdGhlIERPTSBiZWZvcmUgdGhlIGRhdGVwaWNrZXIsIGl0IGhhcyB0byBsaXN0ZW4gZm9yIHRoZSBkYXRlcGlja2VyIGluaXQsXG4gICAgICAvLyBhc3N1bWluZyB0aGF0IHRoZSB0d28gY29tcG9uZW50cyBzaGFyZSB0aGUgc2FtZSBwYXJlbnQgZWxlbWVudC5cbiAgICAgIHRoaXMucGFyZW50RWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2lucHV0VXBkYXRlZCcsXG4gICAgICAgIChlOiBFdmVudCkgPT4gdGhpcy5faW5pdChlLnRhcmdldCBhcyBTYmJEYXRlcGlja2VyRWxlbWVudCksXG4gICAgICAgIHsgb25jZTogdHJ1ZSwgc2lnbmFsOiB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlci5zaWduYWwgfSxcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnaW5wdXRVcGRhdGVkJyxcbiAgICAgIChldmVudDogQ3VzdG9tRXZlbnQ8U2JiSW5wdXRVcGRhdGVFdmVudD4pID0+IHtcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD47XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gISEoZXZlbnQuZGV0YWlsLmRpc2FibGVkIHx8IGV2ZW50LmRldGFpbC5yZWFkb25seSk7XG4gICAgICAgIHRoaXMuX21pbiA9IGV2ZW50LmRldGFpbC5taW47XG4gICAgICAgIHRoaXMuX21heCA9IGV2ZW50LmRldGFpbC5tYXg7XG4gICAgICB9LFxuICAgICAgeyBzaWduYWw6IHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyLnNpZ25hbCB9LFxuICAgICk7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnY2hhbmdlJyxcbiAgICAgIChldmVudDogRXZlbnQpID0+IHRoaXMuX2RhdGVQaWNrZXJDaGFuZ2VkKGV2ZW50KSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnZGF0ZVBpY2tlclVwZGF0ZWQnLFxuICAgICAgKGV2ZW50OiBFdmVudCkgPT5cbiAgICAgICAgdGhpcy5fY29uZmlndXJlQ2FsZW5kYXIodGhpcy5fY2FsZW5kYXJFbGVtZW50LCBldmVudC50YXJnZXQgYXMgU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4pLFxuICAgICAgeyBzaWduYWw6IHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyLnNpZ25hbCB9LFxuICAgICk7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQuZGlzcGF0Y2hFdmVudChkYXRlcGlja2VyQ29udHJvbFJlZ2lzdGVyZWRFdmVudEZhY3RvcnkoKSk7XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmVDYWxlbmRhcihcbiAgICBjYWxlbmRhcjogU2JiQ2FsZW5kYXJFbGVtZW50PFQ+LFxuICAgIGRhdGVwaWNrZXI6IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+LFxuICApOiB2b2lkIHtcbiAgICBpZiAoIWNhbGVuZGFyIHx8ICFkYXRlcGlja2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNhbGVuZGFyLndpZGUgPSBkYXRlcGlja2VyLndpZGU7XG4gICAgY2FsZW5kYXIubm93ID0gdGhpcy5fbm93T3JVbmRlZmluZWQoKTtcbiAgICBjYWxlbmRhci5kYXRlRmlsdGVyID0gZGF0ZXBpY2tlci5kYXRlRmlsdGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGF0ZVBpY2tlckNoYW5nZWQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD47XG4gICAgaWYgKHRoaXMuX2NhbGVuZGFyRWxlbWVudCkge1xuICAgICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LnNlbGVjdGVkID0gdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQudmFsdWVBc0RhdGUgfHwgdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Fzc2lnbkNhbGVuZGFyKGNhbGVuZGFyOiBTYmJDYWxlbmRhckVsZW1lbnQ8VD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY2FsZW5kYXJFbGVtZW50ICYmIHRoaXMuX2NhbGVuZGFyRWxlbWVudCA9PT0gY2FsZW5kYXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50ID0gY2FsZW5kYXI7XG4gICAgaWYgKFxuICAgICAgISgndmFsdWVBc0RhdGUnIGluICh0aGlzLl9kYXRlUGlja2VyRWxlbWVudCA/PyB7fSkpIHx8XG4gICAgICAhdGhpcy5fY2FsZW5kYXJFbGVtZW50Py5yZXNldFBvc2l0aW9uXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2NhbGVuZGFyRWxlbWVudC5zZWxlY3RlZCA9IHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50IS52YWx1ZUFzRGF0ZSA/PyB1bmRlZmluZWQ7XG4gICAgdGhpcy5fY29uZmlndXJlQ2FsZW5kYXIodGhpcy5fY2FsZW5kYXJFbGVtZW50LCB0aGlzLl9kYXRlUGlja2VyRWxlbWVudCEpO1xuICAgIHRoaXMuX2NhbGVuZGFyRWxlbWVudC5yZXNldFBvc2l0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX3BvcG92ZXJFbGVtZW50LnRyaWdnZXIgPSB0aGlzLl90cmlnZ2VyRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgX25vd09yVW5kZWZpbmVkKCk6IFQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9kYXRlUGlja2VyRWxlbWVudD8uaGFzQ3VzdG9tTm93KCkgPyB0aGlzLl9kYXRlUGlja2VyRWxlbWVudC5ub3cgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzYmItcG9wb3Zlci10cmlnZ2VyXG4gICAgICAgIGljb24tbmFtZT1cImNhbGVuZGFyLXNtYWxsXCJcbiAgICAgICAgYXJpYS1sYWJlbD0ke2kxOG5TaG93Q2FsZW5kYXJbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgID9kaXNhYmxlZD0keyFpc1NlcnZlciAmJiAoIXRoaXMuX2RhdGVQaWNrZXJFbGVtZW50IHx8IHRoaXMuX2Rpc2FibGVkKX1cbiAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgZGF0YS1pY29uLXNtYWxsXG4gICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl90cmlnZ2VyRWxlbWVudCA9IGVsIGFzIFNiYlBvcG92ZXJUcmlnZ2VyRWxlbWVudCkpfVxuICAgICAgPjwvc2JiLXBvcG92ZXItdHJpZ2dlcj5cbiAgICAgIDxzYmItcG9wb3ZlclxuICAgICAgICBAd2lsbE9wZW49JHsoKSA9PiB0aGlzLl9jYWxlbmRhckVsZW1lbnQucmVzZXRQb3NpdGlvbigpfVxuICAgICAgICBAZGlkT3Blbj0keygpID0+IHtcbiAgICAgICAgICBpZiAoc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJykge1xuICAgICAgICAgICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAudHJpZ2dlcj0ke3RoaXMuX3RyaWdnZXJFbGVtZW50fVxuICAgICAgICBoaWRlLWNsb3NlLWJ1dHRvblxuICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fcG9wb3ZlckVsZW1lbnQgPSBlbCBhcyBTYmJQb3BvdmVyRWxlbWVudCkpfVxuICAgICAgPlxuICAgICAgICAke3RoaXMuX3JlbmRlckNhbGVuZGFyXG4gICAgICAgICAgPyBodG1sYDxzYmItY2FsZW5kYXJcbiAgICAgICAgICAgICAgLnZpZXc9JHt0aGlzLnZpZXd9XG4gICAgICAgICAgICAgIC5taW49JHt0aGlzLl9taW59XG4gICAgICAgICAgICAgIC5tYXg9JHt0aGlzLl9tYXh9XG4gICAgICAgICAgICAgIC5ub3c9JHt0aGlzLl9ub3dPclVuZGVmaW5lZCgpfVxuICAgICAgICAgICAgICA/d2lkZT0ke3RoaXMuX2RhdGVQaWNrZXJFbGVtZW50Py53aWRlfVxuICAgICAgICAgICAgICAuZGF0ZUZpbHRlcj0ke3RoaXMuX2RhdGVQaWNrZXJFbGVtZW50Py5kYXRlRmlsdGVyfVxuICAgICAgICAgICAgICBAZGF0ZVNlbGVjdGVkPSR7KGQ6IEN1c3RvbUV2ZW50PFQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LnNlbGVjdGVkID0gZC5kZXRhaWw7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudC52YWx1ZUFzRGF0ZSA9IGQuZGV0YWlsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgJHtyZWYoKGNhbGVuZGFyPzogRWxlbWVudCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLl9hc3NpZ25DYWxlbmRhcihjYWxlbmRhciBhcyBTYmJDYWxlbmRhckVsZW1lbnQ8VD4pLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPjwvc2JiLWNhbGVuZGFyPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICA8L3NiYi1wb3BvdmVyPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1kYXRlcGlja2VyLXRvZ2dsZSc6IFNiYkRhdGVwaWNrZXJUb2dnbGVFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTJCTyxJQUFNLDZCQUFOLGNBQW1EO0FBQUEsRUFDeEQsa0JBQWtCLFVBQVU7QUFDOUIsRUFBRTtBQUFBLEVBeUJPLGNBQWM7QUFDYjtBQW5CSSxTQUFPLE9BQXFCO0FBRS9C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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../../src/elements/dialog/dialog/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../../src/elements/dialog/dialog/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAO1E,OAAO,EAAe,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAMtE,OAAO,6BAA6B,CAAC;AAIrC;;;;;;;;;;;GAWG;AACH,qBACa,gBAAiB,SAAQ,qBAAqB;IACzD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,6BAA6B;IACsB,cAAc,EAAE,OAAO,GAAG,MAAM,CAAW;IAM9F,OAAO,CAAC,4BAA4B,CAElC;IAEF,OAAO,CAAC,mBAAmB,CAAsC;IACjE,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,qBAAqB,CAA4B;IACzD,OAAO,CAAC,qBAAqB,CAAwC;IACrE,OAAO,CAAC,2BAA2B,CAAkB;IACrD,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,SAAS,CAA4B;IAC7C,SAAS,CAAC,cAAc,EAAE,MAAM,CAAsB;IAEtD,2BAA2B;IACpB,IAAI,IAAI,IAAI;IA2BH,iBAAiB,IAAI,IAAI;cAYtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAO3D,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ5D,oBAAoB,IAAI,IAAI;cAKzB,uBAAuB,IAAI,IAAI;IAgBlD,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAsC5D,SAAS,CAAC,eAAe,IAAI,IAAI;IAQjC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,gBAAgB;IAqCxB,OAAO,CAAC,oBAAoB,CAS1B;IAGF,OAAO,CAAC,qBAAqB,CAc3B;IAEF,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,0BAA0B;cAMf,MAAM,IAAI,cAAc;CAmB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
|