@sbb-esta/lyne-elements-dev 5.0.0-next-dev.1776756036 → 5.0.0-next-dev.1776760633
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete/autocomplete-base-element.js +1 -1
- package/autocomplete/autocomplete.component.js +1 -1
- package/{autocomplete-base-element-B7fDDO1F.js → autocomplete-base-element-gPLexIVc.js} +1 -1
- package/autocomplete.js +1 -1
- package/autocomplete.pure.js +1 -1
- package/core/styles/host-scrollbar.scss +6 -0
- package/core/styles/mixins/scrollbar.scss +5 -8
- package/core/styles/scrollbar.scss +10 -8
- package/core/styles/styles.js +2 -2
- package/core.css +2 -2
- package/core.js +2 -2
- package/custom-elements.json +13 -1
- package/development/autocomplete/autocomplete-base-element.js +1 -1
- package/development/autocomplete/autocomplete.component.js +1 -1
- package/development/{autocomplete-base-element-DnpaK_k3.js → autocomplete-base-element-8hV4-ys6.js} +2 -2
- package/development/autocomplete.js +1 -1
- package/development/autocomplete.pure.js +1 -1
- package/development/core/styles/styles.d.ts +1 -0
- package/development/core/styles/styles.d.ts.map +1 -1
- package/development/core/styles/styles.js +2 -2
- package/development/core.js +2 -2
- package/development/dialog/dialog-content/dialog-content.component.d.ts +1 -0
- package/development/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
- package/development/dialog/dialog-content/dialog-content.component.js +1 -1
- package/development/dialog-content.component-DlSxpY_e.js +34 -0
- package/development/dialog.js +1 -1
- package/development/dialog.pure.js +1 -1
- package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +1 -1
- package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
- package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.d.ts.map +1 -1
- package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
- package/development/icon-sidebar-content.component-CfkM9k--.js +35 -0
- package/development/{icon-sidebar.component-xzwoc_4y.js → icon-sidebar.component-Cgvuxg4k.js} +3 -3
- package/development/icon-sidebar.js +2 -2
- package/development/icon-sidebar.pure.js +2 -2
- package/development/map-container/map-container.component.js +1 -1
- package/development/{map-container.component-mzZ_K_fR.js → map-container.component-rgU7ZofE.js} +2 -2
- package/development/map-container.js +1 -1
- package/development/map-container.pure.js +1 -1
- package/development/menu/menu/menu.component.js +1 -1
- package/development/{menu.component-BM7hhOb4.js → menu.component-DbNRrGYy.js} +2 -2
- package/development/menu.js +1 -1
- package/development/menu.pure.js +1 -1
- package/development/navigation/navigation/navigation.component.js +1 -1
- package/development/navigation/navigation-section/navigation-section.component.js +1 -1
- package/development/{navigation-section.component-6tqZADWM.js → navigation-section.component-BSvxMUxM.js} +2 -2
- package/development/{navigation.component-DUy2QGHI.js → navigation.component-lgvLMF5e.js} +2 -2
- package/development/navigation.js +2 -2
- package/development/navigation.pure.js +2 -2
- package/development/overlay/overlay.component.js +1 -1
- package/development/{overlay.component-CA0fWX47.js → overlay.component-iy6QUYWU.js} +2 -2
- package/development/overlay.js +1 -1
- package/development/overlay.pure.js +1 -1
- package/development/popover/popover.component.js +1 -1
- package/development/{popover.component-B1gMzBuv.js → popover.component-C-zVDwjc.js} +2 -2
- package/development/popover.js +1 -1
- package/development/popover.pure.js +1 -1
- package/development/select/select.component.js +1 -1
- package/development/{select.component-CqwBdtsN.js → select.component-Ibby7Q-L.js} +2 -2
- package/development/select.js +1 -1
- package/development/select.pure.js +1 -1
- package/development/sidebar/sidebar/sidebar.component.js +1 -1
- package/development/sidebar/sidebar-content/sidebar-content.component.d.ts +1 -2
- package/development/sidebar/sidebar-content/sidebar-content.component.d.ts.map +1 -1
- package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
- package/development/{sidebar-content.component-Os9gd7zB.js → sidebar-content.component-DbcREBUa.js} +8 -5
- package/development/{sidebar.component-CwuT6dno.js → sidebar.component-zMWbdz0h.js} +2 -2
- package/development/sidebar.js +2 -2
- package/development/sidebar.pure.js +2 -2
- package/development/styles-DcuJgwEt.js +14 -0
- package/development/tab.component-BVhYPy5Y.js +68 -0
- package/development/table/table-wrapper/table-wrapper.component.d.ts.map +1 -1
- package/development/table/table-wrapper/table-wrapper.component.js +1 -1
- package/development/table-wrapper.component-DcLwEDzr.js +119 -0
- package/development/table.js +1 -1
- package/development/table.pure.js +1 -1
- package/development/tabs/tab/tab.component.d.ts.map +1 -1
- package/development/tabs/tab/tab.component.js +1 -1
- package/development/tabs.js +1 -1
- package/development/tabs.pure.js +1 -1
- package/development/train/train-formation/train-formation.component.js +1 -1
- package/development/{train-formation.component-CfdHRBsd.js → train-formation.component-BoQcwy6n.js} +2 -2
- package/development/train.js +1 -1
- package/development/train.pure.js +1 -1
- package/dialog/dialog-content/dialog-content.component.js +1 -1
- package/dialog-content.component-C_Gr8BNL.js +22 -0
- package/dialog.js +1 -1
- package/dialog.pure.js +1 -1
- package/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
- package/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
- package/{icon-sidebar-content.component-DlUqWEAX.js → icon-sidebar-content.component-lFstg91Y.js} +9 -5
- package/{icon-sidebar.component-DbA4omxc.js → icon-sidebar.component-D0TtF-kR.js} +11 -11
- package/icon-sidebar.js +2 -2
- package/icon-sidebar.pure.js +2 -2
- package/map-container/map-container.component.js +1 -1
- package/{map-container.component-Cqn9mKoo.js → map-container.component-De-8Tsau.js} +1 -1
- package/map-container.js +1 -1
- package/map-container.pure.js +1 -1
- package/menu/menu/menu.component.js +1 -1
- package/{menu.component-i-X_ag2Y.js → menu.component-KdXwqe55.js} +1 -1
- package/menu.js +1 -1
- package/menu.pure.js +1 -1
- package/navigation/navigation/navigation.component.js +1 -1
- package/navigation/navigation-section/navigation-section.component.js +1 -1
- package/{navigation-section.component-Db2MWBDn.js → navigation-section.component-DrnbQAZX.js} +1 -1
- package/{navigation.component-Bym1kjzt.js → navigation.component-D6HU-F51.js} +1 -1
- package/navigation.js +2 -2
- package/navigation.pure.js +2 -2
- package/off-brand-theme.css +53 -55
- package/overlay/overlay.component.js +1 -1
- package/overlay.component-bHg2Xk6D.js +161 -0
- package/overlay.js +1 -1
- package/overlay.pure.js +1 -1
- package/package.json +2 -2
- package/popover/popover.component.js +1 -1
- package/{popover.component-Dd4rKGml.js → popover.component-BCLBnddM.js} +1 -1
- package/popover.js +1 -1
- package/popover.pure.js +1 -1
- package/safety-theme.css +53 -55
- package/scrollbar.css +51 -53
- package/select/select.component.js +1 -1
- package/{select.component-Cu3ewc4i.js → select.component-BcDZm7EM.js} +1 -1
- package/select.js +1 -1
- package/select.pure.js +1 -1
- package/sidebar/sidebar/sidebar.component.js +1 -1
- package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
- package/{sidebar-content.component-DEgmt4BB.js → sidebar-content.component-CYupfsq_.js} +9 -5
- package/{sidebar.component-Bxt8pWMf.js → sidebar.component-Sw06otwx.js} +1 -1
- package/sidebar.js +2 -2
- package/sidebar.pure.js +2 -2
- package/standard-theme.css +53 -55
- package/styles-swTeDfst.js +5 -0
- package/{tab.component-D39b0S04.js → tab.component-D6hfhlZw.js} +6 -6
- package/table/table-wrapper/table-wrapper.component.js +1 -1
- package/{table-wrapper.component-C36NdMWS.js → table-wrapper.component-Dxb8kzV3.js} +13 -13
- package/table.js +1 -1
- package/table.pure.js +1 -1
- package/tabs/tab/tab.component.js +1 -1
- package/tabs.js +1 -1
- package/tabs.pure.js +1 -1
- package/train/train-formation/train-formation.component.js +1 -1
- package/{train-formation.component-5AASBGSX.js → train-formation.component-B8IFJ_7b.js} +1 -1
- package/train.js +1 -1
- package/train.pure.js +1 -1
- package/development/dialog-content.component-B3VB2ptp.js +0 -30
- package/development/icon-sidebar-content.component-CMzp1ewD.js +0 -31
- package/development/styles-CcYw6JtZ.js +0 -8
- package/development/tab.component-CvzGdR9_.js +0 -68
- package/development/table-wrapper.component-iSeT-FPH.js +0 -119
- package/dialog-content.component-DvJiuDJI.js +0 -19
- package/overlay.component-BydJOM2r.js +0 -161
- package/styles-x5HG0xjp.js +0 -6
|
@@ -4,7 +4,7 @@ import { eventOptions, property } from "lit/decorators.js";
|
|
|
4
4
|
import { SbbAnimationCompleteMixin, SbbEscapableOverlayController, SbbFocusTrapController, SbbOpenCloseBaseElement, boxSizingStyles, forceType, handleDistinctChange, isZeroAnimationDuration } from "./core.js";
|
|
5
5
|
import { ResizeController } from "@lit-labs/observers/resize-controller.js";
|
|
6
6
|
//#region src/elements/sidebar/sidebar/sidebar.scss?inline
|
|
7
|
-
var sidebar_default = ":host {\n --sbb-link-text-decoration-line: none;\n --sbb-sidebar-background-color: var(--sbb-background-color-1);\n --sbb-sidebar-scrollbar-placeholder-width: var(--sbb-spacing-fixed-3x);\n --_sbb-sidebar-margin: 0;\n --_sbb-sidebar-margin-block-start: var(--sbb-sidebar-margin);\n --_sbb-sidebar-translate-x: -100%;\n --_sbb-sidebar-z-index: 2;\n --_sbb-sidebar-padding-inline-end: var(--sbb-sidebar-padding);\n --_sbb-sidebar-padding-block-start: var(--sbb-sidebar-padding);\n --_sbb-sidebar-border-radius-start: var(--sbb-sidebar-border-radius);\n --_sbb-sidebar-border-radius-end: 0;\n --_sbb-sidebar-close-button-size: var(--sbb-size-element-xs);\n --_sbb-sidebar-max-width: calc(100% - 2 * var(--_sbb-sidebar-margin));\n display: block;\n width: 20rem;\n}\n@supports (scrollbar-gutter: stable) and (not (-webkit-touch-callout: none)) {\n :host {\n --_sbb-sidebar-padding-inline-end: calc(\n var(--sbb-sidebar-padding) - var(--sbb-sidebar-scrollbar-placeholder-width)\n );\n }\n}\n\n:host([color=white]) {\n --sbb-sidebar-background-color: var(--sbb-background-color-1);\n}\n\n:host([color=milk]) {\n --sbb-sidebar-background-color: var(--sbb-background-color-3);\n}\n\n:host(:is([mode=over], :is(:state(mode-over-forced),[state--mode-over-forced]):not(:is(:state(mode-over-forced-closing),[state--mode-over-forced-closing])))) {\n --_sbb-sidebar-margin: var(--sbb-sidebar-margin);\n --_sbb-sidebar-border-radius-end: var(--sbb-sidebar-border-radius);\n --_sbb-sidebar-z-index: 3;\n}\n\n:host(:is(:dir(rtl), [position=end])) {\n --_sbb-sidebar-translate-x: 100%;\n}\n\n:host(:dir(rtl)[position=end]) {\n --_sbb-sidebar-translate-x: -100%;\n}\n\n.sbb-sidebar {\n width: inherit;\n max-width: var(--_sbb-sidebar-max-width);\n background-color: var(--sbb-sidebar-background-color);\n display: flex;\n flex-direction: column;\n position: absolute;\n overflow: hidden;\n inset-block: 0;\n z-index: var(--_sbb-sidebar-z-index);\n border-start-start-radius: var(--_sbb-sidebar-border-radius-start);\n border-start-end-radius: var(--_sbb-sidebar-border-radius-start);\n border-end-start-radius: var(--_sbb-sidebar-border-radius-end);\n border-end-end-radius: var(--_sbb-sidebar-border-radius-end);\n margin: var(--_sbb-sidebar-margin);\n margin-block-start: var(--_sbb-sidebar-margin-block-start);\n transition-duration: var(--sbb-sidebar-container-animation-duration);\n transition-timing-function: var(--sbb-sidebar-container-animation-easing);\n transition-property: width, translate;\n translate: none;\n}\n:host([position=end]) .sbb-sidebar {\n inset-inline-end: 0;\n}\n:host(:is(:state(state-closed),[state--state-closed])) .sbb-sidebar {\n visibility: hidden;\n}\n:host(:is(:is(:state(state-closing),[state--state-closing]), :is(:state(state-closed),[state--state-closed]))) .sbb-sidebar {\n translate: var(--_sbb-sidebar-translate-x) 0;\n}\n\n.sbb-sidebar-title-section {\n display: flex;\n width: 100%;\n gap: var(--sbb-sidebar-title-gap);\n background-color: var(--sbb-sidebar-background-color);\n padding-inline: var(--sbb-sidebar-padding);\n transition: box-shadow var(--sbb-animation-easing) var(--sbb-sidebar-container-animation-duration);\n box-shadow: none;\n}\n:host(:is(:state(scrolled),[state--scrolled])) .sbb-sidebar-title-section {\n box-shadow: var(--sbb-box-shadow-level-5-soft);\n}\n\n.sbb-sidebar-content-section {\n --sbb-scrollbar-thumb-width: 0.125rem;\n --sbb-scrollbar-thumb-width-hover: 0.25rem;\n --sbb-scrollbar-width-firefox: thin;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);\n --sbb-scrollbar-color: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 30%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 30%, transparent)\n );\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);\n --sbb-scrollbar-color-hover: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 60%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 60%, transparent)\n );\n --sbb-scrollbar-track-color: transparent;\n
|
|
7
|
+
var sidebar_default = ":host {\n --sbb-link-text-decoration-line: none;\n --sbb-sidebar-background-color: var(--sbb-background-color-1);\n --sbb-sidebar-scrollbar-placeholder-width: var(--sbb-spacing-fixed-3x);\n --_sbb-sidebar-margin: 0;\n --_sbb-sidebar-margin-block-start: var(--sbb-sidebar-margin);\n --_sbb-sidebar-translate-x: -100%;\n --_sbb-sidebar-z-index: 2;\n --_sbb-sidebar-padding-inline-end: var(--sbb-sidebar-padding);\n --_sbb-sidebar-padding-block-start: var(--sbb-sidebar-padding);\n --_sbb-sidebar-border-radius-start: var(--sbb-sidebar-border-radius);\n --_sbb-sidebar-border-radius-end: 0;\n --_sbb-sidebar-close-button-size: var(--sbb-size-element-xs);\n --_sbb-sidebar-max-width: calc(100% - 2 * var(--_sbb-sidebar-margin));\n display: block;\n width: 20rem;\n}\n@supports (scrollbar-gutter: stable) and (not (-webkit-touch-callout: none)) {\n :host {\n --_sbb-sidebar-padding-inline-end: calc(\n var(--sbb-sidebar-padding) - var(--sbb-sidebar-scrollbar-placeholder-width)\n );\n }\n}\n\n:host([color=white]) {\n --sbb-sidebar-background-color: var(--sbb-background-color-1);\n}\n\n:host([color=milk]) {\n --sbb-sidebar-background-color: var(--sbb-background-color-3);\n}\n\n:host(:is([mode=over], :is(:state(mode-over-forced),[state--mode-over-forced]):not(:is(:state(mode-over-forced-closing),[state--mode-over-forced-closing])))) {\n --_sbb-sidebar-margin: var(--sbb-sidebar-margin);\n --_sbb-sidebar-border-radius-end: var(--sbb-sidebar-border-radius);\n --_sbb-sidebar-z-index: 3;\n}\n\n:host(:is(:dir(rtl), [position=end])) {\n --_sbb-sidebar-translate-x: 100%;\n}\n\n:host(:dir(rtl)[position=end]) {\n --_sbb-sidebar-translate-x: -100%;\n}\n\n.sbb-sidebar {\n width: inherit;\n max-width: var(--_sbb-sidebar-max-width);\n background-color: var(--sbb-sidebar-background-color);\n display: flex;\n flex-direction: column;\n position: absolute;\n overflow: hidden;\n inset-block: 0;\n z-index: var(--_sbb-sidebar-z-index);\n border-start-start-radius: var(--_sbb-sidebar-border-radius-start);\n border-start-end-radius: var(--_sbb-sidebar-border-radius-start);\n border-end-start-radius: var(--_sbb-sidebar-border-radius-end);\n border-end-end-radius: var(--_sbb-sidebar-border-radius-end);\n margin: var(--_sbb-sidebar-margin);\n margin-block-start: var(--_sbb-sidebar-margin-block-start);\n transition-duration: var(--sbb-sidebar-container-animation-duration);\n transition-timing-function: var(--sbb-sidebar-container-animation-easing);\n transition-property: width, translate;\n translate: none;\n}\n:host([position=end]) .sbb-sidebar {\n inset-inline-end: 0;\n}\n:host(:is(:state(state-closed),[state--state-closed])) .sbb-sidebar {\n visibility: hidden;\n}\n:host(:is(:is(:state(state-closing),[state--state-closing]), :is(:state(state-closed),[state--state-closed]))) .sbb-sidebar {\n translate: var(--_sbb-sidebar-translate-x) 0;\n}\n\n.sbb-sidebar-title-section {\n display: flex;\n width: 100%;\n gap: var(--sbb-sidebar-title-gap);\n background-color: var(--sbb-sidebar-background-color);\n padding-inline: var(--sbb-sidebar-padding);\n transition: box-shadow var(--sbb-animation-easing) var(--sbb-sidebar-container-animation-duration);\n box-shadow: none;\n}\n:host(:is(:state(scrolled),[state--scrolled])) .sbb-sidebar-title-section {\n box-shadow: var(--sbb-box-shadow-level-5-soft);\n}\n\n.sbb-sidebar-content-section {\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n --sbb-scrollbar-thumb-width: 0.125rem;\n --sbb-scrollbar-thumb-width-hover: 0.25rem;\n --sbb-scrollbar-width-firefox: thin;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);\n --sbb-scrollbar-color: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 30%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 30%, transparent)\n );\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);\n --sbb-scrollbar-color-hover: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 60%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 60%, transparent)\n );\n --sbb-scrollbar-track-color: transparent;\n}\n.sbb-sidebar-content-section::-webkit-scrollbar {\n width: var(--sbb-scrollbar-width);\n height: var(--sbb-scrollbar-width);\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-sidebar-content-section::-webkit-scrollbar-corner {\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-sidebar-content-section::-webkit-scrollbar-thumb {\n background-color: var(--sbb-scrollbar-color, currentcolor);\n border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;\n border-radius: var(--sbb-border-radius-4x);\n background-clip: padding-box;\n}\n.sbb-sidebar-content-section::-webkit-scrollbar-thumb:hover {\n background-color: var(--sbb-scrollbar-color-hover, currentcolor);\n border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));\n}\n.sbb-sidebar-content-section::-webkit-scrollbar-button, .sbb-sidebar-content-section::-webkit-scrollbar-corner {\n display: none;\n}\n@supports not selector(::-webkit-scrollbar) {\n .sbb-sidebar-content-section {\n scrollbar-width: var(--sbb-scrollbar-width-firefox);\n scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);\n }\n}\n.sbb-sidebar-content-section {\n padding-block-start: var(--_sbb-sidebar-padding-block-start);\n padding-inline: var(--sbb-sidebar-padding) var(--_sbb-sidebar-padding-inline-end);\n overflow-y: auto;\n flex-grow: 1;\n outline-color: var(--sbb-focus-outline-color);\n}\n@supports (scrollbar-gutter: stable) {\n .sbb-sidebar-content-section {\n scrollbar-gutter: stable;\n }\n}\n\n::slotted(sbb-sidebar-title) {\n flex-grow: 1;\n margin-block: var(--sbb-sidebar-title-padding-block);\n}\n\n::slotted(sbb-sidebar-close-button) {\n order: 1;\n margin-inline-end: calc(-1 * (var(--sbb-sidebar-padding) - var(--sbb-sidebar-title-padding-block)));\n margin-block: var(--sbb-sidebar-title-padding-block);\n inset-inline-end: var(--sbb-sidebar-padding);\n}";
|
|
8
8
|
//#endregion
|
|
9
9
|
//#region src/elements/sidebar/sidebar/sidebar.component.ts
|
|
10
10
|
/**
|
|
@@ -346,4 +346,4 @@ var SbbSidebarElement = (() => {
|
|
|
346
346
|
//#endregion
|
|
347
347
|
export { SbbSidebarElement as t };
|
|
348
348
|
|
|
349
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQtQ3d1VDZkbm8uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLWxpbmstdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XG4gIC0tc2JiLXNpZGViYXItYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMSk7XG4gIC0tc2JiLXNpZGViYXItc2Nyb2xsYmFyLXBsYWNlaG9sZGVyLXdpZHRoOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCk7XG4gIC0tX3NiYi1zaWRlYmFyLW1hcmdpbjogMDtcbiAgLS1fc2JiLXNpZGViYXItbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc2lkZWJhci1tYXJnaW4pO1xuICAtLV9zYmItc2lkZWJhci10cmFuc2xhdGUteDogLTEwMCU7XG4gIC0tX3NiYi1zaWRlYmFyLXotaW5kZXg6IDI7XG4gIC0tX3NiYi1zaWRlYmFyLXBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2JiLXNpZGViYXItcGFkZGluZyk7XG4gIC0tX3NiYi1zaWRlYmFyLXBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpO1xuICAtLV9zYmItc2lkZWJhci1ib3JkZXItcmFkaXVzLXN0YXJ0OiB2YXIoLS1zYmItc2lkZWJhci1ib3JkZXItcmFkaXVzKTtcbiAgLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1lbmQ6IDA7XG4gIC0tX3NiYi1zaWRlYmFyLWNsb3NlLWJ1dHRvbi1zaXplOiB2YXIoLS1zYmItc2l6ZS1lbGVtZW50LXhzKTtcbiAgLS1fc2JiLXNpZGViYXItbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyICogdmFyKC0tX3NiYi1zaWRlYmFyLW1hcmdpbikpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDMyMCl9O1xuXG4gIC8vIFN1YnRyYWN0IHRoZSB3aWR0aCBvZiB0aGUgc2Nyb2xsYmFyIGZyb20gdGhlIHBhZGRpbmcgKEV4Y2x1ZGUgaU9TIGJyb3dzZXJzIGJlY2F1c2UgdGhleSB1c2Ugb3ZlcmxheSBzY3JvbGxiYXJzKVxuICBAc3VwcG9ydHMgKHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZSkgYW5kIChub3QgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkpIHtcbiAgICAtLV9zYmItc2lkZWJhci1wYWRkaW5nLWlubGluZS1lbmQ6IGNhbGMoXG4gICAgICB2YXIoLS1zYmItc2lkZWJhci1wYWRkaW5nKSAtIHZhcigtLXNiYi1zaWRlYmFyLXNjcm9sbGJhci1wbGFjZWhvbGRlci13aWR0aClcbiAgICApO1xuICB9XG59XG5cbjpob3N0KFtjb2xvcj0nd2hpdGUnXSkge1xuICAtLXNiYi1zaWRlYmFyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEpO1xufVxuXG46aG9zdChbY29sb3I9J21pbGsnXSkge1xuICAtLXNiYi1zaWRlYmFyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xufVxuXG46aG9zdCg6aXMoW21vZGU9J292ZXInXSwgOnN0YXRlKG1vZGUtb3Zlci1mb3JjZWQpOm5vdCg6c3RhdGUobW9kZS1vdmVyLWZvcmNlZC1jbG9zaW5nKSkpKSB7XG4gIC0tX3NiYi1zaWRlYmFyLW1hcmdpbjogdmFyKC0tc2JiLXNpZGViYXItbWFyZ2luKTtcbiAgLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1lbmQ6IHZhcigtLXNiYi1zaWRlYmFyLWJvcmRlci1yYWRpdXMpO1xuICAtLV9zYmItc2lkZWJhci16LWluZGV4OiAzO1xufVxuXG46aG9zdCg6aXMoOmRpcihydGwpLCBbcG9zaXRpb249J2VuZCddKSkge1xuICAtLV9zYmItc2lkZWJhci10cmFuc2xhdGUteDogMTAwJTtcbn1cblxuOmhvc3QoOmRpcihydGwpW3Bvc2l0aW9uPSdlbmQnXSkge1xuICAtLV9zYmItc2lkZWJhci10cmFuc2xhdGUteDogLTEwMCU7XG59XG5cbi5zYmItc2lkZWJhciB7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBtYXgtd2lkdGg6IHZhcigtLV9zYmItc2lkZWJhci1tYXgtd2lkdGgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc2lkZWJhci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBpbnNldC1ibG9jazogMDtcbiAgei1pbmRleDogdmFyKC0tX3NiYi1zaWRlYmFyLXotaW5kZXgpO1xuICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1lbmQpO1xuICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhcigtLV9zYmItc2lkZWJhci1ib3JkZXItcmFkaXVzLWVuZCk7XG4gIG1hcmdpbjogdmFyKC0tX3NiYi1zaWRlYmFyLW1hcmdpbik7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tX3NiYi1zaWRlYmFyLW1hcmdpbi1ibG9jay1zdGFydCk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXNiYi1zaWRlYmFyLWNvbnRhaW5lci1hbmltYXRpb24tZHVyYXRpb24pO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLXNpZGViYXItY29udGFpbmVyLWFuaW1hdGlvbi1lYXNpbmcpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgdHJhbnNsYXRlO1xuICB0cmFuc2xhdGU6IG5vbmU7XG5cbiAgOmhvc3QoW3Bvc2l0aW9uPSdlbmQnXSkgJiB7XG4gICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zZWQpKSAmIHtcbiAgICAvLyBTdG9wcyB0aGUgc2lkZW5hdiBmcm9tIHBva2luZyBvdXQgKGUuZy4gd2l0aCB0aGUgYm94IHNoYWRvdykgd2hpbGUgaXQncyBvZmYtc2NyZWVuLlxuICAgIC8vIFdlIGNhbid0IHVzZSBgZGlzcGxheWAgYmVjYXVzZSBpdCBpbnRlcnJ1cHRzIHRoZSB0cmFuc2l0aW9uIGFuZCBgdHJhbnNpdGlvbi1iZWhhdmlvcmBcbiAgICAvLyBpc24ndCBhdmFpbGFibGUgaW4gYWxsIGJyb3dzZXJzLlxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtY2xvc2luZyksIDpzdGF0ZShzdGF0ZS1jbG9zZWQpKSkgJiB7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS1fc2JiLXNpZGViYXItdHJhbnNsYXRlLXgpIDA7XG4gIH1cbn1cblxuLnNiYi1zaWRlYmFyLXRpdGxlLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZ2FwOiB2YXIoLS1zYmItc2lkZWJhci10aXRsZS1nYXApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc2lkZWJhci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKSB2YXIoLS1zYmItc2lkZWJhci1jb250YWluZXItYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgYm94LXNoYWRvdzogbm9uZTtcblxuICA6aG9zdCg6c3RhdGUoc2Nyb2xsZWQpKSAmIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zYmItYm94LXNoYWRvdy1sZXZlbC01LXNvZnQpO1xuICB9XG59XG5cbi5zYmItc2lkZWJhci1jb250ZW50LXNlY3Rpb24ge1xuICBAaW5jbHVkZSBzYmIuc2Nyb2xsYmFyO1xuXG4gIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLV9zYmItc2lkZWJhci1wYWRkaW5nLWJsb2NrLXN0YXJ0KTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpIHZhcigtLV9zYmItc2lkZWJhci1wYWRkaW5nLWlubGluZS1lbmQpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBmbGV4LWdyb3c6IDE7XG5cbiAgLy8gSWYgdGhlIGVsZW1lbnQgaXMgc2Nyb2xsYWJsZSBhbmQgaGFzIG5vIGZvY3VzYWJsZSBjb250ZW50LCBpdCBnZXRzIGZvY3VzZWQuXG4gIC8vIFRvIGFkYXB0IHRvIGx5bmUgc3R5bGVzIHdlIGNvbG9yaXplIGl0XG4gIG91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yKTtcblxuICBAc3VwcG9ydHMgKHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZSkge1xuICAgIHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoc2JiLXNpZGViYXItdGl0bGUpIHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXNiYi1zaWRlYmFyLXRpdGxlLXBhZGRpbmctYmxvY2spO1xufVxuXG46OnNsb3R0ZWQoc2JiLXNpZGViYXItY2xvc2UtYnV0dG9uKSB7XG4gIG9yZGVyOiAxO1xuXG4gIC8vIER1ZSB0byBkZXNpZ24gbmVlZHMsIHdlIGhhdmUgdG8gdHJhbnNsYXRlIHRoZSBjbG9zZSBidXR0b24gdG8gdGhlIHJpZ2h0XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKFxuICAgIC0xICogKHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpIC0gdmFyKC0tc2JiLXNpZGViYXItdGl0bGUtcGFkZGluZy1ibG9jaykpXG4gICk7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tc2JiLXNpZGViYXItdGl0bGUtcGFkZGluZy1ibG9jayk7XG4gIGluc2V0LWlubGluZS1lbmQ6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpO1xufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGV2ZW50T3B0aW9ucywgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7XG4gIGJveFNpemluZ1N0eWxlcyxcbiAgZm9yY2VUeXBlLFxuICBoYW5kbGVEaXN0aW5jdENoYW5nZSxcbiAgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sXG4gIFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW4sXG4gIFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLFxuICBTYmJGb2N1c1RyYXBDb250cm9sbGVyLFxuICBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCxcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IH0gZnJvbSAnLi4vc2lkZWJhci1jb250YWluZXIvc2lkZWJhci1jb250YWluZXIuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc2lkZWJhci5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgY29ycmVzcG9uZHMgdG8gYSBzaWRlYmFyIHRoYXQgY2FuIGJlIG9wZW5lZCBvbiB0aGUgc2lkZWJhciBjb250YWluZXIuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBzbG90IGFueSBjb250ZW50IGludG8gdGhlIHNpZGViYXIuXG4gKiBAc2xvdCB0aXRsZSAtIFVzZSB0aGUgdGl0bGUgc2xvdCB0byBhZGQgYW4gPHNiYi10aXRsZT4uXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTaWRlYmFyRWxlbWVudCBleHRlbmRzIFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zaWRlYmFyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNpZGViYXIuIEVpdGhlciBgd2hpdGVgIG9yIGBtaWxrYC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgY29sb3I6ICd3aGl0ZScgfCAnbWlsaycgPSAnd2hpdGUnO1xuXG4gIC8qKiBNb2RlIG9mIHRoZSBzaWRlYmFyOyBvbmUgb2YgJ3NpZGUnIG9yICdvdmVyJy4gKi9cbiAgQGZvcmNlVHlwZSgodikgPT4gKHYgPT09ICdvdmVyJyA/ICdvdmVyJyA6ICdzaWRlJykpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG1vZGU6ICdzaWRlJyB8ICdvdmVyJyA9ICdzaWRlJztcblxuICAvKiogVGhlIHNpZGUgdGhhdCB0aGUgc2lkZWJhciBpcyBhdHRhY2hlZCB0by4gKi9cbiAgQGZvcmNlVHlwZSgodikgPT4gKHYgPT09ICdlbmQnID8gJ2VuZCcgOiAnc3RhcnQnKSlcbiAgQGhhbmRsZURpc3RpbmN0Q2hhbmdlKChpbnN0YW5jZSwgX25ld1ZhbHVlLCBvbGRWYWx1ZSkgPT4gaW5zdGFuY2UuX3VwZGF0ZVNpZGViYXJXaWR0aChvbGRWYWx1ZSkpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIHBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCcgPSAnc3RhcnQnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzaWRlYmFyIGlzIG9wZW5lZCBvciBjbG9zZWQuXG4gICAqIENhbiBiZSB1c2VkIHRvIGluaXRpYWxseSBzZXQgdGhlIG9wZW5lZCBzdGF0ZSwgd2hlcmVcbiAgICogdGhlIGFuaW1hdGlvbiB3aWxsIGJlIHNraXBwZWQuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igb3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNpZGViYXIgc2hvdWxkIGZvY3VzIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudCBhdXRvbWF0aWNhbGx5IHdoZW4gb3BlbmVkLlxuICAgKiBEZWZhdWx0cyB0byBmYWxzZSBpbiB3aGVuIG1vZGUgaXMgc2V0IHRvIGBzaWRlYCwgb3RoZXJ3aXNlIGRlZmF1bHRzIHRvIHRydWUuXG4gICAqIElmIGV4cGxpY2l0bHkgZW5hYmxlZCwgZm9jdXMgd2lsbCBiZSBtb3ZlZCBpbnRvIHRoZSBzaWRlYmFyIGluIGBzaWRlYCBtb2RlIGFzIHdlbGwuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiAnZm9jdXMtb24tb3BlbicgfSlcbiAgcHVibGljIGFjY2Vzc29yIGZvY3VzT25PcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFJldHVybnMgdGhlIFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IHdoZXJlIHRoaXMgc2lkZWJhciBpcyBjb250YWluZWQuICovXG4gIHB1YmxpYyBnZXQgY29udGFpbmVyKCk6IFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRhaW5lcjtcbiAgfVxuICBwcml2YXRlIF9jb250YWluZXI6IFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfbGFzdEZvY3VzZWRFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9mb2N1c1RyYXBDb250cm9sbGVyID0gbmV3IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICAgICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl91cGRhdGVTaWRlYmFyV2lkdGgoKSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoZSkgPT4ge1xuICAgICAgaWYgKChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCk/LmxvY2FsTmFtZSA9PT0gJ3NiYi1zaWRlYmFyLWNsb3NlLWJ1dHRvbicpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICB0aGlzLl9jb250YWluZXIgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLXNpZGViYXItY29udGFpbmVyJyk7XG4gICAgdGhpcy5fdXBkYXRlU2lkZWJhcldpZHRoKCk7XG5cbiAgICBpZiAodGhpcy5pc09wZW4gJiYgdGhpcy5faXNNb2RlT3ZlcigpKSB7XG4gICAgICB0aGlzLl90YWtlRm9jdXMoKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICBpZiAod2luZG93Lm5hdmlnYXRpb24pIHtcbiAgICAgICAgd2luZG93Lm5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcignbmF2aWdhdGUnLCB0aGlzLl9jbG9zZU9uTmF2aWdhdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9wc3RhdGUnLCB0aGlzLl9jbG9zZU9uTmF2aWdhdGlvbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5jb250YWluZXI/LnN0eWxlLnJlbW92ZVByb3BlcnR5KHRoaXMuX2J1aWxkQ3NzV2lkdGhWYXIoKSk7XG4gICAgdGhpcy5fY29udGFpbmVyID0gbnVsbDtcblxuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIGlmICh3aW5kb3cubmF2aWdhdGlvbikge1xuICAgICAgICB3aW5kb3cubmF2aWdhdGlvbi5yZW1vdmVFdmVudExpc3RlbmVyKCduYXZpZ2F0ZScsIHRoaXMuX2Nsb3NlT25OYXZpZ2F0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdwb3BzdGF0ZScsIHRoaXMuX2Nsb3NlT25OYXZpZ2F0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZU9uTmF2aWdhdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5faXNNb2RlT3ZlcigpICYmIHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnb3BlbmVkJykpIHtcbiAgICAgIGlmICh0aGlzLm9wZW5lZCkge1xuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgIH0gZWxzZSBpZiAoIXRoaXMub3BlbmVkKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdtb2RlJykpIHtcbiAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdvdmVyJyAmJiB0aGlzLmlzT3Blbikge1xuICAgICAgICB0aGlzLl90YWtlRm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2VkZUZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fdXBkYXRlU2lkZWJhcldpZHRoKCk7XG4gIH1cblxuICAvKiogVG9nZ2xlcyB0aGUgc2lkZWJhciB2aXNpYmlsaXR5LiAqL1xuICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmluZycgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIE9wZW5zIHRoZSBzaWRlYmFyLiAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXJ0QW5pbWF0aW9uKCk7XG5cbiAgICBpZiAoIWlzU2VydmVyICYmIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmxvY2FsTmFtZSAhPT0gJ2JvZHknKSB7XG4gICAgICB0aGlzLl9sYXN0Rm9jdXNlZEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIH1cblxuICAgIHRoaXMub3BlbmVkID0gdHJ1ZTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuXG4gICAgY29uc3QgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gPSB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpIHx8ICF0aGlzLmlzQ29ubmVjdGVkO1xuICAgIGNvbnN0IGlzRHVyaW5nSW5pdGlhbGl6YXRpb24gPSAhdGhpcy5oYXNVcGRhdGVkO1xuXG4gICAgaWYgKCEoaXNEdXJpbmdJbml0aWFsaXphdGlvbiB8fCBpc1plcm9BbmltYXRpb25EdXJhdGlvbikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnc2tpcC1hbmltYXRpb24nKTtcblxuICAgIC8vIFdlIGhhdmUgdG8gd2FpdCBmb3IgdGhlIGZpcnN0IHVwZGF0ZSB0byBiZSBjb21wbGV0ZWRcbiAgICAvLyBpbiBvcmRlciB0byBoYXZlIHRoZSBzaXplIG9mIHRoZSBzaWRlYmFyIHJlYWR5IGZvciB0aGUgYW5pbWF0aW9uLlxuICAgIGlmIChpc0R1cmluZ0luaXRpYWxpemF0aW9uKSB7XG4gICAgICB0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCkgPT4gdGhpcy5faGFuZGxlT3BlbmluZygpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXNpZGViYXItY29udGFpbmVyLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG5cbiAgICAvLyBXZSBoYXZlIHRvIGVuc3VyZSB0aGF0IHJlbW92aW5nIHRoZSBhbmltYXRpb24gc2tpcCBpbnN0cnVjdGlvbiBpcyBkb25lIGEgdGljayBsYXRlci5cbiAgICAvLyBPdGhlcndpc2UsIGl0J3MgcmVtb3ZlZCB0b28gZWFybHkgYW5kIGl0IGRvZXNuJ3QgaGF2ZSBhbnkgZWZmZWN0LlxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnc2tpcC1hbmltYXRpb24nKSk7XG5cbiAgICB0aGlzLl90YWtlRm9jdXMoKTtcbiAgICB0aGlzLnN0b3BBbmltYXRpb24oKTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBzaWRlYmFyLiAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJyB8fCB0aGlzLnN0YXRlID09PSAnY2xvc2VkJyB8fCAhdGhpcy5kaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhcnRBbmltYXRpb24oKTtcblxuICAgIGNvbnN0IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uID0gdGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTtcblxuICAgIGlmICghdGhpcy5oYXNVcGRhdGVkIHx8IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdza2lwLWFuaW1hdGlvbicpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIH1cblxuICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAoIXRoaXMuaGFzVXBkYXRlZCB8fCBpc1plcm9BbmltYXRpb25EdXJhdGlvbikge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIC8vIFdlIGhhdmUgdG8gZW5zdXJlIHRoYXQgcmVtb3ZpbmcgdGhlIGFuaW1hdGlvbiBza2lwIGluc3RydWN0aW9uIGlzIGRvbmUgYSB0aWNrIGxhdGVyLlxuICAgIC8vIE90aGVyd2lzZSwgaXQncyByZW1vdmVkIHRvbyBlYXJseSBhbmQgaXQgZG9lc24ndCBoYXZlIGFueSBlZmZlY3QuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdza2lwLWFuaW1hdGlvbicpKTtcbiAgICB0aGlzLmNlZGVGb2N1cygpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAodGhpcy5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB8fCB0aGlzLl9pc01vZGVPdmVyKCkpKSB7XG4gICAgICBpZiAodGhpcy5fbGFzdEZvY3VzZWRFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuX2xhc3RGb2N1c2VkRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdlIGRvbid0IGtub3cgd2hlcmUgdG8gc2V0IHRoZSBmb2N1cywgYnV0IGhhdmUgdG8gcmVtb3ZlIGl0LCBzbyB3ZSBjYWxsIGJsdXJcbiAgICAgICAgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmJsdXIoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fbGFzdEZvY3VzZWRFbGVtZW50ID0gbnVsbDtcblxuICAgIHRoaXMuc3RvcEFuaW1hdGlvbigpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF90YWtlRm9jdXMoKTogdm9pZCB7XG4gICAgLy8gV2UgcHJldmVudCBjYWxsaW5nIHRoZSBmb2N1cyBzdHVmZiB3aGVuIG5vdCBuZWVkZWRcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaXNNb2RlT3ZlciA9IHRoaXMuX2lzTW9kZU92ZXIoKTtcblxuICAgIGlmIChpc01vZGVPdmVyIHx8IHRoaXMuZm9jdXNPbk9wZW4pIHtcbiAgICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIH1cblxuICAgIGlmIChpc01vZGVPdmVyKSB7XG4gICAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEludGVybmFsIG1ldGhvZCB0aGF0IHdlIHVzZSBleHRlcm5hbGx5LiBgcHJvdGVjdGVkYCBwcmVzZXJ2ZXMgdHlwZSBpbmZvcm1hdGlvbiBmb3IgdHlwZSBzYWZlIGFjY2Vzcy5cbiAgcHJvdGVjdGVkIGNlZGVGb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVTaWRlYmFyV2lkdGgob2xkUG9zaXRpb24/OiB0aGlzWydwb3NpdGlvbiddKTogdm9pZCB7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jb250YWluZXI7XG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAob2xkUG9zaXRpb24pIHtcbiAgICAgIGNvbnRhaW5lci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0aGlzLl9idWlsZENzc1dpZHRoVmFyKG9sZFBvc2l0aW9uKSk7XG4gICAgfVxuXG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLm9mZnNldFdpZHRoO1xuICAgIGlmICghd2lkdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdWYWx1ZSA9IGAke3dpZHRofXB4YDtcbiAgICBjb25zdCBhY3R1YWxWYWx1ZSA9IGNvbnRhaW5lci5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKHRoaXMuX2J1aWxkQ3NzV2lkdGhWYXIoKSk7XG5cbiAgICBpZiAoYWN0dWFsVmFsdWUgPT09IG5ld1ZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29udGFpbmVyLnN0eWxlLnNldFByb3BlcnR5KHRoaXMuX2J1aWxkQ3NzV2lkdGhWYXIoKSwgbmV3VmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYnVpbGRDc3NXaWR0aFZhcihwb3NpdGlvbiA9IHRoaXMucG9zaXRpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBgLS1fc2JiLXNpZGViYXItY29udGFpbmVyLSR7cG9zaXRpb259LXdpZHRoYDtcbiAgfVxuXG4gIHByaXZhdGUgX2lzTW9kZU92ZXIoKTogYm9vbGVhbiB7XG4gICAgLy8gSWYgdGhlIG1pbmltdW0gc3BhY2UgYXR0cmlidXRlIGlzIHNldCwgdGhlIHNpZGViYXIgc2hvdWxkIGJlaGF2ZSBsaWtlIGluIG1vZGUgb3Zlci5cbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnb3ZlcicgfHwgdGhpcy5tYXRjaGVzKCc6c3RhdGUobW9kZS1vdmVyLWZvcmNlZCknKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uVHJhbnNpdGlvbkVuZChldmVudDogVHJhbnNpdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgLy8gV2UgZW5zdXJlIHRoYXQgd2UgcmVhY3QgdG8gdGhlIGZhZGUgaW4gdHJhbnNpdGlvbiBvbiB0aGUgc2JiLXNpZGViYXIgZGl2XG4gICAgaWYgKGV2ZW50LnByb3BlcnR5TmFtZSAhPT0gJ3RyYW5zbGF0ZScgfHwgZXZlbnQudGFyZ2V0ICE9PSBldmVudC5jdXJyZW50VGFyZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgQGV2ZW50T3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSlcbiAgcHJpdmF0ZSBfZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKFxuICAgICAgJ3Njcm9sbGVkJyxcbiAgICAgICh0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoJy5zYmItc2lkZWJhci1jb250ZW50LXNlY3Rpb24nKT8uc2Nyb2xsVG9wID8/IDApID4gMCxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cInNiYi1zaWRlYmFyXCIgQHRyYW5zaXRpb25lbmQ9JHt0aGlzLl9vblRyYW5zaXRpb25FbmR9PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zaWRlYmFyLXRpdGxlLXNlY3Rpb25cIj48c2xvdCBuYW1lPVwidGl0bGUtc2VjdGlvblwiPjwvc2xvdD48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc2lkZWJhci1jb250ZW50LXNlY3Rpb25cIiBAc2Nyb2xsPSR7KCkgPT4gdGhpcy5fZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpfT5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+YDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNpZGViYXInOiBTYmJTaWRlYmFyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7SUMrQmEsMkJBQWlCO21CQUFTLDBCQUEwQix3QkFBd0I7Ozs7Ozs7Ozs7Ozs7Ozs7OztjQUE1RSwwQkFBMEIsWUFBa0Q7Ozt3QkFLdEYsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7dUJBSTNCLFdBQVcsTUFBTyxNQUFN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
|
|
349
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQtek1XYmR6MGguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLWxpbmstdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XG4gIC0tc2JiLXNpZGViYXItYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMSk7XG4gIC0tc2JiLXNpZGViYXItc2Nyb2xsYmFyLXBsYWNlaG9sZGVyLXdpZHRoOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCk7XG4gIC0tX3NiYi1zaWRlYmFyLW1hcmdpbjogMDtcbiAgLS1fc2JiLXNpZGViYXItbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc2lkZWJhci1tYXJnaW4pO1xuICAtLV9zYmItc2lkZWJhci10cmFuc2xhdGUteDogLTEwMCU7XG4gIC0tX3NiYi1zaWRlYmFyLXotaW5kZXg6IDI7XG4gIC0tX3NiYi1zaWRlYmFyLXBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2JiLXNpZGViYXItcGFkZGluZyk7XG4gIC0tX3NiYi1zaWRlYmFyLXBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpO1xuICAtLV9zYmItc2lkZWJhci1ib3JkZXItcmFkaXVzLXN0YXJ0OiB2YXIoLS1zYmItc2lkZWJhci1ib3JkZXItcmFkaXVzKTtcbiAgLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1lbmQ6IDA7XG4gIC0tX3NiYi1zaWRlYmFyLWNsb3NlLWJ1dHRvbi1zaXplOiB2YXIoLS1zYmItc2l6ZS1lbGVtZW50LXhzKTtcbiAgLS1fc2JiLXNpZGViYXItbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyICogdmFyKC0tX3NiYi1zaWRlYmFyLW1hcmdpbikpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDMyMCl9O1xuXG4gIC8vIFN1YnRyYWN0IHRoZSB3aWR0aCBvZiB0aGUgc2Nyb2xsYmFyIGZyb20gdGhlIHBhZGRpbmcgKEV4Y2x1ZGUgaU9TIGJyb3dzZXJzIGJlY2F1c2UgdGhleSB1c2Ugb3ZlcmxheSBzY3JvbGxiYXJzKVxuICBAc3VwcG9ydHMgKHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZSkgYW5kIChub3QgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkpIHtcbiAgICAtLV9zYmItc2lkZWJhci1wYWRkaW5nLWlubGluZS1lbmQ6IGNhbGMoXG4gICAgICB2YXIoLS1zYmItc2lkZWJhci1wYWRkaW5nKSAtIHZhcigtLXNiYi1zaWRlYmFyLXNjcm9sbGJhci1wbGFjZWhvbGRlci13aWR0aClcbiAgICApO1xuICB9XG59XG5cbjpob3N0KFtjb2xvcj0nd2hpdGUnXSkge1xuICAtLXNiYi1zaWRlYmFyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEpO1xufVxuXG46aG9zdChbY29sb3I9J21pbGsnXSkge1xuICAtLXNiYi1zaWRlYmFyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xufVxuXG46aG9zdCg6aXMoW21vZGU9J292ZXInXSwgOnN0YXRlKG1vZGUtb3Zlci1mb3JjZWQpOm5vdCg6c3RhdGUobW9kZS1vdmVyLWZvcmNlZC1jbG9zaW5nKSkpKSB7XG4gIC0tX3NiYi1zaWRlYmFyLW1hcmdpbjogdmFyKC0tc2JiLXNpZGViYXItbWFyZ2luKTtcbiAgLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1lbmQ6IHZhcigtLXNiYi1zaWRlYmFyLWJvcmRlci1yYWRpdXMpO1xuICAtLV9zYmItc2lkZWJhci16LWluZGV4OiAzO1xufVxuXG46aG9zdCg6aXMoOmRpcihydGwpLCBbcG9zaXRpb249J2VuZCddKSkge1xuICAtLV9zYmItc2lkZWJhci10cmFuc2xhdGUteDogMTAwJTtcbn1cblxuOmhvc3QoOmRpcihydGwpW3Bvc2l0aW9uPSdlbmQnXSkge1xuICAtLV9zYmItc2lkZWJhci10cmFuc2xhdGUteDogLTEwMCU7XG59XG5cbi5zYmItc2lkZWJhciB7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBtYXgtd2lkdGg6IHZhcigtLV9zYmItc2lkZWJhci1tYXgtd2lkdGgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc2lkZWJhci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBpbnNldC1ibG9jazogMDtcbiAgei1pbmRleDogdmFyKC0tX3NiYi1zaWRlYmFyLXotaW5kZXgpO1xuICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1lbmQpO1xuICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhcigtLV9zYmItc2lkZWJhci1ib3JkZXItcmFkaXVzLWVuZCk7XG4gIG1hcmdpbjogdmFyKC0tX3NiYi1zaWRlYmFyLW1hcmdpbik7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tX3NiYi1zaWRlYmFyLW1hcmdpbi1ibG9jay1zdGFydCk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXNiYi1zaWRlYmFyLWNvbnRhaW5lci1hbmltYXRpb24tZHVyYXRpb24pO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLXNpZGViYXItY29udGFpbmVyLWFuaW1hdGlvbi1lYXNpbmcpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgdHJhbnNsYXRlO1xuICB0cmFuc2xhdGU6IG5vbmU7XG5cbiAgOmhvc3QoW3Bvc2l0aW9uPSdlbmQnXSkgJiB7XG4gICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zZWQpKSAmIHtcbiAgICAvLyBTdG9wcyB0aGUgc2lkZW5hdiBmcm9tIHBva2luZyBvdXQgKGUuZy4gd2l0aCB0aGUgYm94IHNoYWRvdykgd2hpbGUgaXQncyBvZmYtc2NyZWVuLlxuICAgIC8vIFdlIGNhbid0IHVzZSBgZGlzcGxheWAgYmVjYXVzZSBpdCBpbnRlcnJ1cHRzIHRoZSB0cmFuc2l0aW9uIGFuZCBgdHJhbnNpdGlvbi1iZWhhdmlvcmBcbiAgICAvLyBpc24ndCBhdmFpbGFibGUgaW4gYWxsIGJyb3dzZXJzLlxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtY2xvc2luZyksIDpzdGF0ZShzdGF0ZS1jbG9zZWQpKSkgJiB7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS1fc2JiLXNpZGViYXItdHJhbnNsYXRlLXgpIDA7XG4gIH1cbn1cblxuLnNiYi1zaWRlYmFyLXRpdGxlLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZ2FwOiB2YXIoLS1zYmItc2lkZWJhci10aXRsZS1nYXApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc2lkZWJhci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKSB2YXIoLS1zYmItc2lkZWJhci1jb250YWluZXItYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgYm94LXNoYWRvdzogbm9uZTtcblxuICA6aG9zdCg6c3RhdGUoc2Nyb2xsZWQpKSAmIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zYmItYm94LXNoYWRvdy1sZXZlbC01LXNvZnQpO1xuICB9XG59XG5cbi5zYmItc2lkZWJhci1jb250ZW50LXNlY3Rpb24ge1xuICBAaW5jbHVkZSBzYmIuc2Nyb2xsYmFyO1xuXG4gIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLV9zYmItc2lkZWJhci1wYWRkaW5nLWJsb2NrLXN0YXJ0KTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpIHZhcigtLV9zYmItc2lkZWJhci1wYWRkaW5nLWlubGluZS1lbmQpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBmbGV4LWdyb3c6IDE7XG5cbiAgLy8gSWYgdGhlIGVsZW1lbnQgaXMgc2Nyb2xsYWJsZSBhbmQgaGFzIG5vIGZvY3VzYWJsZSBjb250ZW50LCBpdCBnZXRzIGZvY3VzZWQuXG4gIC8vIFRvIGFkYXB0IHRvIGx5bmUgc3R5bGVzIHdlIGNvbG9yaXplIGl0XG4gIG91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yKTtcblxuICBAc3VwcG9ydHMgKHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZSkge1xuICAgIHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoc2JiLXNpZGViYXItdGl0bGUpIHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXNiYi1zaWRlYmFyLXRpdGxlLXBhZGRpbmctYmxvY2spO1xufVxuXG46OnNsb3R0ZWQoc2JiLXNpZGViYXItY2xvc2UtYnV0dG9uKSB7XG4gIG9yZGVyOiAxO1xuXG4gIC8vIER1ZSB0byBkZXNpZ24gbmVlZHMsIHdlIGhhdmUgdG8gdHJhbnNsYXRlIHRoZSBjbG9zZSBidXR0b24gdG8gdGhlIHJpZ2h0XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKFxuICAgIC0xICogKHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpIC0gdmFyKC0tc2JiLXNpZGViYXItdGl0bGUtcGFkZGluZy1ibG9jaykpXG4gICk7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tc2JiLXNpZGViYXItdGl0bGUtcGFkZGluZy1ibG9jayk7XG4gIGluc2V0LWlubGluZS1lbmQ6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpO1xufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGV2ZW50T3B0aW9ucywgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7XG4gIGJveFNpemluZ1N0eWxlcyxcbiAgZm9yY2VUeXBlLFxuICBoYW5kbGVEaXN0aW5jdENoYW5nZSxcbiAgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sXG4gIFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW4sXG4gIFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLFxuICBTYmJGb2N1c1RyYXBDb250cm9sbGVyLFxuICBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCxcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IH0gZnJvbSAnLi4vc2lkZWJhci1jb250YWluZXIvc2lkZWJhci1jb250YWluZXIuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc2lkZWJhci5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgY29ycmVzcG9uZHMgdG8gYSBzaWRlYmFyIHRoYXQgY2FuIGJlIG9wZW5lZCBvbiB0aGUgc2lkZWJhciBjb250YWluZXIuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBzbG90IGFueSBjb250ZW50IGludG8gdGhlIHNpZGViYXIuXG4gKiBAc2xvdCB0aXRsZSAtIFVzZSB0aGUgdGl0bGUgc2xvdCB0byBhZGQgYW4gPHNiYi10aXRsZT4uXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTaWRlYmFyRWxlbWVudCBleHRlbmRzIFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zaWRlYmFyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNpZGViYXIuIEVpdGhlciBgd2hpdGVgIG9yIGBtaWxrYC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgY29sb3I6ICd3aGl0ZScgfCAnbWlsaycgPSAnd2hpdGUnO1xuXG4gIC8qKiBNb2RlIG9mIHRoZSBzaWRlYmFyOyBvbmUgb2YgJ3NpZGUnIG9yICdvdmVyJy4gKi9cbiAgQGZvcmNlVHlwZSgodikgPT4gKHYgPT09ICdvdmVyJyA/ICdvdmVyJyA6ICdzaWRlJykpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG1vZGU6ICdzaWRlJyB8ICdvdmVyJyA9ICdzaWRlJztcblxuICAvKiogVGhlIHNpZGUgdGhhdCB0aGUgc2lkZWJhciBpcyBhdHRhY2hlZCB0by4gKi9cbiAgQGZvcmNlVHlwZSgodikgPT4gKHYgPT09ICdlbmQnID8gJ2VuZCcgOiAnc3RhcnQnKSlcbiAgQGhhbmRsZURpc3RpbmN0Q2hhbmdlKChpbnN0YW5jZSwgX25ld1ZhbHVlLCBvbGRWYWx1ZSkgPT4gaW5zdGFuY2UuX3VwZGF0ZVNpZGViYXJXaWR0aChvbGRWYWx1ZSkpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIHBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCcgPSAnc3RhcnQnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzaWRlYmFyIGlzIG9wZW5lZCBvciBjbG9zZWQuXG4gICAqIENhbiBiZSB1c2VkIHRvIGluaXRpYWxseSBzZXQgdGhlIG9wZW5lZCBzdGF0ZSwgd2hlcmVcbiAgICogdGhlIGFuaW1hdGlvbiB3aWxsIGJlIHNraXBwZWQuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igb3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNpZGViYXIgc2hvdWxkIGZvY3VzIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudCBhdXRvbWF0aWNhbGx5IHdoZW4gb3BlbmVkLlxuICAgKiBEZWZhdWx0cyB0byBmYWxzZSBpbiB3aGVuIG1vZGUgaXMgc2V0IHRvIGBzaWRlYCwgb3RoZXJ3aXNlIGRlZmF1bHRzIHRvIHRydWUuXG4gICAqIElmIGV4cGxpY2l0bHkgZW5hYmxlZCwgZm9jdXMgd2lsbCBiZSBtb3ZlZCBpbnRvIHRoZSBzaWRlYmFyIGluIGBzaWRlYCBtb2RlIGFzIHdlbGwuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiAnZm9jdXMtb24tb3BlbicgfSlcbiAgcHVibGljIGFjY2Vzc29yIGZvY3VzT25PcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFJldHVybnMgdGhlIFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IHdoZXJlIHRoaXMgc2lkZWJhciBpcyBjb250YWluZWQuICovXG4gIHB1YmxpYyBnZXQgY29udGFpbmVyKCk6IFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRhaW5lcjtcbiAgfVxuICBwcml2YXRlIF9jb250YWluZXI6IFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfbGFzdEZvY3VzZWRFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9mb2N1c1RyYXBDb250cm9sbGVyID0gbmV3IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICAgICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl91cGRhdGVTaWRlYmFyV2lkdGgoKSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoZSkgPT4ge1xuICAgICAgaWYgKChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCk/LmxvY2FsTmFtZSA9PT0gJ3NiYi1zaWRlYmFyLWNsb3NlLWJ1dHRvbicpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICB0aGlzLl9jb250YWluZXIgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLXNpZGViYXItY29udGFpbmVyJyk7XG4gICAgdGhpcy5fdXBkYXRlU2lkZWJhcldpZHRoKCk7XG5cbiAgICBpZiAodGhpcy5pc09wZW4gJiYgdGhpcy5faXNNb2RlT3ZlcigpKSB7XG4gICAgICB0aGlzLl90YWtlRm9jdXMoKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICBpZiAod2luZG93Lm5hdmlnYXRpb24pIHtcbiAgICAgICAgd2luZG93Lm5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcignbmF2aWdhdGUnLCB0aGlzLl9jbG9zZU9uTmF2aWdhdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9wc3RhdGUnLCB0aGlzLl9jbG9zZU9uTmF2aWdhdGlvbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5jb250YWluZXI/LnN0eWxlLnJlbW92ZVByb3BlcnR5KHRoaXMuX2J1aWxkQ3NzV2lkdGhWYXIoKSk7XG4gICAgdGhpcy5fY29udGFpbmVyID0gbnVsbDtcblxuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIGlmICh3aW5kb3cubmF2aWdhdGlvbikge1xuICAgICAgICB3aW5kb3cubmF2aWdhdGlvbi5yZW1vdmVFdmVudExpc3RlbmVyKCduYXZpZ2F0ZScsIHRoaXMuX2Nsb3NlT25OYXZpZ2F0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdwb3BzdGF0ZScsIHRoaXMuX2Nsb3NlT25OYXZpZ2F0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZU9uTmF2aWdhdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5faXNNb2RlT3ZlcigpICYmIHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnb3BlbmVkJykpIHtcbiAgICAgIGlmICh0aGlzLm9wZW5lZCkge1xuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgIH0gZWxzZSBpZiAoIXRoaXMub3BlbmVkKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdtb2RlJykpIHtcbiAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdvdmVyJyAmJiB0aGlzLmlzT3Blbikge1xuICAgICAgICB0aGlzLl90YWtlRm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2VkZUZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fdXBkYXRlU2lkZWJhcldpZHRoKCk7XG4gIH1cblxuICAvKiogVG9nZ2xlcyB0aGUgc2lkZWJhciB2aXNpYmlsaXR5LiAqL1xuICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmluZycgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIE9wZW5zIHRoZSBzaWRlYmFyLiAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXJ0QW5pbWF0aW9uKCk7XG5cbiAgICBpZiAoIWlzU2VydmVyICYmIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmxvY2FsTmFtZSAhPT0gJ2JvZHknKSB7XG4gICAgICB0aGlzLl9sYXN0Rm9jdXNlZEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIH1cblxuICAgIHRoaXMub3BlbmVkID0gdHJ1ZTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuXG4gICAgY29uc3QgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gPSB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpIHx8ICF0aGlzLmlzQ29ubmVjdGVkO1xuICAgIGNvbnN0IGlzRHVyaW5nSW5pdGlhbGl6YXRpb24gPSAhdGhpcy5oYXNVcGRhdGVkO1xuXG4gICAgaWYgKCEoaXNEdXJpbmdJbml0aWFsaXphdGlvbiB8fCBpc1plcm9BbmltYXRpb25EdXJhdGlvbikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnc2tpcC1hbmltYXRpb24nKTtcblxuICAgIC8vIFdlIGhhdmUgdG8gd2FpdCBmb3IgdGhlIGZpcnN0IHVwZGF0ZSB0byBiZSBjb21wbGV0ZWRcbiAgICAvLyBpbiBvcmRlciB0byBoYXZlIHRoZSBzaXplIG9mIHRoZSBzaWRlYmFyIHJlYWR5IGZvciB0aGUgYW5pbWF0aW9uLlxuICAgIGlmIChpc0R1cmluZ0luaXRpYWxpemF0aW9uKSB7XG4gICAgICB0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCkgPT4gdGhpcy5faGFuZGxlT3BlbmluZygpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXNpZGViYXItY29udGFpbmVyLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG5cbiAgICAvLyBXZSBoYXZlIHRvIGVuc3VyZSB0aGF0IHJlbW92aW5nIHRoZSBhbmltYXRpb24gc2tpcCBpbnN0cnVjdGlvbiBpcyBkb25lIGEgdGljayBsYXRlci5cbiAgICAvLyBPdGhlcndpc2UsIGl0J3MgcmVtb3ZlZCB0b28gZWFybHkgYW5kIGl0IGRvZXNuJ3QgaGF2ZSBhbnkgZWZmZWN0LlxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnc2tpcC1hbmltYXRpb24nKSk7XG5cbiAgICB0aGlzLl90YWtlRm9jdXMoKTtcbiAgICB0aGlzLnN0b3BBbmltYXRpb24oKTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBzaWRlYmFyLiAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJyB8fCB0aGlzLnN0YXRlID09PSAnY2xvc2VkJyB8fCAhdGhpcy5kaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhcnRBbmltYXRpb24oKTtcblxuICAgIGNvbnN0IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uID0gdGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTtcblxuICAgIGlmICghdGhpcy5oYXNVcGRhdGVkIHx8IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdza2lwLWFuaW1hdGlvbicpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIH1cblxuICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAoIXRoaXMuaGFzVXBkYXRlZCB8fCBpc1plcm9BbmltYXRpb25EdXJhdGlvbikge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIC8vIFdlIGhhdmUgdG8gZW5zdXJlIHRoYXQgcmVtb3ZpbmcgdGhlIGFuaW1hdGlvbiBza2lwIGluc3RydWN0aW9uIGlzIGRvbmUgYSB0aWNrIGxhdGVyLlxuICAgIC8vIE90aGVyd2lzZSwgaXQncyByZW1vdmVkIHRvbyBlYXJseSBhbmQgaXQgZG9lc24ndCBoYXZlIGFueSBlZmZlY3QuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdza2lwLWFuaW1hdGlvbicpKTtcbiAgICB0aGlzLmNlZGVGb2N1cygpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAodGhpcy5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB8fCB0aGlzLl9pc01vZGVPdmVyKCkpKSB7XG4gICAgICBpZiAodGhpcy5fbGFzdEZvY3VzZWRFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuX2xhc3RGb2N1c2VkRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdlIGRvbid0IGtub3cgd2hlcmUgdG8gc2V0IHRoZSBmb2N1cywgYnV0IGhhdmUgdG8gcmVtb3ZlIGl0LCBzbyB3ZSBjYWxsIGJsdXJcbiAgICAgICAgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmJsdXIoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fbGFzdEZvY3VzZWRFbGVtZW50ID0gbnVsbDtcblxuICAgIHRoaXMuc3RvcEFuaW1hdGlvbigpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF90YWtlRm9jdXMoKTogdm9pZCB7XG4gICAgLy8gV2UgcHJldmVudCBjYWxsaW5nIHRoZSBmb2N1cyBzdHVmZiB3aGVuIG5vdCBuZWVkZWRcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaXNNb2RlT3ZlciA9IHRoaXMuX2lzTW9kZU92ZXIoKTtcblxuICAgIGlmIChpc01vZGVPdmVyIHx8IHRoaXMuZm9jdXNPbk9wZW4pIHtcbiAgICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIH1cblxuICAgIGlmIChpc01vZGVPdmVyKSB7XG4gICAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEludGVybmFsIG1ldGhvZCB0aGF0IHdlIHVzZSBleHRlcm5hbGx5LiBgcHJvdGVjdGVkYCBwcmVzZXJ2ZXMgdHlwZSBpbmZvcm1hdGlvbiBmb3IgdHlwZSBzYWZlIGFjY2Vzcy5cbiAgcHJvdGVjdGVkIGNlZGVGb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVTaWRlYmFyV2lkdGgob2xkUG9zaXRpb24/OiB0aGlzWydwb3NpdGlvbiddKTogdm9pZCB7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jb250YWluZXI7XG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAob2xkUG9zaXRpb24pIHtcbiAgICAgIGNvbnRhaW5lci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0aGlzLl9idWlsZENzc1dpZHRoVmFyKG9sZFBvc2l0aW9uKSk7XG4gICAgfVxuXG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLm9mZnNldFdpZHRoO1xuICAgIGlmICghd2lkdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdWYWx1ZSA9IGAke3dpZHRofXB4YDtcbiAgICBjb25zdCBhY3R1YWxWYWx1ZSA9IGNvbnRhaW5lci5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKHRoaXMuX2J1aWxkQ3NzV2lkdGhWYXIoKSk7XG5cbiAgICBpZiAoYWN0dWFsVmFsdWUgPT09IG5ld1ZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29udGFpbmVyLnN0eWxlLnNldFByb3BlcnR5KHRoaXMuX2J1aWxkQ3NzV2lkdGhWYXIoKSwgbmV3VmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYnVpbGRDc3NXaWR0aFZhcihwb3NpdGlvbiA9IHRoaXMucG9zaXRpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBgLS1fc2JiLXNpZGViYXItY29udGFpbmVyLSR7cG9zaXRpb259LXdpZHRoYDtcbiAgfVxuXG4gIHByaXZhdGUgX2lzTW9kZU92ZXIoKTogYm9vbGVhbiB7XG4gICAgLy8gSWYgdGhlIG1pbmltdW0gc3BhY2UgYXR0cmlidXRlIGlzIHNldCwgdGhlIHNpZGViYXIgc2hvdWxkIGJlaGF2ZSBsaWtlIGluIG1vZGUgb3Zlci5cbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnb3ZlcicgfHwgdGhpcy5tYXRjaGVzKCc6c3RhdGUobW9kZS1vdmVyLWZvcmNlZCknKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uVHJhbnNpdGlvbkVuZChldmVudDogVHJhbnNpdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgLy8gV2UgZW5zdXJlIHRoYXQgd2UgcmVhY3QgdG8gdGhlIGZhZGUgaW4gdHJhbnNpdGlvbiBvbiB0aGUgc2JiLXNpZGViYXIgZGl2XG4gICAgaWYgKGV2ZW50LnByb3BlcnR5TmFtZSAhPT0gJ3RyYW5zbGF0ZScgfHwgZXZlbnQudGFyZ2V0ICE9PSBldmVudC5jdXJyZW50VGFyZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgQGV2ZW50T3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSlcbiAgcHJpdmF0ZSBfZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKFxuICAgICAgJ3Njcm9sbGVkJyxcbiAgICAgICh0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoJy5zYmItc2lkZWJhci1jb250ZW50LXNlY3Rpb24nKT8uc2Nyb2xsVG9wID8/IDApID4gMCxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cInNiYi1zaWRlYmFyXCIgQHRyYW5zaXRpb25lbmQ9JHt0aGlzLl9vblRyYW5zaXRpb25FbmR9PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zaWRlYmFyLXRpdGxlLXNlY3Rpb25cIj48c2xvdCBuYW1lPVwidGl0bGUtc2VjdGlvblwiPjwvc2xvdD48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc2lkZWJhci1jb250ZW50LXNlY3Rpb25cIiBAc2Nyb2xsPSR7KCkgPT4gdGhpcy5fZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpfT5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+YDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNpZGViYXInOiBTYmJTaWRlYmFyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7SUMrQmEsMkJBQWlCO21CQUFTLDBCQUEwQix3QkFBd0I7Ozs7Ozs7Ozs7Ozs7Ozs7OztjQUE1RSwwQkFBMEIsWUFBa0Q7Ozt3QkFLdEYsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7dUJBSTNCLFdBQVcsTUFBTyxNQUFN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
|
package/development/sidebar.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as SbbSidebarCloseButtonElement } from "./sidebar-close-button.component-DYE0tK-I.js";
|
|
2
2
|
import { t as SbbSidebarContainerElement } from "./sidebar-container.component-CC9TtB6I.js";
|
|
3
|
-
import { t as SbbSidebarContentElement } from "./sidebar-content.component-
|
|
3
|
+
import { t as SbbSidebarContentElement } from "./sidebar-content.component-DbcREBUa.js";
|
|
4
4
|
import { t as SbbSidebarTitleElement } from "./sidebar-title.component-DBb5MfIC.js";
|
|
5
|
-
import { t as SbbSidebarElement } from "./sidebar.component-
|
|
5
|
+
import { t as SbbSidebarElement } from "./sidebar.component-zMWbdz0h.js";
|
|
6
6
|
import "./sidebar.pure.js";
|
|
7
7
|
//#region src/elements/sidebar.ts
|
|
8
8
|
/** @entrypoint */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as SbbSidebarCloseButtonElement } from "./sidebar-close-button.component-DYE0tK-I.js";
|
|
2
2
|
import { t as SbbSidebarContainerElement } from "./sidebar-container.component-CC9TtB6I.js";
|
|
3
|
-
import { t as SbbSidebarContentElement } from "./sidebar-content.component-
|
|
3
|
+
import { t as SbbSidebarContentElement } from "./sidebar-content.component-DbcREBUa.js";
|
|
4
4
|
import { t as SbbSidebarTitleElement } from "./sidebar-title.component-DBb5MfIC.js";
|
|
5
|
-
import { t as SbbSidebarElement } from "./sidebar.component-
|
|
5
|
+
import { t as SbbSidebarElement } from "./sidebar.component-zMWbdz0h.js";
|
|
6
6
|
export { SbbSidebarCloseButtonElement, SbbSidebarContainerElement, SbbSidebarContentElement, SbbSidebarElement, SbbSidebarTitleElement };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { unsafeCSS } from "lit";
|
|
2
|
+
//#region src/elements/core/styles/box-sizing.scss?inline
|
|
3
|
+
var box_sizing_default = "*,\n::before,\n::after {\n box-sizing: border-box;\n}";
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region src/elements/core/styles/host-scrollbar.scss?inline
|
|
6
|
+
var host_scrollbar_default = ":host {\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n --sbb-scrollbar-thumb-width: 0.125rem;\n --sbb-scrollbar-thumb-width-hover: 0.25rem;\n --sbb-scrollbar-width-firefox: thin;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);\n --sbb-scrollbar-color: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 30%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 30%, transparent)\n );\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);\n --sbb-scrollbar-color-hover: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 60%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 60%, transparent)\n );\n --sbb-scrollbar-track-color: transparent;\n}\n:host::-webkit-scrollbar {\n width: var(--sbb-scrollbar-width);\n height: var(--sbb-scrollbar-width);\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n:host::-webkit-scrollbar-corner {\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n:host::-webkit-scrollbar-thumb {\n background-color: var(--sbb-scrollbar-color, currentcolor);\n border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;\n border-radius: var(--sbb-border-radius-4x);\n background-clip: padding-box;\n}\n:host::-webkit-scrollbar-thumb:hover {\n background-color: var(--sbb-scrollbar-color-hover, currentcolor);\n border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));\n}\n:host::-webkit-scrollbar-button, :host::-webkit-scrollbar-corner {\n display: none;\n}\n@supports not selector(::-webkit-scrollbar) {\n :host {\n scrollbar-width: var(--sbb-scrollbar-width-firefox);\n scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);\n }\n}";
|
|
7
|
+
//#endregion
|
|
8
|
+
//#region src/elements/core/styles/styles.ts
|
|
9
|
+
var boxSizingStyles = unsafeCSS(box_sizing_default);
|
|
10
|
+
var hostScrollbarStyles = unsafeCSS(host_scrollbar_default);
|
|
11
|
+
//#endregion
|
|
12
|
+
export { hostScrollbarStyles as n, boxSizingStyles as t };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLURjdUpnd0V0LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3N0eWxlcy9ib3gtc2l6aW5nLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvc3R5bGVzL2hvc3Qtc2Nyb2xsYmFyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvc3R5bGVzL3N0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuL21peGlucy9oZWxwZXJzJztcblxuQGluY2x1ZGUgaGVscGVycy5ib3gtc2l6aW5nO1xuIiwiQHVzZSAnLi9taXhpbnMvc2Nyb2xsYmFyJztcblxuOmhvc3Qge1xuICBAaW5jbHVkZSBzY3JvbGxiYXIuc2Nyb2xsYmFyLXZhcmlhYmxlcztcbiAgQGluY2x1ZGUgc2Nyb2xsYmFyLnNjcm9sbGJhci1ydWxlcztcbn1cbiIsImltcG9ydCB7IHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCBib3hTaXppbmdTdHlsZXNTdHJpbmcgZnJvbSAnLi9ib3gtc2l6aW5nLnNjc3M/aW5saW5lJztcbmltcG9ydCBob3N0U2Nyb2xsYmFyU3RyaW5nIGZyb20gJy4vaG9zdC1zY3JvbGxiYXIuc2Nzcz9pbmxpbmUnO1xuXG5leHBvcnQgY29uc3QgYm94U2l6aW5nU3R5bGVzID0gdW5zYWZlQ1NTKGJveFNpemluZ1N0eWxlc1N0cmluZyk7XG5leHBvcnQgY29uc3QgaG9zdFNjcm9sbGJhclN0eWxlcyA9IHVuc2FmZUNTUyhob3N0U2Nyb2xsYmFyU3RyaW5nKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUVLQSxJQUFhLGtCQUFrQixVQUFVLG1CQUFzQjtBQUMvRCxJQUFhLHNCQUFzQixVQUFVLHVCQUFvQiJ9
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { html, unsafeCSS } from "lit";
|
|
2
|
+
import { SbbElement, hostScrollbarStyles } from "./core.js";
|
|
3
|
+
import { ResizeController } from "@lit-labs/observers/resize-controller.js";
|
|
4
|
+
//#region src/elements/tabs/tab/tab.scss?inline
|
|
5
|
+
var tab_default = "@charset \"UTF-8\";\n:host::after, :host::before {\n content: \"\xA0\";\n display: block;\n visibility: hidden;\n height: 0;\n overflow: hidden;\n}\n\n:host(: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}\n\n:host(:not(:is(:state(active),[state--active]))) {\n display: none !important;\n}\n\n:host(:is(:state(active),[state--active])) {\n display: block;\n opacity: 1;\n transition-duration: var(--sbb-tab-group-animation-duration);\n transition-delay: var(--sbb-tab-group-animation-duration);\n transition-timing-function: var(--sbb-animation-easing);\n transition-property: opacity, height;\n transition-behavior: allow-discrete;\n}\n@starting-style {\n :host(:is(:state(active),[state--active])) {\n opacity: 0;\n }\n}";
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region src/elements/tabs/tab/tab.component.ts
|
|
8
|
+
/**
|
|
9
|
+
* Combined with a `sbb-tab-group` and `sbb-tab-label`, it displays a tab's content.
|
|
10
|
+
*
|
|
11
|
+
* @slot - Use the unnamed slot to provide content.
|
|
12
|
+
* @event {Event} active - The `active` event fires when the sbb-tab has been activated via user selection on the sbb-tab-label.
|
|
13
|
+
*/
|
|
14
|
+
var SbbTabElement = class extends SbbElement {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this._tabContentResizeObserver = new ResizeController(this, {
|
|
18
|
+
target: null,
|
|
19
|
+
skipInitial: true,
|
|
20
|
+
callback: () => this._onTabContentElementResize()
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
static {
|
|
24
|
+
this.elementName = "sbb-tab";
|
|
25
|
+
}
|
|
26
|
+
static {
|
|
27
|
+
this.role = "tabpanel";
|
|
28
|
+
}
|
|
29
|
+
static {
|
|
30
|
+
this.styles = [hostScrollbarStyles, unsafeCSS(tab_default)];
|
|
31
|
+
}
|
|
32
|
+
static {
|
|
33
|
+
this.events = { active: "active" };
|
|
34
|
+
}
|
|
35
|
+
/** The `sbb-tab-label` associated with the tab. */
|
|
36
|
+
get label() {
|
|
37
|
+
return this.previousElementSibling?.localName === "sbb-tab-label" ? this.previousElementSibling : null;
|
|
38
|
+
}
|
|
39
|
+
/** Get the parent `sbb-tab-group`. */
|
|
40
|
+
get group() {
|
|
41
|
+
return this.closest("sbb-tab-group");
|
|
42
|
+
}
|
|
43
|
+
connectedCallback() {
|
|
44
|
+
super.connectedCallback();
|
|
45
|
+
this.tabIndex = 0;
|
|
46
|
+
this.classList.add("sbb-scrollbar");
|
|
47
|
+
}
|
|
48
|
+
/** @internal */
|
|
49
|
+
activate() {
|
|
50
|
+
this.internals.states.add("active");
|
|
51
|
+
this._tabContentResizeObserver.observe(this);
|
|
52
|
+
}
|
|
53
|
+
/** @internal */
|
|
54
|
+
deactivate() {
|
|
55
|
+
this._tabContentResizeObserver.unobserve(this);
|
|
56
|
+
this.internals.states.delete("active");
|
|
57
|
+
}
|
|
58
|
+
_onTabContentElementResize() {
|
|
59
|
+
this.group?.["setTabContentHeight"](Math.floor(this.getBoundingClientRect().height));
|
|
60
|
+
}
|
|
61
|
+
render() {
|
|
62
|
+
return html`<slot></slot>`;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
//#endregion
|
|
66
|
+
export { SbbTabElement as t };
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC1CVmhZUHk1WS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWIvdGFiLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiL3RhYi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBAaW5jbHVkZSBzYmIuaWdub3JlLWNoaWxkcmVuLW1hcmdpbjtcbn1cblxuOmhvc3QoOmZvY3VzLXZpc2libGUpIHtcbiAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG59XG5cbjpob3N0KDpub3QoOnN0YXRlKGFjdGl2ZSkpKSB7XG4gIC8vIFdlIHdhbnQgdGhhdCBhIGNvbnN1bWVyIGNhbiBoYXZlIGEgZGlmZmVyZW50IGRpc3BsYXkgcHJvcGVydHkgb24gdGhlIHRhYiwgZS5nLiBmbGV4LCBncmlkLCBldGMuXG4gIC8vIEJ1dCBpZiB0aGUgdGFiIGlzIG5vdCBhY3RpdmUsIGRpc3BsYXk6IG5vbmUgc2hvdWxkIGFsd2F5cyB3aW4uXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuOmhvc3QoOnN0YXRlKGFjdGl2ZSkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IHtcbiAgICBkdXJhdGlvbjogdmFyKC0tc2JiLXRhYi1ncm91cC1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgIGRlbGF5OiB2YXIoLS1zYmItdGFiLWdyb3VwLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgcHJvcGVydHk6IG9wYWNpdHksIGhlaWdodDtcbiAgfVxuXG4gIC8vIEV4cGVyaW1lbnRhbCBwcm9wZXJ0eSwgYnV0IHN1cHBvcnRlZCBpbiBldmVyeSBtYWpvciBicm93c2VyLlxuICB0cmFuc2l0aW9uLWJlaGF2aW9yOiBhbGxvdy1kaXNjcmV0ZTtcblxuICAvLyBFeHBlcmltZW50YWwgcHJvcGVydHksIGN1cnJlbnRseSBzdXBwb3J0ZWQgaW4gZXZlcnkgbWFqb3IgYnJvd3NlciBleGNlcHQgRmlyZWZveC5cbiAgQHN0YXJ0aW5nLXN0eWxlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCJpbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBob3N0U2Nyb2xsYmFyU3R5bGVzLCBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRhYkdyb3VwRWxlbWVudCB9IGZyb20gJy4uL3RhYi1ncm91cC90YWItZ3JvdXAuY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFiTGFiZWxFbGVtZW50IH0gZnJvbSAnLi4vdGFiLWxhYmVsL3RhYi1sYWJlbC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWIuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBgc2JiLXRhYi1ncm91cGAgYW5kIGBzYmItdGFiLWxhYmVsYCwgaXQgZGlzcGxheXMgYSB0YWIncyBjb250ZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBjb250ZW50LlxuICogQGV2ZW50IHtFdmVudH0gYWN0aXZlIC0gVGhlIGBhY3RpdmVgIGV2ZW50IGZpcmVzIHdoZW4gdGhlIHNiYi10YWIgaGFzIGJlZW4gYWN0aXZhdGVkIHZpYSB1c2VyIHNlbGVjdGlvbiBvbiB0aGUgc2JiLXRhYi1sYWJlbC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRhYkVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10YWInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJvbGUgPSAndGFicGFuZWwnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbaG9zdFNjcm9sbGJhclN0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGFjdGl2ZTogJ2FjdGl2ZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy5fb25UYWJDb250ZW50RWxlbWVudFJlc2l6ZSgpLFxuICB9KTtcblxuICAvKiogVGhlIGBzYmItdGFiLWxhYmVsYCBhc3NvY2lhdGVkIHdpdGggdGhlIHRhYi4gKi9cbiAgcHVibGljIGdldCBsYWJlbCgpOiBTYmJUYWJMYWJlbEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nPy5sb2NhbE5hbWUgPT09ICdzYmItdGFiLWxhYmVsJ1xuICAgICAgPyAodGhpcy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nIGFzIFNiYlRhYkxhYmVsRWxlbWVudClcbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIHBhcmVudCBgc2JiLXRhYi1ncm91cGAuICovXG4gIHB1YmxpYyBnZXQgZ3JvdXAoKTogU2JiVGFiR3JvdXBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY2xvc2VzdCgnc2JiLXRhYi1ncm91cCcpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy50YWJJbmRleCA9IDA7XG5cbiAgICAvLyBXaGVuIGluY2x1ZGluZyB0aGUgc2Nyb2xsYmFyIHN0eWxlcyBvbiB0aGUgaG9zdCwgdGhlcmUgaXMgbm8gaG92ZXIgZWZmZWN0IG9mIHRoZSBzY3JvbGxiYXIgcG9zc2libGUuXG4gICAgLy8gSW4gbW9zdCBjYXNlcywgdGhlIGNvbXBvbmVudCB3aWxsIGJlIHVzZWQgaW4gTGlnaHQgRE9NLiBUbyBhbHNvIHN1cHBvcnQgdGhlIGhvdmVyIGVmZmVjdCxcbiAgICAvLyB3ZSBhZGRpdGlvbmFsbHkgYWRkIHRoZSBgc2JiLXNjcm9sbGJhcmAgQ1NTIGNsYXNzIHRvIHRoZSBob3N0LlxuICAgIC8vIFRoaXMgaXMgYW4gZXhjZXB0aW9uIGFzIHdlIG5vcm1hbGx5IGRvbid0IGFsdGVyIHRoZSBjbGFzc0xpc3Qgb2YgdGhlIGhvc3QuXG4gICAgdGhpcy5jbGFzc0xpc3QuYWRkKCdzYmItc2Nyb2xsYmFyJyk7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdhY3RpdmUnKTtcbiAgICB0aGlzLl90YWJDb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIGRlYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzKTtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdhY3RpdmUnKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uVGFiQ29udGVudEVsZW1lbnRSZXNpemUoKTogdm9pZCB7XG4gICAgdGhpcy5ncm91cD8uWydzZXRUYWJDb250ZW50SGVpZ2h0J10oTWF0aC5mbG9vcih0aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNsb3Q+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWInOiBTYmJUYWJFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUNlQSxJQUFhLGdCQUFiLGNBQW1DLFdBQVU7Q0FBN0MsY0FBQTs7QUFRVSxPQUFBLDRCQUE0QixJQUFJLGlCQUFpQixNQUFNO0dBQzdELFFBQVE7R0FDUixhQUFhO0dBQ2IsZ0JBQWdCLEtBQUssNEJBQUE7R0FDdEIsQ0FBQzs7O0FBWDhCLE9BQUEsY0FBc0I7OztBQUMvQixPQUFBLE9BQU87OztBQUNQLE9BQUEsU0FBeUIsQ0FBQyxxQkFBcUIsVUFBVSxZQUFNLENBQUM7OztBQUNoRSxPQUFBLFNBQVMsRUFDOUIsUUFBUSxVQUNBOzs7Q0FTVixJQUFXLFFBQUs7QUFDZCxTQUFPLEtBQUssd0JBQXdCLGNBQWMsa0JBQzdDLEtBQUsseUJBQ047OztDQUlOLElBQVcsUUFBSztBQUNkLFNBQU8sS0FBSyxRQUFRLGdCQUFnQjs7Q0FHdEIsb0JBQWlCO0FBQy9CLFFBQU0sbUJBQW1CO0FBQ3pCLE9BQUssV0FBVztBQU1oQixPQUFLLFVBQVUsSUFBSSxnQkFBZ0I7OztDQUkzQixXQUFRO0FBQ2hCLE9BQUssVUFBVSxPQUFPLElBQUksU0FBUztBQUNuQyxPQUFLLDBCQUEwQixRQUFRLEtBQUs7OztDQUlwQyxhQUFVO0FBQ2xCLE9BQUssMEJBQTBCLFVBQVUsS0FBSztBQUM5QyxPQUFLLFVBQVUsT0FBTyxPQUFPLFNBQVM7O0NBR2hDLDZCQUEwQjtBQUNoQyxPQUFLLFFBQVEsdUJBQXVCLEtBQUssTUFBTSxLQUFLLHVCQUF1QixDQUFDLE9BQU8sQ0FBQzs7Q0FHbkUsU0FBTTtBQUN2QixTQUFPLElBQUkifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-wrapper.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/table/table-wrapper/table-wrapper.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAGb,OAAO,
|
|
1
|
+
{"version":3,"file":"table-wrapper.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/table/table-wrapper/table-wrapper.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAGb,OAAO,EAAkC,UAAU,EAAoB,MAAM,eAAe,CAAC;;AAI7F;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,2BAA4B;IACtE,gBAAgC,WAAW,EAAE,MAAM,CAAuB;IAC1E,gBAAgC,IAAI,aAAa;IACjD,OAAuB,MAAM,EAAE,cAAc,CAA2C;IAExF,8CAA8C;IAC9C,SAEgB,SAAS,EAAE,OAAO,CAAS;;IAgB3B,iBAAiB,IAAI,IAAI;cAUtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAkB5E,OAAO,CAAC,qBAAqB;IAa7B;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAWvC,OAAO,CAAC,sBAAsB;cAeX,MAAM,IAAI,cAAc;CAG5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbTableWrapperElement } from "../../table-wrapper.component-
|
|
1
|
+
import { t as SbbTableWrapperElement } from "../../table-wrapper.component-DcLwEDzr.js";
|
|
2
2
|
export { SbbTableWrapperElement };
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
+
import { html, isServer, unsafeCSS } from "lit";
|
|
3
|
+
import { property } from "lit/decorators.js";
|
|
4
|
+
import { SbbElement, SbbNegativeMixin, forceType, hostScrollbarStyles } from "./core.js";
|
|
5
|
+
import { ResizeController } from "@lit-labs/observers/resize-controller.js";
|
|
6
|
+
//#region src/elements/table/table-wrapper/table-wrapper.scss?inline
|
|
7
|
+
var table_wrapper_default = ":host {\n display: block;\n overflow: auto;\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n --sbb-scrollbar-thumb-width: 0.5rem;\n --sbb-scrollbar-thumb-width-hover: var(--sbb-scrollbar-thumb-width);\n --sbb-scrollbar-width-firefox: auto;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);\n --sbb-scrollbar-color: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 30%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 30%, transparent)\n );\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);\n --sbb-scrollbar-color-hover: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 60%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 60%, transparent)\n );\n --sbb-scrollbar-track-color: var(--sbb-background-color-4);\n}\n\n:host(: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}\n\n::slotted(.sbb-table) {\n width: 100%;\n}\n\n:host([negative]) {\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n --sbb-scrollbar-thumb-width: 0.5rem;\n --sbb-scrollbar-thumb-width-hover: var(--sbb-scrollbar-thumb-width);\n --sbb-scrollbar-width-firefox: auto;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-white) 30%, transparent);\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-white) 60%, transparent);\n --sbb-scrollbar-track-color: var(--sbb-background-color-4-negative);\n}";
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/elements/table/table-wrapper/table-wrapper.component.ts
|
|
10
|
+
/**
|
|
11
|
+
* Wraps a table to enhance its functionality.
|
|
12
|
+
*
|
|
13
|
+
* @slot - Use the unnamed slot to add the table.
|
|
14
|
+
*/
|
|
15
|
+
var SbbTableWrapperElement = (() => {
|
|
16
|
+
let _classSuper = SbbNegativeMixin(SbbElement);
|
|
17
|
+
let _focusable_decorators;
|
|
18
|
+
let _focusable_initializers = [];
|
|
19
|
+
let _focusable_extraInitializers = [];
|
|
20
|
+
return class SbbTableWrapperElement extends _classSuper {
|
|
21
|
+
static {
|
|
22
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
23
|
+
_focusable_decorators = [forceType(), property({
|
|
24
|
+
reflect: true,
|
|
25
|
+
type: Boolean
|
|
26
|
+
})];
|
|
27
|
+
__esDecorate(this, null, _focusable_decorators, {
|
|
28
|
+
kind: "accessor",
|
|
29
|
+
name: "focusable",
|
|
30
|
+
static: false,
|
|
31
|
+
private: false,
|
|
32
|
+
access: {
|
|
33
|
+
has: (obj) => "focusable" in obj,
|
|
34
|
+
get: (obj) => obj.focusable,
|
|
35
|
+
set: (obj, value) => {
|
|
36
|
+
obj.focusable = value;
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
metadata: _metadata
|
|
40
|
+
}, _focusable_initializers, _focusable_extraInitializers);
|
|
41
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
42
|
+
enumerable: true,
|
|
43
|
+
configurable: true,
|
|
44
|
+
writable: true,
|
|
45
|
+
value: _metadata
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
static {
|
|
49
|
+
this.elementName = "sbb-table-wrapper";
|
|
50
|
+
}
|
|
51
|
+
static {
|
|
52
|
+
this.role = "section";
|
|
53
|
+
}
|
|
54
|
+
static {
|
|
55
|
+
this.styles = [hostScrollbarStyles, unsafeCSS(table_wrapper_default)];
|
|
56
|
+
}
|
|
57
|
+
#focusable_accessor_storage = __runInitializers(this, _focusable_initializers, false);
|
|
58
|
+
/** Whether the table wrapper is focusable. */
|
|
59
|
+
get focusable() {
|
|
60
|
+
return this.#focusable_accessor_storage;
|
|
61
|
+
}
|
|
62
|
+
set focusable(value) {
|
|
63
|
+
this.#focusable_accessor_storage = value;
|
|
64
|
+
}
|
|
65
|
+
constructor() {
|
|
66
|
+
super();
|
|
67
|
+
__runInitializers(this, _focusable_extraInitializers);
|
|
68
|
+
this.addController(new ResizeController(this, {
|
|
69
|
+
skipInitial: true,
|
|
70
|
+
callback: () => this._checkHorizontalScrollbarOffset()
|
|
71
|
+
}));
|
|
72
|
+
this.addEventListener?.("scroll", () => this._checkHorizontalScrollbarOffset(), { passive: true });
|
|
73
|
+
}
|
|
74
|
+
connectedCallback() {
|
|
75
|
+
super.connectedCallback();
|
|
76
|
+
this._updateScrollbarClass();
|
|
77
|
+
}
|
|
78
|
+
willUpdate(changedProperties) {
|
|
79
|
+
super.willUpdate(changedProperties);
|
|
80
|
+
if (changedProperties.has("focusable")) if (this.focusable) {
|
|
81
|
+
if (!this.hasAttribute("tabindex")) this.setAttribute("tabindex", "0");
|
|
82
|
+
} else this.removeAttribute("tabindex");
|
|
83
|
+
if (changedProperties.has("negative")) this._updateScrollbarClass();
|
|
84
|
+
}
|
|
85
|
+
_updateScrollbarClass() {
|
|
86
|
+
if (isServer) return;
|
|
87
|
+
if (this.negative) {
|
|
88
|
+
this.classList.remove("sbb-scrollbar-thick-track-visible");
|
|
89
|
+
this.classList.add("sbb-scrollbar-thick-negative-track-visible");
|
|
90
|
+
} else {
|
|
91
|
+
this.classList.remove("sbb-scrollbar-thick-negative-track-visible");
|
|
92
|
+
this.classList.add("sbb-scrollbar-thick-track-visible");
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Calculates whether the table is horizontally scrolled and adds the
|
|
97
|
+
* corresponding class `sbb-table-wrapper-offset-${none | left | right | both}`
|
|
98
|
+
*/
|
|
99
|
+
_checkHorizontalScrollbarOffset() {
|
|
100
|
+
const state = this._calculateScrollOffset();
|
|
101
|
+
this.classList.remove(`sbb-table-wrapper-offset-none`, `sbb-table-wrapper-offset-left`, `sbb-table-wrapper-offset-right`, `sbb-table-wrapper-offset-both`);
|
|
102
|
+
this.classList.add(`sbb-table-wrapper-offset-${state}`);
|
|
103
|
+
}
|
|
104
|
+
_calculateScrollOffset() {
|
|
105
|
+
if (this.scrollWidth === this.offsetWidth) return "none";
|
|
106
|
+
const isAtStart = this.scrollLeft === 0;
|
|
107
|
+
const isAtEnd = this.scrollWidth - this.scrollLeft - this.offsetWidth <= 1;
|
|
108
|
+
if (isAtStart) return isAtEnd ? "none" : "right";
|
|
109
|
+
return isAtEnd ? "left" : "both";
|
|
110
|
+
}
|
|
111
|
+
render() {
|
|
112
|
+
return html`<slot></slot>`;
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
})();
|
|
116
|
+
//#endregion
|
|
117
|
+
export { SbbTableWrapperElement as t };
|
|
118
|
+
|
|
119
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtd3JhcHBlci5jb21wb25lbnQtRGNMd0VEenIuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYmxlL3RhYmxlLXdyYXBwZXIvdGFibGUtd3JhcHBlci5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90YWJsZS90YWJsZS13cmFwcGVyL3RhYmxlLXdyYXBwZXIuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIEBpbmNsdWRlIHNiYi5zY3JvbGxiYXItdmFyaWFibGVzKCRzaXplOiB0aGljaywgJG5lZ2F0aXZlOiBmYWxzZSwgJHRyYWNrLXZpc2libGU6IHRydWUpO1xufVxuXG46aG9zdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBAaW5jbHVkZSBzYmIuZm9jdXMtb3V0bGluZTtcbn1cblxuOjpzbG90dGVkKC5zYmItdGFibGUpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgQGluY2x1ZGUgc2JiLnNjcm9sbGJhci12YXJpYWJsZXMoJHNpemU6IHRoaWNrLCAkbmVnYXRpdmU6IHRydWUsICR0cmFjay12aXNpYmxlOiB0cnVlKTtcbn1cbiIsImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlLCBob3N0U2Nyb2xsYmFyU3R5bGVzLCBTYmJFbGVtZW50LCBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhYmxlLXdyYXBwZXIuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIFdyYXBzIGEgdGFibGUgdG8gZW5oYW5jZSBpdHMgZnVuY3Rpb25hbGl0eS5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCB0aGUgdGFibGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJUYWJsZVdyYXBwZXJFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdGFibGUtd3JhcHBlcic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICdzZWN0aW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2hvc3RTY3JvbGxiYXJTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0YWJsZSB3cmFwcGVyIGlzIGZvY3VzYWJsZS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGZvY3VzYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICAgICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9jaGVja0hvcml6b250YWxTY3JvbGxiYXJPZmZzZXQoKSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Lignc2Nyb2xsJywgKCkgPT4gdGhpcy5fY2hlY2tIb3Jpem9udGFsU2Nyb2xsYmFyT2Zmc2V0KCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIC8vIFdoZW4gaW5jbHVkaW5nIHRoZSBzY3JvbGxiYXIgc3R5bGVzIG9uIHRoZSBob3N0LCB0aGVyZSBpcyBubyBob3ZlciBlZmZlY3Qgb2YgdGhlIHNjcm9sbGJhciBwb3NzaWJsZS5cbiAgICAvLyBJbiBtb3N0IGNhc2VzLCB0aGUgY29tcG9uZW50IHdpbGwgYmUgdXNlZCBpbiBMaWdodCBET00uIFRvIGFsc28gc3VwcG9ydCB0aGUgaG92ZXIgZWZmZWN0LFxuICAgIC8vIHdlIGFkZGl0aW9uYWxseSBhZGQgdGhlIHNjcm9sbGJhciBDU1MgY2xhc3NlcyB0byB0aGUgaG9zdC5cbiAgICAvLyBUaGlzIGlzIGFuIGV4Y2VwdGlvbiBhcyB3ZSBub3JtYWxseSBkb24ndCBhbHRlciB0aGUgY2xhc3NMaXN0IG9mIHRoZSBob3N0LlxuICAgIHRoaXMuX3VwZGF0ZVNjcm9sbGJhckNsYXNzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2ZvY3VzYWJsZScpKSB7XG4gICAgICBpZiAodGhpcy5mb2N1c2FibGUpIHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc0F0dHJpYnV0ZSgndGFiaW5kZXgnKSkge1xuICAgICAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICcwJyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVNjcm9sbGJhckNsYXNzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlU2Nyb2xsYmFyQ2xhc3MoKTogdm9pZCB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLm5lZ2F0aXZlKSB7XG4gICAgICB0aGlzLmNsYXNzTGlzdC5yZW1vdmUoJ3NiYi1zY3JvbGxiYXItdGhpY2stdHJhY2stdmlzaWJsZScpO1xuICAgICAgdGhpcy5jbGFzc0xpc3QuYWRkKCdzYmItc2Nyb2xsYmFyLXRoaWNrLW5lZ2F0aXZlLXRyYWNrLXZpc2libGUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbGFzc0xpc3QucmVtb3ZlKCdzYmItc2Nyb2xsYmFyLXRoaWNrLW5lZ2F0aXZlLXRyYWNrLXZpc2libGUnKTtcbiAgICAgIHRoaXMuY2xhc3NMaXN0LmFkZCgnc2JiLXNjcm9sbGJhci10aGljay10cmFjay12aXNpYmxlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBDYWxjdWxhdGVzIHdoZXRoZXIgdGhlIHRhYmxlIGlzIGhvcml6b250YWxseSBzY3JvbGxlZCBhbmQgYWRkcyB0aGVcbiAgICogIGNvcnJlc3BvbmRpbmcgY2xhc3MgYHNiYi10YWJsZS13cmFwcGVyLW9mZnNldC0ke25vbmUgfCBsZWZ0IHwgcmlnaHQgfCBib3RofWBcbiAgICovXG4gIHByaXZhdGUgX2NoZWNrSG9yaXpvbnRhbFNjcm9sbGJhck9mZnNldCgpOiB2b2lkIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX2NhbGN1bGF0ZVNjcm9sbE9mZnNldCgpO1xuICAgIHRoaXMuY2xhc3NMaXN0LnJlbW92ZShcbiAgICAgIGBzYmItdGFibGUtd3JhcHBlci1vZmZzZXQtbm9uZWAsXG4gICAgICBgc2JiLXRhYmxlLXdyYXBwZXItb2Zmc2V0LWxlZnRgLFxuICAgICAgYHNiYi10YWJsZS13cmFwcGVyLW9mZnNldC1yaWdodGAsXG4gICAgICBgc2JiLXRhYmxlLXdyYXBwZXItb2Zmc2V0LWJvdGhgLFxuICAgICk7XG4gICAgdGhpcy5jbGFzc0xpc3QuYWRkKGBzYmItdGFibGUtd3JhcHBlci1vZmZzZXQtJHtzdGF0ZX1gKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZVNjcm9sbE9mZnNldCgpOiAnbm9uZScgfCAnbGVmdCcgfCAncmlnaHQnIHwgJ2JvdGgnIHtcbiAgICBpZiAodGhpcy5zY3JvbGxXaWR0aCA9PT0gdGhpcy5vZmZzZXRXaWR0aCkge1xuICAgICAgcmV0dXJuICdub25lJztcbiAgICB9XG4gICAgY29uc3QgaXNBdFN0YXJ0ID0gdGhpcy5zY3JvbGxMZWZ0ID09PSAwO1xuICAgIC8vIEluIHNvbWUgY2FzZXMgdGhlIGNvbWJpbmVkIHZhbHVlIG9mIHNjcm9sbExlZnQgYW5kIG9mZnNldFdpZHRoIGlzIG9mZiBieVxuICAgIC8vIDEgcGl4ZWwgZnJvbSB0aGUgc2Nyb2xsV2lkdGguXG4gICAgY29uc3QgaXNBdEVuZCA9IHRoaXMuc2Nyb2xsV2lkdGggLSB0aGlzLnNjcm9sbExlZnQgLSB0aGlzLm9mZnNldFdpZHRoIDw9IDE7XG5cbiAgICBpZiAoaXNBdFN0YXJ0KSB7XG4gICAgICByZXR1cm4gaXNBdEVuZCA/ICdub25lJyA6ICdyaWdodCc7XG4gICAgfVxuICAgIHJldHVybiBpc0F0RW5kID8gJ2xlZnQnIDogJ2JvdGgnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNsb3Q+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWJsZS13cmFwcGVyJzogU2JiVGFibGVXcmFwcGVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztJQ29CYSxnQ0FBc0I7bUJBQVMsaUJBQWlCLFdBQVc7Ozs7Y0FBM0QsK0JBQStCLFlBQTRCOzs7NEJBTXJFLFdBQVcsRUFDWCxTQUFTO0lBQUUsU0FBUztJQUFNLE1BQU07SUFBUyxDQUFDLENBQUE7QUFDM0MsZ0JBQUEsTUFBQSxNQUFBLHVCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsZUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFTLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBVCxZQUFTOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEseUJBQUEsNkJBQUE7Ozs7Ozs7OztBQVBPLFFBQUEsY0FBc0I7OztBQUN0QixRQUFBLE9BQU87OztBQUNoQixRQUFBLFNBQXlCLENBQUMscUJBQXFCLFVBQVUsc0JBQU0sQ0FBQzs7RUFLdkYsOEJBQUEsa0JBQUEsTUFBQSx5QkFBcUMsTUFBSzs7RUFBMUMsSUFBZ0IsWUFBUztBQUFBLFVBQUEsTUFBQTs7RUFBekIsSUFBZ0IsVUFBUyxPQUFBO0FBQUEsU0FBQSw2QkFBQTs7RUFFekIsY0FBQTtBQUNFLFVBQU87O0FBQ1AsUUFBSyxjQUNILElBQUksaUJBQWlCLE1BQU07SUFDekIsYUFBYTtJQUNiLGdCQUFnQixLQUFLLGlDQUFBO0lBQ3RCLENBQUMsQ0FDSDtBQUVELFFBQUssbUJBQW1CLGdCQUFnQixLQUFLLGlDQUFpQyxFQUFFLEVBQzlFLFNBQVMsTUFDVixDQUFDOztFQUdZLG9CQUFpQjtBQUMvQixTQUFNLG1CQUFtQjtBQU16QixRQUFLLHVCQUF1Qjs7RUFHWCxXQUFXLG1CQUF1QztBQUNuRSxTQUFNLFdBQVcsa0JBQWtCO0FBRW5DLE9BQUksa0JBQWtCLElBQUksWUFBWSxDQUNwQyxLQUFJLEtBQUs7UUFDSCxDQUFDLEtBQUssYUFBYSxXQUFXLENBQ2hDLE1BQUssYUFBYSxZQUFZLElBQUk7U0FHcEMsTUFBSyxnQkFBZ0IsV0FBVztBQUlwQyxPQUFJLGtCQUFrQixJQUFJLFdBQVcsQ0FDbkMsTUFBSyx1QkFBdUI7O0VBSXhCLHdCQUFxQjtBQUMzQixPQUFJLFNBQ0Y7QUFFRixPQUFJLEtBQUssVUFBVTtBQUNqQixTQUFLLFVBQVUsT0FBTyxvQ0FBb0M7QUFDMUQsU0FBSyxVQUFVLElBQUksNkNBQTZDO1VBQzNEO0FBQ0wsU0FBSyxVQUFVLE9BQU8sNkNBQTZDO0FBQ25FLFNBQUssVUFBVSxJQUFJLG9DQUFvQzs7Ozs7OztFQVFuRCxrQ0FBK0I7R0FDckMsTUFBTSxRQUFRLEtBQUssd0JBQXdCO0FBQzNDLFFBQUssVUFBVSxPQUNiLGlDQUNBLGlDQUNBLGtDQUNBLGdDQUNEO0FBQ0QsUUFBSyxVQUFVLElBQUksNEJBQTRCLFFBQVE7O0VBR2pELHlCQUFzQjtBQUM1QixPQUFJLEtBQUssZ0JBQWdCLEtBQUssWUFDNUIsUUFBTztHQUVULE1BQU0sWUFBWSxLQUFLLGVBQWU7R0FHdEMsTUFBTSxVQUFVLEtBQUssY0FBYyxLQUFLLGFBQWEsS0FBSyxlQUFlO0FBRXpFLE9BQUksVUFDRixRQUFPLFVBQVUsU0FBUztBQUU1QixVQUFPLFVBQVUsU0FBUzs7RUFHVCxTQUFNO0FBQ3ZCLFVBQU8sSUFBSSJ9
|
package/development/table.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbTableWrapperElement } from "./table-wrapper.component-
|
|
1
|
+
import { t as SbbTableWrapperElement } from "./table-wrapper.component-DcLwEDzr.js";
|
|
2
2
|
export { SbbTableWrapperElement };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tabs/tab/tab.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAQ,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAEhF,OAAO,
|
|
1
|
+
{"version":3,"file":"tab.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tabs/tab/tab.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAQ,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAEhF,OAAO,EAAuB,UAAU,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAI9E;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAC3C,gBAAgC,WAAW,EAAE,MAAM,CAAa;IAChE,OAAuB,IAAI,SAAc;IACzC,OAAuB,MAAM,EAAE,cAAc,CAA2C;IACxF,gBAAuB,MAAM;;MAElB;IAEX,OAAO,CAAC,yBAAyB,CAI9B;IAEH,mDAAmD;IACnD,IAAW,KAAK,IAAI,kBAAkB,GAAG,IAAI,CAI5C;IAED,sCAAsC;IACtC,IAAW,KAAK,IAAI,kBAAkB,GAAG,IAAI,CAE5C;IAEe,iBAAiB,IAAI,IAAI;IAWzC,gBAAgB;IAChB,SAAS,CAAC,QAAQ,IAAI,IAAI;IAK1B,gBAAgB;IAChB,SAAS,CAAC,UAAU,IAAI,IAAI;IAK5B,OAAO,CAAC,0BAA0B;cAIf,MAAM,IAAI,cAAc;CAG5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,SAAS,EAAE,aAAa,CAAC;KAC1B;CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbTabElement } from "../../tab.component-
|
|
1
|
+
import { t as SbbTabElement } from "../../tab.component-BVhYPy5Y.js";
|
|
2
2
|
export { SbbTabElement };
|
package/development/tabs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as SbbTabGroupElement } from "./tab-group.component-DX7BY7Xy.js";
|
|
2
2
|
import { t as SbbTabLabelElement } from "./tab-label.component-Du1W0dxN.js";
|
|
3
3
|
import { t as SbbTabNavBarElement } from "./tab-nav-bar.component-BTPTHy2C.js";
|
|
4
|
-
import { t as SbbTabElement } from "./tab.component-
|
|
4
|
+
import { t as SbbTabElement } from "./tab.component-BVhYPy5Y.js";
|
|
5
5
|
import { n as tabLabelCommonStyles, t as tabGroupCommonStyles } from "./styles-D_8dMc_0.js";
|
|
6
6
|
import "./tabs.pure.js";
|
|
7
7
|
//#region src/elements/tabs.ts
|
package/development/tabs.pure.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as SbbTabGroupElement } from "./tab-group.component-DX7BY7Xy.js";
|
|
2
2
|
import { t as SbbTabLabelElement } from "./tab-label.component-Du1W0dxN.js";
|
|
3
3
|
import { t as SbbTabNavBarElement } from "./tab-nav-bar.component-BTPTHy2C.js";
|
|
4
|
-
import { t as SbbTabElement } from "./tab.component-
|
|
4
|
+
import { t as SbbTabElement } from "./tab.component-BVhYPy5Y.js";
|
|
5
5
|
import { n as tabLabelCommonStyles, t as tabGroupCommonStyles } from "./styles-D_8dMc_0.js";
|
|
6
6
|
export { SbbTabElement, SbbTabGroupElement, SbbTabLabelElement, SbbTabNavBarElement, tabGroupCommonStyles, tabLabelCommonStyles };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbTrainFormationElement } from "../../train-formation.component-
|
|
1
|
+
import { t as SbbTrainFormationElement } from "../../train-formation.component-BoQcwy6n.js";
|
|
2
2
|
export { SbbTrainFormationElement };
|
package/development/{train-formation.component-CfdHRBsd.js → train-formation.component-BoQcwy6n.js}
RENAMED
|
@@ -4,7 +4,7 @@ import { property, state } from "lit/decorators.js";
|
|
|
4
4
|
import { SbbElement, SbbLanguageController, SbbNamedSlotListMixin, boxSizingStyles, i18nSector, i18nSectorShort, i18nTrains } from "./core.js";
|
|
5
5
|
import { styleMap } from "lit/directives/style-map.js";
|
|
6
6
|
//#region src/elements/train/train-formation/train-formation.scss?inline
|
|
7
|
-
var train_formation_default = ":host {\n display: block;\n --sbb-train-formation-sector-line-color: var(--sbb-color-cement);\n --sbb-train-formation-sector-line-color: light-dark(\n var(--sbb-color-cement),\n var(--sbb-color-smoke)\n );\n --sbb-train-formation-sector-line-width: var(--sbb-border-width-1x);\n --sbb-train-formation-blocked-passage-width: 1rem;\n --sbb-train-formation-text-color: var(--sbb-color-3);\n --sbb-train-formation-vertical-gap: var(--sbb-spacing-fixed-2x);\n}\n@media (forced-colors: active) {\n :host {\n --sbb-train-formation-sector-line-color: CanvasText;\n }\n}\n\n.sbb-train-formation {\n --sbb-scrollbar-thumb-width: 0.125rem;\n --sbb-scrollbar-thumb-width-hover: 0.25rem;\n --sbb-scrollbar-width-firefox: thin;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);\n --sbb-scrollbar-color: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 30%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 30%, transparent)\n );\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);\n --sbb-scrollbar-color-hover: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 60%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 60%, transparent)\n );\n --sbb-scrollbar-track-color: transparent;\n
|
|
7
|
+
var train_formation_default = ":host {\n display: block;\n --sbb-train-formation-sector-line-color: var(--sbb-color-cement);\n --sbb-train-formation-sector-line-color: light-dark(\n var(--sbb-color-cement),\n var(--sbb-color-smoke)\n );\n --sbb-train-formation-sector-line-width: var(--sbb-border-width-1x);\n --sbb-train-formation-blocked-passage-width: 1rem;\n --sbb-train-formation-text-color: var(--sbb-color-3);\n --sbb-train-formation-vertical-gap: var(--sbb-spacing-fixed-2x);\n}\n@media (forced-colors: active) {\n :host {\n --sbb-train-formation-sector-line-color: CanvasText;\n }\n}\n\n.sbb-train-formation {\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n --sbb-scrollbar-thumb-width: 0.125rem;\n --sbb-scrollbar-thumb-width-hover: 0.25rem;\n --sbb-scrollbar-width-firefox: thin;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);\n --sbb-scrollbar-color: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 30%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 30%, transparent)\n );\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);\n --sbb-scrollbar-color-hover: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 60%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 60%, transparent)\n );\n --sbb-scrollbar-track-color: transparent;\n}\n.sbb-train-formation::-webkit-scrollbar {\n width: var(--sbb-scrollbar-width);\n height: var(--sbb-scrollbar-width);\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-train-formation::-webkit-scrollbar-corner {\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-train-formation::-webkit-scrollbar-thumb {\n background-color: var(--sbb-scrollbar-color, currentcolor);\n border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;\n border-radius: var(--sbb-border-radius-4x);\n background-clip: padding-box;\n}\n.sbb-train-formation::-webkit-scrollbar-thumb:hover {\n background-color: var(--sbb-scrollbar-color-hover, currentcolor);\n border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));\n}\n.sbb-train-formation::-webkit-scrollbar-button, .sbb-train-formation::-webkit-scrollbar-corner {\n display: none;\n}\n@supports not selector(::-webkit-scrollbar) {\n .sbb-train-formation {\n scrollbar-width: var(--sbb-scrollbar-width-firefox);\n scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);\n }\n}\n.sbb-train-formation {\n display: grid;\n grid-template: \"start sectors end\" auto \"start trains end\" auto/auto 1fr auto;\n position: relative;\n overflow-x: auto;\n row-gap: calc(var(--sbb-train-formation-show-sectors-gap, 0) * var(--sbb-train-formation-vertical-gap));\n padding-block-end: var(--sbb-train-formation-vertical-gap);\n color: var(--sbb-train-formation-text-color);\n}\n.sbb-train-formation: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}\n.sbb-train-formation::before, .sbb-train-formation::after {\n content: \"\";\n display: block;\n width: var(--sbb-train-formation-padding-inline);\n}\n.sbb-train-formation::before {\n grid-area: start;\n}\n.sbb-train-formation::after {\n grid-area: end;\n}\n\n.sbb-train-formation__sectors {\n display: flex;\n grid-area: sectors;\n gap: var(--sbb-train-formation-wagon-gap);\n}\n\n.sbb-train-formation__sector {\n --_wagon-sum: var(--sbb-train-formation-wagon-count) * var(--sbb-train-formation-wagon-width);\n --_blocked-passage-sum: var(--sbb-train-formation-wagon-blocked-passage-count) *\n var(--sbb-train-formation-blocked-passage-width);\n --_total-count: calc(\n var(--sbb-train-formation-wagon-count) + var(--sbb-train-formation-wagon-blocked-passage-count)\n );\n --_gap-sum: calc((var(--_total-count) - 1) * var(--sbb-train-formation-wagon-gap));\n --_sector-width: calc(var(--_wagon-sum) + var(--_blocked-passage-sum) + var(--_gap-sum));\n --sbb-text-font-size: var(--sbb-text-font-size-xs);\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 flex: 0 0 var(--_sector-width);\n text-align: center;\n overflow-x: clip;\n}\n\n.sbb-train-formation__sector-sticky-wrapper {\n position: sticky;\n inset: auto 0;\n padding: 0 var(--sbb-spacing-fixed-1x);\n margin: 0 var(--sbb-spacing-fixed-2x);\n overflow: hidden;\n white-space: nowrap;\n}\n.sbb-train-formation__sector-sticky-wrapper::before, .sbb-train-formation__sector-sticky-wrapper::after {\n content: \"\";\n position: absolute;\n inset-block: calc(50% - var(--sbb-train-formation-sector-line-width) / 2);\n border-block-end: var(--sbb-train-formation-sector-line-width) solid var(--sbb-train-formation-sector-line-color);\n width: calc(0.5 * var(--_sector-width));\n}\n.sbb-train-formation__sector-sticky-wrapper::before {\n inset-inline-end: 100%;\n}\n.sbb-train-formation__sector-sticky-wrapper::after {\n inset-inline-start: 100%;\n}\n\n.sbb-train-formation__trains {\n grid-area: trains;\n}\n\n.sbb-train-formation__train-list {\n list-style: none;\n margin: 0;\n padding: 0;\n font-size: inherit;\n display: flex;\n gap: var(--sbb-train-formation-wagon-gap);\n}\n\n.sbb-train-formation__train-list > :is(li, span) {\n display: inline-flex;\n}";
|
|
8
8
|
//#endregion
|
|
9
9
|
//#region src/elements/train/train-formation/train-formation.component.ts
|
|
10
10
|
/**
|
|
@@ -146,4 +146,4 @@ var SbbTrainFormationElement = (() => {
|
|
|
146
146
|
//#endregion
|
|
147
147
|
export { SbbTrainFormationElement as t };
|
|
148
148
|
|
|
149
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4tZm9ybWF0aW9uLmNvbXBvbmVudC1DZmRIUkJzZC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdHJhaW4vdHJhaW4tZm9ybWF0aW9uL3RyYWluLWZvcm1hdGlvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90cmFpbi90cmFpbi1mb3JtYXRpb24vdHJhaW4tZm9ybWF0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC0tc2JiLXRyYWluLWZvcm1hdGlvbi1zZWN0b3ItbGluZS1jb2xvcjogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItY2VtZW50KSxcbiAgICB2YXIoLS1zYmItY29sb3Itc21va2UpXG4gICk7XG4gIC0tc2JiLXRyYWluLWZvcm1hdGlvbi1zZWN0b3ItbGluZS13aWR0aDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCk7XG4gIC0tc2JiLXRyYWluLWZvcm1hdGlvbi1ibG9ja2VkLXBhc3NhZ2Utd2lkdGg6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxNil9O1xuICAtLXNiYi10cmFpbi1mb3JtYXRpb24tdGV4dC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTMpO1xuICAtLXNiYi10cmFpbi1mb3JtYXRpb24tdmVydGljYWwtZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCk7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLXRyYWluLWZvcm1hdGlvbi1zZWN0b3ItbGluZS1jb2xvcjogQ2FudmFzVGV4dDtcbiAgfVxufVxuXG4uc2JiLXRyYWluLWZvcm1hdGlvbiB7XG4gIEBpbmNsdWRlIHNiYi5zY3JvbGxiYXI7XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAnc3RhcnQgc2VjdG9ycyBlbmQnIGF1dG9cbiAgICAnc3RhcnQgdHJhaW5zIGVuZCcgYXV0byAvIGF1dG8gMWZyIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgcm93LWdhcDogY2FsYyhcbiAgICB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLXNob3ctc2VjdG9ycy1nYXAsIDApICogdmFyKC0tc2JiLXRyYWluLWZvcm1hdGlvbi12ZXJ0aWNhbC1nYXApXG4gICk7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLXZlcnRpY2FsLWdhcCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLXRleHQtY29sb3IpO1xuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG4gIH1cblxuICAvLyBFbmFibGUgaW5saW5lIHBhZGRpbmdcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLXNiYi10cmFpbi1mb3JtYXRpb24tcGFkZGluZy1pbmxpbmUpO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBncmlkLWFyZWE6IHN0YXJ0O1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGdyaWQtYXJlYTogZW5kO1xuICB9XG59XG5cbi5zYmItdHJhaW4tZm9ybWF0aW9uX19zZWN0b3JzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ3JpZC1hcmVhOiBzZWN0b3JzO1xuICBnYXA6IHZhcigtLXNiYi10cmFpbi1mb3JtYXRpb24td2Fnb24tZ2FwKTtcbn1cblxuLnNiYi10cmFpbi1mb3JtYXRpb25fX3NlY3RvciB7XG4gIC0tX3dhZ29uLXN1bTogdmFyKC0tc2JiLXRyYWluLWZvcm1hdGlvbi13YWdvbi1jb3VudCkgKiB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLXdhZ29uLXdpZHRoKTtcbiAgLS1fYmxvY2tlZC1wYXNzYWdlLXN1bTogdmFyKC0tc2JiLXRyYWluLWZvcm1hdGlvbi13YWdvbi1ibG9ja2VkLXBhc3NhZ2UtY291bnQpICpcbiAgICB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLWJsb2NrZWQtcGFzc2FnZS13aWR0aCk7XG4gIC0tX3RvdGFsLWNvdW50OiBjYWxjKFxuICAgIHZhcigtLXNiYi10cmFpbi1mb3JtYXRpb24td2Fnb24tY291bnQpICsgdmFyKC0tc2JiLXRyYWluLWZvcm1hdGlvbi13YWdvbi1ibG9ja2VkLXBhc3NhZ2UtY291bnQpXG4gICk7XG4gIC0tX2dhcC1zdW06IGNhbGMoKHZhcigtLV90b3RhbC1jb3VudCkgLSAxKSAqIHZhcigtLXNiYi10cmFpbi1mb3JtYXRpb24td2Fnb24tZ2FwKSk7XG4gIC0tX3NlY3Rvci13aWR0aDogY2FsYyh2YXIoLS1fd2Fnb24tc3VtKSArIHZhcigtLV9ibG9ja2VkLXBhc3NhZ2Utc3VtKSArIHZhcigtLV9nYXAtc3VtKSk7XG5cbiAgQGluY2x1ZGUgc2JiLnRleHQteHMtLXJlZ3VsYXI7XG5cbiAgZmxleDogMCAwIHZhcigtLV9zZWN0b3Itd2lkdGgpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93LXg6IGNsaXA7XG59XG5cbi5zYmItdHJhaW4tZm9ybWF0aW9uX19zZWN0b3Itc3RpY2t5LXdyYXBwZXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBpbnNldDogYXV0byAwO1xuICBwYWRkaW5nOiAwIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbiAgbWFyZ2luOiAwIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBMaW5lcyBiZXNpZGUgdGhlIHNlY3Rvci1sYWJlbFxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAvLyBFeGFjdGx5IGNlbnRlciB0aGUgbGluZSBieSBzdWJ0cmFjdGluZyBoYWxmIG9mIHRoZSBib3JkZXIgd2lkdGhcbiAgICBpbnNldC1ibG9jazogY2FsYyg1MCUgLSB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLXNlY3Rvci1saW5lLXdpZHRoKSAvIDIpO1xuICAgIGJvcmRlci1ibG9jay1lbmQ6IHZhcigtLXNiYi10cmFpbi1mb3JtYXRpb24tc2VjdG9yLWxpbmUtd2lkdGgpIHNvbGlkXG4gICAgICB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLXNlY3Rvci1saW5lLWNvbG9yKTtcbiAgICB3aWR0aDogY2FsYygwLjUgKiB2YXIoLS1fc2VjdG9yLXdpZHRoKSk7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGluc2V0LWlubGluZS1lbmQ6IDEwMCU7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxMDAlO1xuICB9XG59XG5cbi5zYmItdHJhaW4tZm9ybWF0aW9uX190cmFpbnMge1xuICBncmlkLWFyZWE6IHRyYWlucztcbn1cblxuLnNiYi10cmFpbi1mb3JtYXRpb25fX3RyYWluLWxpc3Qge1xuICBAaW5jbHVkZSBzYmIubGlzdC1yZXNldDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNiYi10cmFpbi1mb3JtYXRpb24td2Fnb24tZ2FwKTtcbn1cblxuLy8gVXNpbmcgLi4uIGxpIHNlbGVjdG9yLCBiZWNhdXNlIHRoZSBsaSBnZW5lcmF0aW9uXG4vLyBpcyBoYW5kbGVkIGluIHRoZSBjb21wb25lbnQgYmFzZSBjbGFzcy5cbi5zYmItdHJhaW4tZm9ybWF0aW9uX190cmFpbi1saXN0ID4gOmlzKGxpLCBzcGFuKSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgc3R5bGVNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9zdHlsZS1tYXAuanMnO1xuXG5pbXBvcnQge1xuICBTYmJFbGVtZW50LFxuICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsXG4gIGkxOG5TZWN0b3IsXG4gIGkxOG5TZWN0b3JTaG9ydCxcbiAgaTE4blRyYWlucyxcbiAgYm94U2l6aW5nU3R5bGVzLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYk5hbWVkU2xvdExpc3RNaXhpbiwgdHlwZSBXaXRoTGlzdENoaWxkcmVuIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRyYWluRWxlbWVudCB9IGZyb20gJy4uL3RyYWluL3RyYWluLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRyYWluQmxvY2tlZFBhc3NhZ2VFbGVtZW50IH0gZnJvbSAnLi4vdHJhaW4tYmxvY2tlZC1wYXNzYWdlL3RyYWluLWJsb2NrZWQtcGFzc2FnZS5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUcmFpbldhZ29uRWxlbWVudCB9IGZyb20gJy4uL3RyYWluLXdhZ29uL3RyYWluLXdhZ29uLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RyYWluLWZvcm1hdGlvbi5zY3NzP2lubGluZSc7XG5cbmludGVyZmFjZSBBZ2dyZWdhdGVkU2VjdG9yIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgd2Fnb25Db3VudDogbnVtYmVyO1xuICBibG9ja2VkUGFzc2FnZUNvdW50OiBudW1iZXI7XG59XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSB0cmFpbiBjb21wb3NpdGlvbiwgYWN0aW5nIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLXRyYWluYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgJ3NiYi10cmFpbicgZWxlbWVudHMgdG8gdGhlIGBzYmItdHJhaW4tZm9ybWF0aW9uYC5cbiAqIEBjc3Nwcm9wIFstLXNiYi10cmFpbi1mb3JtYXRpb24tcGFkZGluZy1pbmxpbmU9MHB4XSAtIERlZmluZXMgdGhlIGlubGluZSBwYWRkaW5nIGluc2lkZSB0aGUgaG9yaXpvbnRhbCBzY3JvbGxpbmcgYXJlYS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRyYWluRm9ybWF0aW9uRWxlbWVudCBleHRlbmRzIFNiYk5hbWVkU2xvdExpc3RNaXhpbjxcbiAgU2JiVHJhaW5FbGVtZW50LFxuICB0eXBlb2YgU2JiRWxlbWVudFxuPihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdHJhaW4tZm9ybWF0aW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gWydzYmItdHJhaW4nXTtcblxuICAvKiogV2hldGhlciB0aGUgdmlldyBvZiB0aGUgd2Fnb25zIGlzIGZyb20gc2lkZSBvciB0b3AgcGVyc3BlY3RpdmUuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHZpZXc6ICdzaWRlJyB8ICd0b3AnID0gJ3NpZGUnO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX3NlY3RvcnM6IEFnZ3JlZ2F0ZWRTZWN0b3JbXSA9IFtdO1xuXG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigndHJhaW5zbG90Y2hhbmdlJywgKGUpID0+IHRoaXMuX3JlYWRTZWN0b3JzKGUpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Lignc2VjdG9yY2hhbmdlJywgKGUpID0+IHRoaXMuX3JlYWRTZWN0b3JzKGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlYWRTZWN0b3JzKGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBLZWVwIHRoZSBldmVudCBpbnRlcm5hbC5cbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0aGlzLl9zZWN0b3JzID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYlRyYWluV2Fnb25FbGVtZW50IHwgU2JiVHJhaW5CbG9ja2VkUGFzc2FnZUVsZW1lbnQ+KFxuICAgICAgICAnc2JiLXRyYWluLXdhZ29uLHNiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2UnLFxuICAgICAgKSA/PyBbXSxcbiAgICApLnJlZHVjZShcbiAgICAgIChcbiAgICAgICAgYWdncmVnYXRlZFNlY3RvcnM6IEFnZ3JlZ2F0ZWRTZWN0b3JbXSxcbiAgICAgICAgaXRlbTogU2JiVHJhaW5XYWdvbkVsZW1lbnQgfCBTYmJUcmFpbkJsb2NrZWRQYXNzYWdlRWxlbWVudCxcbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50QWdncmVnYXRlZFNlY3RvciA9IGFnZ3JlZ2F0ZWRTZWN0b3JzW2FnZ3JlZ2F0ZWRTZWN0b3JzLmxlbmd0aCAtIDFdO1xuXG4gICAgICAgIGlmIChpdGVtLmxvY2FsTmFtZSA9PT0gJ3NiYi10cmFpbi13YWdvbicpIHtcbiAgICAgICAgICBjb25zdCBzZWN0b3JBdHRyaWJ1dGUgPVxuICAgICAgICAgICAgKGl0ZW0gYXMgU2JiVHJhaW5XYWdvbkVsZW1lbnQpLnNlY3RvciA/PyBpdGVtLmdldEF0dHJpYnV0ZSgnc2VjdG9yJyk7XG5cbiAgICAgICAgICBpZiAoIWN1cnJlbnRBZ2dyZWdhdGVkU2VjdG9yLmxhYmVsICYmIHNlY3RvckF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgPSBzZWN0b3JBdHRyaWJ1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFzZWN0b3JBdHRyaWJ1dGUgfHwgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgPT09IHNlY3RvckF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3Iud2Fnb25Db3VudCsrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhZ2dyZWdhdGVkU2VjdG9ycy5wdXNoKHtcbiAgICAgICAgICAgICAgbGFiZWw6IHNlY3RvckF0dHJpYnV0ZSxcbiAgICAgICAgICAgICAgd2Fnb25Db3VudDogMSxcbiAgICAgICAgICAgICAgYmxvY2tlZFBhc3NhZ2VDb3VudDogMCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLmxvY2FsTmFtZSA9PT0gJ3NiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2UnKSB7XG4gICAgICAgICAgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IuYmxvY2tlZFBhc3NhZ2VDb3VudCsrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFnZ3JlZ2F0ZWRTZWN0b3JzO1xuICAgICAgfSxcbiAgICAgIFt7IHdhZ29uQ291bnQ6IDAsIGJsb2NrZWRQYXNzYWdlQ291bnQ6IDAgfSBhcyBBZ2dyZWdhdGVkU2VjdG9yXSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICAgICAgdGhpcy5fcmVhZFNlY3RvcnMoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdHJhaW4tZm9ybWF0aW9uXCI+XG4gICAgICAgICR7dGhpcy5fc2VjdG9ycy5sZW5ndGggJiYgdGhpcy5fc2VjdG9yc1swXS5sYWJlbCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyBodG1sYDxkaXYgY2xhc3M9XCJzYmItdHJhaW4tZm9ybWF0aW9uX19zZWN0b3JzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICR7dGhpcy5fc2VjdG9ycy5tYXAoXG4gICAgICAgICAgICAgICAgKGFnZ3JlZ2F0ZWRTZWN0b3IpID0+XG4gICAgICAgICAgICAgICAgICBodG1sYDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLXRyYWluLWZvcm1hdGlvbl9fc2VjdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9JHtzdHlsZU1hcCh7XG4gICAgICAgICAgICAgICAgICAgICAgJy0tc2JiLXRyYWluLWZvcm1hdGlvbi13YWdvbi1jb3VudCc6IGFnZ3JlZ2F0ZWRTZWN0b3Iud2Fnb25Db3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAnLS1zYmItdHJhaW4tZm9ybWF0aW9uLXdhZ29uLWJsb2NrZWQtcGFzc2FnZS1jb3VudCc6XG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGVkU2VjdG9yLmJsb2NrZWRQYXNzYWdlQ291bnQsXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10cmFpbi1mb3JtYXRpb25fX3NlY3Rvci1zdGlja3ktd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICR7YCR7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGVkU2VjdG9yLndhZ29uQ291bnQgPT09IDEgJiYgYWdncmVnYXRlZFNlY3Rvci5sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IGkxOG5TZWN0b3JTaG9ydFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IGkxOG5TZWN0b3JbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF1cbiAgICAgICAgICAgICAgICAgICAgICB9ICR7YWdncmVnYXRlZFNlY3Rvci5sYWJlbCA/IGFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgOiAnJ31gfVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10cmFpbi1mb3JtYXRpb25fX3RyYWluc1wiPlxuICAgICAgICAgICR7dGhpcy5yZW5kZXJMaXN0KHtcbiAgICAgICAgICAgIGNsYXNzOiAnc2JiLXRyYWluLWZvcm1hdGlvbl9fdHJhaW4tbGlzdCcsXG4gICAgICAgICAgICBhcmlhTGFiZWw6IGkxOG5UcmFpbnNbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0sXG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRyYWluLWZvcm1h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
|
|
149
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4tZm9ybWF0aW9uLmNvbXBvbmVudC1Cb1Fjd3k2bi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdHJhaW4vdHJhaW4tZm9ybWF0aW9uL3RyYWluLWZvcm1hdGlvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90cmFpbi90cmFpbi1mb3JtYXRpb24vdHJhaW4tZm9ybWF0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC0tc2JiLXRyYWluLWZvcm1hdGlvbi1zZWN0b3ItbGluZS1jb2xvcjogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItY2VtZW50KSxcbiAgICB2YXIoLS1zYmItY29sb3Itc21va2UpXG4gICk7XG4gIC0tc2JiLXRyYWluLWZvcm1hdGlvbi1zZWN0b3ItbGluZS13aWR0aDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCk7XG4gIC0tc2JiLXRyYWluLWZvcm1hdGlvbi1ibG9ja2VkLXBhc3NhZ2Utd2lkdGg6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxNil9O1xuICAtLXNiYi10cmFpbi1mb3JtYXRpb24tdGV4dC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTMpO1xuICAtLXNiYi10cmFpbi1mb3JtYXRpb24tdmVydGljYWwtZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCk7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLXRyYWluLWZvcm1hdGlvbi1zZWN0b3ItbGluZS1jb2xvcjogQ2FudmFzVGV4dDtcbiAgfVxufVxuXG4uc2JiLXRyYWluLWZvcm1hdGlvbiB7XG4gIEBpbmNsdWRlIHNiYi5zY3JvbGxiYXI7XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAnc3RhcnQgc2VjdG9ycyBlbmQnIGF1dG9cbiAgICAnc3RhcnQgdHJhaW5zIGVuZCcgYXV0byAvIGF1dG8gMWZyIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgcm93LWdhcDogY2FsYyhcbiAgICB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLXNob3ctc2VjdG9ycy1nYXAsIDApICogdmFyKC0tc2JiLXRyYWluLWZvcm1hdGlvbi12ZXJ0aWNhbC1nYXApXG4gICk7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLXZlcnRpY2FsLWdhcCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLXRleHQtY29sb3IpO1xuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG4gIH1cblxuICAvLyBFbmFibGUgaW5saW5lIHBhZGRpbmdcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLXNiYi10cmFpbi1mb3JtYXRpb24tcGFkZGluZy1pbmxpbmUpO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBncmlkLWFyZWE6IHN0YXJ0O1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGdyaWQtYXJlYTogZW5kO1xuICB9XG59XG5cbi5zYmItdHJhaW4tZm9ybWF0aW9uX19zZWN0b3JzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ3JpZC1hcmVhOiBzZWN0b3JzO1xuICBnYXA6IHZhcigtLXNiYi10cmFpbi1mb3JtYXRpb24td2Fnb24tZ2FwKTtcbn1cblxuLnNiYi10cmFpbi1mb3JtYXRpb25fX3NlY3RvciB7XG4gIC0tX3dhZ29uLXN1bTogdmFyKC0tc2JiLXRyYWluLWZvcm1hdGlvbi13YWdvbi1jb3VudCkgKiB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLXdhZ29uLXdpZHRoKTtcbiAgLS1fYmxvY2tlZC1wYXNzYWdlLXN1bTogdmFyKC0tc2JiLXRyYWluLWZvcm1hdGlvbi13YWdvbi1ibG9ja2VkLXBhc3NhZ2UtY291bnQpICpcbiAgICB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLWJsb2NrZWQtcGFzc2FnZS13aWR0aCk7XG4gIC0tX3RvdGFsLWNvdW50OiBjYWxjKFxuICAgIHZhcigtLXNiYi10cmFpbi1mb3JtYXRpb24td2Fnb24tY291bnQpICsgdmFyKC0tc2JiLXRyYWluLWZvcm1hdGlvbi13YWdvbi1ibG9ja2VkLXBhc3NhZ2UtY291bnQpXG4gICk7XG4gIC0tX2dhcC1zdW06IGNhbGMoKHZhcigtLV90b3RhbC1jb3VudCkgLSAxKSAqIHZhcigtLXNiYi10cmFpbi1mb3JtYXRpb24td2Fnb24tZ2FwKSk7XG4gIC0tX3NlY3Rvci13aWR0aDogY2FsYyh2YXIoLS1fd2Fnb24tc3VtKSArIHZhcigtLV9ibG9ja2VkLXBhc3NhZ2Utc3VtKSArIHZhcigtLV9nYXAtc3VtKSk7XG5cbiAgQGluY2x1ZGUgc2JiLnRleHQteHMtLXJlZ3VsYXI7XG5cbiAgZmxleDogMCAwIHZhcigtLV9zZWN0b3Itd2lkdGgpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93LXg6IGNsaXA7XG59XG5cbi5zYmItdHJhaW4tZm9ybWF0aW9uX19zZWN0b3Itc3RpY2t5LXdyYXBwZXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBpbnNldDogYXV0byAwO1xuICBwYWRkaW5nOiAwIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbiAgbWFyZ2luOiAwIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBMaW5lcyBiZXNpZGUgdGhlIHNlY3Rvci1sYWJlbFxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAvLyBFeGFjdGx5IGNlbnRlciB0aGUgbGluZSBieSBzdWJ0cmFjdGluZyBoYWxmIG9mIHRoZSBib3JkZXIgd2lkdGhcbiAgICBpbnNldC1ibG9jazogY2FsYyg1MCUgLSB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLXNlY3Rvci1saW5lLXdpZHRoKSAvIDIpO1xuICAgIGJvcmRlci1ibG9jay1lbmQ6IHZhcigtLXNiYi10cmFpbi1mb3JtYXRpb24tc2VjdG9yLWxpbmUtd2lkdGgpIHNvbGlkXG4gICAgICB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLXNlY3Rvci1saW5lLWNvbG9yKTtcbiAgICB3aWR0aDogY2FsYygwLjUgKiB2YXIoLS1fc2VjdG9yLXdpZHRoKSk7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGluc2V0LWlubGluZS1lbmQ6IDEwMCU7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxMDAlO1xuICB9XG59XG5cbi5zYmItdHJhaW4tZm9ybWF0aW9uX190cmFpbnMge1xuICBncmlkLWFyZWE6IHRyYWlucztcbn1cblxuLnNiYi10cmFpbi1mb3JtYXRpb25fX3RyYWluLWxpc3Qge1xuICBAaW5jbHVkZSBzYmIubGlzdC1yZXNldDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNiYi10cmFpbi1mb3JtYXRpb24td2Fnb24tZ2FwKTtcbn1cblxuLy8gVXNpbmcgLi4uIGxpIHNlbGVjdG9yLCBiZWNhdXNlIHRoZSBsaSBnZW5lcmF0aW9uXG4vLyBpcyBoYW5kbGVkIGluIHRoZSBjb21wb25lbnQgYmFzZSBjbGFzcy5cbi5zYmItdHJhaW4tZm9ybWF0aW9uX190cmFpbi1saXN0ID4gOmlzKGxpLCBzcGFuKSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgc3R5bGVNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9zdHlsZS1tYXAuanMnO1xuXG5pbXBvcnQge1xuICBTYmJFbGVtZW50LFxuICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsXG4gIGkxOG5TZWN0b3IsXG4gIGkxOG5TZWN0b3JTaG9ydCxcbiAgaTE4blRyYWlucyxcbiAgYm94U2l6aW5nU3R5bGVzLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYk5hbWVkU2xvdExpc3RNaXhpbiwgdHlwZSBXaXRoTGlzdENoaWxkcmVuIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRyYWluRWxlbWVudCB9IGZyb20gJy4uL3RyYWluL3RyYWluLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRyYWluQmxvY2tlZFBhc3NhZ2VFbGVtZW50IH0gZnJvbSAnLi4vdHJhaW4tYmxvY2tlZC1wYXNzYWdlL3RyYWluLWJsb2NrZWQtcGFzc2FnZS5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUcmFpbldhZ29uRWxlbWVudCB9IGZyb20gJy4uL3RyYWluLXdhZ29uL3RyYWluLXdhZ29uLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RyYWluLWZvcm1hdGlvbi5zY3NzP2lubGluZSc7XG5cbmludGVyZmFjZSBBZ2dyZWdhdGVkU2VjdG9yIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgd2Fnb25Db3VudDogbnVtYmVyO1xuICBibG9ja2VkUGFzc2FnZUNvdW50OiBudW1iZXI7XG59XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSB0cmFpbiBjb21wb3NpdGlvbiwgYWN0aW5nIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLXRyYWluYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgJ3NiYi10cmFpbicgZWxlbWVudHMgdG8gdGhlIGBzYmItdHJhaW4tZm9ybWF0aW9uYC5cbiAqIEBjc3Nwcm9wIFstLXNiYi10cmFpbi1mb3JtYXRpb24tcGFkZGluZy1pbmxpbmU9MHB4XSAtIERlZmluZXMgdGhlIGlubGluZSBwYWRkaW5nIGluc2lkZSB0aGUgaG9yaXpvbnRhbCBzY3JvbGxpbmcgYXJlYS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRyYWluRm9ybWF0aW9uRWxlbWVudCBleHRlbmRzIFNiYk5hbWVkU2xvdExpc3RNaXhpbjxcbiAgU2JiVHJhaW5FbGVtZW50LFxuICB0eXBlb2YgU2JiRWxlbWVudFxuPihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdHJhaW4tZm9ybWF0aW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gWydzYmItdHJhaW4nXTtcblxuICAvKiogV2hldGhlciB0aGUgdmlldyBvZiB0aGUgd2Fnb25zIGlzIGZyb20gc2lkZSBvciB0b3AgcGVyc3BlY3RpdmUuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHZpZXc6ICdzaWRlJyB8ICd0b3AnID0gJ3NpZGUnO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX3NlY3RvcnM6IEFnZ3JlZ2F0ZWRTZWN0b3JbXSA9IFtdO1xuXG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigndHJhaW5zbG90Y2hhbmdlJywgKGUpID0+IHRoaXMuX3JlYWRTZWN0b3JzKGUpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Lignc2VjdG9yY2hhbmdlJywgKGUpID0+IHRoaXMuX3JlYWRTZWN0b3JzKGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlYWRTZWN0b3JzKGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBLZWVwIHRoZSBldmVudCBpbnRlcm5hbC5cbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0aGlzLl9zZWN0b3JzID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYlRyYWluV2Fnb25FbGVtZW50IHwgU2JiVHJhaW5CbG9ja2VkUGFzc2FnZUVsZW1lbnQ+KFxuICAgICAgICAnc2JiLXRyYWluLXdhZ29uLHNiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2UnLFxuICAgICAgKSA/PyBbXSxcbiAgICApLnJlZHVjZShcbiAgICAgIChcbiAgICAgICAgYWdncmVnYXRlZFNlY3RvcnM6IEFnZ3JlZ2F0ZWRTZWN0b3JbXSxcbiAgICAgICAgaXRlbTogU2JiVHJhaW5XYWdvbkVsZW1lbnQgfCBTYmJUcmFpbkJsb2NrZWRQYXNzYWdlRWxlbWVudCxcbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50QWdncmVnYXRlZFNlY3RvciA9IGFnZ3JlZ2F0ZWRTZWN0b3JzW2FnZ3JlZ2F0ZWRTZWN0b3JzLmxlbmd0aCAtIDFdO1xuXG4gICAgICAgIGlmIChpdGVtLmxvY2FsTmFtZSA9PT0gJ3NiYi10cmFpbi13YWdvbicpIHtcbiAgICAgICAgICBjb25zdCBzZWN0b3JBdHRyaWJ1dGUgPVxuICAgICAgICAgICAgKGl0ZW0gYXMgU2JiVHJhaW5XYWdvbkVsZW1lbnQpLnNlY3RvciA/PyBpdGVtLmdldEF0dHJpYnV0ZSgnc2VjdG9yJyk7XG5cbiAgICAgICAgICBpZiAoIWN1cnJlbnRBZ2dyZWdhdGVkU2VjdG9yLmxhYmVsICYmIHNlY3RvckF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgPSBzZWN0b3JBdHRyaWJ1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFzZWN0b3JBdHRyaWJ1dGUgfHwgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgPT09IHNlY3RvckF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3Iud2Fnb25Db3VudCsrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhZ2dyZWdhdGVkU2VjdG9ycy5wdXNoKHtcbiAgICAgICAgICAgICAgbGFiZWw6IHNlY3RvckF0dHJpYnV0ZSxcbiAgICAgICAgICAgICAgd2Fnb25Db3VudDogMSxcbiAgICAgICAgICAgICAgYmxvY2tlZFBhc3NhZ2VDb3VudDogMCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLmxvY2FsTmFtZSA9PT0gJ3NiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2UnKSB7XG4gICAgICAgICAgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IuYmxvY2tlZFBhc3NhZ2VDb3VudCsrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFnZ3JlZ2F0ZWRTZWN0b3JzO1xuICAgICAgfSxcbiAgICAgIFt7IHdhZ29uQ291bnQ6IDAsIGJsb2NrZWRQYXNzYWdlQ291bnQ6IDAgfSBhcyBBZ2dyZWdhdGVkU2VjdG9yXSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICAgICAgdGhpcy5fcmVhZFNlY3RvcnMoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdHJhaW4tZm9ybWF0aW9uXCI+XG4gICAgICAgICR7dGhpcy5fc2VjdG9ycy5sZW5ndGggJiYgdGhpcy5fc2VjdG9yc1swXS5sYWJlbCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyBodG1sYDxkaXYgY2xhc3M9XCJzYmItdHJhaW4tZm9ybWF0aW9uX19zZWN0b3JzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICR7dGhpcy5fc2VjdG9ycy5tYXAoXG4gICAgICAgICAgICAgICAgKGFnZ3JlZ2F0ZWRTZWN0b3IpID0+XG4gICAgICAgICAgICAgICAgICBodG1sYDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLXRyYWluLWZvcm1hdGlvbl9fc2VjdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9JHtzdHlsZU1hcCh7XG4gICAgICAgICAgICAgICAgICAgICAgJy0tc2JiLXRyYWluLWZvcm1hdGlvbi13YWdvbi1jb3VudCc6IGFnZ3JlZ2F0ZWRTZWN0b3Iud2Fnb25Db3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAnLS1zYmItdHJhaW4tZm9ybWF0aW9uLXdhZ29uLWJsb2NrZWQtcGFzc2FnZS1jb3VudCc6XG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGVkU2VjdG9yLmJsb2NrZWRQYXNzYWdlQ291bnQsXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10cmFpbi1mb3JtYXRpb25fX3NlY3Rvci1zdGlja3ktd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICR7YCR7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGVkU2VjdG9yLndhZ29uQ291bnQgPT09IDEgJiYgYWdncmVnYXRlZFNlY3Rvci5sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IGkxOG5TZWN0b3JTaG9ydFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IGkxOG5TZWN0b3JbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF1cbiAgICAgICAgICAgICAgICAgICAgICB9ICR7YWdncmVnYXRlZFNlY3Rvci5sYWJlbCA/IGFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgOiAnJ31gfVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10cmFpbi1mb3JtYXRpb25fX3RyYWluc1wiPlxuICAgICAgICAgICR7dGhpcy5yZW5kZXJMaXN0KHtcbiAgICAgICAgICAgIGNsYXNzOiAnc2JiLXRyYWluLWZvcm1hdGlvbl9fdHJhaW4tbGlzdCcsXG4gICAgICAgICAgICBhcmlhTGFiZWw6IGkxOG5UcmFpbnNbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0sXG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRyYWluLWZvcm1h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
|