Files
Webklar.com/.next/static/webpack/app/layout.9f32d0a8acbb8c81.hot-update.js
ANDJ 76791391d8 Prototyp fur die Navigationsleiste
Kleine anpassuungen Handy Ansicht
2025-12-14 17:27:12 +01:00

32 lines
57 KiB
JavaScript

"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("app/layout",{
/***/ "(app-pages-browser)/./app/globals.css":
/*!*************************!*\
!*** ./app/globals.css ***!
\*************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"8ade3b556549\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9nbG9iYWxzLmNzcyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsY0FBYztBQUM3QixJQUFJLElBQVUsSUFBSSxpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vYXBwL2dsb2JhbHMuY3NzP2E3YzgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCI4YWRlM2I1NTY1NDlcIlxuaWYgKG1vZHVsZS5ob3QpIHsgbW9kdWxlLmhvdC5hY2NlcHQoKSB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/globals.css\n"));
/***/ }),
/***/ "(app-pages-browser)/./components/HandyAnsicht.tsx":
/*!*************************************!*\
!*** ./components/HandyAnsicht.tsx ***!
\*************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _HandyAnsicht_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./HandyAnsicht.css */ \"(app-pages-browser)/./components/HandyAnsicht.css\");\n/* harmony import */ var _barrel_optimize_names_Menu_X_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Menu,X!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/x.js\");\n/* harmony import */ var _barrel_optimize_names_Menu_X_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Menu,X!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/menu.js\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$(), _s1 = $RefreshSig$();\n\n\n\nconst GooeyNav = (param)=>{\n let { items, animationTime = 600, particleCount = 15, particleDistances = [\n 90,\n 10\n ], particleR = 100, timeVariance = 300, colors = [\n 1,\n 2,\n 3,\n 1,\n 2,\n 3,\n 1,\n 4\n ], initialActiveIndex = 0 } = param;\n _s();\n const containerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const navRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const filterRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const textRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const [activeIndex, setActiveIndex] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialActiveIndex);\n const [isMenuOpen, setIsMenuOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const noise = function() {\n let n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 1;\n return n / 2 - Math.random() * n;\n };\n const getXY = (distance, pointIndex, totalPoints)=>{\n const angle = (360 + noise(8)) / totalPoints * pointIndex * (Math.PI / 180);\n return [\n distance * Math.cos(angle),\n distance * Math.sin(angle)\n ];\n };\n const createParticle = (i, t, d, r)=>{\n const rotate = noise(r / 10);\n return {\n start: getXY(d[0], particleCount - i, particleCount),\n end: getXY(d[1] + noise(7), particleCount - i, particleCount),\n time: t,\n scale: 1 + noise(0.2),\n color: colors[Math.floor(Math.random() * colors.length)],\n rotate: rotate > 0 ? (rotate + r / 20) * 10 : (rotate - r / 20) * 10\n };\n };\n const makeParticles = (element)=>{\n const d = particleDistances;\n const r = particleR;\n const bubbleTime = animationTime * 2 + timeVariance;\n element.style.setProperty(\"--time\", \"\".concat(bubbleTime, \"ms\"));\n for(let i = 0; i < particleCount; i += 1){\n const t = animationTime * 2 + noise(timeVariance * 2);\n const p = createParticle(i, t, d, r);\n element.classList.remove(\"active\");\n setTimeout(()=>{\n const particle = document.createElement(\"span\");\n const point = document.createElement(\"span\");\n particle.classList.add(\"particle\");\n particle.style.setProperty(\"--start-x\", \"\".concat(p.start[0], \"px\"));\n particle.style.setProperty(\"--start-y\", \"\".concat(p.start[1], \"px\"));\n particle.style.setProperty(\"--end-x\", \"\".concat(p.end[0], \"px\"));\n particle.style.setProperty(\"--end-y\", \"\".concat(p.end[1], \"px\"));\n particle.style.setProperty(\"--time\", \"\".concat(p.time, \"ms\"));\n particle.style.setProperty(\"--scale\", \"\".concat(p.scale));\n particle.style.setProperty(\"--color\", \"var(--color-\".concat(p.color, \", white)\"));\n particle.style.setProperty(\"--rotate\", \"\".concat(p.rotate, \"deg\"));\n point.classList.add(\"point\");\n particle.appendChild(point);\n element.appendChild(particle);\n requestAnimationFrame(()=>element.classList.add(\"active\"));\n setTimeout(()=>{\n try {\n element.removeChild(particle);\n } catch (e) {\n /* ignore removal errors */ }\n }, t);\n }, 30);\n }\n };\n const updateEffectPosition = (element)=>{\n if (!containerRef.current || !filterRef.current || !textRef.current) return;\n const containerRect = containerRef.current.getBoundingClientRect();\n const pos = element.getBoundingClientRect();\n const styles = {\n left: \"\".concat(pos.x - containerRect.x, \"px\"),\n top: \"\".concat(pos.y - containerRect.y, \"px\"),\n width: \"\".concat(pos.width, \"px\"),\n height: \"\".concat(pos.height, \"px\")\n };\n Object.assign(filterRef.current.style, styles);\n Object.assign(textRef.current.style, styles);\n // Nur Text kopieren wenn es kein Logo und kein Menü-Button ist\n if (!element.classList.contains(\"nav-item-logo\") && !element.classList.contains(\"nav-item-menu\")) {\n textRef.current.innerText = element.innerText;\n } else {\n textRef.current.innerText = \"\";\n }\n };\n const handleClick = (e, index, item)=>{\n e.preventDefault();\n if (item.type === \"logo\") {\n window.scrollTo({\n top: 0,\n behavior: \"smooth\"\n });\n setIsMenuOpen(false);\n return;\n }\n if (item.type === \"menu\") {\n setIsMenuOpen(!isMenuOpen);\n return;\n }\n const liEl = e.currentTarget.parentElement;\n if (!liEl || activeIndex === index) return;\n // Normal navigation\n window.location.href = item.href;\n setIsMenuOpen(false); // Menü schließen nach Klick\n setActiveIndex(index);\n updateEffectPosition(liEl);\n if (filterRef.current) {\n const particles = filterRef.current.querySelectorAll(\".particle\");\n particles.forEach((p)=>{\n var _filterRef_current;\n return (_filterRef_current = filterRef.current) === null || _filterRef_current === void 0 ? void 0 : _filterRef_current.removeChild(p);\n });\n }\n if (textRef.current) {\n textRef.current.classList.remove(\"active\");\n void textRef.current.offsetWidth; // force reflow\n textRef.current.classList.add(\"active\");\n }\n if (filterRef.current) {\n makeParticles(filterRef.current);\n }\n };\n const handleKeyDown = (e, index, item)=>{\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n const liEl = e.currentTarget.parentElement;\n if (liEl) {\n handleClick({\n currentTarget: e.currentTarget,\n preventDefault: ()=>{}\n }, index, item);\n }\n }\n };\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (!navRef.current || !containerRef.current) return;\n const activeLi = navRef.current.querySelectorAll(\"li\")[activeIndex];\n if (activeLi && !activeLi.classList.contains(\"nav-item-logo\") && !activeLi.classList.contains(\"nav-item-menu\")) {\n var _textRef_current;\n updateEffectPosition(activeLi);\n (_textRef_current = textRef.current) === null || _textRef_current === void 0 ? void 0 : _textRef_current.classList.add(\"active\");\n }\n const resizeObserver = new ResizeObserver(()=>{\n var _navRef_current;\n const currentActiveLi = (_navRef_current = navRef.current) === null || _navRef_current === void 0 ? void 0 : _navRef_current.querySelectorAll(\"li\")[activeIndex];\n if (currentActiveLi && !currentActiveLi.classList.contains(\"nav-item-logo\") && !currentActiveLi.classList.contains(\"nav-item-menu\")) {\n updateEffectPosition(currentActiveLi);\n }\n });\n resizeObserver.observe(containerRef.current);\n return ()=>resizeObserver.disconnect();\n }, [\n activeIndex\n ]);\n // Modifizierte Items für die Anzeige (Logo + Menu Button im geschlossenen Zustand)\n const displayItems = isMenuOpen ? items // Zeige alle Items wenn offen (muss im CSS geregelt werden, dass sie untereinander oder anders dargestellt werden)\n : [\n items.find((i)=>i.type === \"logo\"),\n {\n label: \"Menu\",\n href: \"#\",\n type: \"menu\"\n }\n ];\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"gooey-nav-container \".concat(items.length > 4 ? \"has-contact\" : \"\", \" \").concat(isMenuOpen ? \"menu-open\" : \"\"),\n ref: containerRef,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n ref: navRef,\n children: [\n items.filter((i)=>i.type === \"logo\").map((item, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"nav-item-logo\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: item.href,\n onClick: (e)=>handleClick(e, -1, item),\n \"aria-label\": item.label,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: item.icon,\n alt: item.label,\n className: \"nav-logo-img\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 214,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 209,\n columnNumber: 14\n }, undefined)\n }, item.href, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 205,\n columnNumber: 14\n }, undefined)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"nav-item-menu\",\n style: {\n marginLeft: \"auto\",\n cursor: \"pointer\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#\",\n onClick: (e)=>handleClick(e, -1, {\n label: \"Menu\",\n href: \"#\",\n type: \"menu\"\n }),\n style: {\n width: \"100%\",\n height: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n children: isMenuOpen ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Menu_X_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n size: 24,\n color: \"white\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 226,\n columnNumber: 31\n }, undefined) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Menu_X_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n size: 24,\n color: \"white\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 226,\n columnNumber: 63\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 221,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 220,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 202,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 201,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mobile-menu-items \".concat(isMenuOpen ? \"open\" : \"\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n children: items.filter((i)=>i.type !== \"logo\" && i.type !== \"menu\").map((item, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n onClick: ()=>{\n window.location.href = item.href;\n setIsMenuOpen(false);\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 240,\n columnNumber: 24\n }, undefined)\n }, item.href, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 236,\n columnNumber: 20\n }, undefined))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 234,\n columnNumber: 12\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 233,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 200,\n columnNumber: 5\n }, undefined);\n};\n_s(GooeyNav, \"nm5tko1j3panTeymg4fUceS4uF8=\");\n_c = GooeyNav;\nconst allGooeyItems = [\n {\n label: \"Home\",\n href: \"#\",\n type: \"logo\",\n icon: \"/WebKlarLogo.png\"\n },\n {\n label: \"\\xdcber uns\",\n href: \"#about\"\n },\n {\n label: \"Leistungen\",\n href: \"#services\"\n },\n {\n label: \"Abl\\xe4ufe\",\n href: \"#process\"\n },\n {\n label: \"Kontakt\",\n href: \"#contact\"\n }\n];\nconst HandyAnsicht = (param)=>{\n let { children } = param;\n _s1();\n const [isMobile, setIsMobile] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [isClient, setIsClient] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [showContact, setShowContact] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n setIsClient(true);\n const checkMobile = ()=>{\n setIsMobile(window.innerWidth < 768);\n };\n const handleScroll = ()=>{\n // Show contact after scrolling down 100px\n setShowContact(window.scrollY > 100);\n };\n checkMobile();\n window.addEventListener(\"resize\", checkMobile);\n window.addEventListener(\"scroll\", handleScroll);\n const mediaQuery = window.matchMedia(\"(max-width: 767px)\");\n const handleMediaChange = (e)=>{\n setIsMobile(e.matches);\n };\n if (mediaQuery.addEventListener) {\n mediaQuery.addEventListener(\"change\", handleMediaChange);\n } else {\n mediaQuery.addListener(handleMediaChange);\n }\n handleMediaChange(mediaQuery);\n return ()=>{\n window.removeEventListener(\"resize\", checkMobile);\n window.removeEventListener(\"scroll\", handleScroll);\n if (mediaQuery.removeEventListener) {\n mediaQuery.removeEventListener(\"change\", handleMediaChange);\n } else {\n mediaQuery.removeListener(handleMediaChange);\n }\n };\n }, []);\n // Wenn showContact true ist, zeigen wir alle Items (5).\n // Wenn false, zeigen wir nur die ersten 4 (Logo + 3 Links).\n const currentItems = showContact ? allGooeyItems : allGooeyItems.slice(0, 4);\n if (!isClient || !isMobile) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: children\n }, void 0, false);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"handy-ansicht\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"handy-ansicht__container\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"handy-ansicht__nav-wrapper\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(GooeyNav, {\n items: currentItems\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 319,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 318,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"handy-ansicht__content\",\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 321,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 317,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 316,\n columnNumber: 5\n }, undefined);\n};\n_s1(HandyAnsicht, \"cGokQRhyj6pMiodS4NKsSRjHR4E=\");\n_c1 = HandyAnsicht;\n/* harmony default export */ __webpack_exports__[\"default\"] = (HandyAnsicht);\nvar _c, _c1;\n$RefreshReg$(_c, \"GooeyNav\");\n$RefreshReg$(_c1, \"HandyAnsicht\");\n\n\n;\r\n // Wrapped in an IIFE to avoid polluting the global scope\r\n ;\r\n (function () {\r\n var _a, _b;\r\n // Legacy CSS implementations will `eval` browser code in a Node.js context\r\n // to extract CSS. For backwards compatibility, we need to check we're in a\r\n // browser context before continuing.\r\n if (typeof self !== 'undefined' &&\r\n // AMP / No-JS mode does not inject these helpers:\r\n '$RefreshHelpers$' in self) {\r\n // @ts-ignore __webpack_module__ is global\r\n var currentExports = module.exports;\r\n // @ts-ignore __webpack_module__ is global\r\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\r\n // This cannot happen in MainTemplate because the exports mismatch between\r\n // templating and execution.\r\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\r\n // A module can be accepted automatically based on its exports, e.g. when\r\n // it is a Refresh Boundary.\r\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\r\n // Save the previous exports on update so we can compare the boundary\r\n // signatures.\r\n module.hot.dispose(function (data) {\r\n data.prevExports = currentExports;\r\n });\r\n // Unconditionally accept an update to this module, we'll check if it's\r\n // still a Refresh Boundary later.\r\n // @ts-ignore importMeta is replaced in the loader\r\n module.hot.accept();\r\n // This field is set when the previous version of this module was a\r\n // Refresh Boundary, letting us know we need to check for invalidation or\r\n // enqueue an update.\r\n if (prevExports !== null) {\r\n // A boundary can become ineligible if its exports are incompatible\r\n // with the previous exports.\r\n //\r\n // For example, if you add/remove/change exports, we'll want to\r\n // re-execute the importing modules, and force those components to\r\n // re-render. Similarly, if you convert a class component to a\r\n // function, we want to invalidate the boundary.\r\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\r\n module.hot.invalidate();\r\n }\r\n else {\r\n self.$RefreshHelpers$.scheduleUpdate();\r\n }\r\n }\r\n }\r\n else {\r\n // Since we just executed the code for the module, it's possible that the\r\n // new exports made it ineligible for being a boundary.\r\n // We only care about the case when we were _previously_ a boundary,\r\n // because we already accepted this update (accidental side effect).\r\n var isNoLongerABoundary = prevExports !== null;\r\n if (isNoLongerABoundary) {\r\n module.hot.invalidate();\r\n }\r\n }\r\n }\r\n })();\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvSGFuZHlBbnNpY2h0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFFMkQ7QUFDL0I7QUFhVztBQWF2QyxNQUFNTSxXQUFvQztRQUFDLEVBQ3pDQyxLQUFLLEVBQ0xDLGdCQUFnQixHQUFHLEVBQ25CQyxnQkFBZ0IsRUFBRSxFQUNsQkMsb0JBQW9CO1FBQUM7UUFBSTtLQUFHLEVBQzVCQyxZQUFZLEdBQUcsRUFDZkMsZUFBZSxHQUFHLEVBQ2xCQyxTQUFTO1FBQUM7UUFBRztRQUFHO1FBQUc7UUFBRztRQUFHO1FBQUc7UUFBRztLQUFFLEVBQ2pDQyxxQkFBcUIsQ0FBQyxFQUN2Qjs7SUFDQyxNQUFNQyxlQUFlWiw2Q0FBTUEsQ0FBd0I7SUFDbkQsTUFBTWEsU0FBU2IsNkNBQU1BLENBQTBCO0lBQy9DLE1BQU1jLFlBQVlkLDZDQUFNQSxDQUF5QjtJQUNqRCxNQUFNZSxVQUFVZiw2Q0FBTUEsQ0FBeUI7SUFDL0MsTUFBTSxDQUFDZ0IsYUFBYUMsZUFBZSxHQUFHbkIsK0NBQVFBLENBQUNhO0lBQy9DLE1BQU0sQ0FBQ08sWUFBWUMsY0FBYyxHQUFHckIsK0NBQVFBLENBQUM7SUFFN0MsTUFBTXNCLFFBQVE7WUFBQ0MscUVBQUk7ZUFBTUEsSUFBSSxJQUFJQyxLQUFLQyxNQUFNLEtBQUtGO0lBQUFBO0lBRWpELE1BQU1HLFFBQVEsQ0FBQ0MsVUFBa0JDLFlBQW9CQztRQUNuRCxNQUFNQyxRQUFRLENBQUUsTUFBTVIsTUFBTSxFQUFDLElBQUtPLGNBQWVELGFBQWNKLENBQUFBLEtBQUtPLEVBQUUsR0FBRyxHQUFFO1FBQzNFLE9BQU87WUFBQ0osV0FBV0gsS0FBS1EsR0FBRyxDQUFDRjtZQUFRSCxXQUFXSCxLQUFLUyxHQUFHLENBQUNIO1NBQU87SUFDakU7SUFFQSxNQUFNSSxpQkFBaUIsQ0FBQ0MsR0FBV0MsR0FBV0MsR0FBcUJDO1FBQ2pFLE1BQU1DLFNBQVNqQixNQUFNZ0IsSUFBSTtRQUN6QixPQUFP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QUVBLElBQUlILFdBQVdELGdCQUFnQixFQUFFO1lBQy9CQyxXQUFXRCxnQkFBZ0IsQ0FBQyxVQUFVRztRQUN4QyxPQUFPO1lBQ0xGLFdBQVdJLFdBQVcsQ0FBQ0Y7UUFDekI7UUFFQUEsa0JBQWtCRjtRQUVsQixPQUFPO1lBQ0wzRCxPQUFPZ0UsbUJBQW1CLENBQUMsVUFBVVY7WUFDckN0RCxPQUFPZ0UsbUJBQW1CLENBQUMsVUFBVVI7WUFDckMsSUFBSUcsV0FBV0ssbUJBQW1CLEVBQUU7Z0JBQ2xDTCxXQUFXSyxtQkFBbUIsQ0FBQyxVQUFVSDtZQUMzQyxPQUFPO2dCQUNMRixXQUFXTSxjQUFjLENBQUNKO1lBQzVCO1FBQ0Y7SUFDRixHQUFHLEVBQUU7SUFFTCx3REFBd0Q7SUFDeEQsNERBQTREO0lBQzVELE1BQU1LLGVBQWVkLGNBQWNQLGdCQUFnQkEsY0FBY3NCLEtBQUssQ0FBQyxHQUFHO0lBRTFFLElBQUksQ0FBQ2pCLFlBQVksQ0FBQ0YsVUFBVTtRQUMxQixxQkFBTztzQkFBR0Q7O0lBQ1o7SUFFQSxxQkFDRSw4REFBQ3hCO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7OzhCQUNiLDhEQUFDRDtvQkFBSUMsV0FBVTs4QkFDYiw0RUFBQ3pHO3dCQUFTQyxPQUFPa0o7Ozs7Ozs7Ozs7OzhCQUVuQiw4REFBQzNDO29CQUFJQyxXQUFVOzhCQUNadUI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS1g7SUFsRU1EO01BQUFBO0FBb0VOLCtEQUFlQSxZQUFZQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL2NvbXBvbmVudHMvSGFuZHlBbnNpY2h0LnRzeD8xZmRkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xyXG5cclxuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0ICcuL0hhbmR5QW5zaWNodC5jc3MnO1xyXG5cclxuaW50ZXJmYWNlIEhhbmR5QW5zaWNodFByb3BzIHtcclxuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcclxufVxyXG5cclxudHlwZSBHb29leU5hdkl0ZW0gPSB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBocmVmOiBzdHJpbmc7XHJcbiAgdHlwZT86ICdsaW5rJyB8ICdsb2dvJyB8ICdtZW51JztcclxuICBpY29uPzogc3RyaW5nO1xyXG59O1xyXG5cclxuaW1wb3J0IHsgTWVudSwgWCB9IGZyb20gJ2x1Y2lkZS1yZWFjdCc7XHJcblxyXG5pbnRlcmZhY2UgR29vZXlOYXZQcm9wcyB7XHJcbiAgaXRlbXM6IEdvb2V5TmF2SXRlbVtdO1xyXG4gIGFuaW1hdGlvblRpbWU/OiBudW1iZXI7XHJcbiAgcGFydGljbGVDb3VudD86IG51bWJlcjtcclxuICBwYXJ0aWNsZURpc3RhbmNlcz86IFtudW1iZXIsIG51bWJlcl07XHJcbiAgcGFydGljbGVSPzogbnVtYmVyO1xyXG4gIHRpbWVWYXJpYW5jZT86IG51bWJlcjtcclxuICBjb2xvcnM/OiBudW1iZXJbXTtcclxuICBpbml0aWFsQWN0aXZlSW5kZXg/OiBudW1iZXI7XHJcbn1cclxuXHJcbmNvbnN0IEdvb2V5TmF2OiBSZWFjdC5GQzxHb29leU5hdlByb3BzPiA9ICh7XHJcbiAgaXRlbXMsXHJcbiAgYW5pbWF0aW9uVGltZSA9IDYwMCxcclxuICBwYXJ0aWNsZUNvdW50ID0gMTUsXHJcbiAgcGFydGljbGVEaXN0YW5jZXMgPSBbOTAsIDEwXSxcclxuICBwYXJ0aWNsZVIgPSAxMDAsXHJcbiAgdGltZVZhcmlhbmNlID0gMzAwLFxyXG4gIGNvbG9ycyA9IFsxLCAyLCAzLCAxLCAyLCAzLCAxLCA0XSxcclxuICBpbml0aWFsQWN0aXZlSW5kZXggPSAwLFxyXG59KSA9PiB7XHJcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XHJcbiAgY29uc3QgbmF2UmVmID0gdXNlUmVmPEhUTUxVTGlzdEVsZW1lbnQgfCBudWxsPihudWxsKTtcclxuICBjb25zdCBmaWx0ZXJSZWYgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50IHwgbnVsbD4obnVsbCk7XHJcbiAgY29uc3QgdGV4dFJlZiA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQgfCBudWxsPihudWxsKTtcclxuICBjb25zdCBbYWN0aXZlSW5kZXgsIHNldEFjdGl2ZUluZGV4XSA9IHVzZVN0YXRlKGluaXRpYWxBY3RpdmVJbmRleCk7XHJcbiAgY29uc3QgW2lzTWVudU9wZW4sIHNldElzTWVudU9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xyXG5cclxuICBjb25zdCBub2lzZSA9IChuID0gMSkgPT4gbiAvIDIgLSBNYXRoLnJhbmRvbSgpICogbjtcclxuXHJcbiAgY29uc3QgZ2V0WFkgPSAoZGlzdGFuY2U6IG51bWJlciwgcG9pbnRJbmRleDogbnVtYmVyLCB0b3RhbFBvaW50czogbnVtYmVyKSA9PiB7XHJcbiAgICBjb25zdCBhbmdsZSA9ICgoMzYwICsgbm9pc2UoOCkpIC8gdG90YWxQb2ludHMpICogcG9pbnRJbmRleCAqIChNYXRoLlBJIC8gMTgwKTtcclxuICAgIHJldHVybiBbZGlzdGFuY2UgKiBNYXRoLmNvcyhhbmdsZSksIGRpc3RhbmNlICogTWF0aC5zaW4oYW5nbGUpXTtcclxuICB9O1xyXG5cclxuICBjb25zdCBjcmVhdGVQYXJ0aWNsZSA9IChpOiBudW1iZXIsIHQ6IG51bWJlciwgZDogW251bWJlciwgbnVtYmVyXSwgcjogbnVtYmVyKSA9PiB7XHJcbiAgICBjb25zdCByb3RhdGUgPSBub2lzZShyIC8gMTApO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc3RhcnQ6IGdldFhZKGRbMF0sIHBhcnRpY2xlQ291bnQgLSBpLCBwYXJ0aWNsZUNvdW50KSxcclxuICAgICAgZW5kOiBnZXRYWShkWzFdICsgbm9pc2UoNyksIHBhcnRpY2xlQ291bnQgLSBpLCBwYXJ0aWNsZUNvdW50KSxcclxuICAgICAgdGltZTogdCxcclxuICAgICAgc2NhbGU6IDEgKyBub2lzZSgwLjIpLFxyXG4gICAgICBjb2xvcjogY29sb3JzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNvbG9ycy5sZW5ndGgpXSxcclxuICAgICAgcm90YXRlOiByb3RhdGUgPiAwID8gKHJvdGF0ZSArIHIgLyAyMCkgKiAxMCA6IChyb3RhdGUgLSByIC8gMjApICogMTAsXHJcbiAgICB9O1xyXG4gIH07XHJcblxyXG4gIGNvbnN0IG1ha2VQYXJ0aWNsZXMgPSAoZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgIGNvbnN0IGQgPSBwYXJ0aWNsZURpc3RhbmNlcztcclxuICAgIGNvbnN0IHIgPSBwYXJ0aWNsZVI7XHJcbiAgICBjb25zdCBidWJibGVUaW1lID0gYW5pbWF0aW9uVGltZSAqIDIgKyB0aW1lVmFyaWFuY2U7XHJcbiAgICBlbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXRpbWUnLCBgJHtidWJibGVUaW1lfW1zYCk7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0aWNsZUNvdW50OyBpICs9IDEpIHtcclxuICAgICAgY29uc3QgdCA9IGFuaW1hdGlvblRpbWUgKiAyICsgbm9pc2UodGltZVZhcmlhbmNlICogMik7XHJcbiAgICAgIGNvbnN0IHAgPSBjcmVhdGVQYXJ0aWNsZShpLCB0LCBkLCByKTtcclxuICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKTtcclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHBhcnRpY2xlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgIGNvbnN0IHBvaW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgIHBhcnRpY2xlLmNsYXNzTGlzdC5hZGQoJ3BhcnRpY2xlJyk7XHJcbiAgICAgICAgcGFydGljbGUuc3R5bGUuc2V0UHJvcGVydHkoJy0tc3RhcnQteCcsIGAke3Auc3RhcnRbMF19cHhgKTtcclxuICAgICAgICBwYXJ0aWNsZS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zdGFydC15JywgYCR7cC5zdGFydFsxXX1weGApO1xyXG4gICAgICAgIHBhcnRpY2xlLnN0eWxlLnNldFByb3BlcnR5KCctLWVuZC14JywgYCR7cC5lbmRbMF19cHhgKTtcclxuICAgICAgICBwYXJ0aWNsZS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1lbmQteScsIGAke3AuZW5kWzFdfXB4YCk7XHJcbiAgICAgICAgcGFydGljbGUuc3R5bGUuc2V0UHJvcGVydHkoJy0tdGltZScsIGAke3AudGltZX1tc2ApO1xyXG4gICAgICAgIHBhcnRpY2xlLnN0eWxlLnNldFByb3BlcnR5KCctLXNjYWxlJywgYCR7cC5zY2FsZX1gKTtcclxuICAgICAgICBwYXJ0aWNsZS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1jb2xvcicsIGB2YXIoLS1jb2xvci0ke3AuY29sb3J9LCB3aGl0ZSlgKTtcclxuICAgICAgICBwYXJ0aWNsZS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1yb3RhdGUnLCBgJHtwLnJvdGF0ZX1kZWdgKTtcclxuXHJcbiAgICAgICAgcG9pbnQuY2xhc3NMaXN0LmFkZCgncG9pbnQnKTtcclxuICAgICAgICBwYXJ0aWNsZS5hcHBlbmRDaGlsZChwb2ludCk7XHJcbiAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChwYXJ0aWNsZSk7XHJcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJykpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgZWxlbWVudC5yZW1vdmVDaGlsZChwYXJ0aWNsZSk7XHJcbiAgICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgICAgLyogaWdub3JlIHJlbW92YWwgZXJyb3JzICovXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSwgdCk7XHJcbiAgICAgIH0sIDMwKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBjb25zdCB1cGRhdGVFZmZlY3RQb3NpdGlvbiA9IChlbGVtZW50OiBIVE1MTElFbGVtZW50KSA9PiB7XHJcbiAgICBpZiAoIWNvbnRhaW5lclJlZi5jdXJyZW50IHx8ICFmaWx0ZXJSZWYuY3VycmVudCB8fCAhdGV4dFJlZi5jdXJyZW50KSByZXR1cm47XHJcbiAgICBjb25zdCBjb250YWluZXJSZWN0ID0gY29udGFpbmVyUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBwb3MgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3Qgc3R5bGVzOiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+ID0ge1xyXG4gICAgICBsZWZ0OiBgJHtwb3MueCAtIGNvbnRhaW5lclJlY3QueH1weGAsXHJcbiAgICAgIHRvcDogYCR7cG9zLnkgLSBjb250YWluZXJSZWN0Lnl9cHhgLFxyXG4gICAgICB3aWR0aDogYCR7cG9zLndpZHRofXB4YCxcclxuICAgICAgaGVpZ2h0OiBgJHtwb3MuaGVpZ2h0fXB4YCxcclxuICAgIH07XHJcbiAgICBPYmplY3QuYXNzaWduKGZpbHRlclJlZi5jdXJyZW50LnN0eWxlLCBzdHlsZXMpO1xyXG4gICAgT2JqZWN0LmFzc2lnbih0ZXh0UmVmLmN1cnJlbnQuc3R5bGUsIHN0eWxlcyk7XHJcbiAgICAvLyBOdXIgVGV4dCBrb3BpZXJlbiB3ZW5uIGVzIGtlaW4gTG9nbyB1bmQga2VpbiBNZW7DvC1CdXR0b24gaXN0XHJcbiAgICBpZiAoIWVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCduYXYtaXRlbS1sb2dvJykgJiYgIWVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCduYXYtaXRlbS1tZW51JykpIHtcclxuICAgICAgdGV4dFJlZi5jdXJyZW50LmlubmVyVGV4dCA9IGVsZW1lbnQuaW5uZXJUZXh0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGV4dFJlZi5jdXJyZW50LmlubmVyVGV4dCA9ICcnO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LCBpbmRleDogbnVtYmVyLCBpdGVtOiBHb29leU5hdkl0ZW0pID0+IHtcclxuICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIFxyXG4gICAgaWYgKGl0ZW0udHlwZSA9PT0gJ2xvZ28nKSB7XHJcbiAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcclxuICAgICAgIHNldElzTWVudU9wZW4oZmFsc2UpO1xyXG4gICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpdGVtLnR5cGUgPT09ICdtZW51Jykge1xyXG4gICAgICAgIHNldElzTWVudU9wZW4oIWlzTWVudU9wZW4pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsaUVsID0gZS5jdXJyZW50VGFyZ2V0LnBhcmVudEVsZW1lbnQgYXMgSFRNTExJRWxlbWVudCB8IG51bGw7XHJcbiAgICBpZiAoIWxpRWwgfHwgYWN0aXZlSW5kZXggPT09IGluZGV4KSByZXR1cm47XHJcbiAgICBcclxuICAgIC8vIE5vcm1hbCBuYXZpZ2F0aW9uXHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGl0ZW0uaHJlZjtcclxuICAgIHNldElzTWVudU9wZW4oZmFsc2UpOyAvLyBNZW7DvCBzY2hsaWXDn2VuIG5hY2ggS2xpY2tcclxuXHJcbiAgICBzZXRBY3RpdmVJbmRleChpbmRleCk7XHJcbiAgICB1cGRhdGVFZmZlY3RQb3NpdGlvbihsaUVsKTtcclxuXHJcbiAgICBpZiAoZmlsdGVyUmVmLmN1cnJlbnQpIHtcclxuICAgICAgY29uc3QgcGFydGljbGVzID0gZmlsdGVyUmVmLmN1cnJlbnQucXVlcnlTZWxlY3RvckFsbCgnLnBhcnRpY2xlJyk7XHJcbiAgICAgIHBhcnRpY2xlcy5mb3JFYWNoKChwKSA9PiBmaWx0ZXJSZWYuY3VycmVudD8ucmVtb3ZlQ2hpbGQocCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0ZXh0UmVmLmN1cnJlbnQpIHtcclxuICAgICAgdGV4dFJlZi5jdXJyZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpO1xyXG4gICAgICB2b2lkIHRleHRSZWYuY3VycmVudC5vZmZzZXRXaWR0aDsgLy8gZm9yY2UgcmVmbG93XHJcbiAgICAgIHRleHRSZWYuY3VycmVudC5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmlsdGVyUmVmLmN1cnJlbnQpIHtcclxuICAgICAgbWFrZVBhcnRpY2xlcyhmaWx0ZXJSZWYuY3VycmVudCk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IChlOiBSZWFjdC5LZXlib2FyZEV2ZW50PEhUTUxBbmNob3JFbGVtZW50PiwgaW5kZXg6IG51bWJlciwgaXRlbTogR29vZXlOYXZJdGVtKSA9PiB7XHJcbiAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgfHwgZS5rZXkgPT09ICcgJykge1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGNvbnN0IGxpRWwgPSBlLmN1cnJlbnRUYXJnZXQucGFyZW50RWxlbWVudCBhcyBIVE1MTElFbGVtZW50IHwgbnVsbDtcclxuICAgICAgaWYgKGxpRWwpIHtcclxuICAgICAgICBoYW5kbGVDbGljayh7IGN1cnJlbnRUYXJnZXQ6IGUuY3VycmVudFRhcmdldCwgcHJldmVudERlZmF1bHQ6ICgpID0+IHt9IH0gYXMgUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4sIGluZGV4LCBpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAoIW5hdlJlZi5jdXJyZW50IHx8ICFjb250YWluZXJSZWYuY3VycmVudCkgcmV0dXJuO1xyXG4gICAgY29uc3QgYWN0aXZlTGkgPSBuYXZSZWYuY3VycmVudC5xdWVyeVNlbGVjdG9yQWxsKCdsaScpW2FjdGl2ZUluZGV4XSBhcyBIVE1MTElFbGVtZW50IHwgdW5kZWZpbmVkO1xyXG4gICAgaWYgKGFjdGl2ZUxpICYmICFhY3RpdmVMaS5jbGFzc0xpc3QuY29udGFpbnMoJ25hdi1pdGVtLWxvZ28nKSAmJiAhYWN0aXZlTGkuY2xhc3NMaXN0LmNvbnRhaW5zKCduYXYtaXRlbS1tZW51JykpIHtcclxuICAgICAgdXBkYXRlRWZmZWN0UG9zaXRpb24oYWN0aXZlTGkpO1xyXG4gICAgICB0ZXh0UmVmLmN1cnJlbnQ/LmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcclxuICAgICAgY29uc3QgY3VycmVudEFjdGl2ZUxpID0gbmF2UmVmLmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpJylbYWN0aXZlSW5kZXhdIGFzIEhUTUxMSUVsZW1lbnQgfCB1bmRlZmluZWQ7XHJcbiAgICAgIGlmIChjdXJyZW50QWN0aXZlTGkgJiYgIWN1cnJlbnRBY3RpdmVMaS5jbGFzc0xpc3QuY29udGFpbnMoJ25hdi1pdGVtLWxvZ28nKSAmJiAhY3VycmVudEFjdGl2ZUxpLmNsYXNzTGlzdC5jb250YWlucygnbmF2LWl0ZW0tbWVudScpKSB7XHJcbiAgICAgICAgdXBkYXRlRWZmZWN0UG9zaXRpb24oY3VycmVudEFjdGl2ZUxpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShjb250YWluZXJSZWYuY3VycmVudCk7XHJcbiAgICByZXR1cm4gKCkgPT4gcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gIH0sIFthY3RpdmVJbmRleF0pO1xyXG5cclxuICAvLyBNb2RpZml6aWVydGUgSXRlbXMgZsO8ciBkaWUgQW56ZWlnZSAoTG9nbyArIE1lbnUgQnV0dG9uIGltIGdlc2NobG9zc2VuZW4gWnVzdGFuZClcclxuICBjb25zdCBkaXNwbGF5SXRlbXMgPSBpc01lbnVPcGVuIFxyXG4gICAgPyBpdGVtcyAvLyBaZWlnZSBhbGxlIEl0ZW1zIHdlbm4gb2ZmZW4gKG11c3MgaW0gQ1NTIGdlcmVnZWx0IHdlcmRlbiwgZGFzcyBzaWUgdW50ZXJlaW5hbmRlciBvZGVyIGFuZGVycyBkYXJnZXN0ZWxsdCB3ZXJkZW4pXHJcbiAgICA6IFtpdGVtcy5maW5kKGkgPT4gaS50eXBlID09PSAnbG9nbycpISwgeyBsYWJlbDogJ01lbnUnLCBocmVmOiAnIycsIHR5cGU6ICdtZW51JyB9IGFzIEdvb2V5TmF2SXRlbV07XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IGNsYXNzTmFtZT17YGdvb2V5LW5hdi1jb250YWluZXIgJHtpdGVtcy5sZW5ndGggPiA0ID8gJ2hhcy1jb250YWN0JyA6ICcnfSAke2lzTWVudU9wZW4gPyAnbWVudS1vcGVuJyA6ICcnfWB9IHJlZj17Y29udGFpbmVyUmVmfT5cclxuICAgICAgPG5hdj5cclxuICAgICAgICA8dWwgcmVmPXtuYXZSZWZ9PlxyXG4gICAgICAgICAgey8qIExvZ28gaW1tZXIgYW56ZWlnZW4gKi99XHJcbiAgICAgICAgICB7aXRlbXMuZmlsdGVyKGkgPT4gaS50eXBlID09PSAnbG9nbycpLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcclxuICAgICAgICAgICAgIDxsaSBcclxuICAgICAgICAgICAgIGtleT17aXRlbS5ocmVmfSBcclxuICAgICAgICAgICAgIGNsYXNzTmFtZT17YG5hdi1pdGVtLWxvZ29gfVxyXG4gICAgICAgICAgID5cclxuICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgIGhyZWY9e2l0ZW0uaHJlZn1cclxuICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IGhhbmRsZUNsaWNrKGUsIC0xLCBpdGVtKX1cclxuICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17aXRlbS5sYWJlbH1cclxuICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtpdGVtLmljb259IGFsdD17aXRlbS5sYWJlbH0gY2xhc3NOYW1lPVwibmF2LWxvZ28taW1nXCIgLz5cclxuICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgKSl9XHJcblxyXG4gICAgICAgICAgey8qIE1lbsO8IEJ1dHRvbiAoSGFtYnVyZ2VyKSAqL31cclxuICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJuYXYtaXRlbS1tZW51XCIgc3R5bGU9e3sgbWFyZ2luTGVmdDogJ2F1dG8nLCBjdXJzb3I6ICdwb2ludGVyJyB9fT5cclxuICAgICAgICAgICAgPGEgXHJcbiAgICAgICAgICAgICAgaHJlZj1cIiNcIiBcclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gaGFuZGxlQ2xpY2soZSwgLTEsIHsgbGFiZWw6ICdNZW51JywgaHJlZjogJyMnLCB0eXBlOiAnbWVudScgfSl9XHJcbiAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnMTAwJScsIGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7aXNNZW51T3BlbiA/IDxYIHNpemU9ezI0fSBjb2xvcj1cIndoaXRlXCIgLz4gOiA8TWVudSBzaXplPXsyNH0gY29sb3I9XCJ3aGl0ZVwiIC8+fVxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICAgIDwvbmF2PlxyXG4gICAgICBcclxuICAgICAgey8qIERyb3Bkb3duIC8gRXhwYW5kZWQgTWVudSBJdGVtcyAtIEF1w59lcmhhbGIgdm9uIG5hdiwgZGFtaXQgcG9zaXRpb246IGZpeGVkIHJlbGF0aXYgenVtIFZpZXdwb3J0IGlzdCAqL31cclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Btb2JpbGUtbWVudS1pdGVtcyAke2lzTWVudU9wZW4gPyAnb3BlbicgOiAnJ31gfT5cclxuICAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgICAgIHtpdGVtcy5maWx0ZXIoaSA9PiBpLnR5cGUgIT09ICdsb2dvJyAmJiBpLnR5cGUgIT09ICdtZW51JykubWFwKChpdGVtLCBpbmRleCkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgPGxpIGtleT17aXRlbS5ocmVmfSBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBpdGVtLmhyZWY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNNZW51T3BlbihmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICB9fT5cclxuICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57aXRlbS5sYWJlbH08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICA8L3VsPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIHsvKiBFZmZlY3QgbnVyIGbDvHIgSW5saW5lLUl0ZW1zLCBoaWVyIGRlYWt0aXZpZXJ0IGRhIHdpciBhdWYgT3ZlcmxheSB1bXN0ZWxsZW4gKi99XHJcbiAgICAgIHsvKiA8c3BhbiBjbGFzc05hbWU9XCJlZmZlY3QgZmlsdGVyXCIgcmVmPXtmaWx0ZXJSZWZ9IC8+XHJcbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImVmZmVjdCB0ZXh0XCIgcmVmPXt0ZXh0UmVmfSAvPiAqL31cclxuICAgIDwvZGl2PlxyXG4gICk7XHJcbn07XHJcblxyXG5jb25zdCBhbGxHb29leUl0ZW1zOiBHb29leU5hdkl0ZW1bXSA9IFtcclxuICB7IGxhYmVsOiAnSG9tZScsIGhyZWY6ICcjJywgdHlwZTogJ2xvZ28nLCBpY29uOiAnL1dlYktsYXJMb2dvLnBuZycgfSxcclxuICB7IGxhYmVsOiAnw5xiZXIgdW5zJywgaHJlZjogJyNhYm91dCcgfSxcclxuICB7IGxhYmVsOiAnTGVpc3R1bmdlbicsIGhyZWY6ICcjc2VydmljZXMnIH0sXHJcbiAgeyBsYWJlbDogJ0FibMOkdWZlJywgaHJlZjogJyNwcm9jZXNzJyB9LFxyXG4gIHsgbGFiZWw6ICdLb250YWt0JywgaHJlZjogJyNjb250YWN0JyB9LFxyXG5dO1xyXG5cclxuY29uc3QgSGFuZHlBbnNpY2h0OiBSZWFjdC5GQzxIYW5keUFuc2ljaHRQcm9wcz4gPSAoeyBjaGlsZHJlbiB9KSA9PiB7XHJcbiAgY29uc3QgW2lzTW9iaWxlLCBzZXRJc01vYmlsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgY29uc3QgW2lzQ2xpZW50LCBzZXRJc0NsaWVudF0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgY29uc3QgW3Nob3dDb250YWN0LCBzZXRTaG93Q29udGFjdF0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcblxyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBzZXRJc0NsaWVudCh0cnVlKTtcclxuXHJcbiAgICBjb25zdCBjaGVja01vYmlsZSA9ICgpID0+IHtcclxuICAgICAgc2V0SXNNb2JpbGUod2luZG93LmlubmVyV2lkdGggPCA3NjgpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XHJcbiAgICAgIC8vIFNob3cgY29udGFjdCBhZnRlciBzY3JvbGxpbmcgZG93biAxMDBweFxyXG4gICAgICBzZXRTaG93Q29udGFjdCh3aW5kb3cuc2Nyb2xsWSA+IDEwMCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNoZWNrTW9iaWxlKCk7XHJcblxyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGNoZWNrTW9iaWxlKTtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpO1xyXG5cclxuICAgIGNvbnN0IG1lZGlhUXVlcnkgPSB3aW5kb3cubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogNzY3cHgpJyk7XHJcbiAgICBjb25zdCBoYW5kbGVNZWRpYUNoYW5nZSA9IChlOiBNZWRpYVF1ZXJ5TGlzdEV2ZW50IHwgTWVkaWFRdWVyeUxpc3QpID0+IHtcclxuICAgICAgc2V0SXNNb2JpbGUoZS5tYXRjaGVzKTtcclxuICAgIH07XHJcblxyXG4gICAgaWYgKG1lZGlhUXVlcnkuYWRkRXZlbnRMaXN0ZW5lcikge1xyXG4gICAgICBtZWRpYVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGhhbmRsZU1lZGlhQ2hhbmdlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG1lZGlhUXVlcnkuYWRkTGlzdGVuZXIoaGFuZGxlTWVkaWFDaGFuZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZU1lZGlhQ2hhbmdlKG1lZGlhUXVlcnkpO1xyXG5cclxuICAgIHJldHVybiAoKSA9PiB7XHJcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBjaGVja01vYmlsZSk7XHJcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpO1xyXG4gICAgICBpZiAobWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKSB7XHJcbiAgICAgICAgbWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBoYW5kbGVNZWRpYUNoYW5nZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbWVkaWFRdWVyeS5yZW1vdmVMaXN0ZW5lcihoYW5kbGVNZWRpYUNoYW5nZSk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfSwgW10pO1xyXG5cclxuICAvLyBXZW5uIHNob3dDb250YWN0IHRydWUgaXN0LCB6ZWlnZW4gd2lyIGFsbGUgSXRlbXMgKDUpLlxyXG4gIC8vIFdlbm4gZmFsc2UsIHplaWdlbiB3aXIgbnVyIGRpZSBlcnN0ZW4gNCAoTG9nbyArIDMgTGlua3MpLlxyXG4gIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHNob3dDb250YWN0ID8gYWxsR29vZXlJdGVtcyA6IGFsbEdvb2V5SXRlbXMuc2xpY2UoMCwgNCk7XHJcblxyXG4gIGlmICghaXNDbGllbnQgfHwgIWlzTW9iaWxlKSB7XHJcbiAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+O1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgY2xhc3NOYW1lPVwiaGFuZHktYW5zaWNodFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImhhbmR5LWFuc2ljaHRfX2NvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGFuZHktYW5zaWNodF9fbmF2LXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxHb29leU5hdiBpdGVtcz17Y3VycmVudEl0ZW1zfSAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGFuZHktYW5zaWNodF9fY29udGVudFwiPlxyXG4gICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICk7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBIYW5keUFuc2ljaHQ7XHJcblxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVJlZiIsIk1lbnUiLCJYIiwiR29vZXlOYXYiLCJpdGVtcyIsImFuaW1hdGlvblRpbWUiLCJwYXJ0aWNsZUNvdW50IiwicGFydGljbGVEaXN0YW5jZXMiLCJwYXJ0aWNsZVIiLCJ0aW1lVmFyaWFuY2UiLCJjb2xvcnMiLCJpbml0aWFsQWN0aXZlSW5kZXgiLCJjb250YWluZXJSZWYiLCJuYXZSZWYiLCJmaWx0ZXJSZWYiLCJ0ZXh0UmVmIiwiYWN0aXZlSW5kZXgiLCJzZXRBY3RpdmVJbmRleCIsImlzTWVudU9wZW4iLCJzZXRJc01lbnVPcGVuIiwibm9pc2UiLCJuIiwiTWF0aCIsInJhbmRvbSIsImdldFhZIiwiZGlzdGFuY2UiLCJwb2ludEluZGV4IiwidG90YWxQb2ludHMiLCJhbmdsZSIsIlBJIiwiY29zIiwic2luIiwiY3JlYXRlUGFydGljbGUiLCJpIiwidCIsImQiLCJyIiwicm90YXRlIiwic3RhcnQiLCJlbmQiLCJ0aW1lIiwic2NhbGUiLCJjb2xvciIsImZsb29yIiwibGVuZ3RoIiwibWFrZVBhcnRpY2xlcyIsImVsZW1lbnQiLCJidWJibGVUaW1lIiwic3R5bGUiLCJzZXRQcm9wZXJ0eSIsInAiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJzZXRUaW1lb3V0IiwicGFydGljbGUiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJwb2ludCIsImFkZCIsImFwcGVuZENoaWxkIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwicmVtb3ZlQ2hpbGQiLCJ1cGRhdGVFZmZlY3RQb3NpdGlvbiIsImN1cnJlbnQiLCJjb250YWluZXJSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwicG9zIiwic3R5bGVzIiwibGVmdCIsIngiLCJ0b3AiLCJ5Iiwid2lkdGgiLCJoZWlnaHQiLCJPYmplY3QiLCJhc3NpZ24iLCJjb250YWlucyIsImlubmVyVGV4dCIsImhhbmRsZUNsaWNrIiwiZSIsImluZGV4IiwiaXRlbSIsInByZXZlbnREZWZhdWx0IiwidHlwZSIsIndpbmRvdyIsInNjcm9sbFRvIiwiYmVoYXZpb3IiLCJsaUVsIiwiY3VycmVudFRhcmdldCIsInBhcmVudEVsZW1lbnQiLCJsb2NhdGlvbiIsImhyZWYiLCJwYXJ0aWNsZXMiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsIm9mZnNldFdpZHRoIiwiaGFuZGxlS2V5RG93biIsImtleSIsImFjdGl2ZUxpIiwicmVzaXplT2JzZXJ2ZXIiLCJSZXNpemVPYnNlcnZlciIsImN1cnJlbnRBY3RpdmVMaSIsIm9ic2VydmUiLCJkaXNjb25uZWN0IiwiZGlzcGxheUl0ZW1zIiwiZmluZCIsImxhYmVsIiwiZGl2IiwiY2xhc3NOYW1lIiwicmVmIiwibmF2IiwidWwiLCJmaWx0ZXIiLCJtYXAiLCJsaSIsImEiLCJvbkNsaWNrIiwiYXJpYS1sYWJlbCIsImltZyIsInNyYyIsImljb24iLCJhbHQiLCJtYXJnaW5MZWZ0IiwiY3Vyc29yIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsInNpemUiLCJzcGFuIiwiYWxsR29vZXlJdGVtcyIsIkhhbmR5QW5zaWNodCIsImNoaWxkcmVuIiwiaXNNb2JpbGUiLCJzZXRJc01vYmlsZSIsImlzQ2xpZW50Iiwic2V0SXNDbGllbnQiLCJzaG93Q29udGFjdCIsInNldFNob3dDb250YWN0IiwiY2hlY2tNb2JpbGUiLCJpbm5lcldpZHRoIiwiaGFuZGxlU2Nyb2xsIiwic2Nyb2xsWSIsImFkZEV2ZW50TGlzdGVuZXIiLCJtZWRpYVF1ZXJ5IiwibWF0Y2hNZWRpYSIsImhhbmRsZU1lZGlhQ2hhbmdlIiwibWF0Y2hlcyIsImFkZExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInJlbW92ZUxpc3RlbmVyIiwiY3VycmVudEl0ZW1zIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/HandyAnsicht.tsx\n"));
/***/ })
});