@sbb-esta/lyne-elements-dev 4.10.0-dev.1775568540 → 4.10.0-dev.1775571383

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.
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../breadcrumb-group.component-Cc6CHbVy.js";
1
+ import { t as e } from "../../breadcrumb-group.component-F3-JZkfO.js";
2
2
  export { e as SbbBreadcrumbGroupElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../breadcrumb-group.component-Cc6CHbVy.js";
1
+ import { t as e } from "../breadcrumb-group.component-F3-JZkfO.js";
2
2
  e.define(), console.warn("The entrypoint '@sbb-esta/elements/breadcrumb/breadcrumb-group.js' has been deprecated.\nUse either '@sbb-esta/elements/breadcrumb.js' or '@sbb-esta/elements/breadcrumb.pure.js' instead.");
3
3
  //#endregion
4
4
  export { e as SbbBreadcrumbGroupElement };
@@ -10,7 +10,7 @@ import "./icon.js";
10
10
  import { ResizeController as d } from "@lit-labs/observers/resize-controller.js";
11
11
  import { getNextElementIndex as f, isArrowKeyPressed as p, sbbInputModalityDetector as m } from "./core/a11y.js";
12
12
  //#region src/elements/breadcrumb/breadcrumb-group/breadcrumb-group.scss?inline
13
- var h = ":host{display:block;min-width:0}:host(:is(:state(loaded),[state--loaded])){--sbb-breadcrumb-group-visibility: visible}:host(:is(:is(:state(state-collapsed),[state--state-collapsed]),:is(:state(state-manually-expanded),[state--state-manually-expanded]))){--sbb-breadcrumb-group-wrap: wrap}.sbb-breadcrumb-group{list-style:none;margin:0;padding:0;font-size:inherit;display:flex;flex-wrap:var(--sbb-breadcrumb-group-wrap);column-gap:var(--sbb-spacing-fixed-1x);visibility:var(--sbb-breadcrumb-group-visibility)}.sbb-breadcrumb-group__item{flex:0 0 auto;display:flex;column-gap:var(--sbb-spacing-fixed-1x)}.sbb-breadcrumb-group__divider-icon{color:var(--sbb-breadcrumb-group-ellipsis-color)}#sbb-breadcrumb-ellipsis{appearance:none;box-sizing:border-box;margin:0;outline:none;border:none;padding:0;background:none;-webkit-tap-highlight-color:transparent;color:inherit;--sbb-text-font-size: var(--sbb-text-font-size-xxs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);line-height:0;letter-spacing:.01em;font-size:var(--sbb-text-font-size-xxs);width:var(--sbb-size-icon-ui-small);height:var(--sbb-size-icon-ui-small);border:var(--sbb-breadcrumb-group-ellipsis-border-width) solid var(--sbb-breadcrumb-group-ellipsis-border-color);border-radius:50%;padding-block-end:.5em;cursor:var(--sbb-cursor-pointer);color:var(--sbb-breadcrumb-group-ellipsis-color);background-color:var(--sbb-breadcrumb-group-ellipsis-background-color);overflow:hidden}@media(forced-colors:active){#sbb-breadcrumb-ellipsis{--sbb-breadcrumb-group-ellipsis-border-width: var(--sbb-border-width-2x);--sbb-breadcrumb-group-ellipsis-border-color: CanvasText}}@media(any-hover:hover){#sbb-breadcrumb-ellipsis:hover{--sbb-breadcrumb-group-ellipsis-color: var(--sbb-color-2);--sbb-breadcrumb-group-ellipsis-background-color: var(--sbb-background-color-3)}}@media(any-hover:hover)and (forced-colors:active){#sbb-breadcrumb-ellipsis:hover{--sbb-breadcrumb-group-ellipsis-border-color: Highlight}}#sbb-breadcrumb-ellipsis:focus-visible{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width)}", g = 3, _ = (() => {
13
+ var h = ":host{display:block;min-width:0}:host(:is(:state(loaded),[state--loaded])){--sbb-breadcrumb-group-visibility: visible}:host(:is(:is(:state(state-collapsed),[state--state-collapsed]),:is(:state(state-manually-expanded),[state--state-manually-expanded]))){--sbb-breadcrumb-group-wrap: wrap}.sbb-breadcrumb-group{list-style:none;margin:0;padding:0;font-size:inherit;display:flex;flex-wrap:var(--sbb-breadcrumb-group-wrap);column-gap:var(--sbb-spacing-fixed-1x);visibility:var(--sbb-breadcrumb-group-visibility)}.sbb-breadcrumb-group__item{flex:0 0 auto;display:flex;column-gap:var(--sbb-spacing-fixed-1x)}.sbb-breadcrumb-group__divider-icon{color:var(--sbb-breadcrumb-group-ellipsis-color)}#sbb-breadcrumb-ellipsis{appearance:none;box-sizing:border-box;margin:0;outline:none;border:none;padding:0;background:none;-webkit-tap-highlight-color:transparent;color:inherit;--sbb-text-font-size: var(--sbb-text-font-size-xxs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);line-height:0;letter-spacing:.01em;width:var(--sbb-size-icon-ui-small);height:var(--sbb-size-icon-ui-small);border:var(--sbb-breadcrumb-group-ellipsis-border-width) solid var(--sbb-breadcrumb-group-ellipsis-border-color);border-radius:50%;padding-block-end:.5em;cursor:var(--sbb-cursor-pointer);color:var(--sbb-breadcrumb-group-ellipsis-color);background-color:var(--sbb-breadcrumb-group-ellipsis-background-color);overflow:hidden}@media(forced-colors:active){#sbb-breadcrumb-ellipsis{--sbb-breadcrumb-group-ellipsis-border-width: var(--sbb-border-width-2x);--sbb-breadcrumb-group-ellipsis-border-color: CanvasText}}@media(any-hover:hover){#sbb-breadcrumb-ellipsis:hover{--sbb-breadcrumb-group-ellipsis-color: var(--sbb-color-2);--sbb-breadcrumb-group-ellipsis-background-color: var(--sbb-background-color-3)}}@media(any-hover:hover)and (forced-colors:active){#sbb-breadcrumb-ellipsis:hover{--sbb-breadcrumb-group-ellipsis-border-color: Highlight}}#sbb-breadcrumb-ellipsis:focus-visible{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width)}", g = 3, _ = (() => {
14
14
  let _ = s(o), v = [], y;
15
15
  return class extends _ {
16
16
  static {
package/breadcrumb.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as e } from "./breadcrumb-group.component-Cc6CHbVy.js";
1
+ import { t as e } from "./breadcrumb-group.component-F3-JZkfO.js";
2
2
  import { t } from "./breadcrumb.component-C1xO7cgt.js";
3
3
  import "./breadcrumb.pure.js";
4
4
  t.define(), e.define();
@@ -1,3 +1,3 @@
1
- import { t as e } from "./breadcrumb-group.component-Cc6CHbVy.js";
1
+ import { t as e } from "./breadcrumb-group.component-F3-JZkfO.js";
2
2
  import { t } from "./breadcrumb.component-C1xO7cgt.js";
3
3
  export { t as SbbBreadcrumbElement, e as SbbBreadcrumbGroupElement };
@@ -1,2 +1,2 @@
1
- import { t as SbbBreadcrumbGroupElement } from "../../breadcrumb-group.component-B3Shlng3.js";
1
+ import { t as SbbBreadcrumbGroupElement } from "../../breadcrumb-group.component-HBWRdDpS.js";
2
2
  export { SbbBreadcrumbGroupElement };
@@ -1,4 +1,4 @@
1
- import { t as SbbBreadcrumbGroupElement } from "../breadcrumb-group.component-B3Shlng3.js";
1
+ import { t as SbbBreadcrumbGroupElement } from "../breadcrumb-group.component-HBWRdDpS.js";
2
2
  //#region src/elements/breadcrumb/breadcrumb-group.ts
3
3
  /** @entrypoint */
4
4
  SbbBreadcrumbGroupElement.define();
@@ -0,0 +1,195 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { html, nothing, unsafeCSS } from "lit";
3
+ import { state } from "lit/decorators.js";
4
+ import { SbbElement } from "./core/base-elements.js";
5
+ import { SbbNamedSlotListMixin } from "./core/mixins.js";
6
+ import { boxSizingStyles } from "./core/styles.js";
7
+ import { SbbLanguageController } from "./core/controllers.js";
8
+ import { i18nBreadcrumbEllipsisButtonLabel } from "./core/i18n.js";
9
+ import "./icon.js";
10
+ import { ResizeController } from "@lit-labs/observers/resize-controller.js";
11
+ import { getNextElementIndex, isArrowKeyPressed, sbbInputModalityDetector } from "./core/a11y.js";
12
+ //#region src/elements/breadcrumb/breadcrumb-group/breadcrumb-group.scss?inline
13
+ var breadcrumb_group_default = ":host {\n display: block;\n min-width: 0;\n}\n\n:host(:is(:state(loaded),[state--loaded])) {\n --sbb-breadcrumb-group-visibility: visible;\n}\n\n:host(:is(:is(:state(state-collapsed),[state--state-collapsed]), :is(:state(state-manually-expanded),[state--state-manually-expanded]))) {\n --sbb-breadcrumb-group-wrap: wrap;\n}\n\n.sbb-breadcrumb-group {\n list-style: none;\n margin: 0;\n padding: 0;\n font-size: inherit;\n display: flex;\n flex-wrap: var(--sbb-breadcrumb-group-wrap);\n column-gap: var(--sbb-spacing-fixed-1x);\n visibility: var(--sbb-breadcrumb-group-visibility);\n}\n\n.sbb-breadcrumb-group__item {\n flex: 0 0 auto;\n display: flex;\n column-gap: var(--sbb-spacing-fixed-1x);\n}\n\n.sbb-breadcrumb-group__divider-icon {\n color: var(--sbb-breadcrumb-group-ellipsis-color);\n}\n\n#sbb-breadcrumb-ellipsis {\n appearance: none;\n box-sizing: border-box;\n margin: 0;\n outline: none;\n border: none;\n border-radius: 0;\n padding: 0;\n background: none;\n -webkit-tap-highlight-color: transparent;\n color: inherit;\n --sbb-text-font-size: var(--sbb-text-font-size-xxs);\n font-family: var(--sbb-typo-font-family);\n font-weight: normal;\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size);\n line-height: 0;\n letter-spacing: 0.01em;\n width: var(--sbb-size-icon-ui-small);\n height: var(--sbb-size-icon-ui-small);\n border: var(--sbb-breadcrumb-group-ellipsis-border-width) solid var(--sbb-breadcrumb-group-ellipsis-border-color);\n border-radius: 50%;\n padding-block-end: 0.5em;\n cursor: var(--sbb-cursor-pointer);\n color: var(--sbb-breadcrumb-group-ellipsis-color);\n background-color: var(--sbb-breadcrumb-group-ellipsis-background-color);\n overflow: hidden;\n}\n@media (forced-colors: active) {\n #sbb-breadcrumb-ellipsis {\n --sbb-breadcrumb-group-ellipsis-border-width: var(--sbb-border-width-2x);\n --sbb-breadcrumb-group-ellipsis-border-color: CanvasText;\n }\n}\n@media (any-hover: hover) {\n #sbb-breadcrumb-ellipsis:hover {\n --sbb-breadcrumb-group-ellipsis-color: var(--sbb-color-2);\n --sbb-breadcrumb-group-ellipsis-background-color: var(--sbb-background-color-3);\n }\n}\n@media (any-hover: hover) and (forced-colors: active) {\n #sbb-breadcrumb-ellipsis:hover {\n --sbb-breadcrumb-group-ellipsis-border-color: Highlight;\n }\n}\n#sbb-breadcrumb-ellipsis:focus-visible {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n}";
14
+ //#endregion
15
+ //#region src/elements/breadcrumb/breadcrumb-group/breadcrumb-group.component.ts
16
+ var MIN_BREADCRUMBS_TO_COLLAPSE = 3;
17
+ /**
18
+ * It can be used as a container for one or more `sbb-breadcrumb` component.
19
+ *
20
+ * @slot - Use the unnamed slot to add `sbb-breadcrumb` elements.
21
+ */
22
+ var SbbBreadcrumbGroupElement = (() => {
23
+ let _classSuper = SbbNamedSlotListMixin(SbbElement);
24
+ let _instanceExtraInitializers = [];
25
+ let _set__state_decorators;
26
+ return class SbbBreadcrumbGroupElement extends _classSuper {
27
+ static {
28
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
29
+ _set__state_decorators = [state()];
30
+ __esDecorate(this, null, _set__state_decorators, {
31
+ kind: "setter",
32
+ name: "_state",
33
+ static: false,
34
+ private: false,
35
+ access: {
36
+ has: (obj) => "_state" in obj,
37
+ set: (obj, value) => {
38
+ obj._state = value;
39
+ }
40
+ },
41
+ metadata: _metadata
42
+ }, null, _instanceExtraInitializers);
43
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
44
+ enumerable: true,
45
+ configurable: true,
46
+ writable: true,
47
+ value: _metadata
48
+ });
49
+ }
50
+ static {
51
+ this.elementName = "sbb-breadcrumb-group";
52
+ }
53
+ static {
54
+ this.role = "navigation";
55
+ }
56
+ static {
57
+ this.styles = [boxSizingStyles, unsafeCSS(breadcrumb_group_default)];
58
+ }
59
+ /** The state of the breadcrumb group. */
60
+ set _state(state) {
61
+ if (this._stateInternal) this.internals.states.delete(`state-${this._stateInternal}`);
62
+ this._stateInternal = state;
63
+ if (this._stateInternal) this.internals.states.add(`state-${this._stateInternal}`);
64
+ }
65
+ get _state() {
66
+ return this._stateInternal;
67
+ }
68
+ constructor() {
69
+ super();
70
+ this.listChildLocalNames = (__runInitializers(this, _instanceExtraInitializers), ["sbb-breadcrumb"]);
71
+ this._stateInternal = null;
72
+ this._resizeObserver = new ResizeController(this, {
73
+ target: null,
74
+ skipInitial: true,
75
+ callback: () => this._evaluateCollapsedState()
76
+ });
77
+ this._language = new SbbLanguageController(this);
78
+ this._markForFocus = false;
79
+ this.addEventListener?.("keydown", (e) => this._handleKeyDown(e));
80
+ }
81
+ _handleKeyDown(evt) {
82
+ if (!this.listChildren.length || evt.target !== this && evt.target.parentElement !== this) return;
83
+ if (isArrowKeyPressed(evt)) {
84
+ if (this._state === "collapsed") return this._focusNextCollapsed(evt);
85
+ this._focusNext(evt);
86
+ }
87
+ }
88
+ firstUpdated(changedProperties) {
89
+ super.firstUpdated(changedProperties);
90
+ this._resizeObserver.observe(this);
91
+ this.internals.states.add("loaded");
92
+ }
93
+ willUpdate(changedProperties) {
94
+ super.willUpdate(changedProperties);
95
+ if (changedProperties.has("listChildren")) this._syncBreadcrumbs();
96
+ }
97
+ updated(changedProperties) {
98
+ super.updated(changedProperties);
99
+ if (changedProperties.has("listChildren")) Promise.resolve().then(() => this._evaluateCollapsedState());
100
+ if (this._markForFocus && sbbInputModalityDetector.mostRecentModality === "keyboard") {
101
+ this.listChildren[1]?.focus();
102
+ this._markForFocus = false;
103
+ }
104
+ }
105
+ /** Apply the aria-current attribute to the last sbb-breadcrumb element. */
106
+ _syncBreadcrumbs() {
107
+ this.listChildren.slice(0, -1).filter((c) => c.hasAttribute("accessibility-current")).forEach((c) => c.removeAttribute("accessibility-current"));
108
+ this.listChildren[this.listChildren.length - 1]?.setAttribute("accessibility-current", "page");
109
+ if (this.listChildren.length < MIN_BREADCRUMBS_TO_COLLAPSE) this._state = null;
110
+ }
111
+ /**
112
+ * Sets the focus on the correct element when the ellipsis breadcrumb is displayed and the user is navigating with keyboard's arrows.
113
+ */
114
+ _focusNextCollapsed(evt) {
115
+ const arrayCollapsed = [
116
+ this.listChildren[0],
117
+ this.shadowRoot.querySelector("#sbb-breadcrumb-ellipsis"),
118
+ this.listChildren[this.listChildren.length - 1]
119
+ ];
120
+ this._focusNext(evt, arrayCollapsed);
121
+ }
122
+ _focusNext(evt, breadcrumbs = this.listChildren) {
123
+ breadcrumbs[getNextElementIndex(evt, breadcrumbs.findIndex((e) => e === document.activeElement || e === this.shadowRoot.activeElement), breadcrumbs.length)]?.focus();
124
+ evt.preventDefault();
125
+ }
126
+ /**
127
+ * Note: due to @State annotation on _state, this method triggers a new render; as a consequence, the focus is moved
128
+ * to the `body`, so if the ellipsis element has focus, it's asynchronously forced to the first element.
129
+ */
130
+ _expandBreadcrumbs() {
131
+ this._state = "manually-expanded";
132
+ this._markForFocus = true;
133
+ }
134
+ /** Evaluate if the expanded breadcrumb element fits in page width, otherwise it needs ellipsis */
135
+ _evaluateCollapsedState() {
136
+ if (!this._state && this.scrollWidth > this.offsetWidth && this.listChildren.length >= MIN_BREADCRUMBS_TO_COLLAPSE) {
137
+ this._state = "collapsed";
138
+ this._resizeObserver.hostDisconnected();
139
+ this.removeController(this._resizeObserver);
140
+ }
141
+ }
142
+ _renderCollapsed() {
143
+ return html`
144
+ <li class="sbb-breadcrumb-group__item">
145
+ <slot name="li-0"></slot>
146
+ </li>
147
+ <li class="sbb-breadcrumb-group__item" id="sbb-breadcrumb-group-ellipsis">
148
+ <sbb-icon
149
+ name="chevron-small-right-small"
150
+ class="sbb-breadcrumb-group__divider-icon"
151
+ ></sbb-icon>
152
+ <button
153
+ type="button"
154
+ id="sbb-breadcrumb-ellipsis"
155
+ aria-label=${i18nBreadcrumbEllipsisButtonLabel[this._language.current]}
156
+ aria-expanded="false"
157
+ @click=${() => this._expandBreadcrumbs()}
158
+ >
159
+ ...
160
+ </button>
161
+ </li>
162
+ <li class="sbb-breadcrumb-group__item">
163
+ <sbb-icon
164
+ name="chevron-small-right-small"
165
+ class="sbb-breadcrumb-group__divider-icon"
166
+ ></sbb-icon>
167
+ <slot name=${`li-${this.listChildren.length - 1}`}></slot>
168
+ </li>
169
+ `;
170
+ }
171
+ _renderExpanded() {
172
+ return this.listSlotEntries().map((slot, index, array) => html`
173
+ <li class="sbb-breadcrumb-group__item">
174
+ <slot name=${slot.name}></slot>
175
+ ${index !== array.length - 1 ? html`<sbb-icon
176
+ name="chevron-small-right-small"
177
+ class="sbb-breadcrumb-group__divider-icon"
178
+ ></sbb-icon>` : nothing}
179
+ </li>
180
+ `);
181
+ }
182
+ render() {
183
+ return html`
184
+ <ol class="sbb-breadcrumb-group">
185
+ ${this._state === "collapsed" ? this._renderCollapsed() : this._renderExpanded()}
186
+ </ol>
187
+ ${this.renderHiddenSlot()}
188
+ `;
189
+ }
190
+ };
191
+ })();
192
+ //#endregion
193
+ export { SbbBreadcrumbGroupElement as t };
194
+
195
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1ncm91cC5jb21wb25lbnQtSEJXUmREcFMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1ncm91cC9icmVhZGNydW1iLWdyb3VwLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1ncm91cC9icmVhZGNydW1iLWdyb3VwLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC8vIEFsbG93cyBzaXplIGNhbGN1bGF0aW9uIGV2ZW4gaWYgaW4gZ3JpZCBvciBmbGV4IGNvbnRleHQuXG4gIG1pbi13aWR0aDogMDtcbn1cblxuOmhvc3QoOnN0YXRlKGxvYWRlZCkpIHtcbiAgLS1zYmItYnJlYWRjcnVtYi1ncm91cC12aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLWNvbGxhcHNlZCksIDpzdGF0ZShzdGF0ZS1tYW51YWxseS1leHBhbmRlZCkpKSB7XG4gIC0tc2JiLWJyZWFkY3J1bWItZ3JvdXAtd3JhcDogd3JhcDtcbn1cblxuLnNiYi1icmVhZGNydW1iLWdyb3VwIHtcbiAgQGluY2x1ZGUgc2JiLmxpc3QtcmVzZXQ7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB2YXIoLS1zYmItYnJlYWRjcnVtYi1ncm91cC13cmFwKTtcbiAgY29sdW1uLWdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xuICB2aXNpYmlsaXR5OiB2YXIoLS1zYmItYnJlYWRjcnVtYi1ncm91cC12aXNpYmlsaXR5KTtcbn1cblxuLnNiYi1icmVhZGNydW1iLWdyb3VwX19pdGVtIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbHVtbi1nYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbn1cblxuLnNiYi1icmVhZGNydW1iLWdyb3VwX19kaXZpZGVyLWljb24ge1xuICBjb2xvcjogdmFyKC0tc2JiLWJyZWFkY3J1bWItZ3JvdXAtZWxsaXBzaXMtY29sb3IpO1xufVxuXG4jc2JiLWJyZWFkY3J1bWItZWxsaXBzaXMge1xuICBAaW5jbHVkZSBzYmIuYnV0dG9uLXJlc2V0O1xuICBAaW5jbHVkZSBzYmIudGV4dC14eHMtLXJlZ3VsYXI7XG5cbiAgLy8gbGluZSBoZWlnaHQgYW5kIGxldHRlci1zcGFjaW5nIG5lZWRlZCB0byBtYXRjaCBzcXVhcmVzIGRyYXduIGluIEZpZ21hLlxuICBsaW5lLWhlaWdodDogMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgd2lkdGg6IHZhcigtLXNiYi1zaXplLWljb24tdWktc21hbGwpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1zaXplLWljb24tdWktc21hbGwpO1xuICBib3JkZXI6IHZhcigtLXNiYi1icmVhZGNydW1iLWdyb3VwLWVsbGlwc2lzLWJvcmRlci13aWR0aCkgc29saWRcbiAgICB2YXIoLS1zYmItYnJlYWRjcnVtYi1ncm91cC1lbGxpcHNpcy1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgLy8gSW4gb3JkZXIgdG8gdmVydGljYWxseSBjZW50ZXIgLi4uLCB3ZSB1c2UgcGFkZGluZyB3aXRoIGhhbGYgdGhlIGZvbnQgc2l6ZS5cbiAgcGFkZGluZy1ibG9jay1lbmQ6IDAuNWVtO1xuICBjdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItcG9pbnRlcik7XG4gIGNvbG9yOiB2YXIoLS1zYmItYnJlYWRjcnVtYi1ncm91cC1lbGxpcHNpcy1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1icmVhZGNydW1iLWdyb3VwLWVsbGlwc2lzLWJhY2tncm91bmQtY29sb3IpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1icmVhZGNydW1iLWdyb3VwLWVsbGlwc2lzLWJvcmRlci13aWR0aDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCk7XG4gICAgLS1zYmItYnJlYWRjcnVtYi1ncm91cC1lbGxpcHNpcy1ib3JkZXItY29sb3I6IENhbnZhc1RleHQ7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaG92ZXItbXEoJGhvdmVyOiB0cnVlKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICAtLXNiYi1icmVhZGNydW1iLWdyb3VwLWVsbGlwc2lzLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMik7XG4gICAgICAtLXNiYi1icmVhZGNydW1iLWdyb3VwLWVsbGlwc2lzLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuXG4gICAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICAgIC0tc2JiLWJyZWFkY3J1bWItZ3JvdXAtZWxsaXBzaXMtYm9yZGVyLWNvbG9yOiBIaWdobGlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBAaW5jbHVkZSBzYmIuZm9jdXMtb3V0bGluZTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7XG4gIGdldE5leHRFbGVtZW50SW5kZXgsXG4gIGlzQXJyb3dLZXlQcmVzc2VkLFxuICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IsXG59IGZyb20gJy4uLy4uL2NvcmUvYTExeS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgaTE4bkJyZWFkY3J1bWJFbGxpcHNpc0J1dHRvbkxhYmVsIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLnRzJztcbmltcG9ydCB7IFNiYk5hbWVkU2xvdExpc3RNaXhpbiwgdHlwZSBXaXRoTGlzdENoaWxkcmVuIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJCcmVhZGNydW1iRWxlbWVudCB9IGZyb20gJy4uL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9icmVhZGNydW1iLWdyb3VwLnNjc3M/aW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9pY29uLnRzJztcblxuY29uc3QgTUlOX0JSRUFEQ1JVTUJTX1RPX0NPTExBUFNFID0gMztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYHNiYi1icmVhZGNydW1iYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1icmVhZGNydW1iYCBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkJyZWFkY3J1bWJHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJOYW1lZFNsb3RMaXN0TWl4aW48XG4gIFNiYkJyZWFkY3J1bWJFbGVtZW50LFxuICB0eXBlb2YgU2JiRWxlbWVudFxuPihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItYnJlYWRjcnVtYi1ncm91cCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICduYXZpZ2F0aW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gWydzYmItYnJlYWRjcnVtYiddO1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIGJyZWFkY3J1bWIgZ3JvdXAuICovXG4gIEBzdGF0ZSgpXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogJ2NvbGxhcHNlZCcgfCAnbWFudWFsbHktZXhwYW5kZWQnIHwgbnVsbCkge1xuICAgIGlmICh0aGlzLl9zdGF0ZUludGVybmFsKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBzdGF0ZS0ke3RoaXMuX3N0YXRlSW50ZXJuYWx9YCk7XG4gICAgfVxuICAgIHRoaXMuX3N0YXRlSW50ZXJuYWwgPSBzdGF0ZTtcbiAgICBpZiAodGhpcy5fc3RhdGVJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgc3RhdGUtJHt0aGlzLl9zdGF0ZUludGVybmFsfWApO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldCBfc3RhdGUoKTogJ2NvbGxhcHNlZCcgfCAnbWFudWFsbHktZXhwYW5kZWQnIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlSW50ZXJuYWw7XG4gIH1cbiAgcHJpdmF0ZSBfc3RhdGVJbnRlcm5hbDogJ2NvbGxhcHNlZCcgfCAnbWFudWFsbHktZXhwYW5kZWQnIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9ldmFsdWF0ZUNvbGxhcHNlZFN0YXRlKCksXG4gIH0pO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX21hcmtGb3JGb2N1cyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgaWYgKHRoaXMuX3N0YXRlID09PSAnY29sbGFwc2VkJykge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXNOZXh0Q29sbGFwc2VkKGV2dCk7XG4gICAgICB9XG4gICAgICB0aGlzLl9mb2N1c05leHQoZXZ0KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMpO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ2xvYWRlZCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICAgICAgdGhpcy5fc3luY0JyZWFkY3J1bWJzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGlzdENoaWxkcmVuJykpIHtcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy5fZXZhbHVhdGVDb2xsYXBzZWRTdGF0ZSgpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX21hcmtGb3JGb2N1cyAmJiBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICB0aGlzLmxpc3RDaGlsZHJlblsxXT8uZm9jdXMoKTtcblxuICAgICAgLy8gUmVzZXQgbWFyayBmb3IgZm9jdXNcbiAgICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBcHBseSB0aGUgYXJpYS1jdXJyZW50IGF0dHJpYnV0ZSB0byB0aGUgbGFzdCBzYmItYnJlYWRjcnVtYiBlbGVtZW50LiAqL1xuICBwcml2YXRlIF9zeW5jQnJlYWRjcnVtYnMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0Q2hpbGRyZW5cbiAgICAgIC5zbGljZSgwLCAtMSlcbiAgICAgIC5maWx0ZXIoKGMpID0+IGMuaGFzQXR0cmlidXRlKCdhY2Nlc3NpYmlsaXR5LWN1cnJlbnQnKSlcbiAgICAgIC5mb3JFYWNoKChjKSA9PiBjLnJlbW92ZUF0dHJpYnV0ZSgnYWNjZXNzaWJpbGl0eS1jdXJyZW50JykpO1xuICAgIHRoaXMubGlzdENoaWxkcmVuW3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aCAtIDFdPy5zZXRBdHRyaWJ1dGUoJ2FjY2Vzc2liaWxpdHktY3VycmVudCcsICdwYWdlJyk7XG5cbiAgICAvLyBJZiBpdCBpcyBub3QgZXhwYW5kYWJsZSwgcmVzZXQgc3RhdGVcbiAgICBpZiAodGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoIDwgTUlOX0JSRUFEQ1JVTUJTX1RPX0NPTExBUFNFKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGZvY3VzIG9uIHRoZSBjb3JyZWN0IGVsZW1lbnQgd2hlbiB0aGUgZWxsaXBzaXMgYnJlYWRjcnVtYiBpcyBkaXNwbGF5ZWQgYW5kIHRoZSB1c2VyIGlzIG5hdmlnYXRpbmcgd2l0aCBrZXlib2FyZCdzIGFycm93cy5cbiAgICovXG4gIHByaXZhdGUgX2ZvY3VzTmV4dENvbGxhcHNlZChldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBhcnJheUNvbGxhcHNlZDogU2JiQnJlYWRjcnVtYkVsZW1lbnRbXSA9IFtcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuWzBdLFxuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcjc2JiLWJyZWFkY3J1bWItZWxsaXBzaXMnKSBhcyBTYmJCcmVhZGNydW1iRWxlbWVudCxcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuW3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aCAtIDFdLFxuICAgIF07XG4gICAgdGhpcy5fZm9jdXNOZXh0KGV2dCwgYXJyYXlDb2xsYXBzZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9jdXNOZXh0KFxuICAgIGV2dDogS2V5Ym9hcmRFdmVudCxcbiAgICBicmVhZGNydW1iczogU2JiQnJlYWRjcnVtYkVsZW1lbnRbXSA9IHRoaXMubGlzdENoaWxkcmVuLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50OiBudW1iZXIgPSBicmVhZGNydW1icy5maW5kSW5kZXgoXG4gICAgICAoZSkgPT4gZSA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCB8fCBlID09PSB0aGlzLnNoYWRvd1Jvb3QhLmFjdGl2ZUVsZW1lbnQsXG4gICAgKTtcbiAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjdXJyZW50LCBicmVhZGNydW1icy5sZW5ndGgpO1xuICAgIGJyZWFkY3J1bWJzW25leHRJbmRleF0/LmZvY3VzKCk7XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogTm90ZTogZHVlIHRvIEBTdGF0ZSBhbm5vdGF0aW9uIG9uIF9zdGF0ZSwgdGhpcyBtZXRob2QgdHJpZ2dlcnMgYSBuZXcgcmVuZGVyOyBhcyBhIGNvbnNlcXVlbmNlLCB0aGUgZm9jdXMgaXMgbW92ZWRcbiAgICogdG8gdGhlIGBib2R5YCwgc28gaWYgdGhlIGVsbGlwc2lzIGVsZW1lbnQgaGFzIGZvY3VzLCBpdCdzIGFzeW5jaHJvbm91c2x5IGZvcmNlZCB0byB0aGUgZmlyc3QgZWxlbWVudC5cbiAgICovXG4gIHByaXZhdGUgX2V4cGFuZEJyZWFkY3J1bWJzKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ21hbnVhbGx5LWV4cGFuZGVkJztcbiAgICB0aGlzLl9tYXJrRm9yRm9jdXMgPSB0cnVlO1xuICB9XG5cbiAgLyoqIEV2YWx1YXRlIGlmIHRoZSBleHBhbmRlZCBicmVhZGNydW1iIGVsZW1lbnQgZml0cyBpbiBwYWdlIHdpZHRoLCBvdGhlcndpc2UgaXQgbmVlZHMgZWxsaXBzaXMgKi9cbiAgcHJpdmF0ZSBfZXZhbHVhdGVDb2xsYXBzZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5fc3RhdGUgJiZcbiAgICAgIHRoaXMuc2Nyb2xsV2lkdGggPiB0aGlzLm9mZnNldFdpZHRoICYmXG4gICAgICB0aGlzLmxpc3RDaGlsZHJlbi5sZW5ndGggPj0gTUlOX0JSRUFEQ1JVTUJTX1RPX0NPTExBUFNFXG4gICAgKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9ICdjb2xsYXBzZWQnO1xuICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIuaG9zdERpc2Nvbm5lY3RlZCgpO1xuICAgICAgdGhpcy5yZW1vdmVDb250cm9sbGVyKHRoaXMuX3Jlc2l6ZU9ic2VydmVyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJDb2xsYXBzZWQoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGxpIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2l0ZW1cIj5cbiAgICAgICAgPHNsb3QgbmFtZT1cImxpLTBcIj48L3Nsb3Q+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2l0ZW1cIiBpZD1cInNiYi1icmVhZGNydW1iLWdyb3VwLWVsbGlwc2lzXCI+XG4gICAgICAgIDxzYmItaWNvblxuICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLXJpZ2h0LXNtYWxsXCJcbiAgICAgICAgICBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19kaXZpZGVyLWljb25cIlxuICAgICAgICA+PC9zYmItaWNvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGlkPVwic2JiLWJyZWFkY3J1bWItZWxsaXBzaXNcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9JHtpMThuQnJlYWRjcnVtYkVsbGlwc2lzQnV0dG9uTGFiZWxbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLl9leHBhbmRCcmVhZGNydW1icygpfVxuICAgICAgICA+XG4gICAgICAgICAgLi4uXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9saT5cbiAgICAgIDxsaSBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19pdGVtXCI+XG4gICAgICAgIDxzYmItaWNvblxuICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLXJpZ2h0LXNtYWxsXCJcbiAgICAgICAgICBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19kaXZpZGVyLWljb25cIlxuICAgICAgICA+PC9zYmItaWNvbj5cbiAgICAgICAgPHNsb3QgbmFtZT0ke2BsaS0ke3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aCAtIDF9YH0+PC9zbG90PlxuICAgICAgPC9saT5cbiAgICBgO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyRXhwYW5kZWQoKTogVGVtcGxhdGVSZXN1bHRbXSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdFNsb3RFbnRyaWVzKCkubWFwKFxuICAgICAgKHNsb3QsIGluZGV4LCBhcnJheSkgPT4gaHRtbGBcbiAgICAgICAgPGxpIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2l0ZW1cIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPSR7c2xvdC5uYW1lfT48L3Nsb3Q+XG4gICAgICAgICAgJHtpbmRleCAhPT0gYXJyYXkubGVuZ3RoIC0gMVxuICAgICAgICAgICAgPyBodG1sYDxzYmItaWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLXJpZ2h0LXNtYWxsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19kaXZpZGVyLWljb25cIlxuICAgICAgICAgICAgICA+PC9zYmItaWNvbj5gXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDwvbGk+XG4gICAgICBgLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxvbCBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwXCI+XG4gICAgICAgICR7dGhpcy5fc3RhdGUgPT09ICdjb2xsYXBzZWQnID8gdGhpcy5fcmVuZGVyQ29sbGFwc2VkKCkgOiB0aGlzLl9yZW5kZXJFeHBhbmRlZCgpfVxuICAgICAgPC9vbD5cbiAgICAgICR7dGhpcy5yZW5kZXJIaWRkZW5TbG90KCl9XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWJyZWFkY3J1bWItZ3JvdXAnOiBTYmJCcmVhZGNydW1iR3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQzJCQSxJQUFNLDhCQUE4Qjs7Ozs7O0lBT3ZCLG1DQUF5QjttQkFBUyxzQkFHN0MsV0FBVzs7O2NBSEEsa0NBQWtDLFlBR2xDOzs7NkJBT1YsT0FBTyxDQUFBO0FBQ1IsZ0JBQUEsTUFBQSxNQUFBLHdCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsWUFBQTtLQUFBLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBWSxTQUFNOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsTUFBQSwyQkFBQTs7Ozs7Ozs7O0FBUGMsUUFBQSxjQUFzQjs7O0FBQ3RCLFFBQUEsT0FBTzs7O0FBQ2hCLFFBQUEsU0FB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
@@ -1,4 +1,4 @@
1
- import { t as SbbBreadcrumbGroupElement } from "./breadcrumb-group.component-B3Shlng3.js";
1
+ import { t as SbbBreadcrumbGroupElement } from "./breadcrumb-group.component-HBWRdDpS.js";
2
2
  import { t as SbbBreadcrumbElement } from "./breadcrumb.component-DxSUxLZO.js";
3
3
  import "./breadcrumb.pure.js";
4
4
  //#region src/elements/breadcrumb.ts
@@ -1,3 +1,3 @@
1
- import { t as SbbBreadcrumbGroupElement } from "./breadcrumb-group.component-B3Shlng3.js";
1
+ import { t as SbbBreadcrumbGroupElement } from "./breadcrumb-group.component-HBWRdDpS.js";
2
2
  import { t as SbbBreadcrumbElement } from "./breadcrumb.component-DxSUxLZO.js";
3
3
  export { SbbBreadcrumbElement, SbbBreadcrumbGroupElement };
@@ -1,2 +1,2 @@
1
- import { t as SbbExpansionPanelElement } from "../../expansion-panel.component-PDUmZe7w.js";
1
+ import { t as SbbExpansionPanelElement } from "../../expansion-panel.component-CV_IuWZA.js";
2
2
  export { SbbExpansionPanelElement };
@@ -1,4 +1,4 @@
1
- import { t as SbbExpansionPanelElement } from "../expansion-panel.component-PDUmZe7w.js";
1
+ import { t as SbbExpansionPanelElement } from "../expansion-panel.component-CV_IuWZA.js";
2
2
  //#region src/elements/expansion-panel/expansion-panel.ts
3
3
  /** @entrypoint */
4
4
  SbbExpansionPanelElement.define();
@@ -8,7 +8,7 @@ import { ɵstateController } from "./core/mixins.js";
8
8
  import { boxSizingStyles } from "./core/styles.js";
9
9
  import { html as html$1, unsafeStatic } from "lit/static-html.js";
10
10
  //#region src/elements/expansion-panel/expansion-panel/expansion-panel.scss?inline
11
- var expansion_panel_default = ":host {\n --sbb-expansion-panel-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-4x)\n );\n --sbb-expansion-panel-border-color: var(--sbb-border-color-4-inverted);\n --sbb-expansion-panel-border-width: var(--sbb-border-width-1x);\n --sbb-expansion-panel-border-block-start-color: var(--sbb-expansion-panel-border-color);\n --sbb-expansion-panel-border-block-start-width: var(--sbb-expansion-panel-border-width);\n --sbb-expansion-panel-start-end-radius: var(--sbb-expansion-panel-border-radius);\n --sbb-expansion-panel-start-start-radius: var(--sbb-expansion-panel-border-radius);\n --sbb-expansion-panel-end-end-radius: var(--sbb-expansion-panel-border-radius);\n --sbb-expansion-panel-end-start-radius: var(--sbb-expansion-panel-border-radius);\n --_sbb-expansion-panel-display: grid;\n display: block;\n background-color: var(--sbb-expansion-panel-background-color);\n border: var(--sbb-expansion-panel-border-width) solid var(--sbb-expansion-panel-border-color);\n border-block-start-color: var(--sbb-expansion-panel-border-block-start-color);\n border-block-start-width: var(--sbb-expansion-panel-border-block-start-width);\n border-radius: var(--sbb-expansion-panel-start-start-radius) var(--sbb-expansion-panel-start-end-radius) var(--sbb-expansion-panel-end-end-radius) var(--sbb-expansion-panel-end-start-radius);\n background-clip: padding-box;\n}\n\n:host([size=s]) {\n --sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-s);\n}\n\n:host([size=l]) {\n --sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-l);\n}\n\n:host(:not([size])) {\n --sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-default);\n}\n\n@media (forced-colors: active) {\n :host([disabled]) {\n --sbb-expansion-panel-border-color: GrayText;\n --sbb-expansion-panel-border-block-start-color: GrayText;\n }\n}\n\n:host([expanded]) {\n --_sbb-expansion-panel-display-expanded: var(--_sbb-expansion-panel-display);\n}\n\n:host(:is(:state(accordion),[state--accordion]):is(:state(accordion-first),[state--accordion-first])) {\n --sbb-expansion-panel-start-end-radius: var(--sbb-expansion-panel-border-radius);\n --sbb-expansion-panel-start-start-radius: var(--sbb-expansion-panel-border-radius);\n}\n\n:host(:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))) {\n --sbb-expansion-panel-border-block-start-width: 0;\n --sbb-expansion-panel-border-block-start-color: transparent;\n --sbb-expansion-panel-start-end-radius: 0;\n --sbb-expansion-panel-start-start-radius: 0;\n}\n\n:host(:is(:state(accordion),[state--accordion]):is(:state(accordion-last),[state--accordion-last])) {\n --sbb-expansion-panel-end-end-radius: var(--sbb-expansion-panel-border-radius);\n --sbb-expansion-panel-end-start-radius: var(--sbb-expansion-panel-border-radius);\n}\n\n:host(:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-last),[state--accordion-last]))) {\n --sbb-expansion-panel-end-end-radius: 0;\n --sbb-expansion-panel-end-start-radius: 0;\n}\n\n:host([color=white]) {\n --sbb-expansion-panel-background-color: var(--sbb-background-color-1);\n --sbb-expansion-panel-background-color-hover: var(--sbb-background-color-3);\n}\n\n:host([color=milk]) {\n --sbb-expansion-panel-background-color: var(--sbb-background-color-3);\n --sbb-expansion-panel-background-color-hover: var(--sbb-background-color-1);\n}\n\n:host([borderless]) {\n --sbb-expansion-panel-border-width: 0;\n --sbb-expansion-panel-border-color: transparent;\n --sbb-expansion-panel-border-block-start-width: 0;\n --sbb-expansion-panel-border-block-start-color: transparent;\n}\n@media (forced-colors: active) {\n :host([borderless]) {\n --sbb-expansion-panel-border-width: var(--sbb-border-width-1x);\n --sbb-expansion-panel-border-block-start-width: var(--sbb-expansion-panel-border-width);\n }\n}\n\n:host([borderless]:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))) {\n --sbb-expansion-panel-border-block-start-width: var(--sbb-spacing-fixed-1x);\n}\n@media (forced-colors: active) {\n :host([borderless]:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))) {\n --sbb-expansion-panel-border-block-start-width: 0;\n }\n}\n\n:host(:not([disabled]):is(:state(toggle-hover),[state--toggle-hover])) {\n background-color: var(--sbb-expansion-panel-background-color-hover);\n}\n@media (forced-colors: active) {\n :host(:not([disabled]):is(:state(toggle-hover),[state--toggle-hover])) {\n --sbb-expansion-panel-border-color: Highlight;\n --sbb-expansion-panel-border-block-start-color: Highlight;\n }\n}\n\n.sbb-expansion-panel__header {\n margin: 0;\n}\n\n.sbb-expansion-panel__content-wrapper {\n display: var(--_sbb-expansion-panel-display-expanded, none);\n grid-template-rows: 0fr;\n opacity: 0;\n}\n:host(:is(:state(state-opened),[state--state-opened])) .sbb-expansion-panel__content-wrapper {\n grid-template-rows: 1fr;\n opacity: 1;\n}\n:host(:is(:state(state-opening),[state--state-opening])) .sbb-expansion-panel__content-wrapper {\n animation-name: open, open-opacity;\n animation-fill-mode: forwards;\n animation-duration: var(--sbb-expansion-panel-animation-duration);\n animation-timing-function: var(--sbb-animation-easing);\n animation-delay: 0s, var(--sbb-expansion-panel-animation-duration);\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-expansion-panel__content-wrapper {\n display: var(--_sbb-expansion-panel-display);\n visibility: hidden;\n animation-name: close;\n animation-duration: var(--sbb-expansion-panel-animation-duration);\n animation-timing-function: var(--sbb-animation-easing);\n}\n\n.sbb-expansion-panel__content {\n min-height: 0;\n}\n\n@keyframes open {\n from {\n grid-template-rows: 0fr;\n }\n to {\n grid-template-rows: 1fr;\n }\n}\n@keyframes open-opacity {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes close {\n from {\n grid-template-rows: 1fr;\n opacity: 1;\n }\n to {\n grid-template-rows: 0fr;\n opacity: 0;\n }\n}";
11
+ var expansion_panel_default = ":host {\n --sbb-expansion-panel-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-4x)\n );\n --sbb-expansion-panel-border-color: var(--sbb-border-color-4-inverted);\n --sbb-expansion-panel-border-width: var(--sbb-border-width-1x);\n --sbb-expansion-panel-border-block-start-color: var(--sbb-expansion-panel-border-color);\n --sbb-expansion-panel-border-block-start-width: var(--sbb-expansion-panel-border-width);\n --sbb-expansion-panel-start-end-radius: var(--sbb-expansion-panel-border-radius);\n --sbb-expansion-panel-start-start-radius: var(--sbb-expansion-panel-border-radius);\n --sbb-expansion-panel-end-end-radius: var(--sbb-expansion-panel-border-radius);\n --sbb-expansion-panel-end-start-radius: var(--sbb-expansion-panel-border-radius);\n --_sbb-expansion-panel-display: grid;\n display: block;\n background-color: var(--sbb-expansion-panel-background-color);\n border: var(--sbb-expansion-panel-border-width) solid var(--sbb-expansion-panel-border-color);\n border-block-start-color: var(--sbb-expansion-panel-border-block-start-color);\n border-block-start-width: var(--sbb-expansion-panel-border-block-start-width);\n border-radius: var(--sbb-expansion-panel-start-start-radius) var(--sbb-expansion-panel-start-end-radius) var(--sbb-expansion-panel-end-end-radius) var(--sbb-expansion-panel-end-start-radius);\n background-clip: padding-box;\n}\n\n:host([size=s]) {\n --sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-s);\n}\n\n:host([size=l]) {\n --sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-l);\n}\n\n:host(:not([size])) {\n --sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-default);\n}\n\n@media (forced-colors: active) {\n :host([disabled]) {\n --sbb-expansion-panel-border-color: GrayText;\n --sbb-expansion-panel-border-block-start-color: GrayText;\n }\n}\n\n:host([expanded]) {\n --_sbb-expansion-panel-display-expanded: var(--_sbb-expansion-panel-display);\n}\n\n:host(:is(:state(accordion),[state--accordion]):is(:state(accordion-first),[state--accordion-first])) {\n --sbb-expansion-panel-start-end-radius: var(--sbb-expansion-panel-border-radius);\n --sbb-expansion-panel-start-start-radius: var(--sbb-expansion-panel-border-radius);\n}\n\n:host(:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))) {\n --sbb-expansion-panel-border-block-start-width: 0;\n --sbb-expansion-panel-border-block-start-color: transparent;\n --sbb-expansion-panel-start-end-radius: 0;\n --sbb-expansion-panel-start-start-radius: 0;\n}\n\n:host(:is(:state(accordion),[state--accordion]):is(:state(accordion-last),[state--accordion-last])) {\n --sbb-expansion-panel-end-end-radius: var(--sbb-expansion-panel-border-radius);\n --sbb-expansion-panel-end-start-radius: var(--sbb-expansion-panel-border-radius);\n}\n\n:host(:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-last),[state--accordion-last]))) {\n --sbb-expansion-panel-end-end-radius: 0;\n --sbb-expansion-panel-end-start-radius: 0;\n}\n\n:host([color=white]) {\n --sbb-expansion-panel-background-color: var(--sbb-background-color-1);\n --sbb-expansion-panel-background-color-hover: var(--sbb-background-color-3);\n}\n\n:host([color=milk]) {\n --sbb-expansion-panel-background-color: var(--sbb-background-color-3);\n --sbb-expansion-panel-background-color-hover: var(--sbb-background-color-1);\n}\n\n:host([borderless]) {\n --sbb-expansion-panel-border-width: 0;\n --sbb-expansion-panel-border-color: transparent;\n --sbb-expansion-panel-border-block-start-width: 0;\n --sbb-expansion-panel-border-block-start-color: transparent;\n}\n@media (forced-colors: active) {\n :host([borderless]) {\n --sbb-expansion-panel-border-width: var(--sbb-border-width-1x);\n --sbb-expansion-panel-border-block-start-width: var(--sbb-expansion-panel-border-width);\n }\n}\n\n:host([borderless]:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))) {\n --sbb-expansion-panel-border-block-start-width: var(--sbb-spacing-fixed-1x);\n}\n@media (forced-colors: active) {\n :host([borderless]:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))) {\n --sbb-expansion-panel-border-block-start-width: 0;\n }\n}\n\n:host(:not([disabled]):is(:state(toggle-hover),[state--toggle-hover])) {\n background-color: var(--sbb-expansion-panel-background-color-hover);\n}\n@media (forced-colors: active) {\n :host(:not([disabled]):is(:state(toggle-hover),[state--toggle-hover])) {\n --sbb-expansion-panel-border-color: Highlight;\n --sbb-expansion-panel-border-block-start-color: Highlight;\n }\n}\n\n.sbb-expansion-panel__header {\n margin: 0;\n}\n\n.sbb-expansion-panel__content-wrapper {\n display: var(--_sbb-expansion-panel-display-expanded, none);\n grid-template-rows: 0fr;\n opacity: 0;\n}\n:host(:is(:state(state-opened),[state--state-opened])) .sbb-expansion-panel__content-wrapper {\n grid-template-rows: 1fr;\n opacity: 1;\n}\n:host(:is(:state(state-opening),[state--state-opening])) .sbb-expansion-panel__content-wrapper {\n animation-name: open, open-opacity;\n animation-fill-mode: forwards;\n animation-duration: var(--sbb-expansion-panel-animation-duration);\n animation-timing-function: var(--sbb-animation-easing);\n animation-delay: 0s, var(--sbb-expansion-panel-animation-duration);\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-expansion-panel__content-wrapper {\n display: var(--_sbb-expansion-panel-display);\n visibility: hidden;\n animation-name: close;\n animation-duration: var(--sbb-expansion-panel-animation-duration);\n animation-timing-function: var(--sbb-animation-easing);\n}\n\n.sbb-expansion-panel__content {\n min-height: 0;\n min-width: 0;\n}\n\n@keyframes open {\n from {\n grid-template-rows: 0fr;\n }\n to {\n grid-template-rows: 1fr;\n }\n}\n@keyframes open-opacity {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes close {\n from {\n grid-template-rows: 1fr;\n opacity: 1;\n }\n to {\n grid-template-rows: 0fr;\n opacity: 0;\n }\n}";
12
12
  //#endregion
13
13
  //#region src/elements/expansion-panel/expansion-panel/expansion-panel.component.ts
14
14
  var nextId = 0;
@@ -319,4 +319,4 @@ var SbbExpansionPanelElement = (() => {
319
319
  //#endregion
320
320
  export { SbbExpansionPanelElement as t };
321
321
 
322
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudC1QRFVtWmU3dy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbi8vIE9wZW4vQ2xvc2UgYW5pbWF0aW9uIHZhcnNcbiRvcGVuLWFuaW0tcm93cy1mcm9tOiAwZnI7XG4kb3Blbi1hbmltLXJvd3MtdG86IDFmcjtcbiRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tOiAwO1xuJG9wZW4tYW5pbS1vcGFjaXR5LXRvOiAxO1xuXG46aG9zdCB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1zYmItYm9yZGVyLWNvbG9yLTQtaW52ZXJ0ZWQpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXdpZHRoOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC1jb2xvcjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItY29sb3IpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci13aWR0aCk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtZW5kLWVuZC1yYWRpdXM6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXJhZGl1cyk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuICAtLV9zYmItZXhwYW5zaW9uLXBhbmVsLWRpc3BsYXk6IGdyaWQ7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYmFja2dyb3VuZC1jb2xvcik7XG4gIGJvcmRlcjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLWJsb2NrLXN0YXJ0LWNvbG9yOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC1jb2xvcik7XG4gIGJvcmRlci1ibG9jay1zdGFydC13aWR0aDogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtd2lkdGgpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXN0YXJ0LXN0YXJ0LXJhZGl1cylcbiAgICB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXN0YXJ0LWVuZC1yYWRpdXMpIHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtZW5kLWVuZC1yYWRpdXMpXG4gICAgdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1lbmQtc3RhcnQtcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbn1cblxuOmhvc3QoW3NpemU9J3MnXSkge1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtdGl0bGUtZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcC1zKTtcbn1cblxuOmhvc3QoW3NpemU9J2wnXSkge1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtdGl0bGUtZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcC1sKTtcbn1cblxuOmhvc3QoOm5vdChbc2l6ZV0pKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC10aXRsZS1nYXA6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtdGl0bGUtZ2FwLWRlZmF1bHQpO1xufVxuXG46aG9zdChbZGlzYWJsZWRdKSB7XG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWNvbG9yOiBHcmF5VGV4dDtcbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWJsb2NrLXN0YXJ0LWNvbG9yOiBHcmF5VGV4dDtcbiAgfVxufVxuXG46aG9zdChbZXhwYW5kZWRdKSB7XG4gIC0tX3NiYi1leHBhbnNpb24tcGFuZWwtZGlzcGxheS1leHBhbmRlZDogdmFyKC0tX3NiYi1leHBhbnNpb24tcGFuZWwtZGlzcGxheSk7XG59XG5cbjpob3N0KDpzdGF0ZShhY2NvcmRpb24pOnN0YXRlKGFjY29yZGlvbi1maXJzdCkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXJhZGl1cyk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1zdGFydC1zdGFydC1yYWRpdXM6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbjpob3N0KDpzdGF0ZShhY2NvcmRpb24pOm5vdCg6c3RhdGUoYWNjb3JkaW9uLWZpcnN0KSkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC13aWR0aDogMDtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1zdGFydC1lbmQtcmFkaXVzOiAwO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtc3RhcnQtc3RhcnQtcmFkaXVzOiAwO1xufVxuXG46aG9zdCg6c3RhdGUoYWNjb3JkaW9uKTpzdGF0ZShhY2NvcmRpb24tbGFzdCkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWVuZC1lbmQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtZW5kLXN0YXJ0LXJhZGl1czogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuOmhvc3QoOnN0YXRlKGFjY29yZGlvbik6bm90KDpzdGF0ZShhY2NvcmRpb24tbGFzdCkpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1lbmQtZW5kLXJhZGl1czogMDtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWVuZC1zdGFydC1yYWRpdXM6IDA7XG59XG5cbjpob3N0KFtjb2xvcj0nd2hpdGUnXSkge1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMSk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbn1cblxuOmhvc3QoW2NvbG9yPSdtaWxrJ10pIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYmFja2dyb3VuZC1jb2xvci1ob3ZlcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMSk7XG59XG5cbjpob3N0KFtib3JkZXJsZXNzXSkge1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXdpZHRoOiAwO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC13aWR0aDogMDtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItd2lkdGg6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpO1xuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXdpZHRoKTtcbiAgfVxufVxuXG46aG9zdChbYm9yZGVybGVzc106c3RhdGUoYWNjb3JkaW9uKTpub3QoOnN0YXRlKGFjY29yZGlvbi1maXJzdCkpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC13aWR0aDogMDtcbiAgfVxufVxuXG46aG9zdCg6bm90KFtkaXNhYmxlZF0pOnN0YXRlKHRvZ2dsZS1ob3ZlcikpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyKTtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1jb2xvcjogSGlnaGxpZ2h0O1xuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtY29sb3I6IEhpZ2hsaWdodDtcbiAgfVxufVxuXG4uc2JiLWV4cGFuc2lvbi1wYW5lbF9faGVhZGVyIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uc2JiLWV4cGFuc2lvbi1wYW5lbF9fY29udGVudC13cmFwcGVyIHtcbiAgZGlzcGxheTogdmFyKC0tX3NiYi1leHBhbnNpb24tcGFuZWwtZGlzcGxheS1leHBhbmRlZCwgbm9uZSk7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogI3skb3Blbi1hbmltLXJvd3MtZnJvbX07XG4gIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LWZyb219O1xuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1vcGVuZWQpKSAmIHtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6ICN7JG9wZW4tYW5pbS1yb3dzLXRvfTtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS10b307XG4gIH1cblxuICA6aG9zdCg6c3RhdGUoc3RhdGUtb3BlbmluZykpICYge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBvcGVuLCBvcGVuLW9wYWNpdHk7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHMsIHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkgJiB7XG4gICAgZGlzcGxheTogdmFyKC0tX3NiYi1leHBhbnNpb24tcGFuZWwtZGlzcGxheSk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBjbG9zZTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gIH1cbn1cblxuLnNiYi1leHBhbnNpb24tcGFuZWxfX2NvbnRlbnQge1xuICBtaW4taGVpZ2h0OiAwO1xufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6ICN7JG9wZW4tYW5pbS1yb3dzLWZyb219O1xuICB9XG5cbiAgdG8ge1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogI3skb3Blbi1hbmltLXJvd3MtdG99O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgb3Blbi1vcGFjaXR5IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktdG99O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2xvc2Uge1xuICBmcm9tIHtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6ICN7JG9wZW4tYW5pbS1yb3dzLXRvfTtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS10b307XG4gIH1cblxuICB0byB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAjeyRvcGVuLWFuaW0tcm93cy1mcm9tfTtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tfTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCwgdW5zYWZlU3RhdGljIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgaXNMZWFuLCBpc1plcm9BbmltYXRpb25EdXJhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiT3BlbmVkQ2xvc2VkU3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMudHMnO1xuaW1wb3J0IHsgybVzdGF0ZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlTGV2ZWwgfSBmcm9tICcuLi8uLi90aXRsZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkV4cGFuc2lvblBhbmVsQ29udGVudEVsZW1lbnQgfSBmcm9tICcuLi9leHBhbnNpb24tcGFuZWwtY29udGVudC9leHBhbnNpb24tcGFuZWwtY29udGVudC5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJFeHBhbnNpb25QYW5lbEhlYWRlckVsZW1lbnQgfSBmcm9tICcuLi9leHBhbnNpb24tcGFuZWwtaGVhZGVyL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZXhwYW5zaW9uLXBhbmVsLnNjc3M/aW5saW5lJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gZXhwYW5kYWJsZSBzdW1tYXJ5LWRldGFpbHMgd2lkZ2V0LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGEgYHNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyYCBhbmQgYSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50YCBlbGVtZW50LlxuICovXG5leHBvcnQgY2xhc3MgU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZXhwYW5zaW9uLXBhbmVsJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGJlZm9yZW9wZW46ICdiZWZvcmVvcGVuJyxcbiAgICBvcGVuOiAnb3BlbicsXG4gICAgYmVmb3JlY2xvc2U6ICdiZWZvcmVjbG9zZScsXG4gICAgY2xvc2U6ICdjbG9zZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIEhlYWRpbmcgbGV2ZWw7IGlmIHVuc2V0LCBhIGBkaXZgIHdpbGwgYmUgcmVuZGVyZWQuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RpdGxlLWxldmVsJyB9KSBwdWJsaWMgYWNjZXNzb3IgdGl0bGVMZXZlbDogU2JiVGl0bGVMZXZlbCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgcGFuZWwuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIGNvbG9yOiAnd2hpdGUnIHwgJ21pbGsnID0gJ3doaXRlJztcblxuICAvKiogV2hldGhlciB0aGUgcGFuZWwgaXMgZXhwYW5kZWQuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIHNldCBleHBhbmRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2V4cGFuZGVkID0gdmFsdWU7XG4gICAgdGhpcy5fb25FeHBhbmRlZENoYW5nZSgpO1xuICB9XG4gIHB1YmxpYyBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkO1xuICB9XG4gIHByaXZhdGUgX2V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHBhbmVsIGlzIGRpc2FibGVkLCBzbyBpdHMgZXhwYW5kZWQgc3RhdGUgY2FuJ3QgYmUgY2hhbmdlZC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB0aGlzLl91cGRhdGVEaXNhYmxlZE9uSGVhZGVyKHRoaXMuX2Rpc2FibGVkKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBwYW5lbCBoYXMgbm8gYm9yZGVyLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYm9yZGVybGVzczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBsIG9yIHMuXG4gICAqIEBkZWZhdWx0ICdsJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdsJyA9IGlzTGVhbigpID8gJ3MnIDogJ2wnO1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHJpdmF0ZSBzZXQgX3N0YXRlKHN0YXRlOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSkge1xuICAgIGlmICh0aGlzLl9zdGF0ZUludGVybmFsKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBzdGF0ZS0ke3RoaXMuX3N0YXRlSW50ZXJuYWx9YCk7XG4gICAgfVxuICAgIHRoaXMuX3N0YXRlSW50ZXJuYWwgPSBzdGF0ZTtcbiAgICBpZiAodGhpcy5fc3RhdGVJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgc3RhdGUtJHt0aGlzLl9zdGF0ZUludGVybmFsfWApO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldCBfc3RhdGUoKTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZUludGVybmFsO1xuICB9XG4gIHByaXZhdGUgX3N0YXRlSW50ZXJuYWwhOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZTtcblxuICBwcml2YXRlIF9wcm9ncmVzc2l2ZUlkID0gYC0keysrbmV4dElkfWA7XG4gIHByaXZhdGUgX2hlYWRlclJlZj86IFNiYkV4cGFuc2lvblBhbmVsSGVhZGVyRWxlbWVudDtcbiAgcHJpdmF0ZSBfY29udGVudFJlZj86IFNiYkV4cGFuc2lvblBhbmVsQ29udGVudEVsZW1lbnQ7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLl9zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCd0b2dnbGVleHBhbmRlZCcsIChldjogRXZlbnQpID0+IHtcbiAgICAgIGlmIChldi50YXJnZXQgPT09IHRoaXMuX2hlYWRlclJlZikge1xuICAgICAgICB0aGlzLl90b2dnbGVFeHBhbmRlZCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnYWNjb3JkaW9uJywgISF0aGlzLmNsb3Nlc3Q/Lignc2JiLWFjY29yZGlvbicpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ2FjY29yZGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdG9nZ2xlRXhwYW5kZWQoKTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25FeHBhbmRlZENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9oZWFkZXJSZWY/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIFN0cmluZyh0aGlzLmV4cGFuZGVkKSk7XG4gICAgdGhpcy5fY29udGVudFJlZj8uc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIFN0cmluZyghdGhpcy5leHBhbmRlZCkpO1xuXG4gICAgaWYgKHRoaXMuZXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuX29wZW4oKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3N0YXRlID09PSAnb3BlbmVkJykge1xuICAgICAgdGhpcy5fY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ29wZW5pbmcnO1xuICAgIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWxgIHN0YXJ0cyB0aGUgb3BlbmluZyB0cmFuc2l0aW9uLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JlZm9yZW9wZW4nKSk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAoIXRoaXMuaGFzVXBkYXRlZCB8fCB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbGAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3JlY2xvc2UnKSk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItZXhwYW5zaW9uLXBhbmVsLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWxgIGlzIG9wZW5lZC4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdvcGVuJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWxgIGlzIGNsb3NlZC4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjbG9zZScpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZURpc2FibGVkT25IZWFkZXIobmV3RGlzYWJsZWRWYWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLl9oZWFkZXJSZWYpIHtcbiAgICAgIHRoaXMuX2hlYWRlclJlZi5kaXNhYmxlZCA9IG5ld0Rpc2FibGVkVmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlU2xvdGNoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IEFycmF5LmZyb20odGhpcy5jaGlsZHJlbiA/PyBbXSk7XG4gICAgY29uc3QgaGVhZGVyID0gY2hpbGRyZW4uZmluZChcbiAgICAgIChlKTogZSBpcyBTYmJFeHBhbnNpb25QYW5lbEhlYWRlckVsZW1lbnQgPT4gZS5sb2NhbE5hbWUgPT09ICdzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcicsXG4gICAgKTtcbiAgICBjb25zdCBjb250ZW50ID0gY2hpbGRyZW4uZmluZChcbiAgICAgIChlKTogZSBpcyBTYmJFeHBhbnNpb25QYW5lbENvbnRlbnRFbGVtZW50ID0+IGUubG9jYWxOYW1lID09PSAnc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50JyxcbiAgICApO1xuICAgIGlmICh0aGlzLl9oZWFkZXJSZWYgPT09IGhlYWRlciAmJiB0aGlzLl9jb250ZW50UmVmID09PSBjb250ZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChoZWFkZXIgJiYgdGhpcy5faGVhZGVyUmVmICE9PSBoZWFkZXIpIHtcbiAgICAgIGhlYWRlci5pZCB8fD0gYHNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyJHt0aGlzLl9wcm9ncmVzc2l2ZUlkfWA7XG4gICAgICBoZWFkZXIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgU3RyaW5nKHRoaXMuZXhwYW5kZWQpKTtcbiAgICAgIGhlYWRlci50b2dnbGVBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdGhpcy5kaXNhYmxlZCk7XG4gICAgfVxuICAgIGlmIChjb250ZW50ICYmIHRoaXMuX2NvbnRlbnRSZWYgIT09IGNvbnRlbnQpIHtcbiAgICAgIGNvbnRlbnQuaWQgfHw9IGBzYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQke3RoaXMuX3Byb2dyZXNzaXZlSWR9YDtcbiAgICAgIGNvbnRlbnQuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIFN0cmluZyghdGhpcy5leHBhbmRlZCkpO1xuICAgIH1cblxuICAgIHRoaXMuX2hlYWRlclJlZiA9IGhlYWRlcjtcbiAgICB0aGlzLl9jb250ZW50UmVmID0gY29udGVudDtcbiAgICBpZiAodGhpcy5faGVhZGVyUmVmICYmIHRoaXMuX2NvbnRlbnRSZWYpIHtcbiAgICAgIHRoaXMuX2hlYWRlclJlZi5zZXRBdHRyaWJ1dGUoJ2FyaWEtY29udHJvbHMnLCB0aGlzLl9jb250ZW50UmVmLmlkKTtcbiAgICAgIHRoaXMuX2NvbnRlbnRSZWYuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknLCB0aGlzLl9oZWFkZXJSZWYuaWQpO1xuICAgICAgybVzdGF0ZUNvbnRyb2xsZXIodGhpcy5fY29udGVudFJlZikudG9nZ2xlKFxuICAgICAgICAnaWNvbi1zcGFjZScsXG4gICAgICAgIMm1c3RhdGVDb250cm9sbGVyKHRoaXMuX2hlYWRlclJlZikuaGFzKCdpY29uJyksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3Blbi1vcGFjaXR5JyAmJiB0aGlzLl9zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UnICYmIHRoaXMuX3N0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBUQUdOQU1FID0gdGhpcy50aXRsZUxldmVsID8gYGgke3RoaXMudGl0bGVMZXZlbH1gIDogJ2Rpdic7XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDwke3Vuc2FmZVN0YXRpYyhUQUdOQU1FKX0gY2xhc3M9XCJzYmItZXhwYW5zaW9uLXBhbmVsX19oZWFkZXJcIj5cbiAgICAgICAgPHNsb3QgbmFtZT1cImhlYWRlclwiIEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgPC8ke3Vuc2FmZVN0YXRpYyhUQUdOQU1FKX0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWV4cGFuc2lvbi1wYW5lbF9fY29udGVudC13cmFwcGVyXCIgQGFuaW1hdGlvbmVuZD0ke3RoaXMuX29uQW5pbWF0aW9uRW5kfT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZXhwYW5zaW9uLXBhbmVsX19jb250ZW50XCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cImNvbnRlbnRcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX2hhbmRsZVNsb3RjaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgICAvKiBlc2xpbnQtZW5hYmxlIGxpdC9iaW5kaW5nLXBvc2l0aW9ucyAqL1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZXhwYW5zaW9uLXBhbmVsJzogU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUNnQkEsSUFBSSxTQUFTOzs7Ozs7SUFPQSxrQ0FBd0I7bUJBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FBakMsaUNBQWlDLFlBQVU7Ozs2QkFXckQsU0FBUyxFQUFFLFdBQVcsZUFBZSxDQUFDLENBQUE7d0JBR3RDLFNBQVMsRUFBRSxTQUFTLE1BQU0sQ0FBQyxDQUFBOytCQUczQixTQUFTO0lBQUUsU0FBUztJQUFNLE1BQU07SUFBUyxDQUFDLENBQUE7K0JBVzFDLFNBQVM7SUFBRSxTQUFTO0lBQU0sTUFBTTtJQUFTLENBQUMsQ0FBQTs2QkFXMUMsV0FBVyxFQUNYLFNBQVM7SUFBRSxTQUFTO0lBQU0sTUFBTTtJQUFTLENBQUMsQ0FBQTt1QkFPMUMsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7QUFwQ1ksZ0JBQUEsTUFBQSxNQUFBLHdCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsZ0JBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBVSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVYsYUFBVTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDBCQUFBLDhCQUFBO0FBR3JDLGdCQUFBLE1B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
322
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudC1DVl9JdVdaQS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbi8vIE9wZW4vQ2xvc2UgYW5pbWF0aW9uIHZhcnNcbiRvcGVuLWFuaW0tcm93cy1mcm9tOiAwZnI7XG4kb3Blbi1hbmltLXJvd3MtdG86IDFmcjtcbiRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tOiAwO1xuJG9wZW4tYW5pbS1vcGFjaXR5LXRvOiAxO1xuXG46aG9zdCB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1zYmItYm9yZGVyLWNvbG9yLTQtaW52ZXJ0ZWQpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXdpZHRoOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC1jb2xvcjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItY29sb3IpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci13aWR0aCk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtZW5kLWVuZC1yYWRpdXM6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXJhZGl1cyk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuICAtLV9zYmItZXhwYW5zaW9uLXBhbmVsLWRpc3BsYXk6IGdyaWQ7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYmFja2dyb3VuZC1jb2xvcik7XG4gIGJvcmRlcjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLWJsb2NrLXN0YXJ0LWNvbG9yOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC1jb2xvcik7XG4gIGJvcmRlci1ibG9jay1zdGFydC13aWR0aDogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtd2lkdGgpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXN0YXJ0LXN0YXJ0LXJhZGl1cylcbiAgICB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXN0YXJ0LWVuZC1yYWRpdXMpIHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtZW5kLWVuZC1yYWRpdXMpXG4gICAgdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1lbmQtc3RhcnQtcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbn1cblxuOmhvc3QoW3NpemU9J3MnXSkge1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtdGl0bGUtZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcC1zKTtcbn1cblxuOmhvc3QoW3NpemU9J2wnXSkge1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtdGl0bGUtZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcC1sKTtcbn1cblxuOmhvc3QoOm5vdChbc2l6ZV0pKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC10aXRsZS1nYXA6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtdGl0bGUtZ2FwLWRlZmF1bHQpO1xufVxuXG46aG9zdChbZGlzYWJsZWRdKSB7XG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWNvbG9yOiBHcmF5VGV4dDtcbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWJsb2NrLXN0YXJ0LWNvbG9yOiBHcmF5VGV4dDtcbiAgfVxufVxuXG46aG9zdChbZXhwYW5kZWRdKSB7XG4gIC0tX3NiYi1leHBhbnNpb24tcGFuZWwtZGlzcGxheS1leHBhbmRlZDogdmFyKC0tX3NiYi1leHBhbnNpb24tcGFuZWwtZGlzcGxheSk7XG59XG5cbjpob3N0KDpzdGF0ZShhY2NvcmRpb24pOnN0YXRlKGFjY29yZGlvbi1maXJzdCkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXJhZGl1cyk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1zdGFydC1zdGFydC1yYWRpdXM6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbjpob3N0KDpzdGF0ZShhY2NvcmRpb24pOm5vdCg6c3RhdGUoYWNjb3JkaW9uLWZpcnN0KSkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC13aWR0aDogMDtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1zdGFydC1lbmQtcmFkaXVzOiAwO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtc3RhcnQtc3RhcnQtcmFkaXVzOiAwO1xufVxuXG46aG9zdCg6c3RhdGUoYWNjb3JkaW9uKTpzdGF0ZShhY2NvcmRpb24tbGFzdCkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWVuZC1lbmQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtZW5kLXN0YXJ0LXJhZGl1czogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuOmhvc3QoOnN0YXRlKGFjY29yZGlvbik6bm90KDpzdGF0ZShhY2NvcmRpb24tbGFzdCkpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1lbmQtZW5kLXJhZGl1czogMDtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWVuZC1zdGFydC1yYWRpdXM6IDA7XG59XG5cbjpob3N0KFtjb2xvcj0nd2hpdGUnXSkge1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMSk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbn1cblxuOmhvc3QoW2NvbG9yPSdtaWxrJ10pIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYmFja2dyb3VuZC1jb2xvci1ob3ZlcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMSk7XG59XG5cbjpob3N0KFtib3JkZXJsZXNzXSkge1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXdpZHRoOiAwO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC13aWR0aDogMDtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItd2lkdGg6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpO1xuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXdpZHRoKTtcbiAgfVxufVxuXG46aG9zdChbYm9yZGVybGVzc106c3RhdGUoYWNjb3JkaW9uKTpub3QoOnN0YXRlKGFjY29yZGlvbi1maXJzdCkpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC13aWR0aDogMDtcbiAgfVxufVxuXG46aG9zdCg6bm90KFtkaXNhYmxlZF0pOnN0YXRlKHRvZ2dsZS1ob3ZlcikpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyKTtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1jb2xvcjogSGlnaGxpZ2h0O1xuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtY29sb3I6IEhpZ2hsaWdodDtcbiAgfVxufVxuXG4uc2JiLWV4cGFuc2lvbi1wYW5lbF9faGVhZGVyIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uc2JiLWV4cGFuc2lvbi1wYW5lbF9fY29udGVudC13cmFwcGVyIHtcbiAgZGlzcGxheTogdmFyKC0tX3NiYi1leHBhbnNpb24tcGFuZWwtZGlzcGxheS1leHBhbmRlZCwgbm9uZSk7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogI3skb3Blbi1hbmltLXJvd3MtZnJvbX07XG4gIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LWZyb219O1xuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1vcGVuZWQpKSAmIHtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6ICN7JG9wZW4tYW5pbS1yb3dzLXRvfTtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS10b307XG4gIH1cblxuICA6aG9zdCg6c3RhdGUoc3RhdGUtb3BlbmluZykpICYge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBvcGVuLCBvcGVuLW9wYWNpdHk7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHMsIHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkgJiB7XG4gICAgZGlzcGxheTogdmFyKC0tX3NiYi1leHBhbnNpb24tcGFuZWwtZGlzcGxheSk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBjbG9zZTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gIH1cbn1cblxuLnNiYi1leHBhbnNpb24tcGFuZWxfX2NvbnRlbnQge1xuICAvLyBFbmFibGVzIG92ZXJmbG93IGZvciBjb250ZW50XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAjeyRvcGVuLWFuaW0tcm93cy1mcm9tfTtcbiAgfVxuXG4gIHRvIHtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6ICN7JG9wZW4tYW5pbS1yb3dzLXRvfTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9wZW4tb3BhY2l0eSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LWZyb219O1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LXRvfTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAjeyRvcGVuLWFuaW0tcm93cy10b307XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktdG99O1xuICB9XG5cbiAgdG8ge1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogI3skb3Blbi1hbmltLXJvd3MtZnJvbX07XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gIH1cbn1cbiIsImltcG9ydCB7IHVuc2FmZUNTUywgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGh0bWwsIHVuc2FmZVN0YXRpYyB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzTGVhbiwgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wZW5lZENsb3NlZFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLnRzJztcbmltcG9ydCB7IMm1c3RhdGVDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUxldmVsIH0gZnJvbSAnLi4vLi4vdGl0bGUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJFeHBhbnNpb25QYW5lbENvbnRlbnRFbGVtZW50IH0gZnJvbSAnLi4vZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQvZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQuY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiRXhwYW5zaW9uUGFuZWxIZWFkZXJFbGVtZW50IH0gZnJvbSAnLi4vZXhwYW5zaW9uLXBhbmVsLWhlYWRlci9leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2V4cGFuc2lvbi1wYW5lbC5zY3NzP2lubGluZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGV4cGFuZGFibGUgc3VtbWFyeS1kZXRhaWxzIHdpZGdldC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBhIGBzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcmAgYW5kIGEgYHNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudGAgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWV4cGFuc2lvbi1wYW5lbCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBiZWZvcmVvcGVuOiAnYmVmb3Jlb3BlbicsXG4gICAgb3BlbjogJ29wZW4nLFxuICAgIGJlZm9yZWNsb3NlOiAnYmVmb3JlY2xvc2UnLFxuICAgIGNsb3NlOiAnY2xvc2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBIZWFkaW5nIGxldmVsOyBpZiB1bnNldCwgYSBgZGl2YCB3aWxsIGJlIHJlbmRlcmVkLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0aXRsZS1sZXZlbCcgfSkgcHVibGljIGFjY2Vzc29yIHRpdGxlTGV2ZWw6IFNiYlRpdGxlTGV2ZWwgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHBhbmVsLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBjb2xvcjogJ3doaXRlJyB8ICdtaWxrJyA9ICd3aGl0ZSc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHBhbmVsIGlzIGV4cGFuZGVkLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBzZXQgZXhwYW5kZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9leHBhbmRlZCA9IHZhbHVlO1xuICAgIHRoaXMuX29uRXhwYW5kZWRDaGFuZ2UoKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGV4cGFuZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9leHBhbmRlZDtcbiAgfVxuICBwcml2YXRlIF9leHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBwYW5lbCBpcyBkaXNhYmxlZCwgc28gaXRzIGV4cGFuZGVkIHN0YXRlIGNhbid0IGJlIGNoYW5nZWQuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgdGhpcy5fdXBkYXRlRGlzYWJsZWRPbkhlYWRlcih0aGlzLl9kaXNhYmxlZCk7XG4gIH1cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgcGFuZWwgaGFzIG5vIGJvcmRlci4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGJvcmRlcmxlc3M6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgbCBvciBzLlxuICAgKiBAZGVmYXVsdCAnbCcgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbCcgPSBpc0xlYW4oKSA/ICdzJyA6ICdsJztcblxuICAvKiogVGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuICovXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUpIHtcbiAgICBpZiAodGhpcy5fc3RhdGVJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc3RhdGUtJHt0aGlzLl9zdGF0ZUludGVybmFsfWApO1xuICAgIH1cbiAgICB0aGlzLl9zdGF0ZUludGVybmFsID0gc3RhdGU7XG4gICAgaWYgKHRoaXMuX3N0YXRlSW50ZXJuYWwpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHN0YXRlLSR7dGhpcy5fc3RhdGVJbnRlcm5hbH1gKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXQgX3N0YXRlKCk6IFNiYk9wZW5lZENsb3NlZFN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGVJbnRlcm5hbDtcbiAgfVxuICBwcml2YXRlIF9zdGF0ZUludGVybmFsITogU2JiT3BlbmVkQ2xvc2VkU3RhdGU7XG5cbiAgcHJpdmF0ZSBfcHJvZ3Jlc3NpdmVJZCA9IGAtJHsrK25leHRJZH1gO1xuICBwcml2YXRlIF9oZWFkZXJSZWY/OiBTYmJFeHBhbnNpb25QYW5lbEhlYWRlckVsZW1lbnQ7XG4gIHByaXZhdGUgX2NvbnRlbnRSZWY/OiBTYmJFeHBhbnNpb25QYW5lbENvbnRlbnRFbGVtZW50O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigndG9nZ2xlZXhwYW5kZWQnLCAoZXY6IEV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXYudGFyZ2V0ID09PSB0aGlzLl9oZWFkZXJSZWYpIHtcbiAgICAgICAgdGhpcy5fdG9nZ2xlRXhwYW5kZWQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2FjY29yZGlvbicsICEhdGhpcy5jbG9zZXN0Py4oJ3NiYi1hY2NvcmRpb24nKSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdhY2NvcmRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX3RvZ2dsZUV4cGFuZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgfVxuXG4gIHByaXZhdGUgX29uRXhwYW5kZWRDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5faGVhZGVyUmVmPy5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBTdHJpbmcodGhpcy5leHBhbmRlZCkpO1xuICAgIHRoaXMuX2NvbnRlbnRSZWY/LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCBTdHJpbmcoIXRoaXMuZXhwYW5kZWQpKTtcblxuICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICB0aGlzLl9vcGVuKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5lZCcpIHtcbiAgICAgIHRoaXMuX2Nsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdiZWZvcmVvcGVuJykpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgaWYgKCF0aGlzLmhhc1VwZGF0ZWQgfHwgdGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWxgIGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JlZm9yZWNsb3NlJykpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLWV4cGFuc2lvbi1wYW5lbC1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnb3BlbmVkJztcbiAgICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBpcyBvcGVuZWQuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnb3BlbicpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBpcyBjbG9zZWQuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2xvc2UnKSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVEaXNhYmxlZE9uSGVhZGVyKG5ld0Rpc2FibGVkVmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faGVhZGVyUmVmKSB7XG4gICAgICB0aGlzLl9oZWFkZXJSZWYuZGlzYWJsZWQgPSBuZXdEaXNhYmxlZFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4gPz8gW10pO1xuICAgIGNvbnN0IGhlYWRlciA9IGNoaWxkcmVuLmZpbmQoXG4gICAgICAoZSk6IGUgaXMgU2JiRXhwYW5zaW9uUGFuZWxIZWFkZXJFbGVtZW50ID0+IGUubG9jYWxOYW1lID09PSAnc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXInLFxuICAgICk7XG4gICAgY29uc3QgY29udGVudCA9IGNoaWxkcmVuLmZpbmQoXG4gICAgICAoZSk6IGUgaXMgU2JiRXhwYW5zaW9uUGFuZWxDb250ZW50RWxlbWVudCA9PiBlLmxvY2FsTmFtZSA9PT0gJ3NiYi1leHBhbnNpb24tcGFuZWwtY29udGVudCcsXG4gICAgKTtcbiAgICBpZiAodGhpcy5faGVhZGVyUmVmID09PSBoZWFkZXIgJiYgdGhpcy5fY29udGVudFJlZiA9PT0gY29udGVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoaGVhZGVyICYmIHRoaXMuX2hlYWRlclJlZiAhPT0gaGVhZGVyKSB7XG4gICAgICBoZWFkZXIuaWQgfHw9IGBzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlciR7dGhpcy5fcHJvZ3Jlc3NpdmVJZH1gO1xuICAgICAgaGVhZGVyLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIFN0cmluZyh0aGlzLmV4cGFuZGVkKSk7XG4gICAgICBoZWFkZXIudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpO1xuICAgIH1cbiAgICBpZiAoY29udGVudCAmJiB0aGlzLl9jb250ZW50UmVmICE9PSBjb250ZW50KSB7XG4gICAgICBjb250ZW50LmlkIHx8PSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50JHt0aGlzLl9wcm9ncmVzc2l2ZUlkfWA7XG4gICAgICBjb250ZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCBTdHJpbmcoIXRoaXMuZXhwYW5kZWQpKTtcbiAgICB9XG5cbiAgICB0aGlzLl9oZWFkZXJSZWYgPSBoZWFkZXI7XG4gICAgdGhpcy5fY29udGVudFJlZiA9IGNvbnRlbnQ7XG4gICAgaWYgKHRoaXMuX2hlYWRlclJlZiAmJiB0aGlzLl9jb250ZW50UmVmKSB7XG4gICAgICB0aGlzLl9oZWFkZXJSZWYuc2V0QXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJywgdGhpcy5fY29udGVudFJlZi5pZCk7XG4gICAgICB0aGlzLl9jb250ZW50UmVmLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5JywgdGhpcy5faGVhZGVyUmVmLmlkKTtcbiAgICAgIMm1c3RhdGVDb250cm9sbGVyKHRoaXMuX2NvbnRlbnRSZWYpLnRvZ2dsZShcbiAgICAgICAgJ2ljb24tc3BhY2UnLFxuICAgICAgICDJtXN0YXRlQ29udHJvbGxlcih0aGlzLl9oZWFkZXJSZWYpLmhhcygnaWNvbicpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4tb3BhY2l0eScgJiYgdGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVEFHTkFNRSA9IHRoaXMudGl0bGVMZXZlbCA/IGBoJHt0aGlzLnRpdGxlTGV2ZWx9YCA6ICdkaXYnO1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgbGl0L2JpbmRpbmctcG9zaXRpb25zICovXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8JHt1bnNhZmVTdGF0aWMoVEFHTkFNRSl9IGNsYXNzPVwic2JiLWV4cGFuc2lvbi1wYW5lbF9faGVhZGVyXCI+XG4gICAgICAgIDxzbG90IG5hbWU9XCJoZWFkZXJcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX2hhbmRsZVNsb3RjaGFuZ2V9Pjwvc2xvdD5cbiAgICAgIDwvJHt1bnNhZmVTdGF0aWMoVEFHTkFNRSl9PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWxfX2NvbnRlbnQtd3JhcHBlclwiIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbkFuaW1hdGlvbkVuZH0+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWV4cGFuc2lvbi1wYW5lbF9fY29udGVudFwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJjb250ZW50XCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gICAgLyogZXNsaW50LWVuYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWV4cGFuc2lvbi1wYW5lbCc6IFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FDZ0JBLElBQUksU0FBUzs7Ozs7O0lBT0Esa0NBQXdCO21CQUFTOzs7Ozs7Ozs7Ozs7Ozs7O2NBQWpDLGlDQUFpQyxZQUFVOzs7NkJBV3JELFNBQVMsRUFBRSxXQUFXLGVBQWUsQ0FBQyxDQUFBO3dCQUd0QyxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTsrQkFHM0IsU0FBUztJQUFFLFNBQVM7SUFBTSxNQUFNO0lBQVMsQ0FBQyxDQUFBOytCQVcxQyxTQUFTO0lBQUUsU0FBUztJQUFNLE1BQU07SUFBUyxDQUFDLENBQUE7NkJBVzFDLFdBQVcsRUFDWCxTQUFTO0lBQUUsU0FBUztJQUFNLE1BQU07SUFBUyxDQUFDLENBQUE7dUJBTzFDLFNBQVMsRUFBRSxTQUFTLE1BQU0sQ0FBQyxDQUFBO0FBcENZLGdCQUFBLE1BQUEsTUFBQSx3QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGdCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVUsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFWLGFBQVU7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
@@ -1,6 +1,6 @@
1
1
  import { t as SbbExpansionPanelContentElement } from "./expansion-panel-content.component-XIsKm8JD.js";
2
2
  import { t as SbbExpansionPanelHeaderElement } from "./expansion-panel-header.component-Bw4uROTe.js";
3
- import { t as SbbExpansionPanelElement } from "./expansion-panel.component-PDUmZe7w.js";
3
+ import { t as SbbExpansionPanelElement } from "./expansion-panel.component-CV_IuWZA.js";
4
4
  import "./expansion-panel.pure.js";
5
5
  //#region src/elements/expansion-panel.ts
6
6
  /** @entrypoint */
@@ -1,4 +1,4 @@
1
1
  import { t as SbbExpansionPanelContentElement } from "./expansion-panel-content.component-XIsKm8JD.js";
2
2
  import { t as SbbExpansionPanelHeaderElement } from "./expansion-panel-header.component-Bw4uROTe.js";
3
- import { t as SbbExpansionPanelElement } from "./expansion-panel.component-PDUmZe7w.js";
3
+ import { t as SbbExpansionPanelElement } from "./expansion-panel.component-CV_IuWZA.js";
4
4
  export { SbbExpansionPanelContentElement, SbbExpansionPanelElement, SbbExpansionPanelHeaderElement };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../expansion-panel.component-BJCjwcoj.js";
1
+ import { t as e } from "../../expansion-panel.component-DBnZ6IgB.js";
2
2
  export { e as SbbExpansionPanelElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../expansion-panel.component-BJCjwcoj.js";
1
+ import { t as e } from "../expansion-panel.component-DBnZ6IgB.js";
2
2
  e.define(), console.warn("The entrypoint '@sbb-esta/elements/expansion-panel/expansion-panel.js' has been deprecated.\nUse either '@sbb-esta/elements/expansion-panel.js' or '@sbb-esta/elements/expansion-panel.pure.js' instead.");
3
3
  //#endregion
4
4
  export { e as SbbExpansionPanelElement };
@@ -8,7 +8,7 @@ import { ɵstateController as c } from "./core/mixins.js";
8
8
  import { boxSizingStyles as l } from "./core/styles.js";
9
9
  import { html as u, unsafeStatic as d } from "lit/static-html.js";
10
10
  //#region src/elements/expansion-panel/expansion-panel/expansion-panel.scss?inline
11
- var f = ":host{--sbb-expansion-panel-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-expansion-panel-border-color: var(--sbb-border-color-4-inverted);--sbb-expansion-panel-border-width: var(--sbb-border-width-1x);--sbb-expansion-panel-border-block-start-color: var(--sbb-expansion-panel-border-color);--sbb-expansion-panel-border-block-start-width: var(--sbb-expansion-panel-border-width);--sbb-expansion-panel-start-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-start-start-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-end-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-end-start-radius: var(--sbb-expansion-panel-border-radius);--_sbb-expansion-panel-display: grid;display:block;background-color:var(--sbb-expansion-panel-background-color);border:var(--sbb-expansion-panel-border-width) solid var(--sbb-expansion-panel-border-color);border-block-start-color:var(--sbb-expansion-panel-border-block-start-color);border-block-start-width:var(--sbb-expansion-panel-border-block-start-width);border-radius:var(--sbb-expansion-panel-start-start-radius) var(--sbb-expansion-panel-start-end-radius) var(--sbb-expansion-panel-end-end-radius) var(--sbb-expansion-panel-end-start-radius);background-clip:padding-box}:host([size=s]){--sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-s)}:host([size=l]){--sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-l)}:host(:not([size])){--sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-default)}@media(forced-colors:active){:host([disabled]){--sbb-expansion-panel-border-color: GrayText;--sbb-expansion-panel-border-block-start-color: GrayText}}:host([expanded]){--_sbb-expansion-panel-display-expanded: var(--_sbb-expansion-panel-display)}:host(:is(:state(accordion),[state--accordion]):is(:state(accordion-first),[state--accordion-first])){--sbb-expansion-panel-start-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-start-start-radius: var(--sbb-expansion-panel-border-radius)}:host(:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))){--sbb-expansion-panel-border-block-start-width: 0;--sbb-expansion-panel-border-block-start-color: transparent;--sbb-expansion-panel-start-end-radius: 0;--sbb-expansion-panel-start-start-radius: 0}:host(:is(:state(accordion),[state--accordion]):is(:state(accordion-last),[state--accordion-last])){--sbb-expansion-panel-end-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-end-start-radius: var(--sbb-expansion-panel-border-radius)}:host(:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-last),[state--accordion-last]))){--sbb-expansion-panel-end-end-radius: 0;--sbb-expansion-panel-end-start-radius: 0}:host([color=white]){--sbb-expansion-panel-background-color: var(--sbb-background-color-1);--sbb-expansion-panel-background-color-hover: var(--sbb-background-color-3)}:host([color=milk]){--sbb-expansion-panel-background-color: var(--sbb-background-color-3);--sbb-expansion-panel-background-color-hover: var(--sbb-background-color-1)}:host([borderless]){--sbb-expansion-panel-border-width: 0;--sbb-expansion-panel-border-color: transparent;--sbb-expansion-panel-border-block-start-width: 0;--sbb-expansion-panel-border-block-start-color: transparent}@media(forced-colors:active){:host([borderless]){--sbb-expansion-panel-border-width: var(--sbb-border-width-1x);--sbb-expansion-panel-border-block-start-width: var(--sbb-expansion-panel-border-width)}}:host([borderless]:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))){--sbb-expansion-panel-border-block-start-width: var(--sbb-spacing-fixed-1x)}@media(forced-colors:active){:host([borderless]:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))){--sbb-expansion-panel-border-block-start-width: 0}}:host(:not([disabled]):is(:state(toggle-hover),[state--toggle-hover])){background-color:var(--sbb-expansion-panel-background-color-hover)}@media(forced-colors:active){:host(:not([disabled]):is(:state(toggle-hover),[state--toggle-hover])){--sbb-expansion-panel-border-color: Highlight;--sbb-expansion-panel-border-block-start-color: Highlight}}.sbb-expansion-panel__header{margin:0}.sbb-expansion-panel__content-wrapper{display:var(--_sbb-expansion-panel-display-expanded, none);grid-template-rows:0fr;opacity:0}:host(:is(:state(state-opened),[state--state-opened])) .sbb-expansion-panel__content-wrapper{grid-template-rows:1fr;opacity:1}:host(:is(:state(state-opening),[state--state-opening])) .sbb-expansion-panel__content-wrapper{animation-name:open,open-opacity;animation-fill-mode:forwards;animation-duration:var(--sbb-expansion-panel-animation-duration);animation-timing-function:var(--sbb-animation-easing);animation-delay:0s,var(--sbb-expansion-panel-animation-duration)}:host(:is(:state(state-closing),[state--state-closing])) .sbb-expansion-panel__content-wrapper{display:var(--_sbb-expansion-panel-display);visibility:hidden;animation-name:close;animation-duration:var(--sbb-expansion-panel-animation-duration);animation-timing-function:var(--sbb-animation-easing)}.sbb-expansion-panel__content{min-height:0}@keyframes open{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}@keyframes open-opacity{0%{opacity:0}to{opacity:1}}@keyframes close{0%{grid-template-rows:1fr;opacity:1}to{grid-template-rows:0fr;opacity:0}}", p = 0, m = (() => {
11
+ var f = ":host{--sbb-expansion-panel-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-expansion-panel-border-color: var(--sbb-border-color-4-inverted);--sbb-expansion-panel-border-width: var(--sbb-border-width-1x);--sbb-expansion-panel-border-block-start-color: var(--sbb-expansion-panel-border-color);--sbb-expansion-panel-border-block-start-width: var(--sbb-expansion-panel-border-width);--sbb-expansion-panel-start-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-start-start-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-end-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-end-start-radius: var(--sbb-expansion-panel-border-radius);--_sbb-expansion-panel-display: grid;display:block;background-color:var(--sbb-expansion-panel-background-color);border:var(--sbb-expansion-panel-border-width) solid var(--sbb-expansion-panel-border-color);border-block-start-color:var(--sbb-expansion-panel-border-block-start-color);border-block-start-width:var(--sbb-expansion-panel-border-block-start-width);border-radius:var(--sbb-expansion-panel-start-start-radius) var(--sbb-expansion-panel-start-end-radius) var(--sbb-expansion-panel-end-end-radius) var(--sbb-expansion-panel-end-start-radius);background-clip:padding-box}:host([size=s]){--sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-s)}:host([size=l]){--sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-l)}:host(:not([size])){--sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-default)}@media(forced-colors:active){:host([disabled]){--sbb-expansion-panel-border-color: GrayText;--sbb-expansion-panel-border-block-start-color: GrayText}}:host([expanded]){--_sbb-expansion-panel-display-expanded: var(--_sbb-expansion-panel-display)}:host(:is(:state(accordion),[state--accordion]):is(:state(accordion-first),[state--accordion-first])){--sbb-expansion-panel-start-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-start-start-radius: var(--sbb-expansion-panel-border-radius)}:host(:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))){--sbb-expansion-panel-border-block-start-width: 0;--sbb-expansion-panel-border-block-start-color: transparent;--sbb-expansion-panel-start-end-radius: 0;--sbb-expansion-panel-start-start-radius: 0}:host(:is(:state(accordion),[state--accordion]):is(:state(accordion-last),[state--accordion-last])){--sbb-expansion-panel-end-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-end-start-radius: var(--sbb-expansion-panel-border-radius)}:host(:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-last),[state--accordion-last]))){--sbb-expansion-panel-end-end-radius: 0;--sbb-expansion-panel-end-start-radius: 0}:host([color=white]){--sbb-expansion-panel-background-color: var(--sbb-background-color-1);--sbb-expansion-panel-background-color-hover: var(--sbb-background-color-3)}:host([color=milk]){--sbb-expansion-panel-background-color: var(--sbb-background-color-3);--sbb-expansion-panel-background-color-hover: var(--sbb-background-color-1)}:host([borderless]){--sbb-expansion-panel-border-width: 0;--sbb-expansion-panel-border-color: transparent;--sbb-expansion-panel-border-block-start-width: 0;--sbb-expansion-panel-border-block-start-color: transparent}@media(forced-colors:active){:host([borderless]){--sbb-expansion-panel-border-width: var(--sbb-border-width-1x);--sbb-expansion-panel-border-block-start-width: var(--sbb-expansion-panel-border-width)}}:host([borderless]:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))){--sbb-expansion-panel-border-block-start-width: var(--sbb-spacing-fixed-1x)}@media(forced-colors:active){:host([borderless]:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))){--sbb-expansion-panel-border-block-start-width: 0}}:host(:not([disabled]):is(:state(toggle-hover),[state--toggle-hover])){background-color:var(--sbb-expansion-panel-background-color-hover)}@media(forced-colors:active){:host(:not([disabled]):is(:state(toggle-hover),[state--toggle-hover])){--sbb-expansion-panel-border-color: Highlight;--sbb-expansion-panel-border-block-start-color: Highlight}}.sbb-expansion-panel__header{margin:0}.sbb-expansion-panel__content-wrapper{display:var(--_sbb-expansion-panel-display-expanded, none);grid-template-rows:0fr;opacity:0}:host(:is(:state(state-opened),[state--state-opened])) .sbb-expansion-panel__content-wrapper{grid-template-rows:1fr;opacity:1}:host(:is(:state(state-opening),[state--state-opening])) .sbb-expansion-panel__content-wrapper{animation-name:open,open-opacity;animation-fill-mode:forwards;animation-duration:var(--sbb-expansion-panel-animation-duration);animation-timing-function:var(--sbb-animation-easing);animation-delay:0s,var(--sbb-expansion-panel-animation-duration)}:host(:is(:state(state-closing),[state--state-closing])) .sbb-expansion-panel__content-wrapper{display:var(--_sbb-expansion-panel-display);visibility:hidden;animation-name:close;animation-duration:var(--sbb-expansion-panel-animation-duration);animation-timing-function:var(--sbb-animation-easing)}.sbb-expansion-panel__content{min-height:0;min-width:0}@keyframes open{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}@keyframes open-opacity{0%{opacity:0}to{opacity:1}}@keyframes close{0%{grid-template-rows:1fr;opacity:1}to{grid-template-rows:0fr;opacity:0}}", p = 0, m = (() => {
12
12
  let m = i, h = [], g, _ = [], v = [], y, b = [], x = [], S, C, w, T = [], E = [], D, O = [], k = [];
13
13
  return class extends m {
14
14
  static {
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./expansion-panel-content.component--OJYAiBh.js";
2
2
  import { t } from "./expansion-panel-header.component-B_dQ3ZWT.js";
3
- import { t as n } from "./expansion-panel.component-BJCjwcoj.js";
3
+ import { t as n } from "./expansion-panel.component-DBnZ6IgB.js";
4
4
  import "./expansion-panel.pure.js";
5
5
  n.define(), e.define(), t.define();
6
6
  //#endregion
@@ -1,4 +1,4 @@
1
1
  import { t as e } from "./expansion-panel-content.component--OJYAiBh.js";
2
2
  import { t } from "./expansion-panel-header.component-B_dQ3ZWT.js";
3
- import { t as n } from "./expansion-panel.component-BJCjwcoj.js";
3
+ import { t as n } from "./expansion-panel.component-DBnZ6IgB.js";
4
4
  export { e as SbbExpansionPanelContentElement, n as SbbExpansionPanelElement, t as SbbExpansionPanelHeaderElement };
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@sbb-esta/lyne-elements-dev",
3
- "version": "4.10.0-dev.1775568540",
3
+ "version": "4.10.0-dev.1775571383",
4
4
  "description": "Lyne Design System",
5
5
  "keywords": [
6
6
  "design system",
7
7
  "web components",
8
8
  "lit",
9
- "https://github.com/sbb-design-systems/lyne-components/commit/9ddedab4ae0888b27a66c7cbb4fbacb1c9e8104d"
9
+ "https://github.com/sbb-design-systems/lyne-components/commit/a7ae6c9f6f16717f43b6dfc9f36086457b29b26f"
10
10
  ],
11
11
  "type": "module",
12
12
  "exports": {
@@ -1,195 +0,0 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { html, nothing, unsafeCSS } from "lit";
3
- import { state } from "lit/decorators.js";
4
- import { SbbElement } from "./core/base-elements.js";
5
- import { SbbNamedSlotListMixin } from "./core/mixins.js";
6
- import { boxSizingStyles } from "./core/styles.js";
7
- import { SbbLanguageController } from "./core/controllers.js";
8
- import { i18nBreadcrumbEllipsisButtonLabel } from "./core/i18n.js";
9
- import "./icon.js";
10
- import { ResizeController } from "@lit-labs/observers/resize-controller.js";
11
- import { getNextElementIndex, isArrowKeyPressed, sbbInputModalityDetector } from "./core/a11y.js";
12
- //#region src/elements/breadcrumb/breadcrumb-group/breadcrumb-group.scss?inline
13
- var breadcrumb_group_default = ":host {\n display: block;\n min-width: 0;\n}\n\n:host(:is(:state(loaded),[state--loaded])) {\n --sbb-breadcrumb-group-visibility: visible;\n}\n\n:host(:is(:is(:state(state-collapsed),[state--state-collapsed]), :is(:state(state-manually-expanded),[state--state-manually-expanded]))) {\n --sbb-breadcrumb-group-wrap: wrap;\n}\n\n.sbb-breadcrumb-group {\n list-style: none;\n margin: 0;\n padding: 0;\n font-size: inherit;\n display: flex;\n flex-wrap: var(--sbb-breadcrumb-group-wrap);\n column-gap: var(--sbb-spacing-fixed-1x);\n visibility: var(--sbb-breadcrumb-group-visibility);\n}\n\n.sbb-breadcrumb-group__item {\n flex: 0 0 auto;\n display: flex;\n column-gap: var(--sbb-spacing-fixed-1x);\n}\n\n.sbb-breadcrumb-group__divider-icon {\n color: var(--sbb-breadcrumb-group-ellipsis-color);\n}\n\n#sbb-breadcrumb-ellipsis {\n appearance: none;\n box-sizing: border-box;\n margin: 0;\n outline: none;\n border: none;\n border-radius: 0;\n padding: 0;\n background: none;\n -webkit-tap-highlight-color: transparent;\n color: inherit;\n --sbb-text-font-size: var(--sbb-text-font-size-xxs);\n font-family: var(--sbb-typo-font-family);\n font-weight: normal;\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size);\n line-height: 0;\n letter-spacing: 0.01em;\n font-size: var(--sbb-text-font-size-xxs);\n width: var(--sbb-size-icon-ui-small);\n height: var(--sbb-size-icon-ui-small);\n border: var(--sbb-breadcrumb-group-ellipsis-border-width) solid var(--sbb-breadcrumb-group-ellipsis-border-color);\n border-radius: 50%;\n padding-block-end: 0.5em;\n cursor: var(--sbb-cursor-pointer);\n color: var(--sbb-breadcrumb-group-ellipsis-color);\n background-color: var(--sbb-breadcrumb-group-ellipsis-background-color);\n overflow: hidden;\n}\n@media (forced-colors: active) {\n #sbb-breadcrumb-ellipsis {\n --sbb-breadcrumb-group-ellipsis-border-width: var(--sbb-border-width-2x);\n --sbb-breadcrumb-group-ellipsis-border-color: CanvasText;\n }\n}\n@media (any-hover: hover) {\n #sbb-breadcrumb-ellipsis:hover {\n --sbb-breadcrumb-group-ellipsis-color: var(--sbb-color-2);\n --sbb-breadcrumb-group-ellipsis-background-color: var(--sbb-background-color-3);\n }\n}\n@media (any-hover: hover) and (forced-colors: active) {\n #sbb-breadcrumb-ellipsis:hover {\n --sbb-breadcrumb-group-ellipsis-border-color: Highlight;\n }\n}\n#sbb-breadcrumb-ellipsis:focus-visible {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n}";
14
- //#endregion
15
- //#region src/elements/breadcrumb/breadcrumb-group/breadcrumb-group.component.ts
16
- var MIN_BREADCRUMBS_TO_COLLAPSE = 3;
17
- /**
18
- * It can be used as a container for one or more `sbb-breadcrumb` component.
19
- *
20
- * @slot - Use the unnamed slot to add `sbb-breadcrumb` elements.
21
- */
22
- var SbbBreadcrumbGroupElement = (() => {
23
- let _classSuper = SbbNamedSlotListMixin(SbbElement);
24
- let _instanceExtraInitializers = [];
25
- let _set__state_decorators;
26
- return class SbbBreadcrumbGroupElement extends _classSuper {
27
- static {
28
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
29
- _set__state_decorators = [state()];
30
- __esDecorate(this, null, _set__state_decorators, {
31
- kind: "setter",
32
- name: "_state",
33
- static: false,
34
- private: false,
35
- access: {
36
- has: (obj) => "_state" in obj,
37
- set: (obj, value) => {
38
- obj._state = value;
39
- }
40
- },
41
- metadata: _metadata
42
- }, null, _instanceExtraInitializers);
43
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
44
- enumerable: true,
45
- configurable: true,
46
- writable: true,
47
- value: _metadata
48
- });
49
- }
50
- static {
51
- this.elementName = "sbb-breadcrumb-group";
52
- }
53
- static {
54
- this.role = "navigation";
55
- }
56
- static {
57
- this.styles = [boxSizingStyles, unsafeCSS(breadcrumb_group_default)];
58
- }
59
- /** The state of the breadcrumb group. */
60
- set _state(state) {
61
- if (this._stateInternal) this.internals.states.delete(`state-${this._stateInternal}`);
62
- this._stateInternal = state;
63
- if (this._stateInternal) this.internals.states.add(`state-${this._stateInternal}`);
64
- }
65
- get _state() {
66
- return this._stateInternal;
67
- }
68
- constructor() {
69
- super();
70
- this.listChildLocalNames = (__runInitializers(this, _instanceExtraInitializers), ["sbb-breadcrumb"]);
71
- this._stateInternal = null;
72
- this._resizeObserver = new ResizeController(this, {
73
- target: null,
74
- skipInitial: true,
75
- callback: () => this._evaluateCollapsedState()
76
- });
77
- this._language = new SbbLanguageController(this);
78
- this._markForFocus = false;
79
- this.addEventListener?.("keydown", (e) => this._handleKeyDown(e));
80
- }
81
- _handleKeyDown(evt) {
82
- if (!this.listChildren.length || evt.target !== this && evt.target.parentElement !== this) return;
83
- if (isArrowKeyPressed(evt)) {
84
- if (this._state === "collapsed") return this._focusNextCollapsed(evt);
85
- this._focusNext(evt);
86
- }
87
- }
88
- firstUpdated(changedProperties) {
89
- super.firstUpdated(changedProperties);
90
- this._resizeObserver.observe(this);
91
- this.internals.states.add("loaded");
92
- }
93
- willUpdate(changedProperties) {
94
- super.willUpdate(changedProperties);
95
- if (changedProperties.has("listChildren")) this._syncBreadcrumbs();
96
- }
97
- updated(changedProperties) {
98
- super.updated(changedProperties);
99
- if (changedProperties.has("listChildren")) Promise.resolve().then(() => this._evaluateCollapsedState());
100
- if (this._markForFocus && sbbInputModalityDetector.mostRecentModality === "keyboard") {
101
- this.listChildren[1]?.focus();
102
- this._markForFocus = false;
103
- }
104
- }
105
- /** Apply the aria-current attribute to the last sbb-breadcrumb element. */
106
- _syncBreadcrumbs() {
107
- this.listChildren.slice(0, -1).filter((c) => c.hasAttribute("accessibility-current")).forEach((c) => c.removeAttribute("accessibility-current"));
108
- this.listChildren[this.listChildren.length - 1]?.setAttribute("accessibility-current", "page");
109
- if (this.listChildren.length < MIN_BREADCRUMBS_TO_COLLAPSE) this._state = null;
110
- }
111
- /**
112
- * Sets the focus on the correct element when the ellipsis breadcrumb is displayed and the user is navigating with keyboard's arrows.
113
- */
114
- _focusNextCollapsed(evt) {
115
- const arrayCollapsed = [
116
- this.listChildren[0],
117
- this.shadowRoot.querySelector("#sbb-breadcrumb-ellipsis"),
118
- this.listChildren[this.listChildren.length - 1]
119
- ];
120
- this._focusNext(evt, arrayCollapsed);
121
- }
122
- _focusNext(evt, breadcrumbs = this.listChildren) {
123
- breadcrumbs[getNextElementIndex(evt, breadcrumbs.findIndex((e) => e === document.activeElement || e === this.shadowRoot.activeElement), breadcrumbs.length)]?.focus();
124
- evt.preventDefault();
125
- }
126
- /**
127
- * Note: due to @State annotation on _state, this method triggers a new render; as a consequence, the focus is moved
128
- * to the `body`, so if the ellipsis element has focus, it's asynchronously forced to the first element.
129
- */
130
- _expandBreadcrumbs() {
131
- this._state = "manually-expanded";
132
- this._markForFocus = true;
133
- }
134
- /** Evaluate if the expanded breadcrumb element fits in page width, otherwise it needs ellipsis */
135
- _evaluateCollapsedState() {
136
- if (!this._state && this.scrollWidth > this.offsetWidth && this.listChildren.length >= MIN_BREADCRUMBS_TO_COLLAPSE) {
137
- this._state = "collapsed";
138
- this._resizeObserver.hostDisconnected();
139
- this.removeController(this._resizeObserver);
140
- }
141
- }
142
- _renderCollapsed() {
143
- return html`
144
- <li class="sbb-breadcrumb-group__item">
145
- <slot name="li-0"></slot>
146
- </li>
147
- <li class="sbb-breadcrumb-group__item" id="sbb-breadcrumb-group-ellipsis">
148
- <sbb-icon
149
- name="chevron-small-right-small"
150
- class="sbb-breadcrumb-group__divider-icon"
151
- ></sbb-icon>
152
- <button
153
- type="button"
154
- id="sbb-breadcrumb-ellipsis"
155
- aria-label=${i18nBreadcrumbEllipsisButtonLabel[this._language.current]}
156
- aria-expanded="false"
157
- @click=${() => this._expandBreadcrumbs()}
158
- >
159
- ...
160
- </button>
161
- </li>
162
- <li class="sbb-breadcrumb-group__item">
163
- <sbb-icon
164
- name="chevron-small-right-small"
165
- class="sbb-breadcrumb-group__divider-icon"
166
- ></sbb-icon>
167
- <slot name=${`li-${this.listChildren.length - 1}`}></slot>
168
- </li>
169
- `;
170
- }
171
- _renderExpanded() {
172
- return this.listSlotEntries().map((slot, index, array) => html`
173
- <li class="sbb-breadcrumb-group__item">
174
- <slot name=${slot.name}></slot>
175
- ${index !== array.length - 1 ? html`<sbb-icon
176
- name="chevron-small-right-small"
177
- class="sbb-breadcrumb-group__divider-icon"
178
- ></sbb-icon>` : nothing}
179
- </li>
180
- `);
181
- }
182
- render() {
183
- return html`
184
- <ol class="sbb-breadcrumb-group">
185
- ${this._state === "collapsed" ? this._renderCollapsed() : this._renderExpanded()}
186
- </ol>
187
- ${this.renderHiddenSlot()}
188
- `;
189
- }
190
- };
191
- })();
192
- //#endregion
193
- export { SbbBreadcrumbGroupElement as t };
194
-
195
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1ncm91cC5jb21wb25lbnQtQjNTaGxuZzMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1ncm91cC9icmVhZGNydW1iLWdyb3VwLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1ncm91cC9icmVhZGNydW1iLWdyb3VwLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC8vIEFsbG93cyBzaXplIGNhbGN1bGF0aW9uIGV2ZW4gaWYgaW4gZ3JpZCBvciBmbGV4IGNvbnRleHQuXG4gIG1pbi13aWR0aDogMDtcbn1cblxuOmhvc3QoOnN0YXRlKGxvYWRlZCkpIHtcbiAgLS1zYmItYnJlYWRjcnVtYi1ncm91cC12aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLWNvbGxhcHNlZCksIDpzdGF0ZShzdGF0ZS1tYW51YWxseS1leHBhbmRlZCkpKSB7XG4gIC0tc2JiLWJyZWFkY3J1bWItZ3JvdXAtd3JhcDogd3JhcDtcbn1cblxuLnNiYi1icmVhZGNydW1iLWdyb3VwIHtcbiAgQGluY2x1ZGUgc2JiLmxpc3QtcmVzZXQ7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB2YXIoLS1zYmItYnJlYWRjcnVtYi1ncm91cC13cmFwKTtcbiAgY29sdW1uLWdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xuICB2aXNpYmlsaXR5OiB2YXIoLS1zYmItYnJlYWRjcnVtYi1ncm91cC12aXNpYmlsaXR5KTtcbn1cblxuLnNiYi1icmVhZGNydW1iLWdyb3VwX19pdGVtIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbHVtbi1nYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbn1cblxuLnNiYi1icmVhZGNydW1iLWdyb3VwX19kaXZpZGVyLWljb24ge1xuICBjb2xvcjogdmFyKC0tc2JiLWJyZWFkY3J1bWItZ3JvdXAtZWxsaXBzaXMtY29sb3IpO1xufVxuXG4jc2JiLWJyZWFkY3J1bWItZWxsaXBzaXMge1xuICBAaW5jbHVkZSBzYmIuYnV0dG9uLXJlc2V0O1xuICBAaW5jbHVkZSBzYmIudGV4dC14eHMtLXJlZ3VsYXI7XG5cbiAgLy8gbGluZSBoZWlnaHQgYW5kIGxldHRlci1zcGFjaW5nIG5lZWRlZCB0byBtYXRjaCBzcXVhcmVzIGRyYXduIGluIEZpZ21hLlxuICBsaW5lLWhlaWdodDogMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUteHhzKTtcbiAgd2lkdGg6IHZhcigtLXNiYi1zaXplLWljb24tdWktc21hbGwpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1zaXplLWljb24tdWktc21hbGwpO1xuICBib3JkZXI6IHZhcigtLXNiYi1icmVhZGNydW1iLWdyb3VwLWVsbGlwc2lzLWJvcmRlci13aWR0aCkgc29saWRcbiAgICB2YXIoLS1zYmItYnJlYWRjcnVtYi1ncm91cC1lbGxpcHNpcy1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgLy8gSW4gb3JkZXIgdG8gdmVydGljYWxseSBjZW50ZXIgLi4uLCB3ZSB1c2UgcGFkZGluZyB3aXRoIGhhbGYgdGhlIGZvbnQgc2l6ZS5cbiAgcGFkZGluZy1ibG9jay1lbmQ6IDAuNWVtO1xuICBjdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItcG9pbnRlcik7XG4gIGNvbG9yOiB2YXIoLS1zYmItYnJlYWRjcnVtYi1ncm91cC1lbGxpcHNpcy1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1icmVhZGNydW1iLWdyb3VwLWVsbGlwc2lzLWJhY2tncm91bmQtY29sb3IpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1icmVhZGNydW1iLWdyb3VwLWVsbGlwc2lzLWJvcmRlci13aWR0aDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCk7XG4gICAgLS1zYmItYnJlYWRjcnVtYi1ncm91cC1lbGxpcHNpcy1ib3JkZXItY29sb3I6IENhbnZhc1RleHQ7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaG92ZXItbXEoJGhvdmVyOiB0cnVlKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICAtLXNiYi1icmVhZGNydW1iLWdyb3VwLWVsbGlwc2lzLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMik7XG4gICAgICAtLXNiYi1icmVhZGNydW1iLWdyb3VwLWVsbGlwc2lzLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuXG4gICAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICAgIC0tc2JiLWJyZWFkY3J1bWItZ3JvdXAtZWxsaXBzaXMtYm9yZGVyLWNvbG9yOiBIaWdobGlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBAaW5jbHVkZSBzYmIuZm9jdXMtb3V0bGluZTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7XG4gIGdldE5leHRFbGVtZW50SW5kZXgsXG4gIGlzQXJyb3dLZXlQcmVzc2VkLFxuICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IsXG59IGZyb20gJy4uLy4uL2NvcmUvYTExeS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgaTE4bkJyZWFkY3J1bWJFbGxpcHNpc0J1dHRvbkxhYmVsIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLnRzJztcbmltcG9ydCB7IFNiYk5hbWVkU2xvdExpc3RNaXhpbiwgdHlwZSBXaXRoTGlzdENoaWxkcmVuIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJCcmVhZGNydW1iRWxlbWVudCB9IGZyb20gJy4uL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9icmVhZGNydW1iLWdyb3VwLnNjc3M/aW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9pY29uLnRzJztcblxuY29uc3QgTUlOX0JSRUFEQ1JVTUJTX1RPX0NPTExBUFNFID0gMztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYHNiYi1icmVhZGNydW1iYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1icmVhZGNydW1iYCBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkJyZWFkY3J1bWJHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJOYW1lZFNsb3RMaXN0TWl4aW48XG4gIFNiYkJyZWFkY3J1bWJFbGVtZW50LFxuICB0eXBlb2YgU2JiRWxlbWVudFxuPihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItYnJlYWRjcnVtYi1ncm91cCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICduYXZpZ2F0aW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gWydzYmItYnJlYWRjcnVtYiddO1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIGJyZWFkY3J1bWIgZ3JvdXAuICovXG4gIEBzdGF0ZSgpXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogJ2NvbGxhcHNlZCcgfCAnbWFudWFsbHktZXhwYW5kZWQnIHwgbnVsbCkge1xuICAgIGlmICh0aGlzLl9zdGF0ZUludGVybmFsKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBzdGF0ZS0ke3RoaXMuX3N0YXRlSW50ZXJuYWx9YCk7XG4gICAgfVxuICAgIHRoaXMuX3N0YXRlSW50ZXJuYWwgPSBzdGF0ZTtcbiAgICBpZiAodGhpcy5fc3RhdGVJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgc3RhdGUtJHt0aGlzLl9zdGF0ZUludGVybmFsfWApO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldCBfc3RhdGUoKTogJ2NvbGxhcHNlZCcgfCAnbWFudWFsbHktZXhwYW5kZWQnIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlSW50ZXJuYWw7XG4gIH1cbiAgcHJpdmF0ZSBfc3RhdGVJbnRlcm5hbDogJ2NvbGxhcHNlZCcgfCAnbWFudWFsbHktZXhwYW5kZWQnIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9ldmFsdWF0ZUNvbGxhcHNlZFN0YXRlKCksXG4gIH0pO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX21hcmtGb3JGb2N1cyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgaWYgKHRoaXMuX3N0YXRlID09PSAnY29sbGFwc2VkJykge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXNOZXh0Q29sbGFwc2VkKGV2dCk7XG4gICAgICB9XG4gICAgICB0aGlzLl9mb2N1c05leHQoZXZ0KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMpO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ2xvYWRlZCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICAgICAgdGhpcy5fc3luY0JyZWFkY3J1bWJzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGlzdENoaWxkcmVuJykpIHtcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy5fZXZhbHVhdGVDb2xsYXBzZWRTdGF0ZSgpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX21hcmtGb3JGb2N1cyAmJiBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICB0aGlzLmxpc3RDaGlsZHJlblsxXT8uZm9jdXMoKTtcblxuICAgICAgLy8gUmVzZXQgbWFyayBmb3IgZm9jdXNcbiAgICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBcHBseSB0aGUgYXJpYS1jdXJyZW50IGF0dHJpYnV0ZSB0byB0aGUgbGFzdCBzYmItYnJlYWRjcnVtYiBlbGVtZW50LiAqL1xuICBwcml2YXRlIF9zeW5jQnJlYWRjcnVtYnMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0Q2hpbGRyZW5cbiAgICAgIC5zbGljZSgwLCAtMSlcbiAgICAgIC5maWx0ZXIoKGMpID0+IGMuaGFzQXR0cmlidXRlKCdhY2Nlc3NpYmlsaXR5LWN1cnJlbnQnKSlcbiAgICAgIC5mb3JFYWNoKChjKSA9PiBjLnJlbW92ZUF0dHJpYnV0ZSgnYWNjZXNzaWJpbGl0eS1jdXJyZW50JykpO1xuICAgIHRoaXMubGlzdENoaWxkcmVuW3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aCAtIDFdPy5zZXRBdHRyaWJ1dGUoJ2FjY2Vzc2liaWxpdHktY3VycmVudCcsICdwYWdlJyk7XG5cbiAgICAvLyBJZiBpdCBpcyBub3QgZXhwYW5kYWJsZSwgcmVzZXQgc3RhdGVcbiAgICBpZiAodGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoIDwgTUlOX0JSRUFEQ1JVTUJTX1RPX0NPTExBUFNFKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGZvY3VzIG9uIHRoZSBjb3JyZWN0IGVsZW1lbnQgd2hlbiB0aGUgZWxsaXBzaXMgYnJlYWRjcnVtYiBpcyBkaXNwbGF5ZWQgYW5kIHRoZSB1c2VyIGlzIG5hdmlnYXRpbmcgd2l0aCBrZXlib2FyZCdzIGFycm93cy5cbiAgICovXG4gIHByaXZhdGUgX2ZvY3VzTmV4dENvbGxhcHNlZChldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBhcnJheUNvbGxhcHNlZDogU2JiQnJlYWRjcnVtYkVsZW1lbnRbXSA9IFtcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuWzBdLFxuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcjc2JiLWJyZWFkY3J1bWItZWxsaXBzaXMnKSBhcyBTYmJCcmVhZGNydW1iRWxlbWVudCxcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuW3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aCAtIDFdLFxuICAgIF07XG4gICAgdGhpcy5fZm9jdXNOZXh0KGV2dCwgYXJyYXlDb2xsYXBzZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9jdXNOZXh0KFxuICAgIGV2dDogS2V5Ym9hcmRFdmVudCxcbiAgICBicmVhZGNydW1iczogU2JiQnJlYWRjcnVtYkVsZW1lbnRbXSA9IHRoaXMubGlzdENoaWxkcmVuLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50OiBudW1iZXIgPSBicmVhZGNydW1icy5maW5kSW5kZXgoXG4gICAgICAoZSkgPT4gZSA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCB8fCBlID09PSB0aGlzLnNoYWRvd1Jvb3QhLmFjdGl2ZUVsZW1lbnQsXG4gICAgKTtcbiAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjdXJyZW50LCBicmVhZGNydW1icy5sZW5ndGgpO1xuICAgIGJyZWFkY3J1bWJzW25leHRJbmRleF0/LmZvY3VzKCk7XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogTm90ZTogZHVlIHRvIEBTdGF0ZSBhbm5vdGF0aW9uIG9uIF9zdGF0ZSwgdGhpcyBtZXRob2QgdHJpZ2dlcnMgYSBuZXcgcmVuZGVyOyBhcyBhIGNvbnNlcXVlbmNlLCB0aGUgZm9jdXMgaXMgbW92ZWRcbiAgICogdG8gdGhlIGBib2R5YCwgc28gaWYgdGhlIGVsbGlwc2lzIGVsZW1lbnQgaGFzIGZvY3VzLCBpdCdzIGFzeW5jaHJvbm91c2x5IGZvcmNlZCB0byB0aGUgZmlyc3QgZWxlbWVudC5cbiAgICovXG4gIHByaXZhdGUgX2V4cGFuZEJyZWFkY3J1bWJzKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ21hbnVhbGx5LWV4cGFuZGVkJztcbiAgICB0aGlzLl9tYXJrRm9yRm9jdXMgPSB0cnVlO1xuICB9XG5cbiAgLyoqIEV2YWx1YXRlIGlmIHRoZSBleHBhbmRlZCBicmVhZGNydW1iIGVsZW1lbnQgZml0cyBpbiBwYWdlIHdpZHRoLCBvdGhlcndpc2UgaXQgbmVlZHMgZWxsaXBzaXMgKi9cbiAgcHJpdmF0ZSBfZXZhbHVhdGVDb2xsYXBzZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5fc3RhdGUgJiZcbiAgICAgIHRoaXMuc2Nyb2xsV2lkdGggPiB0aGlzLm9mZnNldFdpZHRoICYmXG4gICAgICB0aGlzLmxpc3RDaGlsZHJlbi5sZW5ndGggPj0gTUlOX0JSRUFEQ1JVTUJTX1RPX0NPTExBUFNFXG4gICAgKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9ICdjb2xsYXBzZWQnO1xuICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIuaG9zdERpc2Nvbm5lY3RlZCgpO1xuICAgICAgdGhpcy5yZW1vdmVDb250cm9sbGVyKHRoaXMuX3Jlc2l6ZU9ic2VydmVyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJDb2xsYXBzZWQoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGxpIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2l0ZW1cIj5cbiAgICAgICAgPHNsb3QgbmFtZT1cImxpLTBcIj48L3Nsb3Q+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2l0ZW1cIiBpZD1cInNiYi1icmVhZGNydW1iLWdyb3VwLWVsbGlwc2lzXCI+XG4gICAgICAgIDxzYmItaWNvblxuICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLXJpZ2h0LXNtYWxsXCJcbiAgICAgICAgICBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19kaXZpZGVyLWljb25cIlxuICAgICAgICA+PC9zYmItaWNvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGlkPVwic2JiLWJyZWFkY3J1bWItZWxsaXBzaXNcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9JHtpMThuQnJlYWRjcnVtYkVsbGlwc2lzQnV0dG9uTGFiZWxbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLl9leHBhbmRCcmVhZGNydW1icygpfVxuICAgICAgICA+XG4gICAgICAgICAgLi4uXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9saT5cbiAgICAgIDxsaSBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19pdGVtXCI+XG4gICAgICAgIDxzYmItaWNvblxuICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLXJpZ2h0LXNtYWxsXCJcbiAgICAgICAgICBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19kaXZpZGVyLWljb25cIlxuICAgICAgICA+PC9zYmItaWNvbj5cbiAgICAgICAgPHNsb3QgbmFtZT0ke2BsaS0ke3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aCAtIDF9YH0+PC9zbG90PlxuICAgICAgPC9saT5cbiAgICBgO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyRXhwYW5kZWQoKTogVGVtcGxhdGVSZXN1bHRbXSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdFNsb3RFbnRyaWVzKCkubWFwKFxuICAgICAgKHNsb3QsIGluZGV4LCBhcnJheSkgPT4gaHRtbGBcbiAgICAgICAgPGxpIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2l0ZW1cIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPSR7c2xvdC5uYW1lfT48L3Nsb3Q+XG4gICAgICAgICAgJHtpbmRleCAhPT0gYXJyYXkubGVuZ3RoIC0gMVxuICAgICAgICAgICAgPyBodG1sYDxzYmItaWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLXJpZ2h0LXNtYWxsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19kaXZpZGVyLWljb25cIlxuICAgICAgICAgICAgICA+PC9zYmItaWNvbj5gXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDwvbGk+XG4gICAgICBgLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxvbCBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwXCI+XG4gICAgICAgICR7dGhpcy5fc3RhdGUgPT09ICdjb2xsYXBzZWQnID8gdGhpcy5fcmVuZGVyQ29sbGFwc2VkKCkgOiB0aGlzLl9yZW5kZXJFeHBhbmRlZCgpfVxuICAgICAgPC9vbD5cbiAgICAgICR7dGhpcy5yZW5kZXJIaWRkZW5TbG90KCl9XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWJyZWFkY3J1bWItZ3JvdXAnOiBTYmJCcmVhZGNydW1iR3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQzJCQSxJQUFNLDhCQUE4Qjs7Ozs7O0lBT3ZCLG1DQUF5QjttQkFBUyxzQkFHN0MsV0FBVzs7O2NBSEEsa0NBQWtDLFlBR2xDOzs7NkJBT1YsT0FBTyxDQUFBO0FBQ1IsZ0JBQUEsTUFBQSxNQUFBLHdCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsWUFBQTtLQUFBLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBWSxTQUFNOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsTUFBQSwyQkFBQTs7Ozs7Ozs7O0FBUGMs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