diff --git a/.next/app-build-manifest.json b/.next/app-build-manifest.json new file mode 100644 index 00000000..30fa07d1 --- /dev/null +++ b/.next/app-build-manifest.json @@ -0,0 +1,26 @@ +{ + "pages": { + "/kontakte/page": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/kontakte/page.js" + ], + "/layout": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/css/app/layout.css", + "static/chunks/app/layout.js" + ], + "/page": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/css/app/page.css", + "static/chunks/app/page.js" + ], + "/not-found": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/not-found.js" + ] + } +} \ No newline at end of file diff --git a/.next/build-manifest.json b/.next/build-manifest.json new file mode 100644 index 00000000..018cb67f --- /dev/null +++ b/.next/build-manifest.json @@ -0,0 +1,19 @@ +{ + "polyfillFiles": [ + "static/chunks/polyfills.js" + ], + "devFiles": [], + "ampDevFiles": [], + "lowPriorityFiles": [ + "static/development/_buildManifest.js", + "static/development/_ssgManifest.js" + ], + "rootMainFiles": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js" + ], + "pages": { + "/_app": [] + }, + "ampFirstPages": [] +} \ No newline at end of file diff --git a/.next/cache/webpack/client-development/0.pack.gz b/.next/cache/webpack/client-development/0.pack.gz new file mode 100644 index 00000000..387227cf Binary files /dev/null and b/.next/cache/webpack/client-development/0.pack.gz differ diff --git a/.next/cache/webpack/client-development/1.pack.gz b/.next/cache/webpack/client-development/1.pack.gz new file mode 100644 index 00000000..66bfb37f Binary files /dev/null and b/.next/cache/webpack/client-development/1.pack.gz differ diff --git a/.next/cache/webpack/client-development/2.pack.gz b/.next/cache/webpack/client-development/2.pack.gz new file mode 100644 index 00000000..b835ed6c Binary files /dev/null and b/.next/cache/webpack/client-development/2.pack.gz differ diff --git a/.next/cache/webpack/client-development/3.pack.gz b/.next/cache/webpack/client-development/3.pack.gz new file mode 100644 index 00000000..4a184f69 Binary files /dev/null and b/.next/cache/webpack/client-development/3.pack.gz differ diff --git a/.next/cache/webpack/client-development/4.pack.gz b/.next/cache/webpack/client-development/4.pack.gz new file mode 100644 index 00000000..ddceadb2 Binary files /dev/null and b/.next/cache/webpack/client-development/4.pack.gz differ diff --git a/.next/cache/webpack/client-development/5.pack.gz b/.next/cache/webpack/client-development/5.pack.gz new file mode 100644 index 00000000..5f57b762 Binary files /dev/null and b/.next/cache/webpack/client-development/5.pack.gz differ diff --git a/.next/cache/webpack/client-development/6.pack.gz b/.next/cache/webpack/client-development/6.pack.gz new file mode 100644 index 00000000..4c2df2eb Binary files /dev/null and b/.next/cache/webpack/client-development/6.pack.gz differ diff --git a/.next/cache/webpack/client-development/7.pack.gz b/.next/cache/webpack/client-development/7.pack.gz new file mode 100644 index 00000000..1a2fe65e Binary files /dev/null and b/.next/cache/webpack/client-development/7.pack.gz differ diff --git a/.next/cache/webpack/client-development/8.pack.gz b/.next/cache/webpack/client-development/8.pack.gz new file mode 100644 index 00000000..984f4e18 Binary files /dev/null and b/.next/cache/webpack/client-development/8.pack.gz differ diff --git a/.next/cache/webpack/client-development/9.pack.gz b/.next/cache/webpack/client-development/9.pack.gz new file mode 100644 index 00000000..367e6e90 Binary files /dev/null and b/.next/cache/webpack/client-development/9.pack.gz differ diff --git a/.next/cache/webpack/client-development/index.pack.gz b/.next/cache/webpack/client-development/index.pack.gz new file mode 100644 index 00000000..7cb0d490 Binary files /dev/null and b/.next/cache/webpack/client-development/index.pack.gz differ diff --git a/.next/cache/webpack/client-development/index.pack.gz.old b/.next/cache/webpack/client-development/index.pack.gz.old new file mode 100644 index 00000000..225bf4e9 Binary files /dev/null and b/.next/cache/webpack/client-development/index.pack.gz.old differ diff --git a/.next/cache/webpack/server-development/0.pack.gz b/.next/cache/webpack/server-development/0.pack.gz new file mode 100644 index 00000000..f90f2eb2 Binary files /dev/null and b/.next/cache/webpack/server-development/0.pack.gz differ diff --git a/.next/cache/webpack/server-development/1.pack.gz b/.next/cache/webpack/server-development/1.pack.gz new file mode 100644 index 00000000..2574cf48 Binary files /dev/null and b/.next/cache/webpack/server-development/1.pack.gz differ diff --git a/.next/cache/webpack/server-development/10.pack.gz b/.next/cache/webpack/server-development/10.pack.gz new file mode 100644 index 00000000..d48be2c3 Binary files /dev/null and b/.next/cache/webpack/server-development/10.pack.gz differ diff --git a/.next/cache/webpack/server-development/11.pack.gz b/.next/cache/webpack/server-development/11.pack.gz new file mode 100644 index 00000000..58de43e7 Binary files /dev/null and b/.next/cache/webpack/server-development/11.pack.gz differ diff --git a/.next/cache/webpack/server-development/12.pack.gz b/.next/cache/webpack/server-development/12.pack.gz new file mode 100644 index 00000000..7d510dad Binary files /dev/null and b/.next/cache/webpack/server-development/12.pack.gz differ diff --git a/.next/cache/webpack/server-development/13.pack.gz b/.next/cache/webpack/server-development/13.pack.gz new file mode 100644 index 00000000..9b73fe41 Binary files /dev/null and b/.next/cache/webpack/server-development/13.pack.gz differ diff --git a/.next/cache/webpack/server-development/14.pack.gz b/.next/cache/webpack/server-development/14.pack.gz new file mode 100644 index 00000000..f44f960e Binary files /dev/null and b/.next/cache/webpack/server-development/14.pack.gz differ diff --git a/.next/cache/webpack/server-development/2.pack.gz b/.next/cache/webpack/server-development/2.pack.gz new file mode 100644 index 00000000..02df4a04 Binary files /dev/null and b/.next/cache/webpack/server-development/2.pack.gz differ diff --git a/.next/cache/webpack/server-development/3.pack.gz b/.next/cache/webpack/server-development/3.pack.gz new file mode 100644 index 00000000..ade9360e Binary files /dev/null and b/.next/cache/webpack/server-development/3.pack.gz differ diff --git a/.next/cache/webpack/server-development/4.pack.gz b/.next/cache/webpack/server-development/4.pack.gz new file mode 100644 index 00000000..e26b74be Binary files /dev/null and b/.next/cache/webpack/server-development/4.pack.gz differ diff --git a/.next/cache/webpack/server-development/5.pack.gz b/.next/cache/webpack/server-development/5.pack.gz new file mode 100644 index 00000000..81a374b5 Binary files /dev/null and b/.next/cache/webpack/server-development/5.pack.gz differ diff --git a/.next/cache/webpack/server-development/6.pack.gz b/.next/cache/webpack/server-development/6.pack.gz new file mode 100644 index 00000000..6603a309 Binary files /dev/null and b/.next/cache/webpack/server-development/6.pack.gz differ diff --git a/.next/cache/webpack/server-development/7.pack.gz b/.next/cache/webpack/server-development/7.pack.gz new file mode 100644 index 00000000..c93acb8c Binary files /dev/null and b/.next/cache/webpack/server-development/7.pack.gz differ diff --git a/.next/cache/webpack/server-development/8.pack.gz b/.next/cache/webpack/server-development/8.pack.gz new file mode 100644 index 00000000..01017687 Binary files /dev/null and b/.next/cache/webpack/server-development/8.pack.gz differ diff --git a/.next/cache/webpack/server-development/9.pack.gz b/.next/cache/webpack/server-development/9.pack.gz new file mode 100644 index 00000000..8f64b192 Binary files /dev/null and b/.next/cache/webpack/server-development/9.pack.gz differ diff --git a/.next/cache/webpack/server-development/index.pack.gz b/.next/cache/webpack/server-development/index.pack.gz new file mode 100644 index 00000000..97ca8f7b Binary files /dev/null and b/.next/cache/webpack/server-development/index.pack.gz differ diff --git a/.next/cache/webpack/server-development/index.pack.gz.old b/.next/cache/webpack/server-development/index.pack.gz.old new file mode 100644 index 00000000..266b9ac6 Binary files /dev/null and b/.next/cache/webpack/server-development/index.pack.gz.old differ diff --git a/.next/package.json b/.next/package.json new file mode 100644 index 00000000..7156107e --- /dev/null +++ b/.next/package.json @@ -0,0 +1 @@ +{"type": "commonjs"} \ No newline at end of file diff --git a/.next/react-loadable-manifest.json b/.next/react-loadable-manifest.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/.next/react-loadable-manifest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/.next/server/app-paths-manifest.json b/.next/server/app-paths-manifest.json new file mode 100644 index 00000000..ed7bef4d --- /dev/null +++ b/.next/server/app-paths-manifest.json @@ -0,0 +1,6 @@ +{ + "/not-found": "app/not-found.js", + "/page": "app/page.js", + "/favicon.ico/route": "app/favicon.ico/route.js", + "/kontakte/page": "app/kontakte/page.js" +} \ No newline at end of file diff --git a/.next/server/app/_not-found_client-reference-manifest.js b/.next/server/app/_not-found_client-reference-manifest.js new file mode 100644 index 00000000..207618de --- /dev/null +++ b/.next/server/app/_not-found_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/_not-found"]={"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./components/HandyAnsicht.tsx":{"*":{"id":"(ssr)/./components/HandyAnsicht.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/page.tsx":{"*":{"id":"(ssr)/./app/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\static-generation-searchparams-bailout-provider.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\static-generation-searchparams-bailout-provider.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\components\\HandyAnsicht.tsx":{"id":"(app-pages-browser)/./components/HandyAnsicht.tsx","name":"*","chunks":["app/layout:static/chunks/app/layout.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\font\\google\\target.css?{\"path\":\"app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout:static/chunks/app/layout.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\globals.css":{"id":"(app-pages-browser)/./app/globals.css","name":"*","chunks":["app/layout:static/chunks/app/layout.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\page.tsx":{"id":"(app-pages-browser)/./app/page.tsx","name":"*","chunks":["app/page:static/chunks/app/page.js"],"async":false}},"entryCSSFiles":{"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\layout":["static/css/app/layout.css"],"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\page":["static/css/app/page.css"],"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\not-found":[]}} \ No newline at end of file diff --git a/.next/server/app/favicon.ico/route.js b/.next/server/app/favicon.ico/route.js new file mode 100644 index 00000000..d5e2ac9b --- /dev/null +++ b/.next/server/app/favicon.ico/route.js @@ -0,0 +1,66 @@ +"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/). + */ +(() => { +var exports = {}; +exports.id = "app/favicon.ico/route"; +exports.ids = ["app/favicon.ico/route"]; +exports.modules = { + +/***/ "next/dist/compiled/next-server/app-route.runtime.dev.js": +/*!**************************************************************************!*\ + !*** external "next/dist/compiled/next-server/app-route.runtime.dev.js" ***! + \**************************************************************************/ +/***/ ((module) => { + +module.exports = require("next/dist/compiled/next-server/app-route.runtime.dev.js"); + +/***/ }), + +/***/ "next/dist/compiled/@vercel/og/index.node.js": +/*!**************************************************************!*\ + !*** external "next/dist/compiled/@vercel/og/index.node.js" ***! + \**************************************************************/ +/***/ ((module) => { + +module.exports = import("next/dist/compiled/@vercel/og/index.node.js");; + +/***/ }), + +/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!": +/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D! ***! + \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ headerHooks: () => (/* binding */ headerHooks),\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ requestAsyncStorage: () => (/* binding */ requestAsyncStorage),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ serverHooks: () => (/* binding */ serverHooks),\n/* harmony export */ staticGenerationAsyncStorage: () => (/* binding */ staticGenerationAsyncStorage),\n/* harmony export */ staticGenerationBailout: () => (/* binding */ staticGenerationBailout)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_node_polyfill_headers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/node-polyfill-headers */ \"(rsc)/./node_modules/next/dist/server/node-polyfill-headers.js\");\n/* harmony import */ var next_dist_server_node_polyfill_headers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_node_polyfill_headers__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-route/module.compiled */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-route/module.compiled.js\");\n/* harmony import */ var next_dist_server_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_metadata_route_loader_page_2Ffavicon_ico_2Froute_isDynamic_0_C_Users_andre_Documents_GitHub_Webklar_com_app_favicon_ico_next_metadata_route___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next-metadata-route-loader?page=%2Ffavicon.ico%2Froute&isDynamic=0!./app/favicon.ico?__next_metadata_route__ */ \"(app-metadata-route)/./node_modules/next/dist/build/webpack/loaders/next-metadata-route-loader.js?page=%2Ffavicon.ico%2Froute&isDynamic=0!./app/favicon.ico?__next_metadata_route__\");\n\r\n// @ts-ignore this need to be imported from next/dist to be external\r\n\r\n\r\n// @ts-expect-error - replaced by webpack/turbopack loader\r\n\r\nconst AppRouteRouteModule = next_dist_server_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_1__.AppRouteRouteModule;\r\n// We inject the nextConfigOutput here so that we can use them in the route\r\n// module.\r\nconst nextConfigOutput = \"standalone\"\r\nconst routeModule = new AppRouteRouteModule({\r\n definition: {\r\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_2__.RouteKind.APP_ROUTE,\r\n page: \"/favicon.ico/route\",\r\n pathname: \"/favicon.ico\",\r\n filename: \"favicon\",\r\n bundlePath: \"app/favicon.ico/route\"\r\n },\r\n resolvedPagePath: \"next-metadata-route-loader?page=%2Ffavicon.ico%2Froute&isDynamic=0!C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\favicon.ico?__next_metadata_route__\",\r\n nextConfigOutput,\r\n userland: next_metadata_route_loader_page_2Ffavicon_ico_2Froute_isDynamic_0_C_Users_andre_Documents_GitHub_Webklar_com_app_favicon_ico_next_metadata_route___WEBPACK_IMPORTED_MODULE_3__\r\n});\r\n// Pull out the exports that we need to expose from the module. This should\r\n// be eliminated when we've moved the other routes to the new format. These\r\n// are used to hook into the route.\r\nconst { requestAsyncStorage, staticGenerationAsyncStorage, serverHooks, headerHooks, staticGenerationBailout } = routeModule;\r\nconst originalPathname = \"/favicon.ico/route\";\r\n\r\n\r\n//# sourceMappingURL=app-route.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZmYXZpY29uLmljbyUyRnJvdXRlJnBhZ2U9JTJGZmF2aWNvbi5pY28lMkZyb3V0ZSZhcHBQYXRocz0mcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZmYXZpY29uLmljbyZhcHBEaXI9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSU1Q2FwcCZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPWpzJnJvb3REaXI9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD1zdGFuZGFsb25lJnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0QhIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBZ0Q7QUFDaEQ7QUFDMEY7QUFDM0I7QUFDL0Q7QUFDMEw7QUFDMUwsNEJBQTRCLGdIQUEwQjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsWUFBWTtBQUNaLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQSxRQUFRLHVHQUF1RztBQUMvRztBQUNpSjtBQUNqSjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLz9lMWQyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIm5leHQvZGlzdC9zZXJ2ZXIvbm9kZS1wb2x5ZmlsbC1oZWFkZXJzXCI7XHJcbi8vIEB0cy1pZ25vcmUgdGhpcyBuZWVkIHRvIGJlIGltcG9ydGVkIGZyb20gbmV4dC9kaXN0IHRvIGJlIGV4dGVybmFsXHJcbmltcG9ydCAqIGFzIG1vZHVsZSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcm91dGUvbW9kdWxlLmNvbXBpbGVkXCI7XHJcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kXCI7XHJcbi8vIEB0cy1leHBlY3QtZXJyb3IgLSByZXBsYWNlZCBieSB3ZWJwYWNrL3R1cmJvcGFjayBsb2FkZXJcclxuaW1wb3J0ICogYXMgdXNlcmxhbmQgZnJvbSBcIm5leHQtbWV0YWRhdGEtcm91dGUtbG9hZGVyP3BhZ2U9JTJGZmF2aWNvbi5pY28lMkZyb3V0ZSZpc0R5bmFtaWM9MCFDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXGFwcFxcXFxmYXZpY29uLmljbz9fX25leHRfbWV0YWRhdGFfcm91dGVfX1wiO1xyXG5jb25zdCBBcHBSb3V0ZVJvdXRlTW9kdWxlID0gbW9kdWxlLkFwcFJvdXRlUm91dGVNb2R1bGU7XHJcbi8vIFdlIGluamVjdCB0aGUgbmV4dENvbmZpZ091dHB1dCBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxyXG4vLyBtb2R1bGUuXHJcbmNvbnN0IG5leHRDb25maWdPdXRwdXQgPSBcInN0YW5kYWxvbmVcIlxyXG5jb25zdCByb3V0ZU1vZHVsZSA9IG5ldyBBcHBSb3V0ZVJvdXRlTW9kdWxlKHtcclxuICAgIGRlZmluaXRpb246IHtcclxuICAgICAgICBraW5kOiBSb3V0ZUtpbmQuQVBQX1JPVVRFLFxyXG4gICAgICAgIHBhZ2U6IFwiL2Zhdmljb24uaWNvL3JvdXRlXCIsXHJcbiAgICAgICAgcGF0aG5hbWU6IFwiL2Zhdmljb24uaWNvXCIsXHJcbiAgICAgICAgZmlsZW5hbWU6IFwiZmF2aWNvblwiLFxyXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiYXBwL2Zhdmljb24uaWNvL3JvdXRlXCJcclxuICAgIH0sXHJcbiAgICByZXNvbHZlZFBhZ2VQYXRoOiBcIm5leHQtbWV0YWRhdGEtcm91dGUtbG9hZGVyP3BhZ2U9JTJGZmF2aWNvbi5pY28lMkZyb3V0ZSZpc0R5bmFtaWM9MCFDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXGFwcFxcXFxmYXZpY29uLmljbz9fX25leHRfbWV0YWRhdGFfcm91dGVfX1wiLFxyXG4gICAgbmV4dENvbmZpZ091dHB1dCxcclxuICAgIHVzZXJsYW5kXHJcbn0pO1xyXG4vLyBQdWxsIG91dCB0aGUgZXhwb3J0cyB0aGF0IHdlIG5lZWQgdG8gZXhwb3NlIGZyb20gdGhlIG1vZHVsZS4gVGhpcyBzaG91bGRcclxuLy8gYmUgZWxpbWluYXRlZCB3aGVuIHdlJ3ZlIG1vdmVkIHRoZSBvdGhlciByb3V0ZXMgdG8gdGhlIG5ldyBmb3JtYXQuIFRoZXNlXHJcbi8vIGFyZSB1c2VkIHRvIGhvb2sgaW50byB0aGUgcm91dGUuXHJcbmNvbnN0IHsgcmVxdWVzdEFzeW5jU3RvcmFnZSwgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSwgc2VydmVySG9va3MsIGhlYWRlckhvb2tzLCBzdGF0aWNHZW5lcmF0aW9uQmFpbG91dCB9ID0gcm91dGVNb2R1bGU7XHJcbmNvbnN0IG9yaWdpbmFsUGF0aG5hbWUgPSBcIi9mYXZpY29uLmljby9yb3V0ZVwiO1xyXG5leHBvcnQgeyByb3V0ZU1vZHVsZSwgcmVxdWVzdEFzeW5jU3RvcmFnZSwgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSwgc2VydmVySG9va3MsIGhlYWRlckhvb2tzLCBzdGF0aWNHZW5lcmF0aW9uQmFpbG91dCwgb3JpZ2luYWxQYXRobmFtZSwgIH07XHJcblxyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcm91dGUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!\n"); + +/***/ }), + +/***/ "(app-metadata-route)/./node_modules/next/dist/build/webpack/loaders/next-metadata-route-loader.js?page=%2Ffavicon.ico%2Froute&isDynamic=0!./app/favicon.ico?__next_metadata_route__": +/*!**********************************************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-metadata-route-loader.js?page=%2Ffavicon.ico%2Froute&isDynamic=0!./app/favicon.ico?__next_metadata_route__ ***! + \**********************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GET: () => (/* binding */ GET),\n/* harmony export */ dynamic: () => (/* binding */ dynamic)\n/* harmony export */ });\n/* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/server */ \"(app-metadata-route)/./node_modules/next/server.js\");\n/* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_server__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst contentType = \"image/x-icon\"\nconst buffer = Buffer.from(\"AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////////////////////////////////P8///h+H//4PA//4BgH/8AAA//AAAP/wAAD/8AAA//AAAP/wAAD/8AAA//CAEP/wwDD/8OBw//Dw8P/w+fD/8f/4//P//f/////////////////////////////////////8=\", 'base64'\n )\n\nfunction GET() {\n return new next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse(buffer, {\n headers: {\n 'Content-Type': contentType,\n 'Cache-Control': \"public, max-age=0, must-revalidate\",\n },\n })\n}\n\nconst dynamic = 'force-static'\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LW1ldGFkYXRhLXJvdXRlLWxvYWRlci5qcz9wYWdlPSUyRmZhdmljb24uaWNvJTJGcm91dGUmaXNEeW5hbWljPTAhLi9hcHAvZmF2aWNvbi5pY28/X19uZXh0X21ldGFkYXRhX3JvdXRlX18iLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUEwQzs7QUFFMUM7QUFDQTtBQUNBOztBQUVPO0FBQ1AsYUFBYSxxREFBWTtBQUN6QjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vYXBwL2Zhdmljb24uaWNvPzdiZmUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmV4dFJlc3BvbnNlIH0gZnJvbSAnbmV4dC9zZXJ2ZXInXG5cbmNvbnN0IGNvbnRlbnRUeXBlID0gXCJpbWFnZS94LWljb25cIlxuY29uc3QgYnVmZmVyID0gQnVmZmVyLmZyb20oXCJBQUFCQUFFQUlDQUFBQUVBSUFDb0VBQUFGZ0FBQUNnQUFBQWdBQUFBUUFBQUFBRUFJQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZGeE1BQlJjVEVCVFd3eUFzb0Evd0JjTkd3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVnNmZnQXZmQUFBUm1nekFrbG5PQUZHYWpJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJEZFNBQVJISWpCa1I1SEdsRGVocWFRblVjSjBKNUd3QkdhaXNBQUFBQUFBQUFBQUJiY1VvQVBYUVFBRUowR1NRL2RCS1pQM1FVZDBSeUhRdERjeGtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVKNUdRQkZlQ0JFUW5zWjdrRjdGLzlCZUJmQlFYTWFKajkxRkFCTmJqWUFQRnNwQUVKM0ZBQkRjeGdsUUhVU3Z6NTJELzgrZGhENVFIVVRpRVJ5SHdwQ2N4a0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIbTBhQUI1czJnTWQ3UnBNbEtGTWhWRGVocVhRWG9WL0VCNUZQOUFkeFRDUW5VWktEOTJFQUE5Y3cwQVBuQVVKajUwRU1BK2RRNy9QblVPL3o1MkQvOCtkaEQ1UUhVVWlFZDFJUXBFZFJ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCNXNtd0FlN0J1Q0hlMmFJUjJ0bWJvZHJWbFpFMTlLeEJDZHhlWFFIZ1MvRDkzRVA4K2RSSERRSElYSjBCeEZDWTlkQTdDUFhVTi96NTFEdnMrZFJEd1BuY1Evejk0RWY5QWVCTDVRWFlWaDBKd0hnaEJjaHNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIcTRiQUI2dUd3M2Q3aG83M1czWmY5enRXTHZjN0poWkVsNUp4QkFkUlNYUG5ZUC9EMTFEZjgrZEE3TVBYUU56RHgwQy84OWRRejlQWE1QbWtKMUdVbEJlaGJoUDNrVC8wQjVFLzlBZUJQdlFuWVlOa0YyRndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFlN3R0QUh5N2JrRjR1bW4yZGJkbC8zSzFZZjl4c2w3dmNiQmRZMGwzSkJBL2RCS1hQWFVOL0R4MEMvODhkQXYvUEhRTC9UeHlEcHBEY2h3UllKcytYbFdTTCs5RmZ4ci9RSG9WLzBGNkZmVkVlUms5UTNrWUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI5dlhFQWZyNXlRWHE4YlBaMnVHZi9jclJoLzNDeVhQOXZyMW52YjYxYVpFaDJJeEE5Y2crWE8zTUwvRHR6Q3YwN2NRMlpRWEFhRVdDY1FHQmNtem50VzVrMi8xR05LZjlDZkJmL1Fud1g5VVI3R3oxRGV4b0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUgrL2NnQ0F2M05CZkwxdjlubTdhL2wxdEdQSmI3QmErVzJ1Vi85cnJGVHZiS2xVWkVWMEh4RThjUStHTzNBTmh6OXVHQkZpbmtOZ1hwdzg3VnViT2Y5YW1UYjVWSTR1eWtSOUd2bEVmUm4xUkgwZFBVUjlIQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdNQjBBSURBZFVGOXZuRDNlcnh0OVhxNGJFMXdybHFUYksxVi9HdXJVdjlwcVZEdmFhWlJaVnlIU0FOYWVFWUNZNTlFWVdDZVArMWRuRHovWEpzNS9GMlpPcFJQaFNwUFJYOGM5VVIrRy9WR2ZoODlSWDRlQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0J3WFlBZ3NGM1FINi9jL2Q4dlcvMmZMeHdQbk9tV3d0dXExYVhhNnBSL0dpb1R2OW9wMDN2YUtSTWFtT2ZSV2RobjBIdFg1NCsvMTZjUFB4ZW1qeVliSjVOREV5Q0pqOUdnUjczUllBZDlVWi9JRDFHZ0I4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUxDZHdDRHduaEFmOEIwOTMyK2NmWjl2SEUvZXJoc0FIU3BXdzlzcVZLWGFLaE8vR2VuUy85bHBFajJZcUpFOW1HZ1FQOWduajc4WUp3L2wyV1pSQTlRaHl3QVRZTW9RRWVDSVBkR2dSNzFTSUFoUFVlQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZzhKNEFJUENlVUNBd1hYM2ZiNXg5bjI5Y2o5OXZYRUFicWhWQUhLbldnOXFwMUNYWnFaTC9HV2tSLzlpb2tQL1laOUEvR0tkUVpkb20wZ1BaWnhFQUUyRUtRQk9oQ3BBU1lNajkwZUNJUFZJZ1NNOVNJRWlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDRHczZ0FoTU41UUlEQmR2ZCt2M0wyZnIxelAzNjljZ0FBQUFBQWJhWlJBSENtVmc5b3BFeVhaS1JHL0dLaFEveGlua0tXWnB0SUQyU2NSUUFBQUFBQVQ0VXNBRkNHTGtCS2hDWDNTWU1pOVVtREpUNUpneVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJUERlUUNFdzNsQWdNSjI5MzYvYy9SL3ZYUThmcjF6QUFBQUFBQUFBQUFBYXFOTUFHMmpUeEJsb2tlQ1k2QkVnR1NiUlE5am5FUUFBQUFBQUFBQUFBQlFoaTBBVVlZdlBVdUdKL1JLaENUMVM0TW1Qa3FFSlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnc041QUlQRGVVRi93blgwZnI5MG5ZRzdkUTZBdkhVQUFBQUFBQUFBQUFBQUFBQUFjWnhUQUhTWVdBRjBtVnNCY3B4VkFBQUFBQUFBQUFBQUFBQUFBRStETGdCUWdqQVBUSVVxbjB1Rkp2TkxoQ2MrUzRVbUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNEd253QWhNSjlMSURBZDN5QnZYWVRnTDUxQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWFFDaEFFMkZMZ0JPZ3pBVVRJUXFlMDJES2lwTWhDb0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUtTK29BQ2t2cUFCb2JpY0FhTzlud0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUdpRFVBQm1mMHNCYUlWUUFHbUZVUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9QOC8vL2grSC8vNFBBLy80QmdILzhBQUEvL0FBQVAvd0FBRC84QUFBLy9BQUFQL3dBQUQvOEFBQS8vQ0FFUC93d0RELzhPQncvL0R3OFAvdytmRC84Zi80Ly9QLy9mLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLzg9XCIsICdiYXNlNjQnXG4gIClcblxuZXhwb3J0IGZ1bmN0aW9uIEdFVCgpIHtcbiAgcmV0dXJuIG5ldyBOZXh0UmVzcG9uc2UoYnVmZmVyLCB7XG4gICAgaGVhZGVyczoge1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6IGNvbnRlbnRUeXBlLFxuICAgICAgJ0NhY2hlLUNvbnRyb2wnOiBcInB1YmxpYywgbWF4LWFnZT0wLCBtdXN0LXJldmFsaWRhdGVcIixcbiAgICB9LFxuICB9KVxufVxuXG5leHBvcnQgY29uc3QgZHluYW1pYyA9ICdmb3JjZS1zdGF0aWMnXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/build/webpack/loaders/next-metadata-route-loader.js?page=%2Ffavicon.ico%2Froute&isDynamic=0!./app/favicon.ico?__next_metadata_route__\n"); + +/***/ }) + +}; +; + +// load runtime +var __webpack_require__ = require("../../webpack-runtime.js"); +__webpack_require__.C(exports); +var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) +var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Ffavicon.ico%2Froute&page=%2Ffavicon.ico%2Froute&appPaths=&pagePath=private-next-app-dir%2Ffavicon.ico&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); +module.exports = __webpack_exports__; + +})(); \ No newline at end of file diff --git a/.next/server/app/kontakte/page.js b/.next/server/app/kontakte/page.js new file mode 100644 index 00000000..cc2dbdc0 --- /dev/null +++ b/.next/server/app/kontakte/page.js @@ -0,0 +1,311 @@ +/* + * 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/). + */ +(() => { +var exports = {}; +exports.id = "app/kontakte/page"; +exports.ids = ["app/kontakte/page"]; +exports.modules = { + +/***/ "./request-async-storage.external": +/*!*****************************************************************************!*\ + !*** external "next/dist/client/components/request-async-storage.external" ***! + \*****************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist/client/components/request-async-storage.external"); + +/***/ }), + +/***/ "./static-generation-async-storage.external": +/*!***************************************************************************************!*\ + !*** external "next/dist/client/components/static-generation-async-storage.external" ***! + \***************************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist/client/components/static-generation-async-storage.external"); + +/***/ }), + +/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": +/*!*************************************************************************!*\ + !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! + \*************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); + +/***/ }), + +/***/ "../../client/components/action-async-storage.external": +/*!**********************************************************************************!*\ + !*** external "next/dist\\client\\components\\action-async-storage.external.js" ***! + \**********************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist\\client\\components\\action-async-storage.external.js"); + +/***/ }), + +/***/ "../../client/components/request-async-storage.external": +/*!***********************************************************************************!*\ + !*** external "next/dist\\client\\components\\request-async-storage.external.js" ***! + \***********************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist\\client\\components\\request-async-storage.external.js"); + +/***/ }), + +/***/ "../../client/components/static-generation-async-storage.external": +/*!*********************************************************************************************!*\ + !*** external "next/dist\\client\\components\\static-generation-async-storage.external.js" ***! + \*********************************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist\\client\\components\\static-generation-async-storage.external.js"); + +/***/ }), + +/***/ "path": +/*!***********************!*\ + !*** external "path" ***! + \***********************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("path"); + +/***/ }), + +/***/ "url": +/*!**********************!*\ + !*** external "url" ***! + \**********************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("url"); + +/***/ }), + +/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fkontakte%2Fpage&page=%2Fkontakte%2Fpage&appPaths=%2Fkontakte%2Fpage&pagePath=private-next-app-dir%2Fkontakte%2Fpage.tsx&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!": +/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fkontakte%2Fpage&page=%2Fkontakte%2Fpage&appPaths=%2Fkontakte%2Fpage&pagePath=private-next-app-dir%2Fkontakte%2Fpage.tsx&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D! ***! + \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?b6e7\");\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"originalPathname\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n// @ts-ignore this need to be imported from next/dist to be external\r\n\r\n\r\nconst AppPageRouteModule = next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule;\r\n// We inject the tree and pages here so that we can use them in the route\r\n// module.\r\nconst tree = {\n children: [\n '',\n {\n children: [\n 'kontakte',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/kontakte/page.tsx */ \"(rsc)/./app/kontakte/page.tsx\")), \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\"],\n \n }]\n },\n {\n \n metadata: {\n icon: [(async (props) => (await Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! next-metadata-image-loader?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./app/favicon.ico?__next_metadata__ */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./app/favicon.ico?__next_metadata__\"))).default(props))],\n apple: [],\n openGraph: [],\n twitter: [],\n manifest: undefined\n }\n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/layout.tsx */ \"(rsc)/./app/layout.tsx\")), \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\layout.tsx\"],\n'not-found': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23)), \"next/dist/client/components/not-found-error\"],\n metadata: {\n icon: [(async (props) => (await Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! next-metadata-image-loader?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./app/favicon.ico?__next_metadata__ */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./app/favicon.ico?__next_metadata__\"))).default(props))],\n apple: [],\n openGraph: [],\n twitter: [],\n manifest: undefined\n }\n }\n ]\n }.children;\r\nconst pages = [\"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\"];\r\n\r\n// @ts-expect-error - replaced by webpack/turbopack loader\r\n\r\nconst __next_app_require__ = __webpack_require__\r\nconst __next_app_load_chunk__ = () => Promise.resolve()\r\nconst originalPathname = \"/kontakte/page\";\r\nconst __next_app__ = {\r\n require: __next_app_require__,\r\n loadChunk: __next_app_load_chunk__\r\n};\r\n\r\n// Create and export the route module that will be consumed.\r\nconst routeModule = new AppPageRouteModule({\r\n definition: {\r\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\r\n page: \"/kontakte/page\",\r\n pathname: \"/kontakte\",\r\n // The following aren't used in production.\r\n bundlePath: \"\",\r\n filename: \"\",\r\n appPaths: []\r\n },\r\n userland: {\r\n loaderTree: tree\r\n }\r\n});\r\n\r\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZrb250YWt0ZSUyRnBhZ2UmcGFnZT0lMkZrb250YWt0ZSUyRnBhZ2UmYXBwUGF0aHM9JTJGa29udGFrdGUlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGa29udGFrdGUlMkZwYWdlLnRzeCZhcHBEaXI9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSU1Q2FwcCZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPWpzJnJvb3REaXI9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD1zdGFuZGFsb25lJnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0QhIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUN5RjtBQUMxQjtBQUMvRCwyQkFBMkIsOEdBQXlCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQyx1QkFBdUIsMEpBQThHO0FBQ3JJO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0MsOGVBQThQO0FBQ2xTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EseUJBQXlCLDRJQUFzRztBQUMvSCxvQkFBb0IsME5BQWdGO0FBQ3BHO0FBQ0Esb0NBQW9DLDhlQUE4UDtBQUNsUztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUN1QjtBQUN2QjtBQUNvRjtBQUNwRiw2QkFBNkIsbUJBQW1CO0FBQ2hEO0FBQ087QUFDQTtBQUNQO0FBQ0E7QUFDQTtBQUN1RDtBQUN2RDtBQUNPO0FBQ1A7QUFDQSxjQUFjLHlFQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8/NGJlNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlIHRoaXMgbmVlZCB0byBiZSBpbXBvcnRlZCBmcm9tIG5leHQvZGlzdCB0byBiZSBleHRlcm5hbFxyXG5pbXBvcnQgKiBhcyBtb2R1bGUgZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCI7XHJcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kXCI7XHJcbmNvbnN0IEFwcFBhZ2VSb3V0ZU1vZHVsZSA9IG1vZHVsZS5BcHBQYWdlUm91dGVNb2R1bGU7XHJcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcclxuLy8gbW9kdWxlLlxyXG5jb25zdCB0cmVlID0ge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAna29udGFrdGUnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXGFwcFxcXFxrb250YWt0ZVxcXFxwYWdlLnRzeFwiKSwgXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXGFwcFxcXFxrb250YWt0ZVxcXFxwYWdlLnRzeFwiXSxcbiAgICAgICAgICBcbiAgICAgICAgfV1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgaWNvbjogWyhhc3luYyAocHJvcHMpID0+IChhd2FpdCBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQtbWV0YWRhdGEtaW1hZ2UtbG9hZGVyP3R5cGU9ZmF2aWNvbiZzZWdtZW50PSZiYXNlUGF0aD0mcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyFDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXGFwcFxcXFxmYXZpY29uLmljbz9fX25leHRfbWV0YWRhdGFfX1wiKSkuZGVmYXVsdChwcm9wcykpXSxcbiAgICBhcHBsZTogW10sXG4gICAgb3BlbkdyYXBoOiBbXSxcbiAgICB0d2l0dGVyOiBbXSxcbiAgICBtYW5pZmVzdDogdW5kZWZpbmVkXG4gIH1cbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXGFuZHJlXFxcXERvY3VtZW50c1xcXFxHaXRIdWJcXFxcV2Via2xhci5jb21cXFxcYXBwXFxcXGxheW91dC50c3hcIiksIFwiQzpcXFxcVXNlcnNcXFxcYW5kcmVcXFxcRG9jdW1lbnRzXFxcXEdpdEh1YlxcXFxXZWJrbGFyLmNvbVxcXFxhcHBcXFxcbGF5b3V0LnRzeFwiXSxcbidub3QtZm91bmQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCIpLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIl0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgaWNvbjogWyhhc3luYyAocHJvcHMpID0+IChhd2FpdCBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQtbWV0YWRhdGEtaW1hZ2UtbG9hZGVyP3R5cGU9ZmF2aWNvbiZzZWdtZW50PSZiYXNlUGF0aD0mcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyFDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXGFwcFxcXFxmYXZpY29uLmljbz9fX25leHRfbWV0YWRhdGFfX1wiKSkuZGVmYXVsdChwcm9wcykpXSxcbiAgICBhcHBsZTogW10sXG4gICAgb3BlbkdyYXBoOiBbXSxcbiAgICB0d2l0dGVyOiBbXSxcbiAgICBtYW5pZmVzdDogdW5kZWZpbmVkXG4gIH1cbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0uY2hpbGRyZW47XHJcbmNvbnN0IHBhZ2VzID0gW1wiQzpcXFxcVXNlcnNcXFxcYW5kcmVcXFxcRG9jdW1lbnRzXFxcXEdpdEh1YlxcXFxXZWJrbGFyLmNvbVxcXFxhcHBcXFxca29udGFrdGVcXFxccGFnZS50c3hcIl07XHJcbmV4cG9ydCB7IHRyZWUsIHBhZ2VzIH07XHJcbi8vIEB0cy1leHBlY3QtZXJyb3IgLSByZXBsYWNlZCBieSB3ZWJwYWNrL3R1cmJvcGFjayBsb2FkZXJcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBHbG9iYWxFcnJvciB9IGZyb20gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnlcIjtcclxuY29uc3QgX19uZXh0X2FwcF9yZXF1aXJlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fXHJcbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcclxuZXhwb3J0IGNvbnN0IG9yaWdpbmFsUGF0aG5hbWUgPSBcIi9rb250YWt0ZS9wYWdlXCI7XHJcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XHJcbiAgICByZXF1aXJlOiBfX25leHRfYXBwX3JlcXVpcmVfXyxcclxuICAgIGxvYWRDaHVuazogX19uZXh0X2FwcF9sb2FkX2NodW5rX19cclxufTtcclxuZXhwb3J0ICogZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlXCI7XHJcbi8vIENyZWF0ZSBhbmQgZXhwb3J0IHRoZSByb3V0ZSBtb2R1bGUgdGhhdCB3aWxsIGJlIGNvbnN1bWVkLlxyXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcclxuICAgIGRlZmluaXRpb246IHtcclxuICAgICAgICBraW5kOiBSb3V0ZUtpbmQuQVBQX1BBR0UsXHJcbiAgICAgICAgcGFnZTogXCIva29udGFrdGUvcGFnZVwiLFxyXG4gICAgICAgIHBhdGhuYW1lOiBcIi9rb250YWt0ZVwiLFxyXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cclxuICAgICAgICBidW5kbGVQYXRoOiBcIlwiLFxyXG4gICAgICAgIGZpbGVuYW1lOiBcIlwiLFxyXG4gICAgICAgIGFwcFBhdGhzOiBbXVxyXG4gICAgfSxcclxuICAgIHVzZXJsYW5kOiB7XHJcbiAgICAgICAgbG9hZGVyVHJlZTogdHJlZVxyXG4gICAgfVxyXG59KTtcclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1wYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fkontakte%2Fpage&page=%2Fkontakte%2Fpage&appPaths=%2Fkontakte%2Fpage&pagePath=private-next-app-dir%2Fkontakte%2Fpage.tsx&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp%5Ckontakte%5Cpage.tsx&server=true!": +/*!**************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp%5Ckontakte%5Cpage.tsx&server=true! ***! + \**************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/kontakte/page.tsx */ \"(ssr)/./app/kontakte/page.tsx\"))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSU1Q2FwcCU1Q2tvbnRha3RlJTVDcGFnZS50c3gmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLz9iNDU2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcYW5kcmVcXFxcRG9jdW1lbnRzXFxcXEdpdEh1YlxcXFxXZWJrbGFyLmNvbVxcXFxhcHBcXFxca29udGFrdGVcXFxccGFnZS50c3hcIikiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp%5Ckontakte%5Cpage.tsx&server=true!\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Ccomponents%5CHandyAnsicht.tsx&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cfont%5Cgoogle%5Ctarget.css%3F%7B%22path%22%3A%22app%5C%5Clayout.tsx%22%2C%22import%22%3A%22Inter%22%2C%22arguments%22%3A%5B%7B%22subsets%22%3A%5B%22latin%22%5D%7D%5D%2C%22variableName%22%3A%22inter%22%7D&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp%5Cglobals.css&server=true!": +/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Ccomponents%5CHandyAnsicht.tsx&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cfont%5Cgoogle%5Ctarget.css%3F%7B%22path%22%3A%22app%5C%5Clayout.tsx%22%2C%22import%22%3A%22Inter%22%2C%22arguments%22%3A%5B%7B%22subsets%22%3A%5B%22latin%22%5D%7D%5D%2C%22variableName%22%3A%22inter%22%7D&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp%5Cglobals.css&server=true! ***! + \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/HandyAnsicht.tsx */ \"(ssr)/./components/HandyAnsicht.tsx\"))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSU1Q2NvbXBvbmVudHMlNUNIYW5keUFuc2ljaHQudHN4Jm1vZHVsZXM9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSU1Q25vZGVfbW9kdWxlcyU1Q25leHQlNUNmb250JTVDZ29vZ2xlJTVDdGFyZ2V0LmNzcyUzRiU3QiUyMnBhdGglMjIlM0ElMjJhcHAlNUMlNUNsYXlvdXQudHN4JTIyJTJDJTIyaW1wb3J0JTIyJTNBJTIySW50ZXIlMjIlMkMlMjJhcmd1bWVudHMlMjIlM0ElNUIlN0IlMjJzdWJzZXRzJTIyJTNBJTVCJTIybGF0aW4lMjIlNUQlN0QlNUQlMkMlMjJ2YXJpYWJsZU5hbWUlMjIlM0ElMjJpbnRlciUyMiU3RCZtb2R1bGVzPUMlM0ElNUNVc2VycyU1Q2FuZHJlJTVDRG9jdW1lbnRzJTVDR2l0SHViJTVDV2Via2xhci5jb20lNUNhcHAlNUNnbG9iYWxzLmNzcyZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvPzYzOTUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXGNvbXBvbmVudHNcXFxcSGFuZHlBbnNpY2h0LnRzeFwiKSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Ccomponents%5CHandyAnsicht.tsx&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cfont%5Cgoogle%5Ctarget.css%3F%7B%22path%22%3A%22app%5C%5Clayout.tsx%22%2C%22import%22%3A%22Inter%22%2C%22arguments%22%3A%5B%7B%22subsets%22%3A%5B%22latin%22%5D%7D%5D%2C%22variableName%22%3A%22inter%22%7D&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp%5Cglobals.css&server=true!\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Capp-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cerror-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Clayout-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cnot-found-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Crender-from-template-context.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cstatic-generation-searchparams-bailout-provider.js&server=true!": +/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Capp-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cerror-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Clayout-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cnot-found-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Crender-from-template-context.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cstatic-generation-searchparams-bailout-provider.js&server=true! ***! + \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/app-router.js */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\", 23));\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/not-found-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\", 23));\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js */ \"(ssr)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js\", 23))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSU1Q25vZGVfbW9kdWxlcyU1Q25leHQlNUNkaXN0JTVDY2xpZW50JTVDY29tcG9uZW50cyU1Q2FwcC1yb3V0ZXIuanMmbW9kdWxlcz1DJTNBJTVDVXNlcnMlNUNhbmRyZSU1Q0RvY3VtZW50cyU1Q0dpdEh1YiU1Q1dlYmtsYXIuY29tJTVDbm9kZV9tb2R1bGVzJTVDbmV4dCU1Q2Rpc3QlNUNjbGllbnQlNUNjb21wb25lbnRzJTVDZXJyb3ItYm91bmRhcnkuanMmbW9kdWxlcz1DJTNBJTVDVXNlcnMlNUNhbmRyZSU1Q0RvY3VtZW50cyU1Q0dpdEh1YiU1Q1dlYmtsYXIuY29tJTVDbm9kZV9tb2R1bGVzJTVDbmV4dCU1Q2Rpc3QlNUNjbGllbnQlNUNjb21wb25lbnRzJTVDbGF5b3V0LXJvdXRlci5qcyZtb2R1bGVzPUMlM0ElNUNVc2VycyU1Q2FuZHJlJTVDRG9jdW1lbnRzJTVDR2l0SHViJTVDV2Via2xhci5jb20lNUNub2RlX21vZHVsZXMlNUNuZXh0JTVDZGlzdCU1Q2NsaWVudCU1Q2NvbXBvbmVudHMlNUNub3QtZm91bmQtYm91bmRhcnkuanMmbW9kdWxlcz1DJTNBJTVDVXNlcnMlNUNhbmRyZSU1Q0RvY3VtZW50cyU1Q0dpdEh1YiU1Q1dlYmtsYXIuY29tJTVDbm9kZV9tb2R1bGVzJTVDbmV4dCU1Q2Rpc3QlNUNjbGllbnQlNUNjb21wb25lbnRzJTVDcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyZtb2R1bGVzPUMlM0ElNUNVc2VycyU1Q2FuZHJlJTVDRG9jdW1lbnRzJTVDR2l0SHViJTVDV2Via2xhci5jb20lNUNub2RlX21vZHVsZXMlNUNuZXh0JTVDZGlzdCU1Q2NsaWVudCU1Q2NvbXBvbmVudHMlNUNzdGF0aWMtZ2VuZXJhdGlvbi1zZWFyY2hwYXJhbXMtYmFpbG91dC1wcm92aWRlci5qcyZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQWtKO0FBQ2xKLDBPQUFzSjtBQUN0Six3T0FBcUo7QUFDckosa1BBQTBKO0FBQzFKLHNRQUFvSztBQUNwSyIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8/OWE0YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXGFuZHJlXFxcXERvY3VtZW50c1xcXFxHaXRIdWJcXFxcV2Via2xhci5jb21cXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxhcHAtcm91dGVyLmpzXCIpO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcZXJyb3ItYm91bmRhcnkuanNcIik7XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXGFuZHJlXFxcXERvY3VtZW50c1xcXFxHaXRIdWJcXFxcV2Via2xhci5jb21cXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcbm90LWZvdW5kLWJvdW5kYXJ5LmpzXCIpO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxccmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcYW5kcmVcXFxcRG9jdW1lbnRzXFxcXEdpdEh1YlxcXFxXZWJrbGFyLmNvbVxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHN0YXRpYy1nZW5lcmF0aW9uLXNlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3ZpZGVyLmpzXCIpIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Capp-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cerror-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Clayout-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cnot-found-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Crender-from-template-context.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cstatic-generation-searchparams-bailout-provider.js&server=true!\n"); + +/***/ }), + +/***/ "(ssr)/./app/kontakte/page.tsx": +/*!*******************************!*\ + !*** ./app/kontakte/page.tsx ***! + \*******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ KontaktePage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_WebklarLogoHeader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/WebklarLogoHeader */ \"(ssr)/./components/WebklarLogoHeader.tsx\");\n/* harmony import */ var _components_WebklarFooter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/WebklarFooter */ \"(ssr)/./components/WebklarFooter.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\nfunction KontaktePage() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen flex flex-col bg-[#FEFAE0]\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_WebklarLogoHeader__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 8,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 flex items-center justify-center p-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-3xl w-full mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold mb-8 text-center\",\n children: \"Kontakte\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-2 gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-white/80 rounded-2xl shadow-2xl p-6 flex flex-col items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-20 h-20 rounded-full bg-gray-200 mb-4 flex items-center justify-center text-3xl text-gray-400\",\n children: \"\\uD83D\\uDC64\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 15,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-bold text-lg mb-1\",\n children: \"Kenso Grimm\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 16,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-600 mb-2\",\n children: \"CEO & Webentwickler\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 17,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-800 mb-1\",\n children: \"support@webklar.com\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 18,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-800\",\n children: \"+49 176 23726355\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 19,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-white/80 rounded-2xl shadow-2xl p-6 flex flex-col items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-20 h-20 rounded-full bg-gray-200 mb-4 flex items-center justify-center text-3xl text-gray-400\",\n children: \"\\uD83D\\uDC64\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 23,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-bold text-lg mb-1\",\n children: \"Justin Klein\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 24,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-600 mb-2\",\n children: \"CEO & Kundenbetreuung\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 25,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-800 mb-1\",\n children: \"support@webklar.com\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 26,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-800\",\n children: \"+49 170 4969375\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 27,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 22,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 12,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 10,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 9,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_WebklarFooter__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 32,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\kontakte\\\\page.tsx\",\n lineNumber: 7,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9hcHAva29udGFrdGUvcGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQytEO0FBQ1I7QUFFeEMsU0FBU0U7SUFDdEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7OzBCQUNiLDhEQUFDSixxRUFBaUJBOzs7OzswQkFDbEIsOERBQUNHO2dCQUFJQyxXQUFVOzBCQUNiLDRFQUFDRDtvQkFBSUMsV0FBVTs7c0NBQ2IsOERBQUNDOzRCQUFHRCxXQUFVO3NDQUFzQzs7Ozs7O3NDQUNwRCw4REFBQ0Q7NEJBQUlDLFdBQVU7OzhDQUViLDhEQUFDRDtvQ0FBSUMsV0FBVTs7c0RBQ2IsOERBQUNEOzRDQUFJQyxXQUFVO3NEQUFrRzs7Ozs7O3NEQUNqSCw4REFBQ0Q7NENBQUlDLFdBQVU7c0RBQXlCOzs7Ozs7c0RBQ3hDLDhEQUFDRDs0Q0FBSUMsV0FBVTtzREFBNkI7Ozs7OztzREFDNUMsOERBQUNEOzRDQUFJQyxXQUFVO3NEQUE2Qjs7Ozs7O3NEQUM1Qyw4REFBQ0Q7NENBQUlDLFdBQVU7c0RBQXdCOzs7Ozs7Ozs7Ozs7OENBR3pDLDhEQUFDRDtvQ0FBSUMsV0FBVTs7c0RBQ2IsOERBQUNEOzRDQUFJQyxXQUFVO3NEQUFrRzs7Ozs7O3NEQUNqSCw4REFBQ0Q7NENBQUlDLFdBQVU7c0RBQXlCOzs7Ozs7c0RBQ3hDLDhEQUFDRDs0Q0FBSUMsV0FBVTtzREFBNkI7Ozs7OztzREFDNUMsOERBQUNEOzRDQUFJQyxXQUFVO3NEQUE2Qjs7Ozs7O3NEQUM1Qyw4REFBQ0Q7NENBQUlDLFdBQVU7c0RBQXdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFLL0MsOERBQUNILGlFQUFhQTs7Ozs7Ozs7Ozs7QUFHcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9hcHAva29udGFrdGUvcGFnZS50c3g/ZWEwZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcclxuaW1wb3J0IFdlYmtsYXJMb2dvSGVhZGVyIGZyb20gJ0AvY29tcG9uZW50cy9XZWJrbGFyTG9nb0hlYWRlcic7XHJcbmltcG9ydCBXZWJrbGFyRm9vdGVyIGZyb20gJ0AvY29tcG9uZW50cy9XZWJrbGFyRm9vdGVyJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEtvbnRha3RlUGFnZSgpIHtcclxuICByZXR1cm4gKFxyXG4gICAgPGRpdiBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gZmxleCBmbGV4LWNvbCBiZy1bI0ZFRkFFMF1cIj5cclxuICAgICAgPFdlYmtsYXJMb2dvSGVhZGVyIC8+XHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHAtNFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctM3hsIHctZnVsbCBteC1hdXRvXCI+XHJcbiAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1ib2xkIG1iLTggdGV4dC1jZW50ZXJcIj5Lb250YWt0ZTwvaDE+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgZ2FwLThcIj5cclxuICAgICAgICAgICAgey8qIEthcnRlIDEgKi99XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctd2hpdGUvODAgcm91bmRlZC0yeGwgc2hhZG93LTJ4bCBwLTYgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMjAgaC0yMCByb3VuZGVkLWZ1bGwgYmctZ3JheS0yMDAgbWItNCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LTN4bCB0ZXh0LWdyYXktNDAwXCI+8J+RpDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9udC1ib2xkIHRleHQtbGcgbWItMVwiPktlbnNvIEdyaW1tPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtZ3JheS02MDAgbWItMlwiPkNFTyAmIFdlYmVudHdpY2tsZXI8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1ncmF5LTgwMCBtYi0xXCI+c3VwcG9ydEB3ZWJrbGFyLmNvbTwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LWdyYXktODAwXCI+KzQ5IDE3NiAyMzcyNjM1NTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgey8qIEthcnRlIDIgKi99XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctd2hpdGUvODAgcm91bmRlZC0yeGwgc2hhZG93LTJ4bCBwLTYgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMjAgaC0yMCByb3VuZGVkLWZ1bGwgYmctZ3JheS0yMDAgbWItNCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LTN4bCB0ZXh0LWdyYXktNDAwXCI+8J+RpDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9udC1ib2xkIHRleHQtbGcgbWItMVwiPkp1c3RpbiBLbGVpbjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LWdyYXktNjAwIG1iLTJcIj5DRU8gJiBLdW5kZW5iZXRyZXV1bmc8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1ncmF5LTgwMCBtYi0xXCI+c3VwcG9ydEB3ZWJrbGFyLmNvbTwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LWdyYXktODAwXCI+KzQ5IDE3MCA0OTY5Mzc1PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8V2Via2xhckZvb3RlciAvPlxyXG4gICAgPC9kaXY+XHJcbiAgKTtcclxufSAiXSwibmFtZXMiOlsiV2Via2xhckxvZ29IZWFkZXIiLCJXZWJrbGFyRm9vdGVyIiwiS29udGFrdGVQYWdlIiwiZGl2IiwiY2xhc3NOYW1lIiwiaDEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./app/kontakte/page.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/HandyAnsicht.tsx": +/*!*************************************!*\ + !*** ./components/HandyAnsicht.tsx ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.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 */ \"(ssr)/./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 */ \"(ssr)/./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 */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/menu.js\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\nconst GooeyNav = ({ 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 })=>{\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 = (n = 1)=>n / 2 - Math.random() * 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\", `${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\", `${p.start[0]}px`);\n particle.style.setProperty(\"--start-y\", `${p.start[1]}px`);\n particle.style.setProperty(\"--end-x\", `${p.end[0]}px`);\n particle.style.setProperty(\"--end-y\", `${p.end[1]}px`);\n particle.style.setProperty(\"--time\", `${p.time}ms`);\n particle.style.setProperty(\"--scale\", `${p.scale}`);\n particle.style.setProperty(\"--color\", `var(--color-${p.color}, white)`);\n particle.style.setProperty(\"--rotate\", `${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 {\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: `${pos.x - containerRect.x}px`,\n top: `${pos.y - containerRect.y}px`,\n width: `${pos.width}px`,\n height: `${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)=>filterRef.current?.removeChild(p));\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 updateEffectPosition(activeLi);\n textRef.current?.classList.add(\"active\");\n }\n const resizeObserver = new ResizeObserver(()=>{\n const currentActiveLi = 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 ${items.length > 4 ? \"has-contact\" : \"\"} ${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 ${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};\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 = ({ children })=>{\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 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n setIsClient(true);\n const checkMobile = ()=>{\n setIsMobile(window.innerWidth < 768);\n };\n checkMobile();\n window.addEventListener(\"resize\", checkMobile);\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 if (mediaQuery.removeEventListener) {\n mediaQuery.removeEventListener(\"change\", handleMediaChange);\n } else {\n mediaQuery.removeListener(handleMediaChange);\n }\n };\n }, []);\n // Immer alle Items anzeigen, Kontakt ist sofort da\n const currentItems = allGooeyItems;\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: 310,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 309,\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: 312,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 308,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 307,\n columnNumber: 5\n }, undefined);\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HandyAnsicht);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0x2RCxPQUFPNEQsbUJBQW1CLENBQUMsVUFBVVI7WUFDckMsSUFBSUcsV0FBV0ssbUJBQW1CLEVBQUU7Z0JBQ2xDTCxXQUFXSyxtQkFBbUIsQ0FBQyxVQUFVSDtZQUMzQyxPQUFPO2dCQUNMRixXQUFXTSxjQUFjLENBQUNKO1lBQzVCO1FBQ0Y7SUFDRixHQUFHLEVBQUU7SUFFTCxtREFBbUQ7SUFDbkQsTUFBTUssZUFBZWpCO0lBRXJCLElBQUksQ0FBQ0ssWUFBWSxDQUFDRixVQUFVO1FBQzFCLHFCQUFPO3NCQUFHRDs7SUFDWjtJQUVBLHFCQUNFLDhEQUFDeEI7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7WUFBSUMsV0FBVTs7OEJBQ2IsOERBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDekc7d0JBQVNDLE9BQU84STs7Ozs7Ozs7Ozs7OEJBRW5CLDhEQUFDdkM7b0JBQUlDLFdBQVU7OEJBQ1p1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLWDtBQUVBLGlFQUFlRCxZQUFZQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vY29tcG9uZW50cy9IYW5keUFuc2ljaHQudHN4PzFmZGQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XHJcblxyXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgJy4vSGFuZHlBbnNpY2h0LmNzcyc7XHJcblxyXG5pbnRlcmZhY2UgSGFuZHlBbnNpY2h0UHJvcHMge1xyXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xyXG59XHJcblxyXG50eXBlIEdvb2V5TmF2SXRlbSA9IHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGhyZWY6IHN0cmluZztcclxuICB0eXBlPzogJ2xpbmsnIHwgJ2xvZ28nIHwgJ21lbnUnO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbn07XHJcblxyXG5pbXBvcnQgeyBNZW51LCBYIH0gZnJvbSAnbHVjaWRlLXJlYWN0JztcclxuXHJcbmludGVyZmFjZSBHb29leU5hdlByb3BzIHtcclxuICBpdGVtczogR29vZXlOYXZJdGVtW107XHJcbiAgYW5pbWF0aW9uVGltZT86IG51bWJlcjtcclxuICBwYXJ0aWNsZUNvdW50PzogbnVtYmVyO1xyXG4gIHBhcnRpY2xlRGlzdGFuY2VzPzogW251bWJlciwgbnVtYmVyXTtcclxuICBwYXJ0aWNsZVI/OiBudW1iZXI7XHJcbiAgdGltZVZhcmlhbmNlPzogbnVtYmVyO1xyXG4gIGNvbG9ycz86IG51bWJlcltdO1xyXG4gIGluaXRpYWxBY3RpdmVJbmRleD86IG51bWJlcjtcclxufVxyXG5cclxuY29uc3QgR29vZXlOYXY6IFJlYWN0LkZDPEdvb2V5TmF2UHJvcHM+ID0gKHtcclxuICBpdGVtcyxcclxuICBhbmltYXRpb25UaW1lID0gNjAwLFxyXG4gIHBhcnRpY2xlQ291bnQgPSAxNSxcclxuICBwYXJ0aWNsZURpc3RhbmNlcyA9IFs5MCwgMTBdLFxyXG4gIHBhcnRpY2xlUiA9IDEwMCxcclxuICB0aW1lVmFyaWFuY2UgPSAzMDAsXHJcbiAgY29sb3JzID0gWzEsIDIsIDMsIDEsIDIsIDMsIDEsIDRdLFxyXG4gIGluaXRpYWxBY3RpdmVJbmRleCA9IDAsXHJcbn0pID0+IHtcclxuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcclxuICBjb25zdCBuYXZSZWYgPSB1c2VSZWY8SFRNTFVMaXN0RWxlbWVudCB8IG51bGw+KG51bGwpO1xyXG4gIGNvbnN0IGZpbHRlclJlZiA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQgfCBudWxsPihudWxsKTtcclxuICBjb25zdCB0ZXh0UmVmID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudCB8IG51bGw+KG51bGwpO1xyXG4gIGNvbnN0IFthY3RpdmVJbmRleCwgc2V0QWN0aXZlSW5kZXhdID0gdXNlU3RhdGUoaW5pdGlhbEFjdGl2ZUluZGV4KTtcclxuICBjb25zdCBbaXNNZW51T3Blbiwgc2V0SXNNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcblxyXG4gIGNvbnN0IG5vaXNlID0gKG4gPSAxKSA9PiBuIC8gMiAtIE1hdGgucmFuZG9tKCkgKiBuO1xyXG5cclxuICBjb25zdCBnZXRYWSA9IChkaXN0YW5jZTogbnVtYmVyLCBwb2ludEluZGV4OiBudW1iZXIsIHRvdGFsUG9pbnRzOiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IGFuZ2xlID0gKCgzNjAgKyBub2lzZSg4KSkgLyB0b3RhbFBvaW50cykgKiBwb2ludEluZGV4ICogKE1hdGguUEkgLyAxODApO1xyXG4gICAgcmV0dXJuIFtkaXN0YW5jZSAqIE1hdGguY29zKGFuZ2xlKSwgZGlzdGFuY2UgKiBNYXRoLnNpbihhbmdsZSldO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0IGNyZWF0ZVBhcnRpY2xlID0gKGk6IG51bWJlciwgdDogbnVtYmVyLCBkOiBbbnVtYmVyLCBudW1iZXJdLCByOiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IHJvdGF0ZSA9IG5vaXNlKHIgLyAxMCk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzdGFydDogZ2V0WFkoZFswXSwgcGFydGljbGVDb3VudCAtIGksIHBhcnRpY2xlQ291bnQpLFxyXG4gICAgICBlbmQ6IGdldFhZKGRbMV0gKyBub2lzZSg3KSwgcGFydGljbGVDb3VudCAtIGksIHBhcnRpY2xlQ291bnQpLFxyXG4gICAgICB0aW1lOiB0LFxyXG4gICAgICBzY2FsZTogMSArIG5vaXNlKDAuMiksXHJcbiAgICAgIGNvbG9yOiBjb2xvcnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY29sb3JzLmxlbmd0aCldLFxyXG4gICAgICByb3RhdGU6IHJvdGF0ZSA+IDAgPyAocm90YXRlICsgciAvIDIwKSAqIDEwIDogKHJvdGF0ZSAtIHIgLyAyMCkgKiAxMCxcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgbWFrZVBhcnRpY2xlcyA9IChlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgY29uc3QgZCA9IHBhcnRpY2xlRGlzdGFuY2VzO1xyXG4gICAgY29uc3QgciA9IHBhcnRpY2xlUjtcclxuICAgIGNvbnN0IGJ1YmJsZVRpbWUgPSBhbmltYXRpb25UaW1lICogMiArIHRpbWVWYXJpYW5jZTtcclxuICAgIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tdGltZScsIGAke2J1YmJsZVRpbWV9bXNgKTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRpY2xlQ291bnQ7IGkgKz0gMSkge1xyXG4gICAgICBjb25zdCB0ID0gYW5pbWF0aW9uVGltZSAqIDIgKyBub2lzZSh0aW1lVmFyaWFuY2UgKiAyKTtcclxuICAgICAgY29uc3QgcCA9IGNyZWF0ZVBhcnRpY2xlKGksIHQsIGQsIHIpO1xyXG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpO1xyXG5cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcGFydGljbGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICAgICAgY29uc3QgcG9pbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICAgICAgcGFydGljbGUuY2xhc3NMaXN0LmFkZCgncGFydGljbGUnKTtcclxuICAgICAgICBwYXJ0aWNsZS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zdGFydC14JywgYCR7cC5zdGFydFswXX1weGApO1xyXG4gICAgICAgIHBhcnRpY2xlLnN0eWxlLnNldFByb3BlcnR5KCctLXN0YXJ0LXknLCBgJHtwLnN0YXJ0WzFdfXB4YCk7XHJcbiAgICAgICAgcGFydGljbGUuc3R5bGUuc2V0UHJvcGVydHkoJy0tZW5kLXgnLCBgJHtwLmVuZFswXX1weGApO1xyXG4gICAgICAgIHBhcnRpY2xlLnN0eWxlLnNldFByb3BlcnR5KCctLWVuZC15JywgYCR7cC5lbmRbMV19cHhgKTtcclxuICAgICAgICBwYXJ0aWNsZS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10aW1lJywgYCR7cC50aW1lfW1zYCk7XHJcbiAgICAgICAgcGFydGljbGUuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2NhbGUnLCBgJHtwLnNjYWxlfWApO1xyXG4gICAgICAgIHBhcnRpY2xlLnN0eWxlLnNldFByb3BlcnR5KCctLWNvbG9yJywgYHZhcigtLWNvbG9yLSR7cC5jb2xvcn0sIHdoaXRlKWApO1xyXG4gICAgICAgIHBhcnRpY2xlLnN0eWxlLnNldFByb3BlcnR5KCctLXJvdGF0ZScsIGAke3Aucm90YXRlfWRlZ2ApO1xyXG5cclxuICAgICAgICBwb2ludC5jbGFzc0xpc3QuYWRkKCdwb2ludCcpO1xyXG4gICAgICAgIHBhcnRpY2xlLmFwcGVuZENoaWxkKHBvaW50KTtcclxuICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxkKHBhcnRpY2xlKTtcclxuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKSk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBlbGVtZW50LnJlbW92ZUNoaWxkKHBhcnRpY2xlKTtcclxuICAgICAgICAgIH0gY2F0Y2gge1xyXG4gICAgICAgICAgICAvKiBpZ25vcmUgcmVtb3ZhbCBlcnJvcnMgKi9cclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCB0KTtcclxuICAgICAgfSwgMzApO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGNvbnN0IHVwZGF0ZUVmZmVjdFBvc2l0aW9uID0gKGVsZW1lbnQ6IEhUTUxMSUVsZW1lbnQpID0+IHtcclxuICAgIGlmICghY29udGFpbmVyUmVmLmN1cnJlbnQgfHwgIWZpbHRlclJlZi5jdXJyZW50IHx8ICF0ZXh0UmVmLmN1cnJlbnQpIHJldHVybjtcclxuICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXJSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHBvcyA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBzdHlsZXM6IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj4gPSB7XHJcbiAgICAgIGxlZnQ6IGAke3Bvcy54IC0gY29udGFpbmVyUmVjdC54fXB4YCxcclxuICAgICAgdG9wOiBgJHtwb3MueSAtIGNvbnRhaW5lclJlY3QueX1weGAsXHJcbiAgICAgIHdpZHRoOiBgJHtwb3Mud2lkdGh9cHhgLFxyXG4gICAgICBoZWlnaHQ6IGAke3Bvcy5oZWlnaHR9cHhgLFxyXG4gICAgfTtcclxuICAgIE9iamVjdC5hc3NpZ24oZmlsdGVyUmVmLmN1cnJlbnQuc3R5bGUsIHN0eWxlcyk7XHJcbiAgICBPYmplY3QuYXNzaWduKHRleHRSZWYuY3VycmVudC5zdHlsZSwgc3R5bGVzKTtcclxuICAgIC8vIE51ciBUZXh0IGtvcGllcmVuIHdlbm4gZXMga2VpbiBMb2dvIHVuZCBrZWluIE1lbsO8LUJ1dHRvbiBpc3RcclxuICAgIGlmICghZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ25hdi1pdGVtLWxvZ28nKSAmJiAhZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ25hdi1pdGVtLW1lbnUnKSkge1xyXG4gICAgICB0ZXh0UmVmLmN1cnJlbnQuaW5uZXJUZXh0ID0gZWxlbWVudC5pbm5lclRleHQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0ZXh0UmVmLmN1cnJlbnQuaW5uZXJUZXh0ID0gJyc7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZTogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4sIGluZGV4OiBudW1iZXIsIGl0ZW06IEdvb2V5TmF2SXRlbSkgPT4ge1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgXHJcbiAgICBpZiAoaXRlbS50eXBlID09PSAnbG9nbycpIHtcclxuICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xyXG4gICAgICAgc2V0SXNNZW51T3BlbihmYWxzZSk7XHJcbiAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGl0ZW0udHlwZSA9PT0gJ21lbnUnKSB7XHJcbiAgICAgICAgc2V0SXNNZW51T3BlbighaXNNZW51T3Blbik7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGxpRWwgPSBlLmN1cnJlbnRUYXJnZXQucGFyZW50RWxlbWVudCBhcyBIVE1MTElFbGVtZW50IHwgbnVsbDtcclxuICAgIGlmICghbGlFbCB8fCBhY3RpdmVJbmRleCA9PT0gaW5kZXgpIHJldHVybjtcclxuICAgIFxyXG4gICAgLy8gTm9ybWFsIG5hdmlnYXRpb25cclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gaXRlbS5ocmVmO1xyXG4gICAgc2V0SXNNZW51T3BlbihmYWxzZSk7IC8vIE1lbsO8IHNjaGxpZcOfZW4gbmFjaCBLbGlja1xyXG5cclxuICAgIHNldEFjdGl2ZUluZGV4KGluZGV4KTtcclxuICAgIHVwZGF0ZUVmZmVjdFBvc2l0aW9uKGxpRWwpO1xyXG5cclxuICAgIGlmIChmaWx0ZXJSZWYuY3VycmVudCkge1xyXG4gICAgICBjb25zdCBwYXJ0aWNsZXMgPSBmaWx0ZXJSZWYuY3VycmVudC5xdWVyeVNlbGVjdG9yQWxsKCcucGFydGljbGUnKTtcclxuICAgICAgcGFydGljbGVzLmZvckVhY2goKHApID0+IGZpbHRlclJlZi5jdXJyZW50Py5yZW1vdmVDaGlsZChwKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRleHRSZWYuY3VycmVudCkge1xyXG4gICAgICB0ZXh0UmVmLmN1cnJlbnQuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJyk7XHJcbiAgICAgIHZvaWQgdGV4dFJlZi5jdXJyZW50Lm9mZnNldFdpZHRoOyAvLyBmb3JjZSByZWZsb3dcclxuICAgICAgdGV4dFJlZi5jdXJyZW50LmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmaWx0ZXJSZWYuY3VycmVudCkge1xyXG4gICAgICBtYWtlUGFydGljbGVzKGZpbHRlclJlZi5jdXJyZW50KTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGU6IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LCBpbmRleDogbnVtYmVyLCBpdGVtOiBHb29leU5hdkl0ZW0pID0+IHtcclxuICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyB8fCBlLmtleSA9PT0gJyAnKSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgY29uc3QgbGlFbCA9IGUuY3VycmVudFRhcmdldC5wYXJlbnRFbGVtZW50IGFzIEhUTUxMSUVsZW1lbnQgfCBudWxsO1xyXG4gICAgICBpZiAobGlFbCkge1xyXG4gICAgICAgIGhhbmRsZUNsaWNrKHsgY3VycmVudFRhcmdldDogZS5jdXJyZW50VGFyZ2V0LCBwcmV2ZW50RGVmYXVsdDogKCkgPT4ge30gfSBhcyBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PiwgaW5kZXgsIGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGlmICghbmF2UmVmLmN1cnJlbnQgfHwgIWNvbnRhaW5lclJlZi5jdXJyZW50KSByZXR1cm47XHJcbiAgICBjb25zdCBhY3RpdmVMaSA9IG5hdlJlZi5jdXJyZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpJylbYWN0aXZlSW5kZXhdIGFzIEhUTUxMSUVsZW1lbnQgfCB1bmRlZmluZWQ7XHJcbiAgICBpZiAoYWN0aXZlTGkgJiYgIWFjdGl2ZUxpLmNsYXNzTGlzdC5jb250YWlucygnbmF2LWl0ZW0tbG9nbycpICYmICFhY3RpdmVMaS5jbGFzc0xpc3QuY29udGFpbnMoJ25hdi1pdGVtLW1lbnUnKSkge1xyXG4gICAgICB1cGRhdGVFZmZlY3RQb3NpdGlvbihhY3RpdmVMaSk7XHJcbiAgICAgIHRleHRSZWYuY3VycmVudD8uY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjdXJyZW50QWN0aXZlTGkgPSBuYXZSZWYuY3VycmVudD8ucXVlcnlTZWxlY3RvckFsbCgnbGknKVthY3RpdmVJbmRleF0gYXMgSFRNTExJRWxlbWVudCB8IHVuZGVmaW5lZDtcclxuICAgICAgaWYgKGN1cnJlbnRBY3RpdmVMaSAmJiAhY3VycmVudEFjdGl2ZUxpLmNsYXNzTGlzdC5jb250YWlucygnbmF2LWl0ZW0tbG9nbycpICYmICFjdXJyZW50QWN0aXZlTGkuY2xhc3NMaXN0LmNvbnRhaW5zKCduYXYtaXRlbS1tZW51JykpIHtcclxuICAgICAgICB1cGRhdGVFZmZlY3RQb3NpdGlvbihjdXJyZW50QWN0aXZlTGkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGNvbnRhaW5lclJlZi5jdXJyZW50KTtcclxuICAgIHJldHVybiAoKSA9PiByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XHJcbiAgfSwgW2FjdGl2ZUluZGV4XSk7XHJcblxyXG4gIC8vIE1vZGlmaXppZXJ0ZSBJdGVtcyBmw7xyIGRpZSBBbnplaWdlIChMb2dvICsgTWVudSBCdXR0b24gaW0gZ2VzY2hsb3NzZW5lbiBadXN0YW5kKVxyXG4gIGNvbnN0IGRpc3BsYXlJdGVtcyA9IGlzTWVudU9wZW4gXHJcbiAgICA/IGl0ZW1zIC8vIFplaWdlIGFsbGUgSXRlbXMgd2VubiBvZmZlbiAobXVzcyBpbSBDU1MgZ2VyZWdlbHQgd2VyZGVuLCBkYXNzIHNpZSB1bnRlcmVpbmFuZGVyIG9kZXIgYW5kZXJzIGRhcmdlc3RlbGx0IHdlcmRlbilcclxuICAgIDogW2l0ZW1zLmZpbmQoaSA9PiBpLnR5cGUgPT09ICdsb2dvJykhLCB7IGxhYmVsOiAnTWVudScsIGhyZWY6ICcjJywgdHlwZTogJ21lbnUnIH0gYXMgR29vZXlOYXZJdGVtXTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgY2xhc3NOYW1lPXtgZ29vZXktbmF2LWNvbnRhaW5lciAke2l0ZW1zLmxlbmd0aCA+IDQgPyAnaGFzLWNvbnRhY3QnIDogJyd9ICR7aXNNZW51T3BlbiA/ICdtZW51LW9wZW4nIDogJyd9YH0gcmVmPXtjb250YWluZXJSZWZ9PlxyXG4gICAgICA8bmF2PlxyXG4gICAgICAgIDx1bCByZWY9e25hdlJlZn0+XHJcbiAgICAgICAgICB7LyogTG9nbyBpbW1lciBhbnplaWdlbiAqL31cclxuICAgICAgICAgIHtpdGVtcy5maWx0ZXIoaSA9PiBpLnR5cGUgPT09ICdsb2dvJykubWFwKChpdGVtLCBpbmRleCkgPT4gKFxyXG4gICAgICAgICAgICAgPGxpIFxyXG4gICAgICAgICAgICAga2V5PXtpdGVtLmhyZWZ9IFxyXG4gICAgICAgICAgICAgY2xhc3NOYW1lPXtgbmF2LWl0ZW0tbG9nb2B9XHJcbiAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxyXG4gICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gaGFuZGxlQ2xpY2soZSwgLTEsIGl0ZW0pfVxyXG4gICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9e2l0ZW0uaWNvbn0gYWx0PXtpdGVtLmxhYmVsfSBjbGFzc05hbWU9XCJuYXYtbG9nby1pbWdcIiAvPlxyXG4gICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICApKX1cclxuXHJcbiAgICAgICAgICB7LyogTWVuw7wgQnV0dG9uIChIYW1idXJnZXIpICovfVxyXG4gICAgICAgICAgPGxpIGNsYXNzTmFtZT1cIm5hdi1pdGVtLW1lbnVcIiBzdHlsZT17eyBtYXJnaW5MZWZ0OiAnYXV0bycsIGN1cnNvcjogJ3BvaW50ZXInIH19PlxyXG4gICAgICAgICAgICA8YSBcclxuICAgICAgICAgICAgICBocmVmPVwiI1wiIFxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiBoYW5kbGVDbGljayhlLCAtMSwgeyBsYWJlbDogJ01lbnUnLCBocmVmOiAnIycsIHR5cGU6ICdtZW51JyB9KX1cclxuICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICcxMDAlJywgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHtpc01lbnVPcGVuID8gPFggc2l6ZT17MjR9IGNvbG9yPVwid2hpdGVcIiAvPiA6IDxNZW51IHNpemU9ezI0fSBjb2xvcj1cIndoaXRlXCIgLz59XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgICAgPC9uYXY+XHJcbiAgICAgIFxyXG4gICAgICB7LyogRHJvcGRvd24gLyBFeHBhbmRlZCBNZW51IEl0ZW1zIC0gQXXDn2VyaGFsYiB2b24gbmF2LCBkYW1pdCBwb3NpdGlvbjogZml4ZWQgcmVsYXRpdiB6dW0gVmlld3BvcnQgaXN0ICovfVxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YG1vYmlsZS1tZW51LWl0ZW1zICR7aXNNZW51T3BlbiA/ICdvcGVuJyA6ICcnfWB9PlxyXG4gICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAge2l0ZW1zLmZpbHRlcihpID0+IGkudHlwZSAhPT0gJ2xvZ28nICYmIGkudHlwZSAhPT0gJ21lbnUnKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtpdGVtLmhyZWZ9IG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGl0ZW0uaHJlZjtcclxuICAgICAgICAgICAgICAgICAgICAgICBzZXRJc01lbnVPcGVuKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgIH19PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPntpdGVtLmxhYmVsfTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgIDwvdWw+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgey8qIEVmZmVjdCBudXIgZsO8ciBJbmxpbmUtSXRlbXMsIGhpZXIgZGVha3RpdmllcnQgZGEgd2lyIGF1ZiBPdmVybGF5IHVtc3RlbGxlbiAqL31cclxuICAgICAgey8qIDxzcGFuIGNsYXNzTmFtZT1cImVmZmVjdCBmaWx0ZXJcIiByZWY9e2ZpbHRlclJlZn0gLz5cclxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZWZmZWN0IHRleHRcIiByZWY9e3RleHRSZWZ9IC8+ICovfVxyXG4gICAgPC9kaXY+XHJcbiAgKTtcclxufTtcclxuXHJcbmNvbnN0IGFsbEdvb2V5SXRlbXM6IEdvb2V5TmF2SXRlbVtdID0gW1xyXG4gIHsgbGFiZWw6ICdIb21lJywgaHJlZjogJyMnLCB0eXBlOiAnbG9nbycsIGljb246ICcvV2ViS2xhckxvZ28ucG5nJyB9LFxyXG4gIHsgbGFiZWw6ICfDnGJlciB1bnMnLCBocmVmOiAnI2Fib3V0JyB9LFxyXG4gIHsgbGFiZWw6ICdMZWlzdHVuZ2VuJywgaHJlZjogJyNzZXJ2aWNlcycgfSxcclxuICB7IGxhYmVsOiAnQWJsw6R1ZmUnLCBocmVmOiAnI3Byb2Nlc3MnIH0sXHJcbiAgeyBsYWJlbDogJ0tvbnRha3QnLCBocmVmOiAnI2NvbnRhY3QnIH0sXHJcbl07XHJcblxyXG5jb25zdCBIYW5keUFuc2ljaHQ6IFJlYWN0LkZDPEhhbmR5QW5zaWNodFByb3BzPiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcclxuICBjb25zdCBbaXNNb2JpbGUsIHNldElzTW9iaWxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICBjb25zdCBbaXNDbGllbnQsIHNldElzQ2xpZW50XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIHNldElzQ2xpZW50KHRydWUpO1xyXG5cclxuICAgIGNvbnN0IGNoZWNrTW9iaWxlID0gKCkgPT4ge1xyXG4gICAgICBzZXRJc01vYmlsZSh3aW5kb3cuaW5uZXJXaWR0aCA8IDc2OCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNoZWNrTW9iaWxlKCk7XHJcblxyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGNoZWNrTW9iaWxlKTtcclxuXHJcbiAgICBjb25zdCBtZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDc2N3B4KScpO1xyXG4gICAgY29uc3QgaGFuZGxlTWVkaWFDaGFuZ2UgPSAoZTogTWVkaWFRdWVyeUxpc3RFdmVudCB8IE1lZGlhUXVlcnlMaXN0KSA9PiB7XHJcbiAgICAgIHNldElzTW9iaWxlKGUubWF0Y2hlcyk7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChtZWRpYVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIpIHtcclxuICAgICAgbWVkaWFRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBoYW5kbGVNZWRpYUNoYW5nZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBtZWRpYVF1ZXJ5LmFkZExpc3RlbmVyKGhhbmRsZU1lZGlhQ2hhbmdlKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVNZWRpYUNoYW5nZShtZWRpYVF1ZXJ5KTtcclxuXHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgY2hlY2tNb2JpbGUpO1xyXG4gICAgICBpZiAobWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKSB7XHJcbiAgICAgICAgbWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBoYW5kbGVNZWRpYUNoYW5nZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbWVkaWFRdWVyeS5yZW1vdmVMaXN0ZW5lcihoYW5kbGVNZWRpYUNoYW5nZSk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfSwgW10pO1xyXG5cclxuICAvLyBJbW1lciBhbGxlIEl0ZW1zIGFuemVpZ2VuLCBLb250YWt0IGlzdCBzb2ZvcnQgZGFcclxuICBjb25zdCBjdXJyZW50SXRlbXMgPSBhbGxHb29leUl0ZW1zO1xyXG5cclxuICBpZiAoIWlzQ2xpZW50IHx8ICFpc01vYmlsZSkge1xyXG4gICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcclxuICB9XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImhhbmR5LWFuc2ljaHRcIj5cclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJoYW5keS1hbnNpY2h0X19jb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhhbmR5LWFuc2ljaHRfX25hdi13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8R29vZXlOYXYgaXRlbXM9e2N1cnJlbnRJdGVtc30gLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhhbmR5LWFuc2ljaHRfX2NvbnRlbnRcIj5cclxuICAgICAgICAgIHtjaGlsZHJlbn1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgSGFuZHlBbnNpY2h0O1xyXG5cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJNZW51IiwiWCIsIkdvb2V5TmF2IiwiaXRlbXMiLCJhbmltYXRpb25UaW1lIiwicGFydGljbGVDb3VudCIsInBhcnRpY2xlRGlzdGFuY2VzIiwicGFydGljbGVSIiwidGltZVZhcmlhbmNlIiwiY29sb3JzIiwiaW5pdGlhbEFjdGl2ZUluZGV4IiwiY29udGFpbmVyUmVmIiwibmF2UmVmIiwiZmlsdGVyUmVmIiwidGV4dFJlZiIsImFjdGl2ZUluZGV4Iiwic2V0QWN0aXZlSW5kZXgiLCJpc01lbnVPcGVuIiwic2V0SXNNZW51T3BlbiIsIm5vaXNlIiwibiIsIk1hdGgiLCJyYW5kb20iLCJnZXRYWSIsImRpc3RhbmNlIiwicG9pbnRJbmRleCIsInRvdGFsUG9pbnRzIiwiYW5nbGUiLCJQSSIsImNvcyIsInNpbiIsImNyZWF0ZVBhcnRpY2xlIiwiaSIsInQiLCJkIiwiciIsInJvdGF0ZSIsInN0YXJ0IiwiZW5kIiwidGltZSIsInNjYWxlIiwiY29sb3IiLCJmbG9vciIsImxlbmd0aCIsIm1ha2VQYXJ0aWNsZXMiLCJlbGVtZW50IiwiYnViYmxlVGltZSIsInN0eWxlIiwic2V0UHJvcGVydHkiLCJwIiwiY2xhc3NMaXN0IiwicmVtb3ZlIiwic2V0VGltZW91dCIsInBhcnRpY2xlIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwicG9pbnQiLCJhZGQiLCJhcHBlbmRDaGlsZCIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsInJlbW92ZUNoaWxkIiwidXBkYXRlRWZmZWN0UG9zaXRpb24iLCJjdXJyZW50IiwiY29udGFpbmVyUmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInBvcyIsInN0eWxlcyIsImxlZnQiLCJ4IiwidG9wIiwieSIsIndpZHRoIiwiaGVpZ2h0IiwiT2JqZWN0IiwiYXNzaWduIiwiY29udGFpbnMiLCJpbm5lclRleHQiLCJoYW5kbGVDbGljayIsImUiLCJpbmRleCIsIml0ZW0iLCJwcmV2ZW50RGVmYXVsdCIsInR5cGUiLCJ3aW5kb3ciLCJzY3JvbGxUbyIsImJlaGF2aW9yIiwibGlFbCIsImN1cnJlbnRUYXJnZXQiLCJwYXJlbnRFbGVtZW50IiwibG9jYXRpb24iLCJocmVmIiwicGFydGljbGVzIiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJvZmZzZXRXaWR0aCIsImhhbmRsZUtleURvd24iLCJrZXkiLCJhY3RpdmVMaSIsInJlc2l6ZU9ic2VydmVyIiwiUmVzaXplT2JzZXJ2ZXIiLCJjdXJyZW50QWN0aXZlTGkiLCJvYnNlcnZlIiwiZGlzY29ubmVjdCIsImRpc3BsYXlJdGVtcyIsImZpbmQiLCJsYWJlbCIsImRpdiIsImNsYXNzTmFtZSIsInJlZiIsIm5hdiIsInVsIiwiZmlsdGVyIiwibWFwIiwibGkiLCJhIiwib25DbGljayIsImFyaWEtbGFiZWwiLCJpbWciLCJzcmMiLCJpY29uIiwiYWx0IiwibWFyZ2luTGVmdCIsImN1cnNvciIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJzaXplIiwic3BhbiIsImFsbEdvb2V5SXRlbXMiLCJIYW5keUFuc2ljaHQiLCJjaGlsZHJlbiIsImlzTW9iaWxlIiwic2V0SXNNb2JpbGUiLCJpc0NsaWVudCIsInNldElzQ2xpZW50IiwiY2hlY2tNb2JpbGUiLCJpbm5lcldpZHRoIiwiYWRkRXZlbnRMaXN0ZW5lciIsIm1lZGlhUXVlcnkiLCJtYXRjaE1lZGlhIiwiaGFuZGxlTWVkaWFDaGFuZ2UiLCJtYXRjaGVzIiwiYWRkTGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVtb3ZlTGlzdGVuZXIiLCJjdXJyZW50SXRlbXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/HandyAnsicht.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/WebklarFooter.tsx": +/*!**************************************!*\ + !*** ./components/WebklarFooter.tsx ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ WebklarFooter)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lib_colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/colors */ \"(ssr)/./lib/colors.ts\");\n\n\n\nfunction WebklarFooter() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"footer\", {\n className: \"hidden md:block relative py-8 sm:py-12 border-t rounded-t-[2rem] sm:rounded-t-[3rem] mx-2 sm:mx-4 backdrop-blur-sm\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.primary}F0`,\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-7xl mx-auto px-4 sm:px-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-4 gap-6 sm:gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"col-span-1 sm:col-span-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-2xl sm:text-3xl font-bold mb-4 relative\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.tertiary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"relative z-10\",\n children: \"Webklar\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 20,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute -inset-2 rounded-xl blur-sm opacity-20\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 21,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mb-6 leading-relaxed text-sm sm:text-base\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.background\n },\n children: \"Ihr Partner f\\xfcr Web & Support. Moderne Websites. Klare Kommunikation. Pers\\xf6nlicher Support.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 26,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 15,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"text-base sm:text-lg font-semibold mb-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.tertiary\n },\n children: \"Services\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 34,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"space-y-2 text-sm sm:text-base\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.background\n },\n children: [\n \"Webdesign\",\n \"E-Commerce\",\n \"SEO\",\n \"Hosting\"\n ].map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#\",\n className: \"hover:opacity-80 transition-opacity\",\n children: item\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 40,\n columnNumber: 19\n }, this)\n }, item, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 39,\n columnNumber: 17\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 37,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 33,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"text-base sm:text-lg font-semibold mb-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.tertiary\n },\n children: \"Kontakt\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 46,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"space-y-2 text-sm sm:text-base\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.background\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/impressum\",\n className: \"hover:opacity-80 transition-opacity\",\n children: \"Impressum\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 50,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 50,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/datenschutz\",\n className: \"hover:opacity-80 transition-opacity\",\n children: \"Datenschutz\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 51,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 51,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/agb\",\n className: \"hover:opacity-80 transition-opacity\",\n children: \"AGB\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 52,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 52,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/kontakte\",\n className: \"hover:opacity-80 transition-opacity\",\n children: \"Kontakte\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 53,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 53,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 49,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 45,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 14,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border-t mt-6 sm:mt-8 pt-6 sm:pt-8 text-center text-sm\",\n style: {\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.background\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: \"\\xa9 2025 Webklar. Alle Rechte vorbehalten.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 64,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 57,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 13,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarFooter.tsx\",\n lineNumber: 6,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL1dlYmtsYXJGb290ZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBNkI7QUFDUztBQUV2QixTQUFTRTtJQUN0QixxQkFDRSw4REFBQ0M7UUFDQ0MsV0FBVTtRQUNWQyxPQUFPO1lBQ0xDLGlCQUFpQixDQUFDLEVBQUVMLCtDQUFNQSxDQUFDTSxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3RDQyxhQUFhUCwrQ0FBTUEsQ0FBQ1EsU0FBUztRQUMvQjtrQkFFQSw0RUFBQ0M7WUFBSU4sV0FBVTs7OEJBQ2IsOERBQUNNO29CQUFJTixXQUFVOztzQ0FDYiw4REFBQ007NEJBQUlOLFdBQVU7OzhDQUNiLDhEQUFDTTtvQ0FDQ04sV0FBVTtvQ0FDVkMsT0FBTzt3Q0FBRU0sT0FBT1YsK0NBQU1BLENBQUNXLFFBQVE7b0NBQUM7O3NEQUVoQyw4REFBQ0M7NENBQUtULFdBQVU7c0RBQWdCOzs7Ozs7c0RBQ2hDLDhEQUFDTTs0Q0FDQ04sV0FBVTs0Q0FDVkMsT0FBTztnREFBRUMsaUJBQWlCTCwrQ0FBTUEsQ0FBQ1EsU0FBUzs0Q0FBQzs7Ozs7Ozs7Ozs7OzhDQUcvQyw4REFBQ0s7b0NBQ0NWLFdBQVU7b0NBQ1ZDLE9BQU87d0NBQUVNLE9BQU9WLCtDQUFNQSxDQUFDYyxVQUFVO29DQUFDOzhDQUNuQzs7Ozs7Ozs7Ozs7O3NDQUlILDhEQUFDTDs7OENBQ0MsOERBQUNNO29DQUFHWixXQUFVO29DQUEwQ0MsT0FBTzt3Q0FBRU0sT0FBT1YsK0NBQU1BLENBQUNXLFFBQVE7b0NBQUM7OENBQUc7Ozs7Ozs4Q0FHM0YsOERBQUNLO29DQUFHYixXQUFVO29DQUFpQ0MsT0FBTzt3Q0FBRU0sT0FBT1YsK0NBQU1BLENBQUNjLFVBQVU7b0NBQUM7OENBQzlFO3dDQUFDO3dDQUFhO3dDQUFjO3dDQUFPO3FDQUFVLENBQUNHLEdBQUcsQ0FBQyxDQUFDQyxxQkFDbEQsOERBQUNDO3NEQUNDLDRFQUFDQztnREFBRUMsTUFBSztnREFBSWxCLFdBQVU7MERBQXVDZTs7Ozs7OzJDQUR0REE7Ozs7Ozs7Ozs7Ozs7Ozs7c0NBTWYsOERBQUNUOzs4Q0FDQyw4REFBQ007b0NBQUdaLFdBQVU7b0NBQTBDQyxPQUFPO3dDQUFFTSxPQUFPViwrQ0FBTUEsQ0FBQ1csUUFBUTtvQ0FBQzs4Q0FBRzs7Ozs7OzhDQUczRiw4REFBQ0s7b0NBQUdiLFdBQVU7b0NBQWlDQyxPQUFPO3dDQUFFTSxPQUFPViwrQ0FBTUEsQ0FBQ2MsVUFBVTtvQ0FBQzs7c0RBQy9FLDhEQUFDSztzREFBRyw0RUFBQ3BCLGtEQUFJQTtnREFBQ3NCLE1BQUs7Z0RBQWFsQixXQUFVOzBEQUFzQzs7Ozs7Ozs7Ozs7c0RBQzVFLDhEQUFDZ0I7c0RBQUcsNEVBQUNwQixrREFBSUE7Z0RBQUNzQixNQUFLO2dEQUFlbEIsV0FBVTswREFBc0M7Ozs7Ozs7Ozs7O3NEQUM5RSw4REFBQ2dCO3NEQUFHLDRFQUFDcEIsa0RBQUlBO2dEQUFDc0IsTUFBSztnREFBT2xCLFdBQVU7MERBQXNDOzs7Ozs7Ozs7OztzREFDdEUsOERBQUNnQjtzREFBRyw0RUFBQ3BCLGtEQUFJQTtnREFBQ3NCLE1BQUs7Z0RBQVlsQixXQUFVOzBEQUFzQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBSWpGLDhEQUFDTTtvQkFDQ04sV0FBVTtvQkFDVkMsT0FBTzt3QkFDTEcsYUFBYVAsK0NBQU1BLENBQUNRLFNBQVM7d0JBQzdCRSxPQUFPViwrQ0FBTUEsQ0FBQ2MsVUFBVTtvQkFDMUI7OEJBRUEsNEVBQUNEO2tDQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9jb21wb25lbnRzL1dlYmtsYXJGb290ZXIudHN4Pzg2YjYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExpbmsgZnJvbSAnbmV4dC9saW5rJztcclxuaW1wb3J0IHsgY29sb3JzIH0gZnJvbSAnQC9saWIvY29sb3JzJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFdlYmtsYXJGb290ZXIoKSB7XHJcbiAgcmV0dXJuIChcclxuICAgIDxmb290ZXIgXHJcbiAgICAgIGNsYXNzTmFtZT1cImhpZGRlbiBtZDpibG9jayByZWxhdGl2ZSBweS04IHNtOnB5LTEyIGJvcmRlci10IHJvdW5kZWQtdC1bMnJlbV0gc206cm91bmRlZC10LVszcmVtXSBteC0yIHNtOm14LTQgYmFja2Ryb3AtYmx1ci1zbVwiXHJcbiAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogYCR7Y29sb3JzLnByaW1hcnl9RjBgLFxyXG4gICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5XHJcbiAgICAgIH19XHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC04XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIHNtOmdyaWQtY29scy0yIG1kOmdyaWQtY29scy00IGdhcC02IHNtOmdhcC04XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC1zcGFuLTEgc206Y29sLXNwYW4tMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtMnhsIHNtOnRleHQtM3hsIGZvbnQtYm9sZCBtYi00IHJlbGF0aXZlXCJcclxuICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogY29sb3JzLnRlcnRpYXJ5IH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJyZWxhdGl2ZSB6LTEwXCI+V2Via2xhcjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgLWluc2V0LTIgcm91bmRlZC14bCBibHVyLXNtIG9wYWNpdHktMjBcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19XHJcbiAgICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHAgXHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibWItNiBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1zbSBzbTp0ZXh0LWJhc2VcIlxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgSWhyIFBhcnRuZXIgZsO8ciBXZWIgJiBTdXBwb3J0LiBNb2Rlcm5lIFdlYnNpdGVzLiBLbGFyZSBLb21tdW5pa2F0aW9uLiBQZXJzw7ZubGljaGVyIFN1cHBvcnQuXHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGg0IGNsYXNzTmFtZT1cInRleHQtYmFzZSBzbTp0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgbWItNFwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMudGVydGlhcnkgfX0+XHJcbiAgICAgICAgICAgICAgU2VydmljZXNcclxuICAgICAgICAgICAgPC9oND5cclxuICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cInNwYWNlLXktMiB0ZXh0LXNtIHNtOnRleHQtYmFzZVwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCB9fT5cclxuICAgICAgICAgICAgICB7WydXZWJkZXNpZ24nLCAnRS1Db21tZXJjZScsICdTRU8nLCAnSG9zdGluZyddLm1hcCgoaXRlbSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgPGxpIGtleT17aXRlbX0+XHJcbiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3NOYW1lPVwiaG92ZXI6b3BhY2l0eS04MCB0cmFuc2l0aW9uLW9wYWNpdHlcIj57aXRlbX08L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8aDQgY2xhc3NOYW1lPVwidGV4dC1iYXNlIHNtOnRleHQtbGcgZm9udC1zZW1pYm9sZCBtYi00XCIgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy50ZXJ0aWFyeSB9fT5cclxuICAgICAgICAgICAgICBLb250YWt0XHJcbiAgICAgICAgICAgIDwvaDQ+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJzcGFjZS15LTIgdGV4dC1zbSBzbTp0ZXh0LWJhc2VcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLmJhY2tncm91bmQgfX0+XHJcbiAgICAgICAgICAgICAgPGxpPjxMaW5rIGhyZWY9XCIvaW1wcmVzc3VtXCIgY2xhc3NOYW1lPVwiaG92ZXI6b3BhY2l0eS04MCB0cmFuc2l0aW9uLW9wYWNpdHlcIj5JbXByZXNzdW08L0xpbms+PC9saT5cclxuICAgICAgICAgICAgICA8bGk+PExpbmsgaHJlZj1cIi9kYXRlbnNjaHV0elwiIGNsYXNzTmFtZT1cImhvdmVyOm9wYWNpdHktODAgdHJhbnNpdGlvbi1vcGFjaXR5XCI+RGF0ZW5zY2h1dHo8L0xpbms+PC9saT5cclxuICAgICAgICAgICAgICA8bGk+PExpbmsgaHJlZj1cIi9hZ2JcIiBjbGFzc05hbWU9XCJob3ZlcjpvcGFjaXR5LTgwIHRyYW5zaXRpb24tb3BhY2l0eVwiPkFHQjwvTGluaz48L2xpPlxyXG4gICAgICAgICAgICAgIDxsaT48TGluayBocmVmPVwiL2tvbnRha3RlXCIgY2xhc3NOYW1lPVwiaG92ZXI6b3BhY2l0eS04MCB0cmFuc2l0aW9uLW9wYWNpdHlcIj5Lb250YWt0ZTwvTGluaz48L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBcclxuICAgICAgICAgIGNsYXNzTmFtZT1cImJvcmRlci10IG10LTYgc206bXQtOCBwdC02IHNtOnB0LTggdGV4dC1jZW50ZXIgdGV4dC1zbVwiXHJcbiAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9ycy5zZWNvbmRhcnksXHJcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZFxyXG4gICAgICAgICAgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8cD4mY29weTsgMjAyNSBXZWJrbGFyLiBBbGxlIFJlY2h0ZSB2b3JiZWhhbHRlbi48L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9mb290ZXI+XHJcbiAgKTtcclxufSAiXSwibmFtZXMiOlsiTGluayIsImNvbG9ycyIsIldlYmtsYXJGb290ZXIiLCJmb290ZXIiLCJjbGFzc05hbWUiLCJzdHlsZSIsImJhY2tncm91bmRDb2xvciIsInByaW1hcnkiLCJib3JkZXJDb2xvciIsInNlY29uZGFyeSIsImRpdiIsImNvbG9yIiwidGVydGlhcnkiLCJzcGFuIiwicCIsImJhY2tncm91bmQiLCJoNCIsInVsIiwibWFwIiwiaXRlbSIsImxpIiwiYSIsImhyZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/WebklarFooter.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/WebklarLogoHeader.tsx": +/*!******************************************!*\ + !*** ./components/WebklarLogoHeader.tsx ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ WebklarLogoHeader)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lib_colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/colors */ \"(ssr)/./lib/colors.ts\");\n\n\n\nfunction WebklarLogoHeader() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full flex justify-center pt-8 pb-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative text-3xl sm:text-4xl font-bold cursor-pointer select-none\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.primary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"relative z-10\",\n children: \"Webklar\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarLogoHeader.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute -inset-2 rounded-xl blur-sm opacity-20\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarLogoHeader.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarLogoHeader.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarLogoHeader.tsx\",\n lineNumber: 7,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\WebklarLogoHeader.tsx\",\n lineNumber: 6,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL1dlYmtsYXJMb2dvSGVhZGVyLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQTZCO0FBQ1M7QUFFdkIsU0FBU0U7SUFDdEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNKLGtEQUFJQTtZQUFDSyxNQUFLO3NCQUNULDRFQUFDRjtnQkFBSUMsV0FBVTtnQkFBcUVFLE9BQU87b0JBQUVDLE9BQU9OLCtDQUFNQSxDQUFDTyxPQUFPO2dCQUFDOztrQ0FDakgsOERBQUNDO3dCQUFLTCxXQUFVO2tDQUFnQjs7Ozs7O2tDQUNoQyw4REFBQ0Q7d0JBQUlDLFdBQVU7d0JBQWtERSxPQUFPOzRCQUFFSSxpQkFBaUJULCtDQUFNQSxDQUFDVSxTQUFTO3dCQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS3RIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vY29tcG9uZW50cy9XZWJrbGFyTG9nb0hlYWRlci50c3g/MzA1ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnO1xyXG5pbXBvcnQgeyBjb2xvcnMgfSBmcm9tICdAL2xpYi9jb2xvcnMnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gV2Via2xhckxvZ29IZWFkZXIoKSB7XHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsIGZsZXgganVzdGlmeS1jZW50ZXIgcHQtOCBwYi00XCI+XHJcbiAgICAgIDxMaW5rIGhyZWY9XCIvXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSB0ZXh0LTN4bCBzbTp0ZXh0LTR4bCBmb250LWJvbGQgY3Vyc29yLXBvaW50ZXIgc2VsZWN0LW5vbmVcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJyZWxhdGl2ZSB6LTEwXCI+V2Via2xhcjwvc3Bhbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgLWluc2V0LTIgcm91bmRlZC14bCBibHVyLXNtIG9wYWNpdHktMjBcIiBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5zZWNvbmRhcnkgfX0+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvTGluaz5cclxuICAgIDwvZGl2PlxyXG4gICk7XHJcbn0gIl0sIm5hbWVzIjpbIkxpbmsiLCJjb2xvcnMiLCJXZWJrbGFyTG9nb0hlYWRlciIsImRpdiIsImNsYXNzTmFtZSIsImhyZWYiLCJzdHlsZSIsImNvbG9yIiwicHJpbWFyeSIsInNwYW4iLCJiYWNrZ3JvdW5kQ29sb3IiLCJzZWNvbmRhcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/WebklarLogoHeader.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./lib/colors.ts": +/*!***********************!*\ + !*** ./lib/colors.ts ***! + \***********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ colors: () => (/* binding */ colors)\n/* harmony export */ });\n// Centralized color system\nconst colors = {\n // Main brand colors\n primary: \"#0A400C\",\n secondary: \"#819067\",\n tertiary: \"#B1AB86\",\n background: \"#FEFAE0\",\n // Derived colors for better contrast\n primaryLight: \"#0F5010\",\n primaryDark: \"#052006\",\n secondaryLight: \"#9AA67F\",\n secondaryDark: \"#6B7A58\",\n // Neutral colors\n white: \"#FFFFFF\",\n black: \"#000000\",\n gray: {\n 100: \"#F5F5F5\",\n 200: \"#E5E5E5\",\n 300: \"#D4D4D4\",\n 400: \"#A3A3A3\",\n 500: \"#737373\",\n 600: \"#525252\",\n 700: \"#404040\",\n 800: \"#262626\",\n 900: \"#171717\"\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9saWIvY29sb3JzLnRzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSwyQkFBMkI7QUFDcEIsTUFBTUEsU0FBUztJQUNwQixvQkFBb0I7SUFDcEJDLFNBQVM7SUFDVEMsV0FBVztJQUNYQyxVQUFVO0lBQ1ZDLFlBQVk7SUFFWixxQ0FBcUM7SUFDckNDLGNBQWM7SUFDZEMsYUFBYTtJQUNiQyxnQkFBZ0I7SUFDaEJDLGVBQWU7SUFFZixpQkFBaUI7SUFDakJDLE9BQU87SUFDUEMsT0FBTztJQUNQQyxNQUFNO1FBQ0osS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBQ1A7QUFDRixFQUFXIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vbGliL2NvbG9ycy50cz9jMzJhIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENlbnRyYWxpemVkIGNvbG9yIHN5c3RlbVxyXG5leHBvcnQgY29uc3QgY29sb3JzID0ge1xyXG4gIC8vIE1haW4gYnJhbmQgY29sb3JzXHJcbiAgcHJpbWFyeTogJyMwQTQwMEMnLCAgICAgIC8vIERhcmsgZ3JlZW5cclxuICBzZWNvbmRhcnk6ICcjODE5MDY3JywgICAgLy8gTWVkaXVtIGdyZWVuICBcclxuICB0ZXJ0aWFyeTogJyNCMUFCODYnLCAgICAgLy8gTGlnaHQgZ3JlZW4tYmVpZ2VcclxuICBiYWNrZ3JvdW5kOiAnI0ZFRkFFMCcsICAgLy8gQ3JlYW0gYmFja2dyb3VuZFxyXG4gIFxyXG4gIC8vIERlcml2ZWQgY29sb3JzIGZvciBiZXR0ZXIgY29udHJhc3RcclxuICBwcmltYXJ5TGlnaHQ6ICcjMEY1MDEwJyxcclxuICBwcmltYXJ5RGFyazogJyMwNTIwMDYnLFxyXG4gIHNlY29uZGFyeUxpZ2h0OiAnIzlBQTY3RicsXHJcbiAgc2Vjb25kYXJ5RGFyazogJyM2QjdBNTgnLFxyXG4gIFxyXG4gIC8vIE5ldXRyYWwgY29sb3JzXHJcbiAgd2hpdGU6ICcjRkZGRkZGJyxcclxuICBibGFjazogJyMwMDAwMDAnLFxyXG4gIGdyYXk6IHtcclxuICAgIDEwMDogJyNGNUY1RjUnLFxyXG4gICAgMjAwOiAnI0U1RTVFNScsXHJcbiAgICAzMDA6ICcjRDRENEQ0JyxcclxuICAgIDQwMDogJyNBM0EzQTMnLFxyXG4gICAgNTAwOiAnIzczNzM3MycsXHJcbiAgICA2MDA6ICcjNTI1MjUyJyxcclxuICAgIDcwMDogJyM0MDQwNDAnLFxyXG4gICAgODAwOiAnIzI2MjYyNicsXHJcbiAgICA5MDA6ICcjMTcxNzE3JyxcclxuICB9XHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgdHlwZSBDb2xvcktleSA9IGtleW9mIHR5cGVvZiBjb2xvcnM7Il0sIm5hbWVzIjpbImNvbG9ycyIsInByaW1hcnkiLCJzZWNvbmRhcnkiLCJ0ZXJ0aWFyeSIsImJhY2tncm91bmQiLCJwcmltYXJ5TGlnaHQiLCJwcmltYXJ5RGFyayIsInNlY29uZGFyeUxpZ2h0Iiwic2Vjb25kYXJ5RGFyayIsIndoaXRlIiwiYmxhY2siLCJncmF5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./lib/colors.ts\n"); + +/***/ }), + +/***/ "(rsc)/./app/globals.css": +/*!*************************!*\ + !*** ./app/globals.css ***! + \*************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"66339856ea0e\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9hcHAvZ2xvYmFscy5jc3M/ZDA3NCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcIjY2MzM5ODU2ZWEwZVwiXG5pZiAobW9kdWxlLmhvdCkgeyBtb2R1bGUuaG90LmFjY2VwdCgpIH1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./app/globals.css\n"); + +/***/ }), + +/***/ "(ssr)/./components/HandyAnsicht.css": +/*!*************************************!*\ + !*** ./components/HandyAnsicht.css ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"82353546e170\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL0hhbmR5QW5zaWNodC5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9jb21wb25lbnRzL0hhbmR5QW5zaWNodC5jc3M/NDBkNiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcIjgyMzUzNTQ2ZTE3MFwiXG5pZiAobW9kdWxlLmhvdCkgeyBtb2R1bGUuaG90LmFjY2VwdCgpIH1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./components/HandyAnsicht.css\n"); + +/***/ }), + +/***/ "(rsc)/./app/kontakte/page.tsx": +/*!*******************************!*\ + !*** ./app/kontakte/page.tsx ***! + \*******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ $$typeof: () => (/* binding */ $$typeof), +/* harmony export */ __esModule: () => (/* binding */ __esModule), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); + +const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`C:\Users\andre\Documents\GitHub\Webklar.com\app\kontakte\page.tsx`) + +// Accessing the __esModule property and exporting $$typeof are required here. +// The __esModule getter forces the proxy target to create the default export +// and the $$typeof value is for rendering logic to determine if the module +// is a client boundary. +const { __esModule, $$typeof } = proxy; +const __default__ = proxy.default; + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__default__); + +/***/ }), + +/***/ "(rsc)/./app/layout.tsx": +/*!************************!*\ + !*** ./app/layout.tsx ***! + \************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"app\\\\\\\\layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./app/globals.css\");\n/* harmony import */ var _components_HandyAnsicht__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/HandyAnsicht */ \"(rsc)/./components/HandyAnsicht.tsx\");\n\n\n\n\nconst metadata = {\n title: \"Webklar – Klarheit im Webdesign\",\n description: \"Wir gestalten moderne, schnelle Websites f\\xfcr Ihr Business.\",\n openGraph: {\n title: \"Webklar – Klarheit im Webdesign\",\n description: \"Wir gestalten moderne, schnelle Websites f\\xfcr Ihr Business.\",\n url: \"https://webklar.com\",\n type: \"website\"\n }\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"de\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: (next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_3___default().className),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_HandyAnsicht__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\layout.tsx\",\n lineNumber: 27,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\layout.tsx\",\n lineNumber: 26,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\layout.tsx\",\n lineNumber: 25,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvbGF5b3V0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFLTUE7QUFMaUI7QUFHOEI7QUFJOUMsTUFBTUUsV0FBcUI7SUFDaENDLE9BQU87SUFDUEMsYUFBYTtJQUNiQyxXQUFXO1FBQ1RGLE9BQU87UUFDUEMsYUFBYTtRQUNiRSxLQUFLO1FBQ0xDLE1BQU07SUFDUjtBQUNGLEVBQUU7QUFFYSxTQUFTQyxXQUFXLEVBQ2pDQyxRQUFRLEVBR1Q7SUFDQyxxQkFDRSw4REFBQ0M7UUFBS0MsTUFBSztrQkFDVCw0RUFBQ0M7WUFBS0MsV0FBV2IsMkpBQWU7c0JBQzlCLDRFQUFDQyxnRUFBWUE7MEJBQ1ZROzs7Ozs7Ozs7Ozs7Ozs7O0FBS1giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9hcHAvbGF5b3V0LnRzeD85OTg4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnLi9nbG9iYWxzLmNzcyc7XHJcbmltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tICduZXh0JztcclxuaW1wb3J0IHsgSW50ZXIgfSBmcm9tICduZXh0L2ZvbnQvZ29vZ2xlJztcclxuaW1wb3J0IEhhbmR5QW5zaWNodCBmcm9tICdAL2NvbXBvbmVudHMvSGFuZHlBbnNpY2h0JztcclxuXHJcbmNvbnN0IGludGVyID0gSW50ZXIoeyBzdWJzZXRzOiBbJ2xhdGluJ10gfSk7XHJcblxyXG5leHBvcnQgY29uc3QgbWV0YWRhdGE6IE1ldGFkYXRhID0ge1xyXG4gIHRpdGxlOiAnV2Via2xhciDigJMgS2xhcmhlaXQgaW0gV2ViZGVzaWduJyxcclxuICBkZXNjcmlwdGlvbjogJ1dpciBnZXN0YWx0ZW4gbW9kZXJuZSwgc2NobmVsbGUgV2Vic2l0ZXMgZsO8ciBJaHIgQnVzaW5lc3MuJyxcclxuICBvcGVuR3JhcGg6IHtcclxuICAgIHRpdGxlOiAnV2Via2xhciDigJMgS2xhcmhlaXQgaW0gV2ViZGVzaWduJyxcclxuICAgIGRlc2NyaXB0aW9uOiAnV2lyIGdlc3RhbHRlbiBtb2Rlcm5lLCBzY2huZWxsZSBXZWJzaXRlcyBmw7xyIElociBCdXNpbmVzcy4nLFxyXG4gICAgdXJsOiAnaHR0cHM6Ly93ZWJrbGFyLmNvbScsXHJcbiAgICB0eXBlOiAnd2Vic2l0ZScsXHJcbiAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJvb3RMYXlvdXQoe1xyXG4gIGNoaWxkcmVuLFxyXG59OiB7XHJcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcclxufSkge1xyXG4gIHJldHVybiAoXHJcbiAgICA8aHRtbCBsYW5nPVwiZGVcIj5cclxuICAgICAgPGJvZHkgY2xhc3NOYW1lPXtpbnRlci5jbGFzc05hbWV9PlxyXG4gICAgICAgIDxIYW5keUFuc2ljaHQ+XHJcbiAgICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICAgICAgPC9IYW5keUFuc2ljaHQ+XHJcbiAgICAgIDwvYm9keT5cclxuICAgIDwvaHRtbD5cclxuICApO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJpbnRlciIsIkhhbmR5QW5zaWNodCIsIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm9wZW5HcmFwaCIsInVybCIsInR5cGUiLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJodG1sIiwibGFuZyIsImJvZHkiLCJjbGFzc05hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./app/layout.tsx\n"); + +/***/ }), + +/***/ "(rsc)/./components/HandyAnsicht.tsx": +/*!*************************************!*\ + !*** ./components/HandyAnsicht.tsx ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ $$typeof: () => (/* binding */ $$typeof), +/* harmony export */ __esModule: () => (/* binding */ __esModule), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); + +const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`C:\Users\andre\Documents\GitHub\Webklar.com\components\HandyAnsicht.tsx`) + +// Accessing the __esModule property and exporting $$typeof are required here. +// The __esModule getter forces the proxy target to create the default export +// and the $$typeof value is for rendering logic to determine if the module +// is a client boundary. +const { __esModule, $$typeof } = proxy; +const __default__ = proxy.default; + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__default__); + +/***/ }), + +/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./app/favicon.ico?__next_metadata__": +/*!**********************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./app/favicon.ico?__next_metadata__ ***! + \**********************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/lib/metadata/get-metadata-route */ \"(rsc)/./node_modules/next/dist/lib/metadata/get-metadata-route.js\");\n/* harmony import */ var next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__);\n \n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((props) => {\n const imageData = {\"type\":\"image/x-icon\",\"sizes\":\"32x32\"}\n const imageUrl = (0,next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__.fillMetadataSegment)(\".\", props.params, \"favicon.ico\")\n\n return [{\n ...imageData,\n url: imageUrl + \"\",\n }]\n });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LW1ldGFkYXRhLWltYWdlLWxvYWRlci5qcz90eXBlPWZhdmljb24mc2VnbWVudD0mYmFzZVBhdGg9JnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMhLi9hcHAvZmF2aWNvbi5pY28/X19uZXh0X21ldGFkYXRhX18iLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsRUFBaUY7O0FBRWpGLEVBQUUsaUVBQWU7QUFDakIsdUJBQXVCO0FBQ3ZCLHFCQUFxQiw4RkFBbUI7O0FBRXhDO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL2FwcC9mYXZpY29uLmljbz81NjFmIl0sInNvdXJjZXNDb250ZW50IjpbIiAgaW1wb3J0IHsgZmlsbE1ldGFkYXRhU2VnbWVudCB9IGZyb20gJ25leHQvZGlzdC9saWIvbWV0YWRhdGEvZ2V0LW1ldGFkYXRhLXJvdXRlJ1xuXG4gIGV4cG9ydCBkZWZhdWx0IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IGltYWdlRGF0YSA9IHtcInR5cGVcIjpcImltYWdlL3gtaWNvblwiLFwic2l6ZXNcIjpcIjMyeDMyXCJ9XG4gICAgY29uc3QgaW1hZ2VVcmwgPSBmaWxsTWV0YWRhdGFTZWdtZW50KFwiLlwiLCBwcm9wcy5wYXJhbXMsIFwiZmF2aWNvbi5pY29cIilcblxuICAgIHJldHVybiBbe1xuICAgICAgLi4uaW1hZ2VEYXRhLFxuICAgICAgdXJsOiBpbWFnZVVybCArIFwiXCIsXG4gICAgfV1cbiAgfSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./app/favicon.ico?__next_metadata__\n"); + +/***/ }) + +}; +; + +// load runtime +var __webpack_require__ = require("../../webpack-runtime.js"); +__webpack_require__.C(exports); +var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) +var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/lucide-react","vendor-chunks/@swc"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fkontakte%2Fpage&page=%2Fkontakte%2Fpage&appPaths=%2Fkontakte%2Fpage&pagePath=private-next-app-dir%2Fkontakte%2Fpage.tsx&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); +module.exports = __webpack_exports__; + +})(); \ No newline at end of file diff --git a/.next/server/app/kontakte/page_client-reference-manifest.js b/.next/server/app/kontakte/page_client-reference-manifest.js new file mode 100644 index 00000000..3714f1a7 --- /dev/null +++ b/.next/server/app/kontakte/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/kontakte/page"]={"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./components/HandyAnsicht.tsx":{"*":{"id":"(ssr)/./components/HandyAnsicht.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/page.tsx":{"*":{"id":"(ssr)/./app/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/kontakte/page.tsx":{"*":{"id":"(ssr)/./app/kontakte/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\static-generation-searchparams-bailout-provider.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\static-generation-searchparams-bailout-provider.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\components\\HandyAnsicht.tsx":{"id":"(app-pages-browser)/./components/HandyAnsicht.tsx","name":"*","chunks":["app/layout:static/chunks/app/layout.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\font\\google\\target.css?{\"path\":\"app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout:static/chunks/app/layout.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\globals.css":{"id":"(app-pages-browser)/./app/globals.css","name":"*","chunks":["app/layout:static/chunks/app/layout.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\page.tsx":{"id":"(app-pages-browser)/./app/page.tsx","name":"*","chunks":["app/page:static/chunks/app/page.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\kontakte\\page.tsx":{"id":"(app-pages-browser)/./app/kontakte/page.tsx","name":"*","chunks":["app/kontakte/page:static/chunks/app/kontakte/page.js"],"async":false}},"entryCSSFiles":{"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\layout":["static/css/app/layout.css"],"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\page":["static/css/app/page.css"],"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\not-found":[],"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\kontakte\\page":[]}} \ No newline at end of file diff --git a/.next/server/app/not-found.js b/.next/server/app/not-found.js new file mode 100644 index 00000000..cd540edf --- /dev/null +++ b/.next/server/app/not-found.js @@ -0,0 +1,195 @@ +/* + * 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/). + */ +(() => { +var exports = {}; +exports.id = "app/not-found"; +exports.ids = ["app/not-found"]; +exports.modules = { + +/***/ "./request-async-storage.external": +/*!*****************************************************************************!*\ + !*** external "next/dist/client/components/request-async-storage.external" ***! + \*****************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist/client/components/request-async-storage.external"); + +/***/ }), + +/***/ "./static-generation-async-storage.external": +/*!***************************************************************************************!*\ + !*** external "next/dist/client/components/static-generation-async-storage.external" ***! + \***************************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist/client/components/static-generation-async-storage.external"); + +/***/ }), + +/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": +/*!*************************************************************************!*\ + !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! + \*************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); + +/***/ }), + +/***/ "../../client/components/action-async-storage.external": +/*!**********************************************************************************!*\ + !*** external "next/dist\\client\\components\\action-async-storage.external.js" ***! + \**********************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist\\client\\components\\action-async-storage.external.js"); + +/***/ }), + +/***/ "../../client/components/request-async-storage.external": +/*!***********************************************************************************!*\ + !*** external "next/dist\\client\\components\\request-async-storage.external.js" ***! + \***********************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist\\client\\components\\request-async-storage.external.js"); + +/***/ }), + +/***/ "../../client/components/static-generation-async-storage.external": +/*!*********************************************************************************************!*\ + !*** external "next/dist\\client\\components\\static-generation-async-storage.external.js" ***! + \*********************************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist\\client\\components\\static-generation-async-storage.external.js"); + +/***/ }), + +/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fnot-found&page=%2Fnot-found&appPaths=&pagePath=node_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!": +/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fnot-found&page=%2Fnot-found&appPaths=&pagePath=node_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D! ***! + \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?b6e7\");\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"originalPathname\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n// @ts-ignore this need to be imported from next/dist to be external\r\n\r\n\r\nconst AppPageRouteModule = next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule;\r\n// We inject the tree and pages here so that we can use them in the route\r\n// module.\r\nconst tree = {\n children: [\n '',\n {\n children: [\n '__DEFAULT__',\n {},\n {\n defaultPage: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/parallel-route-default */ \"(rsc)/./node_modules/next/dist/client/components/parallel-route-default.js\", 23)), \"next/dist/client/components/parallel-route-default\"],\n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/layout.tsx */ \"(rsc)/./app/layout.tsx\")), \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\layout.tsx\"],\n'not-found': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23)), \"next/dist/client/components/not-found-error\"],\n \n }\n ]\n }.children;\r\nconst pages = [];\r\n\r\n// @ts-expect-error - replaced by webpack/turbopack loader\r\n\r\nconst __next_app_require__ = __webpack_require__\r\nconst __next_app_load_chunk__ = () => Promise.resolve()\r\nconst originalPathname = \"/not-found\";\r\nconst __next_app__ = {\r\n require: __next_app_require__,\r\n loadChunk: __next_app_load_chunk__\r\n};\r\n\r\n// Create and export the route module that will be consumed.\r\nconst routeModule = new AppPageRouteModule({\r\n definition: {\r\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\r\n page: \"/not-found\",\r\n pathname: \"/not-found\",\r\n // The following aren't used in production.\r\n bundlePath: \"\",\r\n filename: \"\",\r\n appPaths: []\r\n },\r\n userland: {\r\n loaderTree: tree\r\n }\r\n});\r\n\r\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZub3QtZm91bmQmcGFnZT0lMkZub3QtZm91bmQmYXBwUGF0aHM9JnBhZ2VQYXRoPW5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRm5vdC1mb3VuZC1lcnJvci5qcyZhcHBEaXI9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSU1Q2FwcCZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPWpzJnJvb3REaXI9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD1zdGFuZGFsb25lJnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0QhIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUN5RjtBQUMxQjtBQUMvRCwyQkFBMkIsOEdBQXlCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQSxnQ0FBZ0Msd09BQXVGO0FBQ3ZIO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSx5QkFBeUIsNElBQXNHO0FBQy9ILG9CQUFvQiwwTkFBZ0Y7QUFDcEc7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ3VCO0FBQ3ZCO0FBQ29GO0FBQ3BGLDZCQUE2QixtQkFBbUI7QUFDaEQ7QUFDTztBQUNBO0FBQ1A7QUFDQTtBQUNBO0FBQ3VEO0FBQ3ZEO0FBQ087QUFDUDtBQUNBLGNBQWMseUVBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLz8zOTE4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmUgdGhpcyBuZWVkIHRvIGJlIGltcG9ydGVkIGZyb20gbmV4dC9kaXN0IHRvIGJlIGV4dGVybmFsXHJcbmltcG9ydCAqIGFzIG1vZHVsZSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWRcIjtcclxuaW1wb3J0IHsgUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLWtpbmRcIjtcclxuY29uc3QgQXBwUGFnZVJvdXRlTW9kdWxlID0gbW9kdWxlLkFwcFBhZ2VSb3V0ZU1vZHVsZTtcclxuLy8gV2UgaW5qZWN0IHRoZSB0cmVlIGFuZCBwYWdlcyBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxyXG4vLyBtb2R1bGUuXHJcbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgJ19fREVGQVVMVF9fJyxcbiAgICAgICAgICB7fSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkZWZhdWx0UGFnZTogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3BhcmFsbGVsLXJvdXRlLWRlZmF1bHRcIiksIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3BhcmFsbGVsLXJvdXRlLWRlZmF1bHRcIl0sXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXGFwcFxcXFxsYXlvdXQudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXGFuZHJlXFxcXERvY3VtZW50c1xcXFxHaXRIdWJcXFxcV2Via2xhci5jb21cXFxcYXBwXFxcXGxheW91dC50c3hcIl0sXG4nbm90LWZvdW5kJzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiKSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0uY2hpbGRyZW47XHJcbmNvbnN0IHBhZ2VzID0gW107XHJcbmV4cG9ydCB7IHRyZWUsIHBhZ2VzIH07XHJcbi8vIEB0cy1leHBlY3QtZXJyb3IgLSByZXBsYWNlZCBieSB3ZWJwYWNrL3R1cmJvcGFjayBsb2FkZXJcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBHbG9iYWxFcnJvciB9IGZyb20gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnlcIjtcclxuY29uc3QgX19uZXh0X2FwcF9yZXF1aXJlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fXHJcbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcclxuZXhwb3J0IGNvbnN0IG9yaWdpbmFsUGF0aG5hbWUgPSBcIi9ub3QtZm91bmRcIjtcclxuZXhwb3J0IGNvbnN0IF9fbmV4dF9hcHBfXyA9IHtcclxuICAgIHJlcXVpcmU6IF9fbmV4dF9hcHBfcmVxdWlyZV9fLFxyXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xyXG59O1xyXG5leHBvcnQgKiBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2VudHJ5LWJhc2VcIjtcclxuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXHJcbmV4cG9ydCBjb25zdCByb3V0ZU1vZHVsZSA9IG5ldyBBcHBQYWdlUm91dGVNb2R1bGUoe1xyXG4gICAgZGVmaW5pdGlvbjoge1xyXG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcclxuICAgICAgICBwYWdlOiBcIi9ub3QtZm91bmRcIixcclxuICAgICAgICBwYXRobmFtZTogXCIvbm90LWZvdW5kXCIsXHJcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxyXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiXCIsXHJcbiAgICAgICAgZmlsZW5hbWU6IFwiXCIsXHJcbiAgICAgICAgYXBwUGF0aHM6IFtdXHJcbiAgICB9LFxyXG4gICAgdXNlcmxhbmQ6IHtcclxuICAgICAgICBsb2FkZXJUcmVlOiB0cmVlXHJcbiAgICB9XHJcbn0pO1xyXG5cclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fnot-found&page=%2Fnot-found&appPaths=&pagePath=node_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Ccomponents%5CHandyAnsicht.tsx&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cfont%5Cgoogle%5Ctarget.css%3F%7B%22path%22%3A%22app%5C%5Clayout.tsx%22%2C%22import%22%3A%22Inter%22%2C%22arguments%22%3A%5B%7B%22subsets%22%3A%5B%22latin%22%5D%7D%5D%2C%22variableName%22%3A%22inter%22%7D&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp%5Cglobals.css&server=true!": +/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Ccomponents%5CHandyAnsicht.tsx&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cfont%5Cgoogle%5Ctarget.css%3F%7B%22path%22%3A%22app%5C%5Clayout.tsx%22%2C%22import%22%3A%22Inter%22%2C%22arguments%22%3A%5B%7B%22subsets%22%3A%5B%22latin%22%5D%7D%5D%2C%22variableName%22%3A%22inter%22%7D&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp%5Cglobals.css&server=true! ***! + \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/HandyAnsicht.tsx */ \"(ssr)/./components/HandyAnsicht.tsx\"))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSU1Q2NvbXBvbmVudHMlNUNIYW5keUFuc2ljaHQudHN4Jm1vZHVsZXM9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSU1Q25vZGVfbW9kdWxlcyU1Q25leHQlNUNmb250JTVDZ29vZ2xlJTVDdGFyZ2V0LmNzcyUzRiU3QiUyMnBhdGglMjIlM0ElMjJhcHAlNUMlNUNsYXlvdXQudHN4JTIyJTJDJTIyaW1wb3J0JTIyJTNBJTIySW50ZXIlMjIlMkMlMjJhcmd1bWVudHMlMjIlM0ElNUIlN0IlMjJzdWJzZXRzJTIyJTNBJTVCJTIybGF0aW4lMjIlNUQlN0QlNUQlMkMlMjJ2YXJpYWJsZU5hbWUlMjIlM0ElMjJpbnRlciUyMiU3RCZtb2R1bGVzPUMlM0ElNUNVc2VycyU1Q2FuZHJlJTVDRG9jdW1lbnRzJTVDR2l0SHViJTVDV2Via2xhci5jb20lNUNhcHAlNUNnbG9iYWxzLmNzcyZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvPzYzOTUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXGNvbXBvbmVudHNcXFxcSGFuZHlBbnNpY2h0LnRzeFwiKSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Ccomponents%5CHandyAnsicht.tsx&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cfont%5Cgoogle%5Ctarget.css%3F%7B%22path%22%3A%22app%5C%5Clayout.tsx%22%2C%22import%22%3A%22Inter%22%2C%22arguments%22%3A%5B%7B%22subsets%22%3A%5B%22latin%22%5D%7D%5D%2C%22variableName%22%3A%22inter%22%7D&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp%5Cglobals.css&server=true!\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Capp-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cerror-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Clayout-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cnot-found-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Crender-from-template-context.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cstatic-generation-searchparams-bailout-provider.js&server=true!": +/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Capp-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cerror-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Clayout-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cnot-found-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Crender-from-template-context.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cstatic-generation-searchparams-bailout-provider.js&server=true! ***! + \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/app-router.js */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\", 23));\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/not-found-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\", 23));\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js */ \"(ssr)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js\", 23))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSU1Q25vZGVfbW9kdWxlcyU1Q25leHQlNUNkaXN0JTVDY2xpZW50JTVDY29tcG9uZW50cyU1Q2FwcC1yb3V0ZXIuanMmbW9kdWxlcz1DJTNBJTVDVXNlcnMlNUNhbmRyZSU1Q0RvY3VtZW50cyU1Q0dpdEh1YiU1Q1dlYmtsYXIuY29tJTVDbm9kZV9tb2R1bGVzJTVDbmV4dCU1Q2Rpc3QlNUNjbGllbnQlNUNjb21wb25lbnRzJTVDZXJyb3ItYm91bmRhcnkuanMmbW9kdWxlcz1DJTNBJTVDVXNlcnMlNUNhbmRyZSU1Q0RvY3VtZW50cyU1Q0dpdEh1YiU1Q1dlYmtsYXIuY29tJTVDbm9kZV9tb2R1bGVzJTVDbmV4dCU1Q2Rpc3QlNUNjbGllbnQlNUNjb21wb25lbnRzJTVDbGF5b3V0LXJvdXRlci5qcyZtb2R1bGVzPUMlM0ElNUNVc2VycyU1Q2FuZHJlJTVDRG9jdW1lbnRzJTVDR2l0SHViJTVDV2Via2xhci5jb20lNUNub2RlX21vZHVsZXMlNUNuZXh0JTVDZGlzdCU1Q2NsaWVudCU1Q2NvbXBvbmVudHMlNUNub3QtZm91bmQtYm91bmRhcnkuanMmbW9kdWxlcz1DJTNBJTVDVXNlcnMlNUNhbmRyZSU1Q0RvY3VtZW50cyU1Q0dpdEh1YiU1Q1dlYmtsYXIuY29tJTVDbm9kZV9tb2R1bGVzJTVDbmV4dCU1Q2Rpc3QlNUNjbGllbnQlNUNjb21wb25lbnRzJTVDcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyZtb2R1bGVzPUMlM0ElNUNVc2VycyU1Q2FuZHJlJTVDRG9jdW1lbnRzJTVDR2l0SHViJTVDV2Via2xhci5jb20lNUNub2RlX21vZHVsZXMlNUNuZXh0JTVDZGlzdCU1Q2NsaWVudCU1Q2NvbXBvbmVudHMlNUNzdGF0aWMtZ2VuZXJhdGlvbi1zZWFyY2hwYXJhbXMtYmFpbG91dC1wcm92aWRlci5qcyZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQWtKO0FBQ2xKLDBPQUFzSjtBQUN0Six3T0FBcUo7QUFDckosa1BBQTBKO0FBQzFKLHNRQUFvSztBQUNwSyIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8/OWE0YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXGFuZHJlXFxcXERvY3VtZW50c1xcXFxHaXRIdWJcXFxcV2Via2xhci5jb21cXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxhcHAtcm91dGVyLmpzXCIpO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcZXJyb3ItYm91bmRhcnkuanNcIik7XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXGFuZHJlXFxcXERvY3VtZW50c1xcXFxHaXRIdWJcXFxcV2Via2xhci5jb21cXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcbm90LWZvdW5kLWJvdW5kYXJ5LmpzXCIpO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxccmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcYW5kcmVcXFxcRG9jdW1lbnRzXFxcXEdpdEh1YlxcXFxXZWJrbGFyLmNvbVxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHN0YXRpYy1nZW5lcmF0aW9uLXNlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3ZpZGVyLmpzXCIpIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Capp-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cerror-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Clayout-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cnot-found-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Crender-from-template-context.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cstatic-generation-searchparams-bailout-provider.js&server=true!\n"); + +/***/ }), + +/***/ "(ssr)/./components/HandyAnsicht.tsx": +/*!*************************************!*\ + !*** ./components/HandyAnsicht.tsx ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.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 */ \"(ssr)/./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 */ \"(ssr)/./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 */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/menu.js\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\nconst GooeyNav = ({ 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 })=>{\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 = (n = 1)=>n / 2 - Math.random() * 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\", `${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\", `${p.start[0]}px`);\n particle.style.setProperty(\"--start-y\", `${p.start[1]}px`);\n particle.style.setProperty(\"--end-x\", `${p.end[0]}px`);\n particle.style.setProperty(\"--end-y\", `${p.end[1]}px`);\n particle.style.setProperty(\"--time\", `${p.time}ms`);\n particle.style.setProperty(\"--scale\", `${p.scale}`);\n particle.style.setProperty(\"--color\", `var(--color-${p.color}, white)`);\n particle.style.setProperty(\"--rotate\", `${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 {\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: `${pos.x - containerRect.x}px`,\n top: `${pos.y - containerRect.y}px`,\n width: `${pos.width}px`,\n height: `${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)=>filterRef.current?.removeChild(p));\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 updateEffectPosition(activeLi);\n textRef.current?.classList.add(\"active\");\n }\n const resizeObserver = new ResizeObserver(()=>{\n const currentActiveLi = 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 ${items.length > 4 ? \"has-contact\" : \"\"} ${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 ${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};\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 = ({ children })=>{\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 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n setIsClient(true);\n const checkMobile = ()=>{\n setIsMobile(window.innerWidth < 768);\n };\n checkMobile();\n window.addEventListener(\"resize\", checkMobile);\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 if (mediaQuery.removeEventListener) {\n mediaQuery.removeEventListener(\"change\", handleMediaChange);\n } else {\n mediaQuery.removeListener(handleMediaChange);\n }\n };\n }, []);\n // Immer alle Items anzeigen, Kontakt ist sofort da\n const currentItems = allGooeyItems;\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: 310,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 309,\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: 312,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 308,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 307,\n columnNumber: 5\n }, undefined);\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HandyAnsicht);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL0hhbmR5QW5zaWNodC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRTJEO0FBQy9CO0FBYVc7QUFhdkMsTUFBTU0sV0FBb0MsQ0FBQyxFQUN6Q0MsS0FBSyxFQUNMQyxnQkFBZ0IsR0FBRyxFQUNuQkMsZ0JBQWdCLEVBQUUsRUFDbEJDLG9CQUFvQjtJQUFDO0lBQUk7Q0FBRyxFQUM1QkMsWUFBWSxHQUFHLEVBQ2ZDLGVBQWUsR0FBRyxFQUNsQkMsU0FBUztJQUFDO0lBQUc7SUFBRztJQUFHO0lBQUc7SUFBRztJQUFHO0lBQUc7Q0FBRSxFQUNqQ0MscUJBQXFCLENBQUMsRUFDdkI7SUFDQyxNQUFNQyxlQUFlWiw2Q0FBTUEsQ0FBd0I7SUFDbkQsTUFBTWEsU0FBU2IsNkNBQU1BLENBQTBCO0lBQy9DLE1BQU1jLFlBQVlkLDZDQUFNQSxDQUF5QjtJQUNqRCxNQUFNZSxVQUFVZiw2Q0FBTUEsQ0FBeUI7SUFDL0MsTUFBTSxDQUFDZ0IsYUFBYUMsZUFBZSxHQUFHbkIsK0NBQVFBLENBQUNhO0lBQy9DLE1BQU0sQ0FBQ08sWUFBWUMsY0FBYyxHQUFHckIsK0NBQVFBLENBQUM7SUFFN0MsTUFBTXNCLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDLEdBQUtBLElBQUksSUFBSUMsS0FBS0MsTUFBTSxLQUFLRjtJQUVqRCxNQUFNRyxRQUFRLENBQUNDLFVBQWtCQyxZQUFvQkM7UUFDbkQsTUFBTUMsUUFBUSxDQUFFLE1BQU1SLE1BQU0sRUFBQyxJQUFLTyxjQUFlRCxhQUFjSixDQUFBQSxLQUFLTyxFQUFFLEdBQUcsR0FBRTtRQUMzRSxPQUFPO1lBQUNKLFdBQVdILEtBQUtRLEdBQUcsQ0FBQ0Y7WUFBUUgsV0FBV0gsS0FBS1MsR0FBRyxDQUFDSDtTQUFPO0lBQ2pFO0lBRUEsTUFBTUksaUJBQWlCLENBQUNDLEdBQVdDLEdBQVdDLEdBQXFCQztRQUNqRSxNQUFNQyxTQUFTakIsTUFBTWdCLElBQUk7UUFDekIsT0FBTztZQUNMRSxPQUFPZCxNQUFNVyxDQUFDLENBQUMsRUFBRSxFQUFFN0IsZ0JBQWdCMkIsR0FBRzNCO1lBQ3RDaUMsS0FBS2YsTUFBTVcsQ0FBQyxDQUFDLEVBQUUsR0FBR2YsTUFBTSxJQUFJZCxnQkFBZ0IyQixHQUFHM0I7WUFDL0NrQyxNQUFNTjtZQUNOTyxPQUFPLElBQUlyQixNQUFNO1lBQ2pCc0IsT0FBT2hDLE1BQU0sQ0FBQ1ksS0FBS3FCLEtBQUssQ0FBQ3JCLEtBQUtDLE1BQU0sS0FBS2IsT0FBT2tDLE1BQU0sRUFBRTtZQUN4RFAsUUFBUUEsU0FBUyxJQUFJLENBQUNBLFNBQVNELElBQUksRUFBQyxJQUFLLEtBQUssQ0FBQ0MsU0FBU0QsSUFBSSxFQUFDLElBQUs7UUFDcEU7SUFDRjtJQUVBLE1BQU1TLGdCQUFnQixDQUFDQztRQUNyQixNQUFNWCxJQUFJNUI7UUFDVixNQUFNNkIsSUFBSTVCO1FBQ1YsTUFBTXVDLGFBQWExQyxnQkFBZ0IsSUFBSUk7UUFDdkNxQyxRQUFRRSxLQUFLLENBQUNDLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBRUYsV0FBVyxFQUFFLENBQUM7UUFFckQsSUFBSyxJQUFJZCxJQUFJLEdBQUdBLElBQUkzQixlQUFlMkIsS0FBSyxFQUFHO1lBQ3pDLE1BQU1DLElBQUk3QixnQkFBZ0IsSUFBSWUsTUFBTVgsZUFBZTtZQUNuRCxNQUFNeUMsSUFBSWxCLGVBQWVDLEdBQUdDLEdBQUdDLEdBQUdDO1lBQ2xDVSxRQUFRSyxTQUFTLENBQUNDLE1BQU0sQ0FBQztZQUV6QkMsV0FBVztnQkFDVCxNQUFNQyxXQUFXQyxTQUFTQyxhQUFhLENBQUM7Z0JBQ3hDLE1BQU1DLFFBQVFGLFNBQVNDLGFBQWEsQ0FBQztnQkFDckNGLFNBQVNILFNBQVMsQ0FBQ08sR0FBRyxDQUFDO2dCQUN2QkosU0FBU04sS0FBSyxDQUFDQyxXQUFXLENBQUMsYUFBYSxDQUFDLEVBQUVDLEVBQUVaLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUN6RGdCLFNBQVNOLEtBQUssQ0FBQ0MsV0FBVyxDQUFDLGFBQWEsQ0FBQyxFQUFFQyxFQUFFWixLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDekRnQixTQUFTTixLQUFLLENBQUNDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRUMsRUFBRVgsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JEZSxTQUFTTixLQUFLLENBQUNDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRUMsRUFBRVgsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JEZSxTQUFTTixLQUFLLENBQUNDLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBRUMsRUFBRVYsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDbERjLFNBQVNOLEtBQUssQ0FBQ0MsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFQyxFQUFFVCxLQUFLLENBQUMsQ0FBQztnQkFDbERhLFNBQVNOLEtBQUssQ0FBQ0MsV0FBVyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUVDLEVBQUVSLEtBQUssQ0FBQyxRQUFRLENBQUM7Z0JBQ3RFWSxTQUFTTixLQUFLLENBQUNDLFdBQVcsQ0FBQyxZQUFZLENBQUMsRUFBRUMsRUFBRWIsTUFBTSxDQUFDLEdBQUcsQ0FBQztnQkFFdkRvQixNQUFNTixTQUFTLENBQUNPLEdBQUcsQ0FBQztnQkFDcEJKLFNBQVNLLFdBQVcsQ0FBQ0Y7Z0JBQ3JCWCxRQUFRYSxXQUFXLENBQUNMO2dCQUNwQk0sc0JBQXNCLElBQU1kLFFBQVFLLFNBQVMsQ0FBQ08sR0FBRyxDQUFDO2dCQUNsREwsV0FBVztvQkFDVCxJQUFJO3dCQUNGUCxRQUFRZSxXQUFXLENBQUNQO29CQUN0QixFQUFFLE9BQU07b0JBQ04seUJBQXlCLEdBQzNCO2dCQUNGLEdBQUdwQjtZQUNMLEdBQUc7UUFDTDtJQUNGO0lBRUEsTUFBTTRCLHVCQUF1QixDQUFDaEI7UUFDNUIsSUFBSSxDQUFDbEMsYUFBYW1ELE9BQU8sSUFBSSxDQUFDakQsVUFBVWlELE9BQU8sSUFBSSxDQUFDaEQsUUFBUWdELE9BQU8sRUFBRTtRQUNyRSxNQUFNQyxnQkFBZ0JwRCxhQUFhbUQsT0FBTyxDQUFDRSxxQkFBcUI7UUFDaEUsTUFBTUMsTUFBTXBCLFFBQVFtQixxQkFBcUI7UUFDekMsTUFBTUUsU0FBdUM7WUFDM0NDLE1BQU0sQ0FBQyxFQUFFRixJQUFJRyxDQUFDLEdBQUdMLGNBQWNLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDcENDLEtBQUssQ0FBQyxFQUFFSixJQUFJSyxDQUFDLEdBQUdQLGNBQWNPLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbkNDLE9BQU8sQ0FBQyxFQUFFTixJQUFJTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZCQyxRQUFRLENBQUMsRUFBRVAsSUFBSU8sTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMzQjtRQUNBQyxPQUFPQyxNQUFNLENBQUM3RCxVQUFVaUQsT0FBTyxDQUFDZixLQUFLLEVBQUVtQjtRQUN2Q08sT0FBT0MsTUFBTSxDQUFDNUQsUUFBUWdELE9BQU8sQ0FBQ2YsS0FBSyxFQUFFbUI7UUFDckMsK0RBQStEO1FBQy9ELElBQUksQ0FBQ3JCLFFBQVFLLFNBQVMsQ0FBQ3lCLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQzlCLFFBQVFLLFNBQVMsQ0FBQ3lCLFFBQVEsQ0FBQyxrQkFBa0I7WUFDaEc3RCxRQUFRZ0QsT0FBTyxDQUFDYyxTQUFTLEdBQUcvQixRQUFRK0IsU0FBUztRQUMvQyxPQUFPO1lBQ0w5RCxRQUFRZ0QsT0FBTyxDQUFDYyxTQUFTLEdBQUc7UUFDOUI7SUFDRjtJQUVBLE1BQU1DLGNBQWMsQ0FBQ0MsR0FBd0NDLE9BQWVDO1FBQzFFRixFQUFFRyxjQUFjO1FBRWhCLElBQUlELEtBQUtFLElBQUksS0FBSyxRQUFRO1lBQ3ZCQyxPQUFPQyxRQUFRLENBQUM7Z0JBQUVmLEtBQUs7Z0JBQUdnQixVQUFVO1lBQVM7WUFDN0NuRSxjQUFjO1lBQ2Q7UUFDSDtRQUVBLElBQUk4RCxLQUFLRSxJQUFJLEtBQUssUUFBUTtZQUN0QmhFLGNBQWMsQ0FBQ0Q7WUFDZjtRQUNKO1FBRUEsTUFBTXFFLE9BQU9SLEVBQUVTLGFBQWEsQ0FBQ0MsYUFBYTtRQUMxQyxJQUFJLENBQUNGLFFBQVF2RSxnQkFBZ0JnRSxPQUFPO1FBRXBDLG9CQUFvQjtRQUNwQkksT0FBT00sUUFBUSxDQUFDQyxJQUFJLEdBQUdWLEtBQUtVLElBQUk7UUFDaEN4RSxjQUFjLFFBQVEsNEJBQTRCO1FBRWxERixlQUFlK0Q7UUFDZmxCLHFCQUFxQnlCO1FBRXJCLElBQUl6RSxVQUFVaUQsT0FBTyxFQUFFO1lBQ3JCLE1BQU02QixZQUFZOUUsVUFBVWlELE9BQU8sQ0FBQzhCLGdCQUFnQixDQUFDO1lBQ3JERCxVQUFVRSxPQUFPLENBQUMsQ0FBQzVDLElBQU1wQyxVQUFVaUQsT0FBTyxFQUFFRixZQUFZWDtRQUMxRDtRQUVBLElBQUluQyxRQUFRZ0QsT0FBTyxFQUFFO1lBQ25CaEQsUUFBUWdELE9BQU8sQ0FBQ1osU0FBUyxDQUFDQyxNQUFNLENBQUM7WUFDakMsS0FBS3JDLFFBQVFnRCxPQUFPLENBQUNnQyxXQUFXLEVBQUUsZUFBZTtZQUNqRGhGLFFBQVFnRCxPQUFPLENBQUNaLFNBQVMsQ0FBQ08sR0FBRyxDQUFDO1FBQ2hDO1FBRUEsSUFBSTVDLFVBQVVpRCxPQUFPLEVBQUU7WUFDckJsQixjQUFjL0IsVUFBVWlELE9BQU87UUFDakM7SUFDRjtJQUVBLE1BQU1pQyxnQkFBZ0IsQ0FBQ2pCLEdBQTJDQyxPQUFlQztRQUMvRSxJQUFJRixFQUFFa0IsR0FBRyxLQUFLLFdBQVdsQixFQUFFa0IsR0FBRyxLQUFLLEtBQUs7WUFDdENsQixFQUFFRyxjQUFjO1lBQ2hCLE1BQU1LLE9BQU9SLEVBQUVTLGFBQWEsQ0FBQ0MsYUFBYTtZQUMxQyxJQUFJRixNQUFNO2dCQUNSVCxZQUFZO29CQUFFVSxlQUFlVCxFQUFFUyxhQUFhO29CQUFFTixnQkFBZ0IsS0FBTztnQkFBRSxHQUEwQ0YsT0FBT0M7WUFDMUg7UUFDRjtJQUNGO0lBRUFsRixnREFBU0EsQ0FBQztRQUNSLElBQUksQ0FBQ2MsT0FBT2tELE9BQU8sSUFBSSxDQUFDbkQsYUFBYW1ELE9BQU8sRUFBRTtRQUM5QyxNQUFNbUMsV0FBV3JGLE9BQU9rRCxPQUFPLENBQUM4QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM3RSxZQUFZO1FBQ25FLElBQUlrRixZQUFZLENBQUNBLFNBQVMvQyxTQUFTLENBQUN5QixRQUFRLENBQUMsb0JBQW9CLENBQUNzQixTQUFTL0MsU0FBUyxDQUFDeUIsUUFBUSxDQUFDLGtCQUFrQjtZQUM5R2QscUJBQXFCb0M7WUFDckJuRixRQUFRZ0QsT0FBTyxFQUFFWixVQUFVTyxJQUFJO1FBQ2pDO1FBRUEsTUFBTXlDLGlCQUFpQixJQUFJQyxlQUFlO1lBQ3hDLE1BQU1DLGtCQUFrQnhGLE9BQU9rRCxPQUFPLEVBQUU4QixpQkFBaUIsS0FBSyxDQUFDN0UsWUFBWTtZQUMzRSxJQUFJcUYsbUJBQW1CLENBQUNBLGdCQUFnQmxELFNBQVMsQ0FBQ3lCLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQ3lCLGdCQUFnQmxELFNBQVMsQ0FBQ3lCLFFBQVEsQ0FBQyxrQkFBa0I7Z0JBQ25JZCxxQkFBcUJ1QztZQUN2QjtRQUNGO1FBRUFGLGVBQWVHLE9BQU8sQ0FBQzFGLGFBQWFtRCxPQUFPO1FBQzNDLE9BQU8sSUFBTW9DLGVBQWVJLFVBQVU7SUFDeEMsR0FBRztRQUFDdkY7S0FBWTtJQUVoQixtRkFBbUY7SUFDbkYsTUFBTXdGLGVBQWV0RixhQUNqQmQsTUFBTSxtSEFBbUg7T0FDekg7UUFBQ0EsTUFBTXFHLElBQUksQ0FBQ3hFLENBQUFBLElBQUtBLEVBQUVrRCxJQUFJLEtBQUs7UUFBVTtZQUFFdUIsT0FBTztZQUFRZixNQUFNO1lBQUtSLE1BQU07UUFBTztLQUFrQjtJQUVyRyxxQkFDRSw4REFBQ3dCO1FBQUlDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRXhHLE1BQU13QyxNQUFNLEdBQUcsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLEVBQUUxQixhQUFhLGNBQWMsR0FBRyxDQUFDO1FBQUUyRixLQUFLakc7OzBCQUNwSCw4REFBQ2tHOzBCQUNDLDRFQUFDQztvQkFBR0YsS0FBS2hHOzt3QkFFTlQsTUFBTTRHLE1BQU0sQ0FBQy9FLENBQUFBLElBQUtBLEVBQUVrRCxJQUFJLEtBQUssUUFBUThCLEdBQUcsQ0FBQyxDQUFDaEMsTUFBTUQsc0JBQzlDLDhEQUFDa0M7Z0NBRUROLFdBQVcsQ0FBQyxhQUFhLENBQUM7MENBRTFCLDRFQUFDTztvQ0FDQ3hCLE1BQU1WLEtBQUtVLElBQUk7b0NBQ2Z5QixTQUFTLENBQUNyQyxJQUFNRCxZQUFZQyxHQUFHLENBQUMsR0FBR0U7b0NBQ25Db0MsY0FBWXBDLEtBQUt5QixLQUFLOzhDQUVyQiw0RUFBQ1k7d0NBQUlDLEtBQUt0QyxLQUFLdUMsSUFBSTt3Q0FBRUMsS0FBS3hDLEtBQUt5QixLQUFLO3dDQUFFRSxXQUFVOzs7Ozs7Ozs7OzsrQkFSOUMzQixLQUFLVSxJQUFJOzs7OztzQ0FjakIsOERBQUN1Qjs0QkFBR04sV0FBVTs0QkFBZ0I1RCxPQUFPO2dDQUFFMEUsWUFBWTtnQ0FBUUMsUUFBUTs0QkFBVTtzQ0FDM0UsNEVBQUNSO2dDQUNDeEIsTUFBSztnQ0FDTHlCLFNBQVMsQ0FBQ3JDLElBQU1ELFlBQVlDLEdBQUcsQ0FBQyxHQUFHO3dDQUFFMkIsT0FBTzt3Q0FBUWYsTUFBTTt3Q0FBS1IsTUFBTTtvQ0FBTztnQ0FDNUVuQyxPQUFPO29DQUFFd0IsT0FBTztvQ0FBUUMsUUFBUTtvQ0FBUW1ELFNBQVM7b0NBQVFDLFlBQVk7b0NBQVVDLGdCQUFnQjtnQ0FBUzswQ0FFckc1RywyQkFBYSw4REFBQ2hCLGtGQUFDQTtvQ0FBQzZILE1BQU07b0NBQUlyRixPQUFNOzs7Ozs4REFBYSw4REFBQ3pDLGtGQUFJQTtvQ0FBQzhILE1BQU07b0NBQUlyRixPQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBTzlFLDhEQUFDaUU7Z0JBQUlDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRTFGLGFBQWEsU0FBUyxHQUFHLENBQUM7MEJBQzFELDRFQUFDNkY7OEJBQ0kzRyxNQUFNNEcsTUFBTSxDQUFDL0UsQ0FBQUEsSUFBS0EsRUFBRWtELElBQUksS0FBSyxVQUFVbEQsRUFBRWtELElBQUksS0FBSyxRQUFROEIsR0FBRyxDQUFDLENBQUNoQyxNQUFNRCxzQkFDbEUsOERBQUNrQzs0QkFBbUJFLFNBQVM7Z0NBQ3pCaEMsT0FBT00sUUFBUSxDQUFDQyxJQUFJLEdBQUdWLEtBQUtVLElBQUk7Z0NBQ2hDeEUsY0FBYzs0QkFDbEI7c0NBQ0ksNEVBQUM2RzswQ0FBTS9DLEtBQUt5QixLQUFLOzs7Ozs7MkJBSlp6QixLQUFLVSxJQUFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlckM7QUFFQSxNQUFNc0MsZ0JBQWdDO0lBQ3BDO1FBQUV2QixPQUFPO1FBQVFmLE1BQU07UUFBS1IsTUFBTTtRQUFRcUMsTUFBTTtJQUFtQjtJQUNuRTtRQUFFZCxPQUFPO1FBQVlmLE1BQU07SUFBUztJQUNwQztRQUFFZSxPQUFPO1FBQWNmLE1BQU07SUFBWTtJQUN6QztRQUFFZSxPQUFPO1FBQVdmLE1BQU07SUFBVztJQUNyQztRQUFFZSxPQUFPO1FBQVdmLE1BQU07SUFBVztDQUN0QztBQUVELE1BQU11QyxlQUE0QyxDQUFDLEVBQUVDLFFBQVEsRUFBRTtJQUM3RCxNQUFNLENBQUNDLFVBQVVDLFlBQVksR0FBR3ZJLCtDQUFRQSxDQUFDO0lBQ3pDLE1BQU0sQ0FBQ3dJLFVBQVVDLFlBQVksR0FBR3pJLCtDQUFRQSxDQUFDO0lBRXpDQyxnREFBU0EsQ0FBQztRQUNSd0ksWUFBWTtRQUVaLE1BQU1DLGNBQWM7WUFDbEJILFlBQVlqRCxPQUFPcUQsVUFBVSxHQUFHO1FBQ2xDO1FBRUFEO1FBRUFwRCxPQUFPc0QsZ0JBQWdCLENBQUMsVUFBVUY7UUFFbEMsTUFBTUcsYUFBYXZELE9BQU93RCxVQUFVLENBQUM7UUFDckMsTUFBTUMsb0JBQW9CLENBQUM5RDtZQUN6QnNELFlBQVl0RCxFQUFFK0QsT0FBTztRQUN2QjtRQUVBLElBQUlILFdBQVdELGdCQUFnQixFQUFFO1lBQy9CQyxXQUFXRCxnQkFBZ0IsQ0FBQyxVQUFVRztRQUN4QyxPQUFPO1lBQ0xGLFdBQVdJLFdBQVcsQ0FBQ0Y7UUFDekI7UUFFQUEsa0JBQWtCRjtRQUVsQixPQUFPO1lBQ0x2RCxPQUFPNEQsbUJBQW1CLENBQUMsVUFBVVI7WUFDckMsSUFBSUcsV0FBV0ssbUJBQW1CLEVBQUU7Z0JBQ2xDTCxXQUFXSyxtQkFBbUIsQ0FBQyxVQUFVSDtZQUMzQyxPQUFPO2dCQUNMRixXQUFXTSxjQUFjLENBQUNKO1lBQzVCO1FBQ0Y7SUFDRixHQUFHLEVBQUU7SUFFTCxtREFBbUQ7SUFDbkQsTUFBTUssZUFBZWpCO0lBRXJCLElBQUksQ0FBQ0ssWUFBWSxDQUFDRixVQUFVO1FBQzFCLHFCQUFPO3NCQUFHRDs7SUFDWjtJQUVBLHFCQUNFLDhEQUFDeEI7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7WUFBSUMsV0FBVTs7OEJBQ2IsOERBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDekc7d0JBQVNDLE9BQU84STs7Ozs7Ozs7Ozs7OEJBRW5CLDhEQUFDdkM7b0JBQUlDLFdBQVU7OEJBQ1p1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLWDtBQUVBLGlFQUFlRCxZQUFZQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vY29tcG9uZW50cy9IYW5keUFuc2ljaHQudHN4PzFmZGQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XHJcblxyXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgJy4vSGFuZHlBbnNpY2h0LmNzcyc7XHJcblxyXG5pbnRlcmZhY2UgSGFuZHlBbnNpY2h0UHJvcHMge1xyXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xyXG59XHJcblxyXG50eXBlIEdvb2V5TmF2SXRlbSA9IHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGhyZWY6IHN0cmluZztcclxuICB0eXBlPzogJ2xpbmsnIHwgJ2xvZ28nIHwgJ21lbnUnO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbn07XHJcblxyXG5pbXBvcnQgeyBNZW51LCBYIH0gZnJvbSAnbHVjaWRlLXJlYWN0JztcclxuXHJcbmludGVyZmFjZSBHb29leU5hdlByb3BzIHtcclxuICBpdGVtczogR29vZXlOYXZJdGVtW107XHJcbiAgYW5pbWF0aW9uVGltZT86IG51bWJlcjtcclxuICBwYXJ0aWNsZUNvdW50PzogbnVtYmVyO1xyXG4gIHBhcnRpY2xlRGlzdGFuY2VzPzogW251bWJlciwgbnVtYmVyXTtcclxuICBwYXJ0aWNsZVI/OiBudW1iZXI7XHJcbiAgdGltZVZhcmlhbmNlPzogbnVtYmVyO1xyXG4gIGNvbG9ycz86IG51bWJlcltdO1xyXG4gIGluaXRpYWxBY3RpdmVJbmRleD86IG51bWJlcjtcclxufVxyXG5cclxuY29uc3QgR29vZXlOYXY6IFJlYWN0LkZDPEdvb2V5TmF2UHJvcHM+ID0gKHtcclxuICBpdGVtcyxcclxuICBhbmltYXRpb25UaW1lID0gNjAwLFxyXG4gIHBhcnRpY2xlQ291bnQgPSAxNSxcclxuICBwYXJ0aWNsZURpc3RhbmNlcyA9IFs5MCwgMTBdLFxyXG4gIHBhcnRpY2xlUiA9IDEwMCxcclxuICB0aW1lVmFyaWFuY2UgPSAzMDAsXHJcbiAgY29sb3JzID0gWzEsIDIsIDMsIDEsIDIsIDMsIDEsIDRdLFxyXG4gIGluaXRpYWxBY3RpdmVJbmRleCA9IDAsXHJcbn0pID0+IHtcclxuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcclxuICBjb25zdCBuYXZSZWYgPSB1c2VSZWY8SFRNTFVMaXN0RWxlbWVudCB8IG51bGw+KG51bGwpO1xyXG4gIGNvbnN0IGZpbHRlclJlZiA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQgfCBudWxsPihudWxsKTtcclxuICBjb25zdCB0ZXh0UmVmID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudCB8IG51bGw+KG51bGwpO1xyXG4gIGNvbnN0IFthY3RpdmVJbmRleCwgc2V0QWN0aXZlSW5kZXhdID0gdXNlU3RhdGUoaW5pdGlhbEFjdGl2ZUluZGV4KTtcclxuICBjb25zdCBbaXNNZW51T3Blbiwgc2V0SXNNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcblxyXG4gIGNvbnN0IG5vaXNlID0gKG4gPSAxKSA9PiBuIC8gMiAtIE1hdGgucmFuZG9tKCkgKiBuO1xyXG5cclxuICBjb25zdCBnZXRYWSA9IChkaXN0YW5jZTogbnVtYmVyLCBwb2ludEluZGV4OiBudW1iZXIsIHRvdGFsUG9pbnRzOiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IGFuZ2xlID0gKCgzNjAgKyBub2lzZSg4KSkgLyB0b3RhbFBvaW50cykgKiBwb2ludEluZGV4ICogKE1hdGguUEkgLyAxODApO1xyXG4gICAgcmV0dXJuIFtkaXN0YW5jZSAqIE1hdGguY29zKGFuZ2xlKSwgZGlzdGFuY2UgKiBNYXRoLnNpbihhbmdsZSldO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0IGNyZWF0ZVBhcnRpY2xlID0gKGk6IG51bWJlciwgdDogbnVtYmVyLCBkOiBbbnVtYmVyLCBudW1iZXJdLCByOiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IHJvdGF0ZSA9IG5vaXNlKHIgLyAxMCk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzdGFydDogZ2V0WFkoZFswXSwgcGFydGljbGVDb3VudCAtIGksIHBhcnRpY2xlQ291bnQpLFxyXG4gICAgICBlbmQ6IGdldFhZKGRbMV0gKyBub2lzZSg3KSwgcGFydGljbGVDb3VudCAtIGksIHBhcnRpY2xlQ291bnQpLFxyXG4gICAgICB0aW1lOiB0LFxyXG4gICAgICBzY2FsZTogMSArIG5vaXNlKDAuMiksXHJcbiAgICAgIGNvbG9yOiBjb2xvcnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY29sb3JzLmxlbmd0aCldLFxyXG4gICAgICByb3RhdGU6IHJvdGF0ZSA+IDAgPyAocm90YXRlICsgciAvIDIwKSAqIDEwIDogKHJvdGF0ZSAtIHIgLyAyMCkgKiAxMCxcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgbWFrZVBhcnRpY2xlcyA9IChlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgY29uc3QgZCA9IHBhcnRpY2xlRGlzdGFuY2VzO1xyXG4gICAgY29uc3QgciA9IHBhcnRpY2xlUjtcclxuICAgIGNvbnN0IGJ1YmJsZVRpbWUgPSBhbmltYXRpb25UaW1lICogMiArIHRpbWVWYXJpYW5jZTtcclxuICAgIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tdGltZScsIGAke2J1YmJsZVRpbWV9bXNgKTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRpY2xlQ291bnQ7IGkgKz0gMSkge1xyXG4gICAgICBjb25zdCB0ID0gYW5pbWF0aW9uVGltZSAqIDIgKyBub2lzZSh0aW1lVmFyaWFuY2UgKiAyKTtcclxuICAgICAgY29uc3QgcCA9IGNyZWF0ZVBhcnRpY2xlKGksIHQsIGQsIHIpO1xyXG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpO1xyXG5cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcGFydGljbGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICAgICAgY29uc3QgcG9pbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICAgICAgcGFydGljbGUuY2xhc3NMaXN0LmFkZCgncGFydGljbGUnKTtcclxuICAgICAgICBwYXJ0aWNsZS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zdGFydC14JywgYCR7cC5zdGFydFswXX1weGApO1xyXG4gICAgICAgIHBhcnRpY2xlLnN0eWxlLnNldFByb3BlcnR5KCctLXN0YXJ0LXknLCBgJHtwLnN0YXJ0WzFdfXB4YCk7XHJcbiAgICAgICAgcGFydGljbGUuc3R5bGUuc2V0UHJvcGVydHkoJy0tZW5kLXgnLCBgJHtwLmVuZFswXX1weGApO1xyXG4gICAgICAgIHBhcnRpY2xlLnN0eWxlLnNldFByb3BlcnR5KCctLWVuZC15JywgYCR7cC5lbmRbMV19cHhgKTtcclxuICAgICAgICBwYXJ0aWNsZS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10aW1lJywgYCR7cC50aW1lfW1zYCk7XHJcbiAgICAgICAgcGFydGljbGUuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2NhbGUnLCBgJHtwLnNjYWxlfWApO1xyXG4gICAgICAgIHBhcnRpY2xlLnN0eWxlLnNldFByb3BlcnR5KCctLWNvbG9yJywgYHZhcigtLWNvbG9yLSR7cC5jb2xvcn0sIHdoaXRlKWApO1xyXG4gICAgICAgIHBhcnRpY2xlLnN0eWxlLnNldFByb3BlcnR5KCctLXJvdGF0ZScsIGAke3Aucm90YXRlfWRlZ2ApO1xyXG5cclxuICAgICAgICBwb2ludC5jbGFzc0xpc3QuYWRkKCdwb2ludCcpO1xyXG4gICAgICAgIHBhcnRpY2xlLmFwcGVuZENoaWxkKHBvaW50KTtcclxuICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxkKHBhcnRpY2xlKTtcclxuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKSk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBlbGVtZW50LnJlbW92ZUNoaWxkKHBhcnRpY2xlKTtcclxuICAgICAgICAgIH0gY2F0Y2gge1xyXG4gICAgICAgICAgICAvKiBpZ25vcmUgcmVtb3ZhbCBlcnJvcnMgKi9cclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCB0KTtcclxuICAgICAgfSwgMzApO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGNvbnN0IHVwZGF0ZUVmZmVjdFBvc2l0aW9uID0gKGVsZW1lbnQ6IEhUTUxMSUVsZW1lbnQpID0+IHtcclxuICAgIGlmICghY29udGFpbmVyUmVmLmN1cnJlbnQgfHwgIWZpbHRlclJlZi5jdXJyZW50IHx8ICF0ZXh0UmVmLmN1cnJlbnQpIHJldHVybjtcclxuICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXJSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHBvcyA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBzdHlsZXM6IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj4gPSB7XHJcbiAgICAgIGxlZnQ6IGAke3Bvcy54IC0gY29udGFpbmVyUmVjdC54fXB4YCxcclxuICAgICAgdG9wOiBgJHtwb3MueSAtIGNvbnRhaW5lclJlY3QueX1weGAsXHJcbiAgICAgIHdpZHRoOiBgJHtwb3Mud2lkdGh9cHhgLFxyXG4gICAgICBoZWlnaHQ6IGAke3Bvcy5oZWlnaHR9cHhgLFxyXG4gICAgfTtcclxuICAgIE9iamVjdC5hc3NpZ24oZmlsdGVyUmVmLmN1cnJlbnQuc3R5bGUsIHN0eWxlcyk7XHJcbiAgICBPYmplY3QuYXNzaWduKHRleHRSZWYuY3VycmVudC5zdHlsZSwgc3R5bGVzKTtcclxuICAgIC8vIE51ciBUZXh0IGtvcGllcmVuIHdlbm4gZXMga2VpbiBMb2dvIHVuZCBrZWluIE1lbsO8LUJ1dHRvbiBpc3RcclxuICAgIGlmICghZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ25hdi1pdGVtLWxvZ28nKSAmJiAhZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ25hdi1pdGVtLW1lbnUnKSkge1xyXG4gICAgICB0ZXh0UmVmLmN1cnJlbnQuaW5uZXJUZXh0ID0gZWxlbWVudC5pbm5lclRleHQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0ZXh0UmVmLmN1cnJlbnQuaW5uZXJUZXh0ID0gJyc7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZTogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4sIGluZGV4OiBudW1iZXIsIGl0ZW06IEdvb2V5TmF2SXRlbSkgPT4ge1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgXHJcbiAgICBpZiAoaXRlbS50eXBlID09PSAnbG9nbycpIHtcclxuICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xyXG4gICAgICAgc2V0SXNNZW51T3BlbihmYWxzZSk7XHJcbiAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGl0ZW0udHlwZSA9PT0gJ21lbnUnKSB7XHJcbiAgICAgICAgc2V0SXNNZW51T3BlbighaXNNZW51T3Blbik7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGxpRWwgPSBlLmN1cnJlbnRUYXJnZXQucGFyZW50RWxlbWVudCBhcyBIVE1MTElFbGVtZW50IHwgbnVsbDtcclxuICAgIGlmICghbGlFbCB8fCBhY3RpdmVJbmRleCA9PT0gaW5kZXgpIHJldHVybjtcclxuICAgIFxyXG4gICAgLy8gTm9ybWFsIG5hdmlnYXRpb25cclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gaXRlbS5ocmVmO1xyXG4gICAgc2V0SXNNZW51T3BlbihmYWxzZSk7IC8vIE1lbsO8IHNjaGxpZcOfZW4gbmFjaCBLbGlja1xyXG5cclxuICAgIHNldEFjdGl2ZUluZGV4KGluZGV4KTtcclxuICAgIHVwZGF0ZUVmZmVjdFBvc2l0aW9uKGxpRWwpO1xyXG5cclxuICAgIGlmIChmaWx0ZXJSZWYuY3VycmVudCkge1xyXG4gICAgICBjb25zdCBwYXJ0aWNsZXMgPSBmaWx0ZXJSZWYuY3VycmVudC5xdWVyeVNlbGVjdG9yQWxsKCcucGFydGljbGUnKTtcclxuICAgICAgcGFydGljbGVzLmZvckVhY2goKHApID0+IGZpbHRlclJlZi5jdXJyZW50Py5yZW1vdmVDaGlsZChwKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRleHRSZWYuY3VycmVudCkge1xyXG4gICAgICB0ZXh0UmVmLmN1cnJlbnQuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJyk7XHJcbiAgICAgIHZvaWQgdGV4dFJlZi5jdXJyZW50Lm9mZnNldFdpZHRoOyAvLyBmb3JjZSByZWZsb3dcclxuICAgICAgdGV4dFJlZi5jdXJyZW50LmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmaWx0ZXJSZWYuY3VycmVudCkge1xyXG4gICAgICBtYWtlUGFydGljbGVzKGZpbHRlclJlZi5jdXJyZW50KTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGU6IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LCBpbmRleDogbnVtYmVyLCBpdGVtOiBHb29leU5hdkl0ZW0pID0+IHtcclxuICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyB8fCBlLmtleSA9PT0gJyAnKSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgY29uc3QgbGlFbCA9IGUuY3VycmVudFRhcmdldC5wYXJlbnRFbGVtZW50IGFzIEhUTUxMSUVsZW1lbnQgfCBudWxsO1xyXG4gICAgICBpZiAobGlFbCkge1xyXG4gICAgICAgIGhhbmRsZUNsaWNrKHsgY3VycmVudFRhcmdldDogZS5jdXJyZW50VGFyZ2V0LCBwcmV2ZW50RGVmYXVsdDogKCkgPT4ge30gfSBhcyBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PiwgaW5kZXgsIGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGlmICghbmF2UmVmLmN1cnJlbnQgfHwgIWNvbnRhaW5lclJlZi5jdXJyZW50KSByZXR1cm47XHJcbiAgICBjb25zdCBhY3RpdmVMaSA9IG5hdlJlZi5jdXJyZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpJylbYWN0aXZlSW5kZXhdIGFzIEhUTUxMSUVsZW1lbnQgfCB1bmRlZmluZWQ7XHJcbiAgICBpZiAoYWN0aXZlTGkgJiYgIWFjdGl2ZUxpLmNsYXNzTGlzdC5jb250YWlucygnbmF2LWl0ZW0tbG9nbycpICYmICFhY3RpdmVMaS5jbGFzc0xpc3QuY29udGFpbnMoJ25hdi1pdGVtLW1lbnUnKSkge1xyXG4gICAgICB1cGRhdGVFZmZlY3RQb3NpdGlvbihhY3RpdmVMaSk7XHJcbiAgICAgIHRleHRSZWYuY3VycmVudD8uY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjdXJyZW50QWN0aXZlTGkgPSBuYXZSZWYuY3VycmVudD8ucXVlcnlTZWxlY3RvckFsbCgnbGknKVthY3RpdmVJbmRleF0gYXMgSFRNTExJRWxlbWVudCB8IHVuZGVmaW5lZDtcclxuICAgICAgaWYgKGN1cnJlbnRBY3RpdmVMaSAmJiAhY3VycmVudEFjdGl2ZUxpLmNsYXNzTGlzdC5jb250YWlucygnbmF2LWl0ZW0tbG9nbycpICYmICFjdXJyZW50QWN0aXZlTGkuY2xhc3NMaXN0LmNvbnRhaW5zKCduYXYtaXRlbS1tZW51JykpIHtcclxuICAgICAgICB1cGRhdGVFZmZlY3RQb3NpdGlvbihjdXJyZW50QWN0aXZlTGkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGNvbnRhaW5lclJlZi5jdXJyZW50KTtcclxuICAgIHJldHVybiAoKSA9PiByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XHJcbiAgfSwgW2FjdGl2ZUluZGV4XSk7XHJcblxyXG4gIC8vIE1vZGlmaXppZXJ0ZSBJdGVtcyBmw7xyIGRpZSBBbnplaWdlIChMb2dvICsgTWVudSBCdXR0b24gaW0gZ2VzY2hsb3NzZW5lbiBadXN0YW5kKVxyXG4gIGNvbnN0IGRpc3BsYXlJdGVtcyA9IGlzTWVudU9wZW4gXHJcbiAgICA/IGl0ZW1zIC8vIFplaWdlIGFsbGUgSXRlbXMgd2VubiBvZmZlbiAobXVzcyBpbSBDU1MgZ2VyZWdlbHQgd2VyZGVuLCBkYXNzIHNpZSB1bnRlcmVpbmFuZGVyIG9kZXIgYW5kZXJzIGRhcmdlc3RlbGx0IHdlcmRlbilcclxuICAgIDogW2l0ZW1zLmZpbmQoaSA9PiBpLnR5cGUgPT09ICdsb2dvJykhLCB7IGxhYmVsOiAnTWVudScsIGhyZWY6ICcjJywgdHlwZTogJ21lbnUnIH0gYXMgR29vZXlOYXZJdGVtXTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgY2xhc3NOYW1lPXtgZ29vZXktbmF2LWNvbnRhaW5lciAke2l0ZW1zLmxlbmd0aCA+IDQgPyAnaGFzLWNvbnRhY3QnIDogJyd9ICR7aXNNZW51T3BlbiA/ICdtZW51LW9wZW4nIDogJyd9YH0gcmVmPXtjb250YWluZXJSZWZ9PlxyXG4gICAgICA8bmF2PlxyXG4gICAgICAgIDx1bCByZWY9e25hdlJlZn0+XHJcbiAgICAgICAgICB7LyogTG9nbyBpbW1lciBhbnplaWdlbiAqL31cclxuICAgICAgICAgIHtpdGVtcy5maWx0ZXIoaSA9PiBpLnR5cGUgPT09ICdsb2dvJykubWFwKChpdGVtLCBpbmRleCkgPT4gKFxyXG4gICAgICAgICAgICAgPGxpIFxyXG4gICAgICAgICAgICAga2V5PXtpdGVtLmhyZWZ9IFxyXG4gICAgICAgICAgICAgY2xhc3NOYW1lPXtgbmF2LWl0ZW0tbG9nb2B9XHJcbiAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxyXG4gICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gaGFuZGxlQ2xpY2soZSwgLTEsIGl0ZW0pfVxyXG4gICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9e2l0ZW0uaWNvbn0gYWx0PXtpdGVtLmxhYmVsfSBjbGFzc05hbWU9XCJuYXYtbG9nby1pbWdcIiAvPlxyXG4gICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICApKX1cclxuXHJcbiAgICAgICAgICB7LyogTWVuw7wgQnV0dG9uIChIYW1idXJnZXIpICovfVxyXG4gICAgICAgICAgPGxpIGNsYXNzTmFtZT1cIm5hdi1pdGVtLW1lbnVcIiBzdHlsZT17eyBtYXJnaW5MZWZ0OiAnYXV0bycsIGN1cnNvcjogJ3BvaW50ZXInIH19PlxyXG4gICAgICAgICAgICA8YSBcclxuICAgICAgICAgICAgICBocmVmPVwiI1wiIFxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiBoYW5kbGVDbGljayhlLCAtMSwgeyBsYWJlbDogJ01lbnUnLCBocmVmOiAnIycsIHR5cGU6ICdtZW51JyB9KX1cclxuICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICcxMDAlJywgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHtpc01lbnVPcGVuID8gPFggc2l6ZT17MjR9IGNvbG9yPVwid2hpdGVcIiAvPiA6IDxNZW51IHNpemU9ezI0fSBjb2xvcj1cIndoaXRlXCIgLz59XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgICAgPC9uYXY+XHJcbiAgICAgIFxyXG4gICAgICB7LyogRHJvcGRvd24gLyBFeHBhbmRlZCBNZW51IEl0ZW1zIC0gQXXDn2VyaGFsYiB2b24gbmF2LCBkYW1pdCBwb3NpdGlvbjogZml4ZWQgcmVsYXRpdiB6dW0gVmlld3BvcnQgaXN0ICovfVxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YG1vYmlsZS1tZW51LWl0ZW1zICR7aXNNZW51T3BlbiA/ICdvcGVuJyA6ICcnfWB9PlxyXG4gICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAge2l0ZW1zLmZpbHRlcihpID0+IGkudHlwZSAhPT0gJ2xvZ28nICYmIGkudHlwZSAhPT0gJ21lbnUnKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtpdGVtLmhyZWZ9IG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGl0ZW0uaHJlZjtcclxuICAgICAgICAgICAgICAgICAgICAgICBzZXRJc01lbnVPcGVuKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgIH19PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPntpdGVtLmxhYmVsfTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgIDwvdWw+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgey8qIEVmZmVjdCBudXIgZsO8ciBJbmxpbmUtSXRlbXMsIGhpZXIgZGVha3RpdmllcnQgZGEgd2lyIGF1ZiBPdmVybGF5IHVtc3RlbGxlbiAqL31cclxuICAgICAgey8qIDxzcGFuIGNsYXNzTmFtZT1cImVmZmVjdCBmaWx0ZXJcIiByZWY9e2ZpbHRlclJlZn0gLz5cclxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZWZmZWN0IHRleHRcIiByZWY9e3RleHRSZWZ9IC8+ICovfVxyXG4gICAgPC9kaXY+XHJcbiAgKTtcclxufTtcclxuXHJcbmNvbnN0IGFsbEdvb2V5SXRlbXM6IEdvb2V5TmF2SXRlbVtdID0gW1xyXG4gIHsgbGFiZWw6ICdIb21lJywgaHJlZjogJyMnLCB0eXBlOiAnbG9nbycsIGljb246ICcvV2ViS2xhckxvZ28ucG5nJyB9LFxyXG4gIHsgbGFiZWw6ICfDnGJlciB1bnMnLCBocmVmOiAnI2Fib3V0JyB9LFxyXG4gIHsgbGFiZWw6ICdMZWlzdHVuZ2VuJywgaHJlZjogJyNzZXJ2aWNlcycgfSxcclxuICB7IGxhYmVsOiAnQWJsw6R1ZmUnLCBocmVmOiAnI3Byb2Nlc3MnIH0sXHJcbiAgeyBsYWJlbDogJ0tvbnRha3QnLCBocmVmOiAnI2NvbnRhY3QnIH0sXHJcbl07XHJcblxyXG5jb25zdCBIYW5keUFuc2ljaHQ6IFJlYWN0LkZDPEhhbmR5QW5zaWNodFByb3BzPiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcclxuICBjb25zdCBbaXNNb2JpbGUsIHNldElzTW9iaWxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICBjb25zdCBbaXNDbGllbnQsIHNldElzQ2xpZW50XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIHNldElzQ2xpZW50KHRydWUpO1xyXG5cclxuICAgIGNvbnN0IGNoZWNrTW9iaWxlID0gKCkgPT4ge1xyXG4gICAgICBzZXRJc01vYmlsZSh3aW5kb3cuaW5uZXJXaWR0aCA8IDc2OCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNoZWNrTW9iaWxlKCk7XHJcblxyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGNoZWNrTW9iaWxlKTtcclxuXHJcbiAgICBjb25zdCBtZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDc2N3B4KScpO1xyXG4gICAgY29uc3QgaGFuZGxlTWVkaWFDaGFuZ2UgPSAoZTogTWVkaWFRdWVyeUxpc3RFdmVudCB8IE1lZGlhUXVlcnlMaXN0KSA9PiB7XHJcbiAgICAgIHNldElzTW9iaWxlKGUubWF0Y2hlcyk7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChtZWRpYVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIpIHtcclxuICAgICAgbWVkaWFRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBoYW5kbGVNZWRpYUNoYW5nZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBtZWRpYVF1ZXJ5LmFkZExpc3RlbmVyKGhhbmRsZU1lZGlhQ2hhbmdlKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVNZWRpYUNoYW5nZShtZWRpYVF1ZXJ5KTtcclxuXHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgY2hlY2tNb2JpbGUpO1xyXG4gICAgICBpZiAobWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKSB7XHJcbiAgICAgICAgbWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBoYW5kbGVNZWRpYUNoYW5nZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbWVkaWFRdWVyeS5yZW1vdmVMaXN0ZW5lcihoYW5kbGVNZWRpYUNoYW5nZSk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfSwgW10pO1xyXG5cclxuICAvLyBJbW1lciBhbGxlIEl0ZW1zIGFuemVpZ2VuLCBLb250YWt0IGlzdCBzb2ZvcnQgZGFcclxuICBjb25zdCBjdXJyZW50SXRlbXMgPSBhbGxHb29leUl0ZW1zO1xyXG5cclxuICBpZiAoIWlzQ2xpZW50IHx8ICFpc01vYmlsZSkge1xyXG4gICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcclxuICB9XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImhhbmR5LWFuc2ljaHRcIj5cclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJoYW5keS1hbnNpY2h0X19jb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhhbmR5LWFuc2ljaHRfX25hdi13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8R29vZXlOYXYgaXRlbXM9e2N1cnJlbnRJdGVtc30gLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhhbmR5LWFuc2ljaHRfX2NvbnRlbnRcIj5cclxuICAgICAgICAgIHtjaGlsZHJlbn1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgSGFuZHlBbnNpY2h0O1xyXG5cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJNZW51IiwiWCIsIkdvb2V5TmF2IiwiaXRlbXMiLCJhbmltYXRpb25UaW1lIiwicGFydGljbGVDb3VudCIsInBhcnRpY2xlRGlzdGFuY2VzIiwicGFydGljbGVSIiwidGltZVZhcmlhbmNlIiwiY29sb3JzIiwiaW5pdGlhbEFjdGl2ZUluZGV4IiwiY29udGFpbmVyUmVmIiwibmF2UmVmIiwiZmlsdGVyUmVmIiwidGV4dFJlZiIsImFjdGl2ZUluZGV4Iiwic2V0QWN0aXZlSW5kZXgiLCJpc01lbnVPcGVuIiwic2V0SXNNZW51T3BlbiIsIm5vaXNlIiwibiIsIk1hdGgiLCJyYW5kb20iLCJnZXRYWSIsImRpc3RhbmNlIiwicG9pbnRJbmRleCIsInRvdGFsUG9pbnRzIiwiYW5nbGUiLCJQSSIsImNvcyIsInNpbiIsImNyZWF0ZVBhcnRpY2xlIiwiaSIsInQiLCJkIiwiciIsInJvdGF0ZSIsInN0YXJ0IiwiZW5kIiwidGltZSIsInNjYWxlIiwiY29sb3IiLCJmbG9vciIsImxlbmd0aCIsIm1ha2VQYXJ0aWNsZXMiLCJlbGVtZW50IiwiYnViYmxlVGltZSIsInN0eWxlIiwic2V0UHJvcGVydHkiLCJwIiwiY2xhc3NMaXN0IiwicmVtb3ZlIiwic2V0VGltZW91dCIsInBhcnRpY2xlIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwicG9pbnQiLCJhZGQiLCJhcHBlbmRDaGlsZCIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsInJlbW92ZUNoaWxkIiwidXBkYXRlRWZmZWN0UG9zaXRpb24iLCJjdXJyZW50IiwiY29udGFpbmVyUmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInBvcyIsInN0eWxlcyIsImxlZnQiLCJ4IiwidG9wIiwieSIsIndpZHRoIiwiaGVpZ2h0IiwiT2JqZWN0IiwiYXNzaWduIiwiY29udGFpbnMiLCJpbm5lclRleHQiLCJoYW5kbGVDbGljayIsImUiLCJpbmRleCIsIml0ZW0iLCJwcmV2ZW50RGVmYXVsdCIsInR5cGUiLCJ3aW5kb3ciLCJzY3JvbGxUbyIsImJlaGF2aW9yIiwibGlFbCIsImN1cnJlbnRUYXJnZXQiLCJwYXJlbnRFbGVtZW50IiwibG9jYXRpb24iLCJocmVmIiwicGFydGljbGVzIiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJvZmZzZXRXaWR0aCIsImhhbmRsZUtleURvd24iLCJrZXkiLCJhY3RpdmVMaSIsInJlc2l6ZU9ic2VydmVyIiwiUmVzaXplT2JzZXJ2ZXIiLCJjdXJyZW50QWN0aXZlTGkiLCJvYnNlcnZlIiwiZGlzY29ubmVjdCIsImRpc3BsYXlJdGVtcyIsImZpbmQiLCJsYWJlbCIsImRpdiIsImNsYXNzTmFtZSIsInJlZiIsIm5hdiIsInVsIiwiZmlsdGVyIiwibWFwIiwibGkiLCJhIiwib25DbGljayIsImFyaWEtbGFiZWwiLCJpbWciLCJzcmMiLCJpY29uIiwiYWx0IiwibWFyZ2luTGVmdCIsImN1cnNvciIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJzaXplIiwic3BhbiIsImFsbEdvb2V5SXRlbXMiLCJIYW5keUFuc2ljaHQiLCJjaGlsZHJlbiIsImlzTW9iaWxlIiwic2V0SXNNb2JpbGUiLCJpc0NsaWVudCIsInNldElzQ2xpZW50IiwiY2hlY2tNb2JpbGUiLCJpbm5lcldpZHRoIiwiYWRkRXZlbnRMaXN0ZW5lciIsIm1lZGlhUXVlcnkiLCJtYXRjaE1lZGlhIiwiaGFuZGxlTWVkaWFDaGFuZ2UiLCJtYXRjaGVzIiwiYWRkTGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVtb3ZlTGlzdGVuZXIiLCJjdXJyZW50SXRlbXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/HandyAnsicht.tsx\n"); + +/***/ }), + +/***/ "(rsc)/./app/globals.css": +/*!*************************!*\ + !*** ./app/globals.css ***! + \*************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"66339856ea0e\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9hcHAvZ2xvYmFscy5jc3M/ZDA3NCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcIjY2MzM5ODU2ZWEwZVwiXG5pZiAobW9kdWxlLmhvdCkgeyBtb2R1bGUuaG90LmFjY2VwdCgpIH1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./app/globals.css\n"); + +/***/ }), + +/***/ "(ssr)/./components/HandyAnsicht.css": +/*!*************************************!*\ + !*** ./components/HandyAnsicht.css ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"82353546e170\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL0hhbmR5QW5zaWNodC5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9jb21wb25lbnRzL0hhbmR5QW5zaWNodC5jc3M/NDBkNiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcIjgyMzUzNTQ2ZTE3MFwiXG5pZiAobW9kdWxlLmhvdCkgeyBtb2R1bGUuaG90LmFjY2VwdCgpIH1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./components/HandyAnsicht.css\n"); + +/***/ }), + +/***/ "(rsc)/./app/layout.tsx": +/*!************************!*\ + !*** ./app/layout.tsx ***! + \************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"app\\\\\\\\layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./app/globals.css\");\n/* harmony import */ var _components_HandyAnsicht__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/HandyAnsicht */ \"(rsc)/./components/HandyAnsicht.tsx\");\n\n\n\n\nconst metadata = {\n title: \"Webklar – Klarheit im Webdesign\",\n description: \"Wir gestalten moderne, schnelle Websites f\\xfcr Ihr Business.\",\n openGraph: {\n title: \"Webklar – Klarheit im Webdesign\",\n description: \"Wir gestalten moderne, schnelle Websites f\\xfcr Ihr Business.\",\n url: \"https://webklar.com\",\n type: \"website\"\n }\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"de\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: (next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_3___default().className),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_HandyAnsicht__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\layout.tsx\",\n lineNumber: 27,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\layout.tsx\",\n lineNumber: 26,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\layout.tsx\",\n lineNumber: 25,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvbGF5b3V0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFLTUE7QUFMaUI7QUFHOEI7QUFJOUMsTUFBTUUsV0FBcUI7SUFDaENDLE9BQU87SUFDUEMsYUFBYTtJQUNiQyxXQUFXO1FBQ1RGLE9BQU87UUFDUEMsYUFBYTtRQUNiRSxLQUFLO1FBQ0xDLE1BQU07SUFDUjtBQUNGLEVBQUU7QUFFYSxTQUFTQyxXQUFXLEVBQ2pDQyxRQUFRLEVBR1Q7SUFDQyxxQkFDRSw4REFBQ0M7UUFBS0MsTUFBSztrQkFDVCw0RUFBQ0M7WUFBS0MsV0FBV2IsMkpBQWU7c0JBQzlCLDRFQUFDQyxnRUFBWUE7MEJBQ1ZROzs7Ozs7Ozs7Ozs7Ozs7O0FBS1giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9hcHAvbGF5b3V0LnRzeD85OTg4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnLi9nbG9iYWxzLmNzcyc7XHJcbmltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tICduZXh0JztcclxuaW1wb3J0IHsgSW50ZXIgfSBmcm9tICduZXh0L2ZvbnQvZ29vZ2xlJztcclxuaW1wb3J0IEhhbmR5QW5zaWNodCBmcm9tICdAL2NvbXBvbmVudHMvSGFuZHlBbnNpY2h0JztcclxuXHJcbmNvbnN0IGludGVyID0gSW50ZXIoeyBzdWJzZXRzOiBbJ2xhdGluJ10gfSk7XHJcblxyXG5leHBvcnQgY29uc3QgbWV0YWRhdGE6IE1ldGFkYXRhID0ge1xyXG4gIHRpdGxlOiAnV2Via2xhciDigJMgS2xhcmhlaXQgaW0gV2ViZGVzaWduJyxcclxuICBkZXNjcmlwdGlvbjogJ1dpciBnZXN0YWx0ZW4gbW9kZXJuZSwgc2NobmVsbGUgV2Vic2l0ZXMgZsO8ciBJaHIgQnVzaW5lc3MuJyxcclxuICBvcGVuR3JhcGg6IHtcclxuICAgIHRpdGxlOiAnV2Via2xhciDigJMgS2xhcmhlaXQgaW0gV2ViZGVzaWduJyxcclxuICAgIGRlc2NyaXB0aW9uOiAnV2lyIGdlc3RhbHRlbiBtb2Rlcm5lLCBzY2huZWxsZSBXZWJzaXRlcyBmw7xyIElociBCdXNpbmVzcy4nLFxyXG4gICAgdXJsOiAnaHR0cHM6Ly93ZWJrbGFyLmNvbScsXHJcbiAgICB0eXBlOiAnd2Vic2l0ZScsXHJcbiAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJvb3RMYXlvdXQoe1xyXG4gIGNoaWxkcmVuLFxyXG59OiB7XHJcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcclxufSkge1xyXG4gIHJldHVybiAoXHJcbiAgICA8aHRtbCBsYW5nPVwiZGVcIj5cclxuICAgICAgPGJvZHkgY2xhc3NOYW1lPXtpbnRlci5jbGFzc05hbWV9PlxyXG4gICAgICAgIDxIYW5keUFuc2ljaHQ+XHJcbiAgICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICAgICAgPC9IYW5keUFuc2ljaHQ+XHJcbiAgICAgIDwvYm9keT5cclxuICAgIDwvaHRtbD5cclxuICApO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJpbnRlciIsIkhhbmR5QW5zaWNodCIsIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm9wZW5HcmFwaCIsInVybCIsInR5cGUiLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJodG1sIiwibGFuZyIsImJvZHkiLCJjbGFzc05hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./app/layout.tsx\n"); + +/***/ }), + +/***/ "(rsc)/./components/HandyAnsicht.tsx": +/*!*************************************!*\ + !*** ./components/HandyAnsicht.tsx ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ $$typeof: () => (/* binding */ $$typeof), +/* harmony export */ __esModule: () => (/* binding */ __esModule), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); + +const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`C:\Users\andre\Documents\GitHub\Webklar.com\components\HandyAnsicht.tsx`) + +// Accessing the __esModule property and exporting $$typeof are required here. +// The __esModule getter forces the proxy target to create the default export +// and the $$typeof value is for rendering logic to determine if the module +// is a client boundary. +const { __esModule, $$typeof } = proxy; +const __default__ = proxy.default; + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__default__); + +/***/ }) + +}; +; + +// load runtime +var __webpack_require__ = require("../webpack-runtime.js"); +__webpack_require__.C(exports); +var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) +var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/lucide-react","vendor-chunks/@swc"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fnot-found&page=%2Fnot-found&appPaths=&pagePath=node_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); +module.exports = __webpack_exports__; + +})(); \ No newline at end of file diff --git a/.next/server/app/not-found_client-reference-manifest.js b/.next/server/app/not-found_client-reference-manifest.js new file mode 100644 index 00000000..54ddbd58 --- /dev/null +++ b/.next/server/app/not-found_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/not-found"]={"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./components/HandyAnsicht.tsx":{"*":{"id":"(ssr)/./components/HandyAnsicht.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/page.tsx":{"*":{"id":"(ssr)/./app/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\static-generation-searchparams-bailout-provider.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\static-generation-searchparams-bailout-provider.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\components\\HandyAnsicht.tsx":{"id":"(app-pages-browser)/./components/HandyAnsicht.tsx","name":"*","chunks":["app/layout:static/chunks/app/layout.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\font\\google\\target.css?{\"path\":\"app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout:static/chunks/app/layout.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\globals.css":{"id":"(app-pages-browser)/./app/globals.css","name":"*","chunks":["app/layout:static/chunks/app/layout.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\page.tsx":{"id":"(app-pages-browser)/./app/page.tsx","name":"*","chunks":["app/page:static/chunks/app/page.js"],"async":false}},"entryCSSFiles":{"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\layout":["static/css/app/layout.css"],"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\page":["static/css/app/page.css"],"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\not-found":[]}} \ No newline at end of file diff --git a/.next/server/app/page.js b/.next/server/app/page.js new file mode 100644 index 00000000..2791dcbe --- /dev/null +++ b/.next/server/app/page.js @@ -0,0 +1,747 @@ +/* + * 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/). + */ +(() => { +var exports = {}; +exports.id = "app/page"; +exports.ids = ["app/page"]; +exports.modules = { + +/***/ "(ssr)/./node_modules/@supabase/realtime-js/dist/main sync recursive": +/*!************************************************************!*\ + !*** ./node_modules/@supabase/realtime-js/dist/main/ sync ***! + \************************************************************/ +/***/ ((module) => { + +function webpackEmptyContext(req) { + var e = new Error("Cannot find module '" + req + "'"); + e.code = 'MODULE_NOT_FOUND'; + throw e; +} +webpackEmptyContext.keys = () => ([]); +webpackEmptyContext.resolve = webpackEmptyContext; +webpackEmptyContext.id = "(ssr)/./node_modules/@supabase/realtime-js/dist/main sync recursive"; +module.exports = webpackEmptyContext; + +/***/ }), + +/***/ "./request-async-storage.external": +/*!*****************************************************************************!*\ + !*** external "next/dist/client/components/request-async-storage.external" ***! + \*****************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist/client/components/request-async-storage.external"); + +/***/ }), + +/***/ "./static-generation-async-storage.external": +/*!***************************************************************************************!*\ + !*** external "next/dist/client/components/static-generation-async-storage.external" ***! + \***************************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist/client/components/static-generation-async-storage.external"); + +/***/ }), + +/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": +/*!*************************************************************************!*\ + !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! + \*************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); + +/***/ }), + +/***/ "../../client/components/action-async-storage.external": +/*!**********************************************************************************!*\ + !*** external "next/dist\\client\\components\\action-async-storage.external.js" ***! + \**********************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist\\client\\components\\action-async-storage.external.js"); + +/***/ }), + +/***/ "../../client/components/request-async-storage.external": +/*!***********************************************************************************!*\ + !*** external "next/dist\\client\\components\\request-async-storage.external.js" ***! + \***********************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist\\client\\components\\request-async-storage.external.js"); + +/***/ }), + +/***/ "../../client/components/static-generation-async-storage.external": +/*!*********************************************************************************************!*\ + !*** external "next/dist\\client\\components\\static-generation-async-storage.external.js" ***! + \*********************************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("next/dist\\client\\components\\static-generation-async-storage.external.js"); + +/***/ }), + +/***/ "buffer": +/*!*************************!*\ + !*** external "buffer" ***! + \*************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("buffer"); + +/***/ }), + +/***/ "crypto": +/*!*************************!*\ + !*** external "crypto" ***! + \*************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("crypto"); + +/***/ }), + +/***/ "events": +/*!*************************!*\ + !*** external "events" ***! + \*************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("events"); + +/***/ }), + +/***/ "http": +/*!***********************!*\ + !*** external "http" ***! + \***********************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("http"); + +/***/ }), + +/***/ "https": +/*!************************!*\ + !*** external "https" ***! + \************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("https"); + +/***/ }), + +/***/ "net": +/*!**********************!*\ + !*** external "net" ***! + \**********************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("net"); + +/***/ }), + +/***/ "path": +/*!***********************!*\ + !*** external "path" ***! + \***********************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("path"); + +/***/ }), + +/***/ "punycode": +/*!***************************!*\ + !*** external "punycode" ***! + \***************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("punycode"); + +/***/ }), + +/***/ "stream": +/*!*************************!*\ + !*** external "stream" ***! + \*************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("stream"); + +/***/ }), + +/***/ "tls": +/*!**********************!*\ + !*** external "tls" ***! + \**********************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("tls"); + +/***/ }), + +/***/ "url": +/*!**********************!*\ + !*** external "url" ***! + \**********************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("url"); + +/***/ }), + +/***/ "zlib": +/*!***********************!*\ + !*** external "zlib" ***! + \***********************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("zlib"); + +/***/ }), + +/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!": +/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D! ***! + \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?b6e7\");\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"originalPathname\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n// @ts-ignore this need to be imported from next/dist to be external\r\n\r\n\r\nconst AppPageRouteModule = next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule;\r\n// We inject the tree and pages here so that we can use them in the route\r\n// module.\r\nconst tree = {\n children: [\n '',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/page.tsx */ \"(rsc)/./app/page.tsx\")), \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\"],\n metadata: {\n icon: [(async (props) => (await Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! next-metadata-image-loader?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./app/favicon.ico?__next_metadata__ */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./app/favicon.ico?__next_metadata__\"))).default(props))],\n apple: [],\n openGraph: [],\n twitter: [],\n manifest: undefined\n }\n }]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/layout.tsx */ \"(rsc)/./app/layout.tsx\")), \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\layout.tsx\"],\n'not-found': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23)), \"next/dist/client/components/not-found-error\"],\n metadata: {\n icon: [(async (props) => (await Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! next-metadata-image-loader?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./app/favicon.ico?__next_metadata__ */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./app/favicon.ico?__next_metadata__\"))).default(props))],\n apple: [],\n openGraph: [],\n twitter: [],\n manifest: undefined\n }\n }\n ]\n }.children;\r\nconst pages = [\"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\"];\r\n\r\n// @ts-expect-error - replaced by webpack/turbopack loader\r\n\r\nconst __next_app_require__ = __webpack_require__\r\nconst __next_app_load_chunk__ = () => Promise.resolve()\r\nconst originalPathname = \"/page\";\r\nconst __next_app__ = {\r\n require: __next_app_require__,\r\n loadChunk: __next_app_load_chunk__\r\n};\r\n\r\n// Create and export the route module that will be consumed.\r\nconst routeModule = new AppPageRouteModule({\r\n definition: {\r\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\r\n page: \"/page\",\r\n pathname: \"/\",\r\n // The following aren't used in production.\r\n bundlePath: \"\",\r\n filename: \"\",\r\n appPaths: []\r\n },\r\n userland: {\r\n loaderTree: tree\r\n }\r\n});\r\n\r\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZwYWdlJnBhZ2U9JTJGcGFnZSZhcHBQYXRocz0lMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGcGFnZS50c3gmYXBwRGlyPUMlM0ElNUNVc2VycyU1Q2FuZHJlJTVDRG9jdW1lbnRzJTVDR2l0SHViJTVDV2Via2xhci5jb20lNUNhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPUMlM0ElNUNVc2VycyU1Q2FuZHJlJTVDRG9jdW1lbnRzJTVDR2l0SHViJTVDV2Via2xhci5jb20maXNEZXY9dHJ1ZSZ0c2NvbmZpZ1BhdGg9dHNjb25maWcuanNvbiZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9c3RhbmRhbG9uZSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDeUY7QUFDMUI7QUFDL0QsMkJBQTJCLDhHQUF5QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakMsdUJBQXVCLHdJQUFvRztBQUMzSDtBQUNBLG9DQUFvQyw4ZUFBOFA7QUFDbFM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQSx5QkFBeUIsNElBQXNHO0FBQy9ILG9CQUFvQiwwTkFBZ0Y7QUFDcEc7QUFDQSxvQ0FBb0MsOGVBQThQO0FBQ2xTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ3VCO0FBQ3ZCO0FBQ29GO0FBQ3BGLDZCQUE2QixtQkFBbUI7QUFDaEQ7QUFDTztBQUNBO0FBQ1A7QUFDQTtBQUNBO0FBQ3VEO0FBQ3ZEO0FBQ087QUFDUDtBQUNBLGNBQWMseUVBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLz9iN2ZhIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmUgdGhpcyBuZWVkIHRvIGJlIGltcG9ydGVkIGZyb20gbmV4dC9kaXN0IHRvIGJlIGV4dGVybmFsXHJcbmltcG9ydCAqIGFzIG1vZHVsZSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWRcIjtcclxuaW1wb3J0IHsgUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLWtpbmRcIjtcclxuY29uc3QgQXBwUGFnZVJvdXRlTW9kdWxlID0gbW9kdWxlLkFwcFBhZ2VSb3V0ZU1vZHVsZTtcclxuLy8gV2UgaW5qZWN0IHRoZSB0cmVlIGFuZCBwYWdlcyBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxyXG4vLyBtb2R1bGUuXHJcbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXGFwcFxcXFxwYWdlLnRzeFwiKSwgXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXGFwcFxcXFxwYWdlLnRzeFwiXSxcbiAgICAgICAgICBtZXRhZGF0YToge1xuICAgIGljb246IFsoYXN5bmMgKHByb3BzKSA9PiAoYXdhaXQgaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0LW1ldGFkYXRhLWltYWdlLWxvYWRlcj90eXBlPWZhdmljb24mc2VnbWVudD0mYmFzZVBhdGg9JnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMhQzpcXFxcVXNlcnNcXFxcYW5kcmVcXFxcRG9jdW1lbnRzXFxcXEdpdEh1YlxcXFxXZWJrbGFyLmNvbVxcXFxhcHBcXFxcZmF2aWNvbi5pY28/X19uZXh0X21ldGFkYXRhX19cIikpLmRlZmF1bHQocHJvcHMpKV0sXG4gICAgYXBwbGU6IFtdLFxuICAgIG9wZW5HcmFwaDogW10sXG4gICAgdHdpdHRlcjogW10sXG4gICAgbWFuaWZlc3Q6IHVuZGVmaW5lZFxuICB9XG4gICAgICAgIH1dXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXGFwcFxcXFxsYXlvdXQudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXGFuZHJlXFxcXERvY3VtZW50c1xcXFxHaXRIdWJcXFxcV2Via2xhci5jb21cXFxcYXBwXFxcXGxheW91dC50c3hcIl0sXG4nbm90LWZvdW5kJzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiKSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgIGljb246IFsoYXN5bmMgKHByb3BzKSA9PiAoYXdhaXQgaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0LW1ldGFkYXRhLWltYWdlLWxvYWRlcj90eXBlPWZhdmljb24mc2VnbWVudD0mYmFzZVBhdGg9JnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMhQzpcXFxcVXNlcnNcXFxcYW5kcmVcXFxcRG9jdW1lbnRzXFxcXEdpdEh1YlxcXFxXZWJrbGFyLmNvbVxcXFxhcHBcXFxcZmF2aWNvbi5pY28/X19uZXh0X21ldGFkYXRhX19cIikpLmRlZmF1bHQocHJvcHMpKV0sXG4gICAgYXBwbGU6IFtdLFxuICAgIG9wZW5HcmFwaDogW10sXG4gICAgdHdpdHRlcjogW10sXG4gICAgbWFuaWZlc3Q6IHVuZGVmaW5lZFxuICB9XG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LmNoaWxkcmVuO1xyXG5jb25zdCBwYWdlcyA9IFtcIkM6XFxcXFVzZXJzXFxcXGFuZHJlXFxcXERvY3VtZW50c1xcXFxHaXRIdWJcXFxcV2Via2xhci5jb21cXFxcYXBwXFxcXHBhZ2UudHN4XCJdO1xyXG5leHBvcnQgeyB0cmVlLCBwYWdlcyB9O1xyXG4vLyBAdHMtZXhwZWN0LWVycm9yIC0gcmVwbGFjZWQgYnkgd2VicGFjay90dXJib3BhY2sgbG9hZGVyXHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5XCI7XHJcbmNvbnN0IF9fbmV4dF9hcHBfcmVxdWlyZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfX1xyXG5jb25zdCBfX25leHRfYXBwX2xvYWRfY2h1bmtfXyA9ICgpID0+IFByb21pc2UucmVzb2x2ZSgpXHJcbmV4cG9ydCBjb25zdCBvcmlnaW5hbFBhdGhuYW1lID0gXCIvcGFnZVwiO1xyXG5leHBvcnQgY29uc3QgX19uZXh0X2FwcF9fID0ge1xyXG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXHJcbiAgICBsb2FkQ2h1bms6IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fXHJcbn07XHJcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xyXG4vLyBDcmVhdGUgYW5kIGV4cG9ydCB0aGUgcm91dGUgbW9kdWxlIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cclxuZXhwb3J0IGNvbnN0IHJvdXRlTW9kdWxlID0gbmV3IEFwcFBhZ2VSb3V0ZU1vZHVsZSh7XHJcbiAgICBkZWZpbml0aW9uOiB7XHJcbiAgICAgICAga2luZDogUm91dGVLaW5kLkFQUF9QQUdFLFxyXG4gICAgICAgIHBhZ2U6IFwiL3BhZ2VcIixcclxuICAgICAgICBwYXRobmFtZTogXCIvXCIsXHJcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxyXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiXCIsXHJcbiAgICAgICAgZmlsZW5hbWU6IFwiXCIsXHJcbiAgICAgICAgYXBwUGF0aHM6IFtdXHJcbiAgICB9LFxyXG4gICAgdXNlcmxhbmQ6IHtcclxuICAgICAgICBsb2FkZXJUcmVlOiB0cmVlXHJcbiAgICB9XHJcbn0pO1xyXG5cclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp%5Cpage.tsx&server=true!": +/*!***************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp%5Cpage.tsx&server=true! ***! + \***************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/page.tsx */ \"(ssr)/./app/page.tsx\"))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSU1Q2FwcCU1Q3BhZ2UudHN4JnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8/ZjA4YSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXGFuZHJlXFxcXERvY3VtZW50c1xcXFxHaXRIdWJcXFxcV2Via2xhci5jb21cXFxcYXBwXFxcXHBhZ2UudHN4XCIpIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp%5Cpage.tsx&server=true!\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Ccomponents%5CHandyAnsicht.tsx&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cfont%5Cgoogle%5Ctarget.css%3F%7B%22path%22%3A%22app%5C%5Clayout.tsx%22%2C%22import%22%3A%22Inter%22%2C%22arguments%22%3A%5B%7B%22subsets%22%3A%5B%22latin%22%5D%7D%5D%2C%22variableName%22%3A%22inter%22%7D&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp%5Cglobals.css&server=true!": +/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Ccomponents%5CHandyAnsicht.tsx&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cfont%5Cgoogle%5Ctarget.css%3F%7B%22path%22%3A%22app%5C%5Clayout.tsx%22%2C%22import%22%3A%22Inter%22%2C%22arguments%22%3A%5B%7B%22subsets%22%3A%5B%22latin%22%5D%7D%5D%2C%22variableName%22%3A%22inter%22%7D&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp%5Cglobals.css&server=true! ***! + \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/HandyAnsicht.tsx */ \"(ssr)/./components/HandyAnsicht.tsx\"))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSU1Q2NvbXBvbmVudHMlNUNIYW5keUFuc2ljaHQudHN4Jm1vZHVsZXM9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSU1Q25vZGVfbW9kdWxlcyU1Q25leHQlNUNmb250JTVDZ29vZ2xlJTVDdGFyZ2V0LmNzcyUzRiU3QiUyMnBhdGglMjIlM0ElMjJhcHAlNUMlNUNsYXlvdXQudHN4JTIyJTJDJTIyaW1wb3J0JTIyJTNBJTIySW50ZXIlMjIlMkMlMjJhcmd1bWVudHMlMjIlM0ElNUIlN0IlMjJzdWJzZXRzJTIyJTNBJTVCJTIybGF0aW4lMjIlNUQlN0QlNUQlMkMlMjJ2YXJpYWJsZU5hbWUlMjIlM0ElMjJpbnRlciUyMiU3RCZtb2R1bGVzPUMlM0ElNUNVc2VycyU1Q2FuZHJlJTVDRG9jdW1lbnRzJTVDR2l0SHViJTVDV2Via2xhci5jb20lNUNhcHAlNUNnbG9iYWxzLmNzcyZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvPzYzOTUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXGNvbXBvbmVudHNcXFxcSGFuZHlBbnNpY2h0LnRzeFwiKSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Ccomponents%5CHandyAnsicht.tsx&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cfont%5Cgoogle%5Ctarget.css%3F%7B%22path%22%3A%22app%5C%5Clayout.tsx%22%2C%22import%22%3A%22Inter%22%2C%22arguments%22%3A%5B%7B%22subsets%22%3A%5B%22latin%22%5D%7D%5D%2C%22variableName%22%3A%22inter%22%7D&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp%5Cglobals.css&server=true!\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Capp-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cerror-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Clayout-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cnot-found-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Crender-from-template-context.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cstatic-generation-searchparams-bailout-provider.js&server=true!": +/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Capp-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cerror-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Clayout-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cnot-found-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Crender-from-template-context.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cstatic-generation-searchparams-bailout-provider.js&server=true! ***! + \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/app-router.js */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\", 23));\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/not-found-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\", 23));\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js */ \"(ssr)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js\", 23))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9QyUzQSU1Q1VzZXJzJTVDYW5kcmUlNUNEb2N1bWVudHMlNUNHaXRIdWIlNUNXZWJrbGFyLmNvbSU1Q25vZGVfbW9kdWxlcyU1Q25leHQlNUNkaXN0JTVDY2xpZW50JTVDY29tcG9uZW50cyU1Q2FwcC1yb3V0ZXIuanMmbW9kdWxlcz1DJTNBJTVDVXNlcnMlNUNhbmRyZSU1Q0RvY3VtZW50cyU1Q0dpdEh1YiU1Q1dlYmtsYXIuY29tJTVDbm9kZV9tb2R1bGVzJTVDbmV4dCU1Q2Rpc3QlNUNjbGllbnQlNUNjb21wb25lbnRzJTVDZXJyb3ItYm91bmRhcnkuanMmbW9kdWxlcz1DJTNBJTVDVXNlcnMlNUNhbmRyZSU1Q0RvY3VtZW50cyU1Q0dpdEh1YiU1Q1dlYmtsYXIuY29tJTVDbm9kZV9tb2R1bGVzJTVDbmV4dCU1Q2Rpc3QlNUNjbGllbnQlNUNjb21wb25lbnRzJTVDbGF5b3V0LXJvdXRlci5qcyZtb2R1bGVzPUMlM0ElNUNVc2VycyU1Q2FuZHJlJTVDRG9jdW1lbnRzJTVDR2l0SHViJTVDV2Via2xhci5jb20lNUNub2RlX21vZHVsZXMlNUNuZXh0JTVDZGlzdCU1Q2NsaWVudCU1Q2NvbXBvbmVudHMlNUNub3QtZm91bmQtYm91bmRhcnkuanMmbW9kdWxlcz1DJTNBJTVDVXNlcnMlNUNhbmRyZSU1Q0RvY3VtZW50cyU1Q0dpdEh1YiU1Q1dlYmtsYXIuY29tJTVDbm9kZV9tb2R1bGVzJTVDbmV4dCU1Q2Rpc3QlNUNjbGllbnQlNUNjb21wb25lbnRzJTVDcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyZtb2R1bGVzPUMlM0ElNUNVc2VycyU1Q2FuZHJlJTVDRG9jdW1lbnRzJTVDR2l0SHViJTVDV2Via2xhci5jb20lNUNub2RlX21vZHVsZXMlNUNuZXh0JTVDZGlzdCU1Q2NsaWVudCU1Q2NvbXBvbmVudHMlNUNzdGF0aWMtZ2VuZXJhdGlvbi1zZWFyY2hwYXJhbXMtYmFpbG91dC1wcm92aWRlci5qcyZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQWtKO0FBQ2xKLDBPQUFzSjtBQUN0Six3T0FBcUo7QUFDckosa1BBQTBKO0FBQzFKLHNRQUFvSztBQUNwSyIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8/OWE0YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXGFuZHJlXFxcXERvY3VtZW50c1xcXFxHaXRIdWJcXFxcV2Via2xhci5jb21cXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxhcHAtcm91dGVyLmpzXCIpO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcZXJyb3ItYm91bmRhcnkuanNcIik7XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXGFuZHJlXFxcXERvY3VtZW50c1xcXFxHaXRIdWJcXFxcV2Via2xhci5jb21cXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcbm90LWZvdW5kLWJvdW5kYXJ5LmpzXCIpO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxhbmRyZVxcXFxEb2N1bWVudHNcXFxcR2l0SHViXFxcXFdlYmtsYXIuY29tXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxccmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcYW5kcmVcXFxcRG9jdW1lbnRzXFxcXEdpdEh1YlxcXFxXZWJrbGFyLmNvbVxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHN0YXRpYy1nZW5lcmF0aW9uLXNlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3ZpZGVyLmpzXCIpIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Capp-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cerror-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Clayout-router.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cnot-found-boundary.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Crender-from-template-context.js&modules=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Cnode_modules%5Cnext%5Cdist%5Cclient%5Ccomponents%5Cstatic-generation-searchparams-bailout-provider.js&server=true!\n"); + +/***/ }), + +/***/ "(ssr)/./app/page.tsx": +/*!**********************!*\ + !*** ./app/page.tsx ***! + \**********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AboutServicePage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./components/ui/button.tsx\");\n/* harmony import */ var _barrel_optimize_names_Calendar_Cookie_lucide_react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! __barrel_optimize__?names=Calendar,Cookie!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/cookie.js\");\n/* harmony import */ var _barrel_optimize_names_Calendar_Cookie_lucide_react__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! __barrel_optimize__?names=Calendar,Cookie!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/calendar.js\");\n/* harmony import */ var _lib_colors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/colors */ \"(ssr)/./lib/colors.ts\");\n/* harmony import */ var _components_ProtectedAppointmentBooking__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ProtectedAppointmentBooking */ \"(ssr)/./components/ProtectedAppointmentBooking.tsx\");\n/* harmony import */ var _components_AppointmentStatus__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/AppointmentStatus */ \"(ssr)/./components/AppointmentStatus.tsx\");\n/* harmony import */ var _components_PriceCalculator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/PriceCalculator */ \"(ssr)/./components/PriceCalculator.tsx\");\n/* harmony import */ var _components_SpinningNumbers__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/SpinningNumbers */ \"(ssr)/./components/SpinningNumbers.tsx\");\n/* harmony import */ var _components_GlassSurface__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/GlassSurface */ \"(ssr)/./components/GlassSurface.tsx\");\n/* harmony import */ var _components_LogoLoop__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/LogoLoop */ \"(ssr)/./components/LogoLoop.tsx\");\n/* harmony import */ var _components_PillNav__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/components/PillNav */ \"(ssr)/./components/PillNav.tsx\");\n/* harmony import */ var _components_ui_timeline_demo__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/components/ui/timeline-demo */ \"(ssr)/./components/ui/timeline-demo.tsx\");\n/* harmony import */ var _components_ui_card_hover_effect__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/components/ui/card-hover-effect */ \"(ssr)/./components/ui/card-hover-effect.tsx\");\n/* harmony import */ var _components_ui_container_scroll_animation_demo__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/components/ui/container-scroll-animation-demo */ \"(ssr)/./components/ui/container-scroll-animation-demo.tsx\");\n/* harmony import */ var _components_ui_background_beams__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/components/ui/background-beams */ \"(ssr)/./components/ui/background-beams.tsx\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_15__);\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// Scroll animation hook\nconst useScrollAnimation = ()=>{\n const [scrollY, setScrollY] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const handleScroll = ()=>setScrollY(window.scrollY);\n window.addEventListener(\"scroll\", handleScroll);\n return ()=>window.removeEventListener(\"scroll\", handleScroll);\n }, []);\n return scrollY;\n};\n// Intersection Observer hook for fade-in animations\nconst useInView = (threshold = 0.1)=>{\n const [isInView, setIsInView] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const ref = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const observer = new IntersectionObserver(([entry])=>{\n if (entry.isIntersecting) {\n setIsInView(true);\n }\n }, {\n threshold\n });\n if (ref.current) {\n observer.observe(ref.current);\n }\n return ()=>observer.disconnect();\n }, [\n threshold\n ]);\n return [\n ref,\n isInView\n ];\n};\n// Cookie Button Component\nconst CookieButton = ()=>{\n const [showBanner, setShowBanner] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const handleAccept = ()=>{\n setShowBanner(false);\n // Add cookie acceptance logic here\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setShowBanner(true),\n className: \"fixed bottom-6 left-6 z-50 w-14 h-14 rounded-full flex items-center justify-center shadow-lg transition-all duration-300 hover:scale-110\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Calendar_Cookie_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"w-6 h-6 text-white\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 75,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 70,\n columnNumber: 7\n }, undefined),\n showBanner && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 bg-black/50 backdrop-blur-sm z-50 flex items-center justify-center p-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-md w-full p-6 rounded-3xl shadow-2xl\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center space-x-3 mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Calendar_Cookie_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"w-6 h-6\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 86,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: \"Cookie-Einstellungen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 87,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 85,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mb-6 text-sm\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: \"Wir verwenden Cookies, um Ihre Erfahrung zu verbessern. Durch die Nutzung unserer Website stimmen Sie unserer Datenschutzrichtlinie zu.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 91,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex space-x-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n onClick: handleAccept,\n className: \"flex-1 rounded-full font-medium\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n },\n children: \"Akzeptieren\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 95,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n onClick: ()=>setShowBanner(false),\n variant: \"outline\",\n className: \"flex-1 rounded-full\",\n style: {\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: \"Ablehnen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 105,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 94,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 81,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 80,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true);\n};\nfunction AboutServicePage() {\n const scrollY = useScrollAnimation();\n const [heroRef, heroInView] = useInView();\n const [servicesRef, servicesInView] = useInView();\n const [processRef, processInView] = useInView();\n const [pricingRef, pricingInView] = useInView();\n const [aboutRef, aboutInView] = useInView();\n const [contactRef, contactInView] = useInView();\n const navWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const navInnerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const [navOffset, setNavOffset] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n const navOffsetRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(0);\n const navExpandedRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(false);\n const animationFrameRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n navOffsetRef.current = navOffset;\n }, [\n navOffset\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n return ()=>{\n if (animationFrameRef.current) {\n cancelAnimationFrame(animationFrameRef.current);\n }\n };\n }, []);\n const animateOffset = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((target)=>{\n if (!Number.isFinite(target)) return;\n if (animationFrameRef.current) {\n cancelAnimationFrame(animationFrameRef.current);\n animationFrameRef.current = null;\n }\n const startValue = navOffsetRef.current;\n const delta = target - startValue;\n if (Math.abs(delta) < 0.5) {\n navOffsetRef.current = target;\n setNavOffset(target);\n return;\n }\n const duration = 520;\n const startTime = performance.now();\n const easeOutCubic = (t)=>1 - Math.pow(1 - t, 3);\n const step = (now)=>{\n const elapsed = now - startTime;\n const progress = Math.min(elapsed / duration, 1);\n const eased = easeOutCubic(progress);\n const value = startValue + delta * eased;\n navOffsetRef.current = value;\n setNavOffset(value);\n if (progress < 1) {\n animationFrameRef.current = requestAnimationFrame(step);\n } else {\n animationFrameRef.current = null;\n }\n };\n animationFrameRef.current = requestAnimationFrame(step);\n }, []);\n const calculateNavOffset = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((mode = \"animate\", expandedOverride)=>{\n if (!navWrapperRef.current || !navInnerRef.current) return;\n const expanded = expandedOverride ?? navExpandedRef.current;\n const wrapperWidth = navWrapperRef.current.clientWidth;\n const navWidth = navInnerRef.current.offsetWidth;\n const offset = expanded ? Math.max(0, (wrapperWidth - navWidth) / 2) : 0;\n if (!Number.isFinite(offset)) return;\n if (mode === \"immediate\") {\n navOffsetRef.current = offset;\n setNavOffset(offset);\n } else {\n animateOffset(offset);\n }\n }, [\n animateOffset\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n calculateNavOffset(\"immediate\", navExpandedRef.current);\n const handleResize = ()=>calculateNavOffset(\"immediate\", navExpandedRef.current);\n window.addEventListener(\"resize\", handleResize);\n return ()=>window.removeEventListener(\"resize\", handleResize);\n }, [\n calculateNavOffset\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (!navInnerRef.current || typeof ResizeObserver === \"undefined\") return;\n const observer = new ResizeObserver(()=>{\n calculateNavOffset(\"immediate\", navExpandedRef.current);\n });\n observer.observe(navInnerRef.current);\n return ()=>observer.disconnect();\n }, [\n calculateNavOffset\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const wrapper = navWrapperRef.current;\n if (!wrapper) return;\n const handleTransitionEnd = (event)=>{\n if (event.propertyName === \"max-width\" || event.propertyName === \"width\" || event.propertyName === \"transform\") {\n calculateNavOffset(navExpandedRef.current ? \"animate\" : \"immediate\", navExpandedRef.current);\n }\n };\n wrapper.addEventListener(\"transitionend\", handleTransitionEnd);\n return ()=>wrapper.removeEventListener(\"transitionend\", handleTransitionEnd);\n }, [\n calculateNavOffset\n ]);\n // Partner Logos für LogoLoop\n const partnerLogos = [\n {\n node: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: \"8px\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n viewBox: \"0 0 48 48\",\n fill: \"none\",\n width: 96,\n height: 96,\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"16\",\n cy: \"16\",\n r: \"4\",\n fill: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 242,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"24\",\n cy: \"24\",\n r: \"4\",\n fill: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 243,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"32\",\n cy: \"32\",\n r: \"4\",\n fill: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 244,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M16 16L24 24M24 24L32 32\",\n stroke: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n strokeWidth: \"2\",\n strokeLinecap: \"round\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 245,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M12 24L24 12L36 24\",\n stroke: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n strokeWidth: \"2\",\n opacity: \"0.5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 246,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 240,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n fontSize: \"14px\",\n fontWeight: \"600\",\n whiteSpace: \"nowrap\"\n },\n children: \"Traefik\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 248,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 239,\n columnNumber: 9\n }, this),\n title: \"Traefik\",\n href: \"https://traefik.io\"\n },\n {\n node: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: \"8px\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n viewBox: \"0 0 48 48\",\n fill: \"none\",\n width: 96,\n height: 96,\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"24\",\n cy: \"24\",\n r: \"16\",\n stroke: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n strokeWidth: \"3\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 259,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M8 24C8 18 12 14 24 14C36 14 40 18 40 24C40 30 36 34 24 34C12 34 8 30 8 24Z\",\n stroke: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n strokeWidth: \"2\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 260,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M24 8C24 8 18 14 18 20C18 26 24 32 24 32\",\n stroke: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n strokeWidth: \"2\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 261,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n fontSize: \"14px\",\n fontWeight: \"600\",\n whiteSpace: \"nowrap\"\n },\n children: \"Porkbun\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 263,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 256,\n columnNumber: 9\n }, this),\n title: \"Porkbun\",\n href: \"https://porkbun.com\"\n },\n {\n node: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: \"8px\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n viewBox: \"0 0 48 48\",\n fill: \"none\",\n width: 96,\n height: 96,\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"16\",\n cy: \"16\",\n r: \"5\",\n fill: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 274,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"32\",\n cy: \"16\",\n r: \"5\",\n fill: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 275,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"16\",\n cy: \"32\",\n r: \"5\",\n fill: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 276,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"32\",\n cy: \"32\",\n r: \"5\",\n fill: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 277,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M21 16L27 16M16 21L16 27M21 32L27 32\",\n stroke: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n strokeWidth: \"2\",\n strokeLinecap: \"round\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 278,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 272,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n fontSize: \"14px\",\n fontWeight: \"600\",\n whiteSpace: \"nowrap\"\n },\n children: \"n8n\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 280,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 271,\n columnNumber: 9\n }, this),\n title: \"n8n\",\n href: \"https://n8n.io\"\n },\n {\n node: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: \"8px\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n viewBox: \"0 0 48 48\",\n fill: \"none\",\n width: 96,\n height: 96,\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M8 24Q16 16 24 24T40 24\",\n stroke: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n strokeWidth: \"3\",\n strokeLinecap: \"round\",\n fill: \"none\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 291,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M10 28Q18 20 26 28T42 28\",\n stroke: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n strokeWidth: \"3\",\n strokeLinecap: \"round\",\n fill: \"none\",\n opacity: \"0.7\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 292,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"24\",\n cy: \"24\",\n r: \"2\",\n fill: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n opacity: \"0.5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 293,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 289,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n fontSize: \"14px\",\n fontWeight: \"600\",\n whiteSpace: \"nowrap\"\n },\n children: \"Mistral AI\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 295,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 288,\n columnNumber: 9\n }, this),\n title: \"Mistral AI\",\n href: \"https://mistral.ai\"\n },\n {\n node: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: \"8px\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n viewBox: \"0 0 48 48\",\n fill: \"none\",\n width: 96,\n height: 96,\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n x: \"12\",\n y: \"14\",\n width: \"24\",\n height: \"20\",\n rx: \"2\",\n stroke: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n strokeWidth: \"3\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 306,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M16 20H32M16 24H32M16 28H28\",\n stroke: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n strokeWidth: \"2\",\n strokeLinecap: \"round\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 307,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"36\",\n cy: \"18\",\n r: \"3\",\n fill: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 308,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 304,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n fontSize: \"14px\",\n fontWeight: \"600\",\n whiteSpace: \"nowrap\"\n },\n children: \"Hetzner\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 310,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 303,\n columnNumber: 9\n }, this),\n title: \"Hetzner\",\n href: \"https://www.hetzner.com\"\n },\n {\n node: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: \"8px\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n viewBox: \"0 0 48 48\",\n fill: \"none\",\n width: 96,\n height: 96,\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n x: \"12\",\n y: \"12\",\n width: \"24\",\n height: \"24\",\n rx: \"4\",\n stroke: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n strokeWidth: \"3\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 321,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M18 20L24 24L18 28\",\n stroke: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 322,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M28 20L30 24L28 28\",\n stroke: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n strokeWidth: \"2\",\n strokeLinecap: \"round\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 323,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 319,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n fontSize: \"14px\",\n fontWeight: \"600\",\n whiteSpace: \"nowrap\"\n },\n children: \"Cursor\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 325,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 318,\n columnNumber: 9\n }, this),\n title: \"Cursor AI\",\n href: \"https://cursor.sh\"\n },\n {\n node: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: \"8px\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n viewBox: \"0 0 48 48\",\n fill: \"none\",\n width: 96,\n height: 96,\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n x: \"14\",\n y: \"10\",\n width: \"20\",\n height: \"28\",\n rx: \"2\",\n stroke: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n strokeWidth: \"3\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 336,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M14 18H34M14 24H34M14 30H28\",\n stroke: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n strokeWidth: \"2\",\n strokeLinecap: \"round\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 337,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"32\",\n cy: \"14\",\n r: \"2\",\n fill: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 338,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 334,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n fontSize: \"14px\",\n fontWeight: \"600\",\n whiteSpace: \"nowrap\"\n },\n children: \"Appwrite\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 340,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 333,\n columnNumber: 9\n }, this),\n title: \"Appwrite\",\n href: \"https://appwrite.io\"\n }\n ];\n const valueProps = [\n {\n title: \"Zeitersparnis\",\n description: \"Wir \\xfcbernehmen den digitalen Teil, Sie konzentrieren sich aufs Gesch\\xe4ft\",\n link: \"#zeitersparnis\"\n },\n {\n title: \"Kompetenz & Erfahrung\",\n description: \"Technisch stark, klar in der Umsetzung\",\n link: \"#kompetenz-erfahrung\"\n },\n {\n title: \"Ma\\xdfgeschneiderte L\\xf6sungen\",\n description: \"Keine Templates, sondern individuelle Umsetzung\",\n link: \"#massgeschneiderte-loesungen\"\n },\n {\n title: \"Stressfreies Webmanagement\",\n description: \"Ein Ansprechpartner f\\xfcr alles\",\n link: \"#stressfreies-webmanagement\"\n }\n ];\n const navIsExpanded = scrollY > 40;\n const previousNavState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(navIsExpanded);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const previous = previousNavState.current;\n previousNavState.current = navIsExpanded;\n navExpandedRef.current = navIsExpanded;\n let raf1 = null;\n let raf2 = null;\n let timeoutId = null;\n if (navIsExpanded) {\n if (previous === false) {\n raf1 = requestAnimationFrame(()=>{\n calculateNavOffset(\"animate\", true);\n });\n raf2 = requestAnimationFrame(()=>{\n calculateNavOffset(\"animate\", true);\n });\n timeoutId = window.setTimeout(()=>{\n calculateNavOffset(\"animate\", true);\n }, 320);\n } else {\n calculateNavOffset(\"immediate\", true);\n }\n } else {\n animateOffset(0);\n }\n return ()=>{\n if (raf1 !== null) cancelAnimationFrame(raf1);\n if (raf2 !== null) cancelAnimationFrame(raf2);\n if (timeoutId !== null) window.clearTimeout(timeoutId);\n };\n }, [\n navIsExpanded,\n calculateNavOffset,\n animateOffset\n ]);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen overflow-hidden\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed left-0 right-0 z-40 px-4 top-4 transition-all duration-500\",\n style: {\n transitionTimingFunction: \"cubic-bezier(0.22, 1, 0.36, 1)\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full mx-auto transition-all duration-500 ease-out\",\n style: {\n maxWidth: navIsExpanded ? \"72rem\" : \"38rem\",\n width: navIsExpanded ? \"100%\" : \"96%\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_GlassSurface__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n width: \"100%\",\n height: \"auto\",\n borderRadius: 9999,\n displace: 2.0,\n backgroundOpacity: 0.3,\n className: \"w-full transition-all duration-500 ease-out\",\n style: {\n minHeight: \"70px\",\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary}66`,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n padding: \"0.5rem 1.5rem\",\n transition: \"backdrop-filter 0.45s ease\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: navWrapperRef,\n className: \"relative w-full flex items-center justify-center transition-all duration-500\",\n style: {\n transitionTimingFunction: \"cubic-bezier(0.22, 1, 0.36, 1)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: navInnerRef,\n className: \"inline-flex transition-all duration-500\",\n style: {\n transform: navIsExpanded ? `translateX(-${navOffset}px)` : \"translateX(0)\",\n transitionTimingFunction: \"cubic-bezier(0.22, 1, 0.36, 1)\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_PillNav__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n logo: \"/WebKlarLogo.png\",\n logoAlt: \"Webklar Logo\",\n items: [\n {\n label: \"\\xdcber uns\",\n href: \"#about\"\n },\n {\n label: \"Leistungen\",\n href: \"#services\"\n },\n {\n label: \"Unsere Abl\\xe4ufe\",\n href: \"#process\"\n }\n ],\n activeHref: \"#\",\n baseColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary,\n pillColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n hoveredPillTextColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n pillTextColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary,\n className: \"pill-nav-custom\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 459,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 451,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden md:block absolute right-0 transition-all duration-500 overflow-hidden\",\n style: {\n opacity: navIsExpanded ? 1 : 0,\n maxWidth: navIsExpanded ? \"200px\" : \"0px\",\n pointerEvents: navIsExpanded ? \"auto\" : \"none\",\n transform: navIsExpanded ? \"translateX(0)\" : \"translateX(16px)\",\n transitionTimingFunction: \"cubic-bezier(0.22, 1, 0.36, 1)\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_15___default()), {\n href: \"/kontakte\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n className: \"rounded-full text-sm font-semibold px-3 sm:px-5 py-1.5 shadow-lg hover:shadow-xl transition-all duration-300 hover:scale-105 btn-enhanced pulse-glow\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n },\n children: \"Kontakt\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 487,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 486,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 476,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 443,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 426,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 419,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 413,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"hero\",\n className: \"relative h-screen flex items-center justify-center overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 z-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"video\", {\n autoPlay: true,\n muted: true,\n loop: true,\n playsInline: true,\n className: \"w-full h-full object-cover\",\n style: {\n filter: \"blur(8px)\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"source\", {\n src: \"/path/to/your/background-video.mp4\",\n type: \"video/mp4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 509,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 501,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 backdrop-blur-sm\",\n style: {\n background: `linear-gradient(135deg, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary}CC, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary}CC)`\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 511,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 500,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: heroRef,\n className: \"relative z-20 px-4 sm:px-8 pt-24 sm:pt-28 pb-20 sm:pb-24 max-w-7xl mx-auto text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: `text-4xl sm:text-6xl md:text-8xl font-bold mb-6 sm:mb-8 transition-all duration-1000 ${heroInView ? \"opacity-100 translate-y-0\" : \"opacity-0 translate-y-10\"}`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n },\n children: \"webklar – das Web ma\\xdfgeschneidert auf Ihr Unternehmen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 525,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 522,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `flex flex-wrap justify-center gap-2 sm:gap-4 mb-8 sm:mb-12 text-xs sm:text-sm mt-6 transition-all duration-1000 delay-300 ${heroInView ? \"opacity-100 translate-y-0\" : \"opacity-0 translate-y-10\"}`,\n children: [\n \"Strategieberatung\",\n \"UX/UI Design\",\n \"Entwicklung\",\n \"SEO & Support\"\n ].map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"px-3 sm:px-4 py-2 rounded-full backdrop-blur-sm border\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}80`,\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.tertiary,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: item\n }, item, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 534,\n columnNumber: 17\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 530,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `flex flex-col sm:flex-row items-center justify-center gap-4 sm:gap-6 transition-all duration-1000 delay-500 ${heroInView ? \"opacity-100 translate-y-0\" : \"opacity-0 translate-y-10\"}`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n onClick: ()=>document.getElementById(\"contact\")?.scrollIntoView({\n behavior: \"smooth\"\n }),\n className: \"w-full sm:w-auto px-6 sm:px-8 py-3 sm:py-4 rounded-full flex items-center justify-center space-x-3 text-base sm:text-lg font-semibold shadow-2xl hover:shadow-3xl transition-all duration-300 hover:scale-105 btn-enhanced hover-lift\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Calendar_Cookie_lucide_react__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {\n className: \"w-5 sm:w-6 h-5 sm:h-6\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 559,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Kostenlosen Termin buchen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 560,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 551,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 548,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 sm:mt-12 px-4 sm:px-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n position: \"relative\",\n overflow: \"visible\",\n maxWidth: \"100%\"\n },\n className: \"logo-loop-container\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n height: \"180px\",\n position: \"relative\",\n width: \"100%\",\n paddingBottom: \"30px\",\n overflow: \"hidden\"\n },\n className: \"logo-loop-inner\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_LogoLoop__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n logos: partnerLogos,\n speed: 60,\n direction: \"left\",\n logoHeight: 140,\n gap: 100,\n pauseOnHover: true,\n scaleOnHover: true,\n ariaLabel: \"Technology partners\",\n style: {\n width: \"100%\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 568,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 567,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 566,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 565,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 521,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 498,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"about\",\n ref: aboutRef,\n className: \"relative px-4 sm:px-8 py-12 sm:py-20 rounded-t-[2rem] sm:rounded-t-[3rem] rounded-b-[2rem] sm:rounded-b-[3rem] mx-2 sm:mx-4 backdrop-blur-sm\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}F0`,\n position: \"relative\",\n zIndex: 10\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-7xl mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid lg:grid-cols-2 gap-8 sm:gap-16 items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative order-2 lg:order-1\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_SpinningNumbers__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 596,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 595,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `order-1 lg:order-2 transition-all duration-1000 w-full flex flex-col justify-center ${aboutInView ? \"opacity-100 translate-x-0\" : \"opacity-0 translate-x-10\"}`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-3xl sm:text-5xl md:text-6xl font-bold mb-6 sm:mb-8 leading-tight whitespace-nowrap\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"inline-block\",\n children: \"Worauf wir\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 604,\n columnNumber: 19\n }, this),\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"inline-block\",\n children: \"Wert\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 605,\n columnNumber: 19\n }, this),\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"inline-block\",\n children: \"legen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 606,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 603,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xl sm:text-2xl md:text-3xl leading-relaxed\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary,\n width: \"100%\",\n maxWidth: \"100%\",\n columnCount: 1,\n columnGap: \"3rem\",\n columnFill: \"balance\",\n textAlign: \"justify\"\n },\n children: \"Sicherheit ist f\\xfcr uns keine Nebensache, sondern die Grundlage jeder Website. Wir setzen auf moderne Technologien, zertifizierte Partner und h\\xf6chste Datenschutzstandards. Unsere Systeme sind darauf ausgelegt, Ausf\\xe4lle zu vermeiden und langfristig stabile Ergebnisse zu liefern – damit Ihre Online-Pr\\xe4senz so zuverl\\xe4ssig ist wie Ihr Unternehmen selbst.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 609,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 600,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 593,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 592,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 586,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"services\",\n ref: servicesRef,\n className: \"relative overflow-hidden px-4 sm:px-8 py-12 sm:py-20 rounded-t-[2rem] sm:rounded-t-[3rem] rounded-b-[2rem] sm:rounded-b-[3rem] mx-2 sm:mx-4 backdrop-blur-sm\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_background_beams__WEBPACK_IMPORTED_MODULE_14__.BackgroundBeams, {\n className: \"opacity-70 mix-blend-screen pointer-events-none\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 635,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"pointer-events-none absolute inset-0 bg-gradient-to-b from-black/30 via-transparent to-black/70\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 636,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative z-10 max-w-7xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mb-12 sm:mb-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: `text-3xl sm:text-5xl md:text-6xl font-bold mb-4 sm:mb-6 transition-all duration-1000 bg-clip-text text-transparent bg-gradient-to-b from-neutral-50/90 via-neutral-200/80 to-neutral-400/70 ${servicesInView ? \"opacity-100 translate-y-0\" : \"opacity-0 translate-y-10\"}`,\n children: \"Unsere Leistungen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 640,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: `text-lg sm:text-xl transition-all duration-1000 delay-200 text-neutral-100/80 ${servicesInView ? \"opacity-100 translate-y-0\" : \"opacity-0 translate-y-10\"}`,\n children: \"Alles aus einer Hand f\\xfcr Ihren digitalen Erfolg\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 645,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 639,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `relative z-10 transition-all duration-1000 ${servicesInView ? \"opacity-100 translate-y-0\" : \"opacity-0 translate-y-10\"}`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_container_scroll_animation_demo__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 657,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 652,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 638,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 629,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"process\",\n ref: processRef,\n className: \"relative px-4 sm:px-8 py-12 sm:py-20 rounded-t-[2rem] sm:rounded-t-[3rem] rounded-b-[2rem] sm:rounded-b-[3rem] mx-2 sm:mx-4 backdrop-blur-sm\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}F0`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-6xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mb-12 sm:mb-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: `text-3xl sm:text-5xl md:text-6xl font-bold mb-4 sm:mb-6 transition-all duration-1000 ${processInView ? \"opacity-100 translate-y-0\" : \"opacity-0 translate-y-10\"}`,\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: \"Unser Ablauf\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 672,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: `text-lg sm:text-xl transition-all duration-1000 delay-200 ${processInView ? \"opacity-100 translate-y-0\" : \"opacity-0 translate-y-10\"}`,\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: \"So l\\xe4uft die Zusammenarbeit ab\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 677,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 671,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-[32px] px-2 py-10 sm:px-6 sm:py-16 transition-all duration-700\",\n style: {\n background: `linear-gradient(135deg, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}F2, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}E8)`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_timeline_demo__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 690,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 684,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 670,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 664,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"references\",\n ref: pricingRef,\n className: \"relative px-4 sm:px-8 py-12 sm:py-20 rounded-t-[2rem] sm:rounded-t-[3rem] rounded-b-[2rem] sm:rounded-b-[3rem] mx-2 sm:mx-4 backdrop-blur-sm\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary}F0`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-4xl mx-auto text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-12 sm:mb-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: `text-3xl sm:text-5xl md:text-6xl font-bold mb-4 sm:mb-6 transition-all duration-1000 ${pricingInView ? \"opacity-100 translate-y-0\" : \"opacity-0 translate-y-10\"}`,\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.tertiary\n },\n children: \"Faire Preise\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 704,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: `text-lg sm:text-xl transition-all duration-1000 delay-200 ${pricingInView ? \"opacity-100 translate-y-0\" : \"opacity-0 translate-y-10\"}`,\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n },\n children: \"Transparent und flexibel\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 709,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 703,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `p-8 sm:p-12 rounded-3xl shadow-2xl backdrop-blur-sm transition-all duration-1000 delay-300 ${pricingInView ? \"opacity-100 translate-y-0\" : \"opacity-0 translate-y-10\"}`,\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}F0`\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-2xl sm:text-3xl font-bold mb-6\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: \"Individuelle L\\xf6sungen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 719,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg sm:text-xl mb-8 leading-relaxed\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: \"Unsere Preise richten sich nach dem Projektumfang und Ihren Anforderungen. Gemeinsam finden wir eine L\\xf6sung, die zu Ihrem Budget passt – transparent, fair und flexibel.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 722,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_PriceCalculator__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 726,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 716,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 702,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 696,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"relative px-4 sm:px-8 py-12 sm:py-20 rounded-t-[2rem] sm:rounded-t-[3rem] rounded-b-[2rem] sm:rounded-b-[3rem] mx-2 sm:mx-4 backdrop-blur-sm\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}F0`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-7xl mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid lg:grid-cols-2 gap-12 sm:gap-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-2xl sm:text-4xl font-bold mb-6 sm:mb-8\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: \"F\\xfcr wen wir arbeiten\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 740,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg sm:text-xl leading-relaxed\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: \"Wir arbeiten mit Unternehmen, die ihre veraltete Website modernisieren oder ihre Zeit nicht mehr mit Technik und Support verschwenden wollen.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 743,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 739,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-2xl sm:text-4xl font-bold mb-6 sm:mb-8\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: \"Warum wir das tun\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 750,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-3xl border shadow-sm\",\n style: {\n background: `linear-gradient(135deg, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}F5, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.tertiary}1A)`,\n borderColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary}55`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4 sm:p-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card_hover_effect__WEBPACK_IMPORTED_MODULE_12__.HoverEffect, {\n items: valueProps,\n className: \"py-2\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 761,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 760,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 753,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 749,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 737,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 736,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 732,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n ref: contactRef,\n id: \"contact\",\n className: \"relative px-4 sm:px-8 py-12 sm:py-20 rounded-t-[2rem] sm:rounded-t-[3rem] rounded-b-[2rem] sm:rounded-b-[3rem] mx-2 sm:mx-4 backdrop-blur-sm\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-4xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mb-12 sm:mb-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-3xl sm:text-5xl md:text-6xl font-bold mb-4 sm:mb-6\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n },\n children: \"Lassen Sie uns sprechen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 781,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg sm:text-xl opacity-90\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n },\n children: \"Erz\\xe4hlen Sie uns von Ihrem Projekt\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 787,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 780,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `transition-all duration-1000 ${contactInView ? \"opacity-100 translate-y-0\" : \"opacity-0 translate-y-10\"}`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ProtectedAppointmentBooking__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 798,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 795,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 779,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 773,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"footer\", {\n className: \"relative py-8 sm:py-12 border-t rounded-t-[2rem] sm:rounded-t-[3rem] mx-2 sm:mx-4 backdrop-blur-sm\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary}F0`,\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-7xl mx-auto px-4 sm:px-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-4 gap-6 sm:gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"col-span-1 sm:col-span-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-2xl sm:text-3xl font-bold mb-4 relative\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.tertiary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"relative z-10\",\n children: \"Webklar\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 818,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute -inset-2 rounded-xl blur-sm opacity-20\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 819,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 814,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mb-6 leading-relaxed text-sm sm:text-base\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n },\n children: \"Ihr Partner f\\xfcr Web & Support. Moderne Websites. Klare Kommunikation. Pers\\xf6nlicher Support.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 824,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 813,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"text-base sm:text-lg font-semibold mb-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.tertiary\n },\n children: \"Services\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 832,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"space-y-2 text-sm sm:text-base\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n },\n children: [\n \"Webdesign\",\n \"E-Commerce\",\n \"SEO\",\n \"Hosting\"\n ].map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#\",\n className: \"hover:opacity-80 transition-opacity\",\n children: item\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 838,\n columnNumber: 23\n }, this)\n }, item, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 837,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 835,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 831,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"text-base sm:text-lg font-semibold mb-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.tertiary\n },\n children: \"Kontakt\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 844,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"space-y-2 text-sm sm:text-base\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_15___default()), {\n href: \"/impressum\",\n className: \"hover:opacity-80 transition-opacity\",\n children: \"Impressum\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 848,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 848,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_15___default()), {\n href: \"/datenschutz\",\n className: \"hover:opacity-80 transition-opacity\",\n children: \"Datenschutz\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 849,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 849,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_15___default()), {\n href: \"/agb\",\n className: \"hover:opacity-80 transition-opacity\",\n children: \"AGB\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 850,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 850,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_15___default()), {\n href: \"/kontakte\",\n className: \"hover:opacity-80 transition-opacity\",\n children: \"Kontakte\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 851,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 851,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 847,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 843,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 812,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border-t mt-6 sm:mt-8 pt-6 sm:pt-8 text-center text-sm\",\n style: {\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: \"\\xa9 2025 Webklar. Alle Rechte vorbehalten.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 862,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 855,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 811,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 804,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(CookieButton, {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 871,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_AppointmentStatus__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 874,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\page.tsx\",\n lineNumber: 411,\n columnNumber: 7\n }, this)\n }, void 0, false);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9hcHAvcGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFaUU7QUFDakI7QUFDQTtBQUNWO0FBQzZDO0FBQ3BCO0FBQ0o7QUFDQTtBQUNOO0FBQ1I7QUFDRjtBQUNjO0FBQ087QUFDYTtBQUNWO0FBQ3RDO0FBRTdCLHdCQUF3QjtBQUN4QixNQUFNb0IscUJBQXFCO0lBQ3pCLE1BQU0sQ0FBQ0MsU0FBU0MsV0FBVyxHQUFHbkIsK0NBQVFBLENBQUM7SUFFdkNGLGdEQUFTQSxDQUFDO1FBQ1IsTUFBTXNCLGVBQWUsSUFBTUQsV0FBV0UsT0FBT0gsT0FBTztRQUNwREcsT0FBT0MsZ0JBQWdCLENBQUMsVUFBVUY7UUFDbEMsT0FBTyxJQUFNQyxPQUFPRSxtQkFBbUIsQ0FBQyxVQUFVSDtJQUNwRCxHQUFHLEVBQUU7SUFFTCxPQUFPRjtBQUNUO0FBRUEsb0RBQW9EO0FBQ3BELE1BQU1NLFlBQVksQ0FBQ0MsWUFBWSxHQUFHO0lBQ2hDLE1BQU0sQ0FBQ0MsVUFBVUMsWUFBWSxHQUFHM0IsK0NBQVFBLENBQUM7SUFDekMsTUFBTTRCLE1BQU03Qiw2Q0FBTUEsQ0FBaUI7SUFFbkNELGdEQUFTQSxDQUFDO1FBQ1IsTUFBTStCLFdBQVcsSUFBSUMscUJBQ25CLENBQUMsQ0FBQ0MsTUFBTTtZQUNOLElBQUlBLE1BQU1DLGNBQWMsRUFBRTtnQkFDeEJMLFlBQVk7WUFDZDtRQUNGLEdBQ0E7WUFBRUY7UUFBVTtRQUdkLElBQUlHLElBQUlLLE9BQU8sRUFBRTtZQUNmSixTQUFTSyxPQUFPLENBQUNOLElBQUlLLE9BQU87UUFDOUI7UUFFQSxPQUFPLElBQU1KLFNBQVNNLFVBQVU7SUFDbEMsR0FBRztRQUFDVjtLQUFVO0lBRWQsT0FBTztRQUFDRztRQUFLRjtLQUFTO0FBQ3hCO0FBRUEsMEJBQTBCO0FBQzFCLE1BQU1VLGVBQWU7SUFDbkIsTUFBTSxDQUFDQyxZQUFZQyxjQUFjLEdBQUd0QywrQ0FBUUEsQ0FBQztJQUU3QyxNQUFNdUMsZUFBZTtRQUNuQkQsY0FBYztJQUNkLG1DQUFtQztJQUNyQztJQUVBLHFCQUNFOzswQkFFRSw4REFBQ0U7Z0JBQ0NDLFNBQVMsSUFBTUgsY0FBYztnQkFDN0JJLFdBQVU7Z0JBQ1ZDLE9BQU87b0JBQUVDLGlCQUFpQnhDLCtDQUFNQSxDQUFDeUMsU0FBUztnQkFBQzswQkFFM0MsNEVBQUMxQyw0RkFBTUE7b0JBQUN1QyxXQUFVOzs7Ozs7Ozs7OztZQUluQkwsNEJBQ0MsOERBQUNTO2dCQUFJSixXQUFVOzBCQUNiLDRFQUFDSTtvQkFDQ0osV0FBVTtvQkFDVkMsT0FBTzt3QkFBRUMsaUJBQWlCeEMsK0NBQU1BLENBQUMyQyxVQUFVO29CQUFDOztzQ0FFNUMsOERBQUNEOzRCQUFJSixXQUFVOzs4Q0FDYiw4REFBQ3ZDLDRGQUFNQTtvQ0FBQ3VDLFdBQVU7b0NBQVVDLE9BQU87d0NBQUVLLE9BQU81QywrQ0FBTUEsQ0FBQzZDLE9BQU87b0NBQUM7Ozs7Ozs4Q0FDM0QsOERBQUNDO29DQUFHUixXQUFVO29DQUF3QkMsT0FBTzt3Q0FBRUssT0FBTzVDLCtDQUFNQSxDQUFDNkMsT0FBTztvQ0FBQzs4Q0FBRzs7Ozs7Ozs7Ozs7O3NDQUkxRSw4REFBQ0U7NEJBQUVULFdBQVU7NEJBQWVDLE9BQU87Z0NBQUVLLE9BQU81QywrQ0FBTUEsQ0FBQ3lDLFNBQVM7NEJBQUM7c0NBQUc7Ozs7OztzQ0FHaEUsOERBQUNDOzRCQUFJSixXQUFVOzs4Q0FDYiw4REFBQ3pDLHlEQUFNQTtvQ0FDTHdDLFNBQVNGO29DQUNURyxXQUFVO29DQUNWQyxPQUFPO3dDQUNMQyxpQkFBaUJ4QywrQ0FBTUEsQ0FBQzZDLE9BQU87d0NBQy9CRCxPQUFPNUMsK0NBQU1BLENBQUMyQyxVQUFVO29DQUMxQjs4Q0FDRDs7Ozs7OzhDQUdELDhEQUFDOUMseURBQU1BO29DQUNMd0MsU0FBUyxJQUFNSCxjQUFjO29DQUM3QmMsU0FBUTtvQ0FDUlYsV0FBVTtvQ0FDVkMsT0FBTzt3Q0FDTFUsYUFBYWpELCtDQUFNQSxDQUFDeUMsU0FBUzt3Q0FDN0JHLE9BQU81QywrQ0FBTUEsQ0FBQ3lDLFNBQVM7b0NBQ3pCOzhDQUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU2Y7QUFFZSxTQUFTUztJQUN0QixNQUFNcEMsVUFBVUQ7SUFDaEIsTUFBTSxDQUFDc0MsU0FBU0MsV0FBVyxHQUFHaEM7SUFDOUIsTUFBTSxDQUFDaUMsYUFBYUMsZUFBZSxHQUFHbEM7SUFDdEMsTUFBTSxDQUFDbUMsWUFBWUMsY0FBYyxHQUFHcEM7SUFDcEMsTUFBTSxDQUFDcUMsWUFBWUMsY0FBYyxHQUFHdEM7SUFDcEMsTUFBTSxDQUFDdUMsVUFBVUMsWUFBWSxHQUFHeEM7SUFDaEMsTUFBTSxDQUFDeUMsWUFBWUMsY0FBYyxHQUFHMUM7SUFDcEMsTUFBTTJDLGdCQUFnQnBFLDZDQUFNQSxDQUFpQjtJQUM3QyxNQUFNcUUsY0FBY3JFLDZDQUFNQSxDQUFpQjtJQUMzQyxNQUFNLENBQUNzRSxXQUFXQyxhQUFhLEdBQUd0RSwrQ0FBUUEsQ0FBQztJQUMzQyxNQUFNdUUsZUFBZXhFLDZDQUFNQSxDQUFDO0lBQzVCLE1BQU15RSxpQkFBaUJ6RSw2Q0FBTUEsQ0FBQztJQUM5QixNQUFNMEUsb0JBQW9CMUUsNkNBQU1BLENBQWdCO0lBRWhERCxnREFBU0EsQ0FBQztRQUNSeUUsYUFBYXRDLE9BQU8sR0FBR29DO0lBQ3pCLEdBQUc7UUFBQ0E7S0FBVTtJQUVkdkUsZ0RBQVNBLENBQUM7UUFDUixPQUFPO1lBQ0wsSUFBSTJFLGtCQUFrQnhDLE9BQU8sRUFBRTtnQkFDN0J5QyxxQkFBcUJELGtCQUFrQnhDLE9BQU87WUFDaEQ7UUFDRjtJQUNGLEdBQUcsRUFBRTtJQUVMLE1BQU0wQyxnQkFBZ0I5RSxrREFBV0EsQ0FBQyxDQUFDK0U7UUFDakMsSUFBSSxDQUFDQyxPQUFPQyxRQUFRLENBQUNGLFNBQVM7UUFDOUIsSUFBSUgsa0JBQWtCeEMsT0FBTyxFQUFFO1lBQzdCeUMscUJBQXFCRCxrQkFBa0J4QyxPQUFPO1lBQzlDd0Msa0JBQWtCeEMsT0FBTyxHQUFHO1FBQzlCO1FBRUEsTUFBTThDLGFBQWFSLGFBQWF0QyxPQUFPO1FBQ3ZDLE1BQU0rQyxRQUFRSixTQUFTRztRQUN2QixJQUFJRSxLQUFLQyxHQUFHLENBQUNGLFNBQVMsS0FBSztZQUN6QlQsYUFBYXRDLE9BQU8sR0FBRzJDO1lBQ3ZCTixhQUFhTTtZQUNiO1FBQ0Y7UUFFQSxNQUFNTyxXQUFXO1FBQ2pCLE1BQU1DLFlBQVlDLFlBQVlDLEdBQUc7UUFFakMsTUFBTUMsZUFBZSxDQUFDQyxJQUFjLElBQUlQLEtBQUtRLEdBQUcsQ0FBQyxJQUFJRCxHQUFHO1FBRXhELE1BQU1FLE9BQU8sQ0FBQ0o7WUFDWixNQUFNSyxVQUFVTCxNQUFNRjtZQUN0QixNQUFNUSxXQUFXWCxLQUFLWSxHQUFHLENBQUNGLFVBQVVSLFVBQVU7WUFDOUMsTUFBTVcsUUFBUVAsYUFBYUs7WUFDM0IsTUFBTUcsUUFBUWhCLGFBQWFDLFFBQVFjO1lBQ25DdkIsYUFBYXRDLE9BQU8sR0FBRzhEO1lBQ3ZCekIsYUFBYXlCO1lBRWIsSUFBSUgsV0FBVyxHQUFHO2dCQUNoQm5CLGtCQUFrQnhDLE9BQU8sR0FBRytELHNCQUFzQk47WUFDcEQsT0FBTztnQkFDTGpCLGtCQUFrQnhDLE9BQU8sR0FBRztZQUM5QjtRQUNGO1FBRUF3QyxrQkFBa0J4QyxPQUFPLEdBQUcrRCxzQkFBc0JOO0lBQ3BELEdBQUcsRUFBRTtJQUVMLE1BQU1PLHFCQUFxQnBHLGtEQUFXQSxDQUNwQyxDQUFDcUcsT0FBZ0MsU0FBUyxFQUFFQztRQUMxQyxJQUFJLENBQUNoQyxjQUFjbEMsT0FBTyxJQUFJLENBQUNtQyxZQUFZbkMsT0FBTyxFQUFFO1FBQ3BELE1BQU1tRSxXQUFXRCxvQkFBb0IzQixlQUFldkMsT0FBTztRQUMzRCxNQUFNb0UsZUFBZWxDLGNBQWNsQyxPQUFPLENBQUNxRSxXQUFXO1FBQ3RELE1BQU1DLFdBQVduQyxZQUFZbkMsT0FBTyxDQUFDdUUsV0FBVztRQUNoRCxNQUFNQyxTQUFTTCxXQUFXbkIsS0FBS3lCLEdBQUcsQ0FBQyxHQUFHLENBQUNMLGVBQWVFLFFBQU8sSUFBSyxLQUFLO1FBQ3ZFLElBQUksQ0FBQzFCLE9BQU9DLFFBQVEsQ0FBQzJCLFNBQVM7UUFDOUIsSUFBSVAsU0FBUyxhQUFhO1lBQ3hCM0IsYUFBYXRDLE9BQU8sR0FBR3dFO1lBQ3ZCbkMsYUFBYW1DO1FBQ2YsT0FBTztZQUNMOUIsY0FBYzhCO1FBQ2hCO0lBQ0YsR0FDQTtRQUFDOUI7S0FBYztJQUdqQjdFLGdEQUFTQSxDQUFDO1FBQ1JtRyxtQkFBbUIsYUFBYXpCLGVBQWV2QyxPQUFPO1FBQ3RELE1BQU0wRSxlQUFlLElBQU1WLG1CQUFtQixhQUFhekIsZUFBZXZDLE9BQU87UUFDakZaLE9BQU9DLGdCQUFnQixDQUFDLFVBQVVxRjtRQUNsQyxPQUFPLElBQU10RixPQUFPRSxtQkFBbUIsQ0FBQyxVQUFVb0Y7SUFDcEQsR0FBRztRQUFDVjtLQUFtQjtJQUV2Qm5HLGdEQUFTQSxDQUFDO1FBQ1IsSUFBSSxDQUFDc0UsWUFBWW5DLE9BQU8sSUFBSSxPQUFPMkUsbUJBQW1CLGFBQWE7UUFDbkUsTUFBTS9FLFdBQVcsSUFBSStFLGVBQWU7WUFDbENYLG1CQUFtQixhQUFhekIsZUFBZXZDLE9BQU87UUFDeEQ7UUFDQUosU0FBU0ssT0FBTyxDQUFDa0MsWUFBWW5DLE9BQU87UUFDcEMsT0FBTyxJQUFNSixTQUFTTSxVQUFVO0lBQ2xDLEdBQUc7UUFBQzhEO0tBQW1CO0lBRXZCbkcsZ0RBQVNBLENBQUM7UUFDUixNQUFNK0csVUFBVTFDLGNBQWNsQyxPQUFPO1FBQ3JDLElBQUksQ0FBQzRFLFNBQVM7UUFDZCxNQUFNQyxzQkFBc0IsQ0FBQ0M7WUFDM0IsSUFBSUEsTUFBTUMsWUFBWSxLQUFLLGVBQWVELE1BQU1DLFlBQVksS0FBSyxXQUFXRCxNQUFNQyxZQUFZLEtBQUssYUFBYTtnQkFDOUdmLG1CQUFtQnpCLGVBQWV2QyxPQUFPLEdBQUcsWUFBWSxhQUFhdUMsZUFBZXZDLE9BQU87WUFDN0Y7UUFDRjtRQUNBNEUsUUFBUXZGLGdCQUFnQixDQUFDLGlCQUFpQndGO1FBQzFDLE9BQU8sSUFBTUQsUUFBUXRGLG1CQUFtQixDQUFDLGlCQUFpQnVGO0lBQzVELEdBQUc7UUFBQ2I7S0FBbUI7SUFFdkIsNkJBQTZCO0lBQzdCLE1BQU1nQixlQUFlO1FBQ25CO1lBQ0VDLG9CQUNFLDhEQUFDcEU7Z0JBQUlILE9BQU87b0JBQUV3RSxTQUFTO29CQUFRQyxlQUFlO29CQUFVQyxZQUFZO29CQUFVQyxLQUFLO2dCQUFNOztrQ0FDdkYsOERBQUNDO3dCQUFJQyxTQUFRO3dCQUFZQyxNQUFLO3dCQUFPQyxPQUFPO3dCQUFJQyxRQUFRO3dCQUFJQyxPQUFNOzswQ0FFaEUsOERBQUNDO2dDQUFPQyxJQUFHO2dDQUFLQyxJQUFHO2dDQUFLQyxHQUFFO2dDQUFJUCxNQUFNckgsK0NBQU1BLENBQUMyQyxVQUFVOzs7Ozs7MENBQ3JELDhEQUFDOEU7Z0NBQU9DLElBQUc7Z0NBQUtDLElBQUc7Z0NBQUtDLEdBQUU7Z0NBQUlQLE1BQU1ySCwrQ0FBTUEsQ0FBQzJDLFVBQVU7Ozs7OzswQ0FDckQsOERBQUM4RTtnQ0FBT0MsSUFBRztnQ0FBS0MsSUFBRztnQ0FBS0MsR0FBRTtnQ0FBSVAsTUFBTXJILCtDQUFNQSxDQUFDMkMsVUFBVTs7Ozs7OzBDQUNyRCw4REFBQ2tGO2dDQUFLQyxHQUFFO2dDQUEyQkMsUUFBUS9ILCtDQUFNQSxDQUFDMkMsVUFBVTtnQ0FBRXFGLGFBQVk7Z0NBQUlDLGVBQWM7Ozs7OzswQ0FDNUYsOERBQUNKO2dDQUFLQyxHQUFFO2dDQUFxQkMsUUFBUS9ILCtDQUFNQSxDQUFDMkMsVUFBVTtnQ0FBRXFGLGFBQVk7Z0NBQUlFLFNBQVE7Ozs7Ozs7Ozs7OztrQ0FFbEYsOERBQUNDO3dCQUFLNUYsT0FBTzs0QkFBRUssT0FBTzVDLCtDQUFNQSxDQUFDMkMsVUFBVTs0QkFBRXlGLFVBQVU7NEJBQVFDLFlBQVk7NEJBQU9DLFlBQVk7d0JBQVM7a0NBQUc7Ozs7Ozs7Ozs7OztZQUcxR0MsT0FBTztZQUNQQyxNQUFNO1FBQ1I7UUFDQTtZQUNFMUIsb0JBQ0UsOERBQUNwRTtnQkFBSUgsT0FBTztvQkFBRXdFLFNBQVM7b0JBQVFDLGVBQWU7b0JBQVVDLFlBQVk7b0JBQVVDLEtBQUs7Z0JBQU07O2tDQUN2Riw4REFBQ0M7d0JBQUlDLFNBQVE7d0JBQVlDLE1BQUs7d0JBQU9DLE9BQU87d0JBQUlDLFFBQVE7d0JBQUlDLE9BQU07OzBDQUVoRSw4REFBQ0M7Z0NBQU9DLElBQUc7Z0NBQUtDLElBQUc7Z0NBQUtDLEdBQUU7Z0NBQUtHLFFBQVEvSCwrQ0FBTUEsQ0FBQzJDLFVBQVU7Z0NBQUVxRixhQUFZOzs7Ozs7MENBQ3RFLDhEQUFDSDtnQ0FBS0MsR0FBRTtnQ0FBOEVDLFFBQVEvSCwrQ0FBTUEsQ0FBQzJDLFVBQVU7Z0NBQUVxRixhQUFZOzs7Ozs7MENBQzdILDhEQUFDSDtnQ0FBS0MsR0FBRTtnQ0FBMkNDLFFBQVEvSCwrQ0FBTUEsQ0FBQzJDLFVBQVU7Z0NBQUVxRixhQUFZOzs7Ozs7Ozs7Ozs7a0NBRTVGLDhEQUFDRzt3QkFBSzVGLE9BQU87NEJBQUVLLE9BQU81QywrQ0FBTUEsQ0FBQzJDLFVBQVU7NEJBQUV5RixVQUFVOzRCQUFRQyxZQUFZOzRCQUFPQyxZQUFZO3dCQUFTO2tDQUFHOzs7Ozs7Ozs7Ozs7WUFHMUdDLE9BQU87WUFDUEMsTUFBTTtRQUNSO1FBQ0E7WUFDRTFCLG9CQUNFLDhEQUFDcEU7Z0JBQUlILE9BQU87b0JBQUV3RSxTQUFTO29CQUFRQyxlQUFlO29CQUFVQyxZQUFZO29CQUFVQyxLQUFLO2dCQUFNOztrQ0FDdkYsOERBQUNDO3dCQUFJQyxTQUFRO3dCQUFZQyxNQUFLO3dCQUFPQyxPQUFPO3dCQUFJQyxRQUFRO3dCQUFJQyxPQUFNOzswQ0FFaEUsOERBQUNDO2dDQUFPQyxJQUFHO2dDQUFLQyxJQUFHO2dDQUFLQyxHQUFFO2dDQUFJUCxNQUFNckgsK0NBQU1BLENBQUMyQyxVQUFVOzs7Ozs7MENBQ3JELDhEQUFDOEU7Z0NBQU9DLElBQUc7Z0NBQUtDLElBQUc7Z0NBQUtDLEdBQUU7Z0NBQUlQLE1BQU1ySCwrQ0FBTUEsQ0FBQzJDLFVBQVU7Ozs7OzswQ0FDckQsOERBQUM4RTtnQ0FBT0MsSUFBRztnQ0FBS0MsSUFBRztnQ0FBS0MsR0FBRTtnQ0FBSVAsTUFBTXJILCtDQUFNQSxDQUFDMkMsVUFBVTs7Ozs7OzBDQUNyRCw4REFBQzhFO2dDQUFPQyxJQUFHO2dDQUFLQyxJQUFHO2dDQUFLQyxHQUFFO2dDQUFJUCxNQUFNckgsK0NBQU1BLENBQUMyQyxVQUFVOzs7Ozs7MENBQ3JELDhEQUFDa0Y7Z0NBQUtDLEdBQUU7Z0NBQXVDQyxRQUFRL0gsK0NBQU1BLENBQUMyQyxVQUFVO2dDQUFFcUYsYUFBWTtnQ0FBSUMsZUFBYzs7Ozs7Ozs7Ozs7O2tDQUUxRyw4REFBQ0U7d0JBQUs1RixPQUFPOzRCQUFFSyxPQUFPNUMsK0NBQU1BLENBQUMyQyxVQUFVOzRCQUFFeUYsVUFBVTs0QkFBUUMsWUFBWTs0QkFBT0MsWUFBWTt3QkFBUztrQ0FBRzs7Ozs7Ozs7Ozs7O1lBRzFHQyxPQUFPO1lBQ1BDLE1BQU07UUFDUjtRQUNBO1lBQ0UxQixvQkFDRSw4REFBQ3BFO2dCQUFJSCxPQUFPO29CQUFFd0UsU0FBUztvQkFBUUMsZUFBZTtvQkFBVUMsWUFBWTtvQkFBVUMsS0FBSztnQkFBTTs7a0NBQ3ZGLDhEQUFDQzt3QkFBSUMsU0FBUTt3QkFBWUMsTUFBSzt3QkFBT0MsT0FBTzt3QkFBSUMsUUFBUTt3QkFBSUMsT0FBTTs7MENBRWhFLDhEQUFDSztnQ0FBS0MsR0FBRTtnQ0FBMEJDLFFBQVEvSCwrQ0FBTUEsQ0FBQzJDLFVBQVU7Z0NBQUVxRixhQUFZO2dDQUFJQyxlQUFjO2dDQUFRWixNQUFLOzs7Ozs7MENBQ3hHLDhEQUFDUTtnQ0FBS0MsR0FBRTtnQ0FBMkJDLFFBQVEvSCwrQ0FBTUEsQ0FBQzJDLFVBQVU7Z0NBQUVxRixhQUFZO2dDQUFJQyxlQUFjO2dDQUFRWixNQUFLO2dDQUFPYSxTQUFROzs7Ozs7MENBQ3hILDhEQUFDVDtnQ0FBT0MsSUFBRztnQ0FBS0MsSUFBRztnQ0FBS0MsR0FBRTtnQ0FBSVAsTUFBTXJILCtDQUFNQSxDQUFDMkMsVUFBVTtnQ0FBRXVGLFNBQVE7Ozs7Ozs7Ozs7OztrQ0FFakUsOERBQUNDO3dCQUFLNUYsT0FBTzs0QkFBRUssT0FBTzVDLCtDQUFNQSxDQUFDMkMsVUFBVTs0QkFBRXlGLFVBQVU7NEJBQVFDLFlBQVk7NEJBQU9DLFlBQVk7d0JBQVM7a0NBQUc7Ozs7Ozs7Ozs7OztZQUcxR0MsT0FBTztZQUNQQyxNQUFNO1FBQ1I7UUFDQTtZQUNFMUIsb0JBQ0UsOERBQUNwRTtnQkFBSUgsT0FBTztvQkFBRXdFLFNBQVM7b0JBQVFDLGVBQWU7b0JBQVVDLFlBQVk7b0JBQVVDLEtBQUs7Z0JBQU07O2tDQUN2Riw4REFBQ0M7d0JBQUlDLFNBQVE7d0JBQVlDLE1BQUs7d0JBQU9DLE9BQU87d0JBQUlDLFFBQVE7d0JBQUlDLE9BQU07OzBDQUVoRSw4REFBQ2lCO2dDQUFLQyxHQUFFO2dDQUFLQyxHQUFFO2dDQUFLckIsT0FBTTtnQ0FBS0MsUUFBTztnQ0FBS3FCLElBQUc7Z0NBQUliLFFBQVEvSCwrQ0FBTUEsQ0FBQzJDLFVBQVU7Z0NBQUVxRixhQUFZOzs7Ozs7MENBQ3pGLDhEQUFDSDtnQ0FBS0MsR0FBRTtnQ0FBOEJDLFFBQVEvSCwrQ0FBTUEsQ0FBQzJDLFVBQVU7Z0NBQUVxRixhQUFZO2dDQUFJQyxlQUFjOzs7Ozs7MENBQy9GLDhEQUFDUjtnQ0FBT0MsSUFBRztnQ0FBS0MsSUFBRztnQ0FBS0MsR0FBRTtnQ0FBSVAsTUFBTXJILCtDQUFNQSxDQUFDMkMsVUFBVTs7Ozs7Ozs7Ozs7O2tDQUV2RCw4REFBQ3dGO3dCQUFLNUYsT0FBTzs0QkFBRUssT0FBTzVDLCtDQUFNQSxDQUFDMkMsVUFBVTs0QkFBRXlGLFVBQVU7NEJBQVFDLFlBQVk7NEJBQU9DLFlBQVk7d0JBQVM7a0NBQUc7Ozs7Ozs7Ozs7OztZQUcxR0MsT0FBTztZQUNQQyxNQUFNO1FBQ1I7UUFDQTtZQUNFMUIsb0JBQ0UsOERBQUNwRTtnQkFBSUgsT0FBTztvQkFBRXdFLFNBQVM7b0JBQVFDLGVBQWU7b0JBQVVDLFlBQVk7b0JBQVVDLEtBQUs7Z0JBQU07O2tDQUN2Riw4REFBQ0M7d0JBQUlDLFNBQVE7d0JBQVlDLE1BQUs7d0JBQU9DLE9BQU87d0JBQUlDLFFBQVE7d0JBQUlDLE9BQU07OzBDQUVoRSw4REFBQ2lCO2dDQUFLQyxHQUFFO2dDQUFLQyxHQUFFO2dDQUFLckIsT0FBTTtnQ0FBS0MsUUFBTztnQ0FBS3FCLElBQUc7Z0NBQUliLFFBQVEvSCwrQ0FBTUEsQ0FBQzJDLFVBQVU7Z0NBQUVxRixhQUFZOzs7Ozs7MENBQ3pGLDhEQUFDSDtnQ0FBS0MsR0FBRTtnQ0FBcUJDLFFBQVEvSCwrQ0FBTUEsQ0FBQzJDLFVBQVU7Z0NBQUVxRixhQUFZO2dDQUFJQyxlQUFjO2dDQUFRWSxnQkFBZTs7Ozs7OzBDQUM3Ryw4REFBQ2hCO2dDQUFLQyxHQUFFO2dDQUFxQkMsUUFBUS9ILCtDQUFNQSxDQUFDMkMsVUFBVTtnQ0FBRXFGLGFBQVk7Z0NBQUlDLGVBQWM7Ozs7Ozs7Ozs7OztrQ0FFeEYsOERBQUNFO3dCQUFLNUYsT0FBTzs0QkFBRUssT0FBTzVDLCtDQUFNQSxDQUFDMkMsVUFBVTs0QkFBRXlGLFVBQVU7NEJBQVFDLFlBQVk7NEJBQU9DLFlBQVk7d0JBQVM7a0NBQUc7Ozs7Ozs7Ozs7OztZQUcxR0MsT0FBTztZQUNQQyxNQUFNO1FBQ1I7UUFDQTtZQUNFMUIsb0JBQ0UsOERBQUNwRTtnQkFBSUgsT0FBTztvQkFBRXdFLFNBQVM7b0JBQVFDLGVBQWU7b0JBQVVDLFlBQVk7b0JBQVVDLEtBQUs7Z0JBQU07O2tDQUN2Riw4REFBQ0M7d0JBQUlDLFNBQVE7d0JBQVlDLE1BQUs7d0JBQU9DLE9BQU87d0JBQUlDLFFBQVE7d0JBQUlDLE9BQU07OzBDQUVoRSw4REFBQ2lCO2dDQUFLQyxHQUFFO2dDQUFLQyxHQUFFO2dDQUFLckIsT0FBTTtnQ0FBS0MsUUFBTztnQ0FBS3FCLElBQUc7Z0NBQUliLFFBQVEvSCwrQ0FBTUEsQ0FBQzJDLFVBQVU7Z0NBQUVxRixhQUFZOzs7Ozs7MENBQ3pGLDhEQUFDSDtnQ0FBS0MsR0FBRTtnQ0FBOEJDLFFBQVEvSCwrQ0FBTUEsQ0FBQzJDLFVBQVU7Z0NBQUVxRixhQUFZO2dDQUFJQyxlQUFjOzs7Ozs7MENBQy9GLDhEQUFDUjtnQ0FBT0MsSUFBRztnQ0FBS0MsSUFBRztnQ0FBS0MsR0FBRTtnQ0FBSVAsTUFBTXJILCtDQUFNQSxDQUFDMkMsVUFBVTs7Ozs7Ozs7Ozs7O2tDQUV2RCw4REFBQ3dGO3dCQUFLNUYsT0FBTzs0QkFBRUssT0FBTzVDLCtDQUFNQSxDQUFDMkMsVUFBVTs0QkFBRXlGLFVBQVU7NEJBQVFDLFlBQVk7NEJBQU9DLFlBQVk7d0JBQVM7a0NBQUc7Ozs7Ozs7Ozs7OztZQUcxR0MsT0FBTztZQUNQQyxNQUFNO1FBQ1I7S0FDRDtJQUVELE1BQU1NLGFBQWE7UUFDakI7WUFDRVAsT0FBTztZQUNQUSxhQUFhO1lBQ2JDLE1BQU07UUFDUjtRQUNBO1lBQ0VULE9BQU87WUFDUFEsYUFBYTtZQUNiQyxNQUFNO1FBQ1I7UUFDQTtZQUNFVCxPQUFPO1lBQ1BRLGFBQWE7WUFDYkMsTUFBTTtRQUNSO1FBQ0E7WUFDRVQsT0FBTztZQUNQUSxhQUFhO1lBQ2JDLE1BQU07UUFDUjtLQUNEO0lBRUQsTUFBTUMsZ0JBQWdCbkksVUFBVTtJQUVoQyxNQUFNb0ksbUJBQW1CdkosNkNBQU1BLENBQUNzSjtJQUVoQ3ZKLGdEQUFTQSxDQUFDO1FBQ1IsTUFBTXlKLFdBQVdELGlCQUFpQnJILE9BQU87UUFDekNxSCxpQkFBaUJySCxPQUFPLEdBQUdvSDtRQUMzQjdFLGVBQWV2QyxPQUFPLEdBQUdvSDtRQUV6QixJQUFJRyxPQUFzQjtRQUMxQixJQUFJQyxPQUFzQjtRQUMxQixJQUFJQyxZQUEyQjtRQUUvQixJQUFJTCxlQUFlO1lBQ2pCLElBQUlFLGFBQWEsT0FBTztnQkFDdEJDLE9BQU94RCxzQkFBc0I7b0JBQzNCQyxtQkFBbUIsV0FBVztnQkFDaEM7Z0JBQ0F3RCxPQUFPekQsc0JBQXNCO29CQUMzQkMsbUJBQW1CLFdBQVc7Z0JBQ2hDO2dCQUNBeUQsWUFBWXJJLE9BQU9zSSxVQUFVLENBQUM7b0JBQzVCMUQsbUJBQW1CLFdBQVc7Z0JBQ2hDLEdBQUc7WUFDTCxPQUFPO2dCQUNMQSxtQkFBbUIsYUFBYTtZQUNsQztRQUNGLE9BQU87WUFDTHRCLGNBQWM7UUFDaEI7UUFFQSxPQUFPO1lBQ0wsSUFBSTZFLFNBQVMsTUFBTTlFLHFCQUFxQjhFO1lBQ3hDLElBQUlDLFNBQVMsTUFBTS9FLHFCQUFxQitFO1lBQ3hDLElBQUlDLGNBQWMsTUFBTXJJLE9BQU91SSxZQUFZLENBQUNGO1FBQzlDO0lBQ0YsR0FBRztRQUFDTDtRQUFlcEQ7UUFBb0J0QjtLQUFjO0lBRXJELHFCQUNFO2tCQUNFLDRFQUFDN0I7WUFBSUosV0FBVTtZQUErQkMsT0FBTztnQkFBRUMsaUJBQWlCeEMsK0NBQU1BLENBQUMyQyxVQUFVO1lBQUM7OzhCQUV4Riw4REFBQ0Q7b0JBQ0NKLFdBQVU7b0JBQ1ZDLE9BQU87d0JBQ0xrSCwwQkFBMEI7b0JBQzVCOzhCQUVBLDRFQUFDL0c7d0JBQ0NKLFdBQVU7d0JBQ1ZDLE9BQU87NEJBQ0xtSCxVQUFVVCxnQkFBZ0IsVUFBVTs0QkFDcEMzQixPQUFPMkIsZ0JBQWdCLFNBQVM7d0JBQ2xDO2tDQUVBLDRFQUFDNUksZ0VBQVlBOzRCQUNYaUgsT0FBTTs0QkFDTkMsUUFBTzs0QkFDUG9DLGNBQWM7NEJBQ2RDLFVBQVU7NEJBQ1ZDLG1CQUFtQjs0QkFDbkJ2SCxXQUFVOzRCQUNWQyxPQUFPO2dDQUNMdUgsV0FBVztnQ0FDWHRILGlCQUFpQixDQUFDLEVBQUV4QywrQ0FBTUEsQ0FBQ3lDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0NBQ3hDc0UsU0FBUztnQ0FDVEUsWUFBWTtnQ0FDWjhDLGdCQUFnQjtnQ0FDaEJDLFNBQVM7Z0NBQ1RDLFlBQVk7NEJBQ2Q7c0NBRUEsNEVBQUN2SDtnQ0FDQ2xCLEtBQUt1QztnQ0FDTHpCLFdBQVU7Z0NBQ1ZDLE9BQU87b0NBQ0xrSCwwQkFBMEI7Z0NBQzVCOztrREFHQSw4REFBQy9HO3dDQUNDbEIsS0FBS3dDO3dDQUNMMUIsV0FBVTt3Q0FDVkMsT0FBTzs0Q0FDTDJILFdBQVdqQixnQkFBZ0IsQ0FBQyxZQUFZLEVBQUVoRixVQUFVLEdBQUcsQ0FBQyxHQUFHOzRDQUMzRHdGLDBCQUEwQjt3Q0FDNUI7a0RBRUEsNEVBQUNsSiw0REFBT0E7NENBQ040SixNQUFLOzRDQUNMQyxTQUFROzRDQUNSQyxPQUFPO2dEQUNMO29EQUFFQyxPQUFPO29EQUFZOUIsTUFBTTtnREFBUztnREFDcEM7b0RBQUU4QixPQUFPO29EQUFjOUIsTUFBTTtnREFBWTtnREFDekM7b0RBQUU4QixPQUFPO29EQUFrQjlCLE1BQU07Z0RBQVc7NkNBQzdDOzRDQUNEK0IsWUFBVzs0Q0FDWEMsV0FBV3hLLCtDQUFNQSxDQUFDeUMsU0FBUzs0Q0FDM0JnSSxXQUFXekssK0NBQU1BLENBQUMyQyxVQUFVOzRDQUM1QitILHNCQUFzQjFLLCtDQUFNQSxDQUFDMkMsVUFBVTs0Q0FDdkNnSSxlQUFlM0ssK0NBQU1BLENBQUM2QyxPQUFPOzRDQUM3QlAsV0FBVTs7Ozs7Ozs7Ozs7a0RBSWQsOERBQUNJO3dDQUNDSixXQUFVO3dDQUNWQyxPQUFPOzRDQUNMMkYsU0FBU2UsZ0JBQWdCLElBQUk7NENBQzdCUyxVQUFVVCxnQkFBZ0IsVUFBVTs0Q0FDcEMyQixlQUFlM0IsZ0JBQWdCLFNBQVM7NENBQ3hDaUIsV0FBV2pCLGdCQUFnQixrQkFBa0I7NENBQzdDUSwwQkFBMEI7d0NBQzVCO2tEQUVBLDRFQUFDN0ksbURBQUlBOzRDQUFDNEgsTUFBSztzREFDVCw0RUFBQzNJLHlEQUFNQTtnREFBQ3lDLFdBQVU7Z0RBQXVKQyxPQUFPO29EQUFFQyxpQkFBaUJ4QywrQ0FBTUEsQ0FBQzZDLE9BQU87b0RBQUVELE9BQU81QywrQ0FBTUEsQ0FBQzJDLFVBQVU7Z0RBQUM7MERBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBVzNQLDhEQUFDa0k7b0JBQVFDLElBQUc7b0JBQU94SSxXQUFVOztzQ0FFM0IsOERBQUNJOzRCQUFJSixXQUFVOzs4Q0FDYiw4REFBQ3lJO29DQUNDQyxRQUFRO29DQUNSQyxLQUFLO29DQUNMQyxJQUFJO29DQUNKQyxXQUFXO29DQUNYN0ksV0FBVTtvQ0FDVkMsT0FBTzt3Q0FBRTZJLFFBQVE7b0NBQVk7OENBRTdCLDRFQUFDQzt3Q0FBT0MsS0FBSTt3Q0FBcUNDLE1BQUs7Ozs7Ozs7Ozs7OzhDQUV4RCw4REFBQzdJO29DQUNDSixXQUFVO29DQUNWQyxPQUFPO3dDQUNMSSxZQUFZLENBQUMsd0JBQXdCLEVBQUUzQywrQ0FBTUEsQ0FBQzZDLE9BQU8sQ0FBQyxJQUFJLEVBQUU3QywrQ0FBTUEsQ0FBQ3lDLFNBQVMsQ0FBQyxHQUFHLENBQUM7b0NBQ25GOzs7Ozs7Ozs7Ozs7c0NBTUosOERBQUNDOzRCQUFJbEIsS0FBSzJCOzRCQUFTYixXQUFVOzs4Q0FDM0IsOERBQUNrSjtvQ0FBR2xKLFdBQVcsQ0FBQyxxRkFBcUYsRUFDbkdjLGFBQWEsOEJBQThCLDJCQUM1QyxDQUFDOzhDQUNBLDRFQUFDK0U7d0NBQUs1RixPQUFPOzRDQUFFSyxPQUFPNUMsK0NBQU1BLENBQUMyQyxVQUFVO3dDQUFDO2tEQUFHOzs7Ozs7Ozs7Ozs4Q0FLN0MsOERBQUNEO29DQUFJSixXQUFXLENBQUMsMEhBQTBILEVBQ3pJYyxhQUFhLDhCQUE4QiwyQkFDNUMsQ0FBQzs4Q0FDQzt3Q0FBQzt3Q0FBcUI7d0NBQWdCO3dDQUFlO3FDQUFnQixDQUFDcUksR0FBRyxDQUFDLENBQUNDLHFCQUMxRSw4REFBQ3ZEOzRDQUVDN0YsV0FBVTs0Q0FDVkMsT0FBTztnREFDTEMsaUJBQWlCLENBQUMsRUFBRXhDLCtDQUFNQSxDQUFDMkMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnREFDekNNLGFBQWFqRCwrQ0FBTUEsQ0FBQzJMLFFBQVE7Z0RBQzVCL0ksT0FBTzVDLCtDQUFNQSxDQUFDNkMsT0FBTzs0Q0FDdkI7c0RBRUM2STsyQ0FSSUE7Ozs7Ozs7Ozs7OENBYVgsOERBQUNoSjtvQ0FBSUosV0FBVyxDQUFDLDRHQUE0RyxFQUMzSGMsYUFBYSw4QkFBOEIsMkJBQzVDLENBQUM7OENBQ0EsNEVBQUN2RCx5REFBTUE7d0NBQ0x3QyxTQUFTLElBQU11SixTQUFTQyxjQUFjLENBQUMsWUFBWUMsZUFBZTtnREFBRUMsVUFBVTs0Q0FBUzt3Q0FDdkZ6SixXQUFVO3dDQUNWQyxPQUFPOzRDQUNMQyxpQkFBaUJ4QywrQ0FBTUEsQ0FBQzJDLFVBQVU7NENBQ2xDQyxPQUFPNUMsK0NBQU1BLENBQUM2QyxPQUFPO3dDQUN2Qjs7MERBRUEsOERBQUMvQyw0RkFBUUE7Z0RBQUN3QyxXQUFVOzs7Ozs7MERBQ3BCLDhEQUFDNkY7MERBQUs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhDQUtWLDhEQUFDekY7b0NBQUlKLFdBQVU7OENBQ2IsNEVBQUNJO3dDQUFJSCxPQUFPOzRDQUFFeUosVUFBVTs0Q0FBWUMsVUFBVTs0Q0FBV3ZDLFVBQVU7d0NBQU87d0NBQUdwSCxXQUFVO2tEQUNyRiw0RUFBQ0k7NENBQUlILE9BQU87Z0RBQUVnRixRQUFRO2dEQUFTeUUsVUFBVTtnREFBWTFFLE9BQU87Z0RBQVE0RSxlQUFlO2dEQUFRRCxVQUFVOzRDQUFTOzRDQUFHM0osV0FBVTtzREFDekgsNEVBQUNoQyw0REFBUUE7Z0RBQ1A2TCxPQUFPdEY7Z0RBQ1B1RixPQUFPO2dEQUNQQyxXQUFVO2dEQUNWQyxZQUFZO2dEQUNacEYsS0FBSztnREFDTHFGLFlBQVk7Z0RBQ1pDLFlBQVk7Z0RBQ1pDLFdBQVU7Z0RBQ1ZsSyxPQUFPO29EQUFFK0UsT0FBTztnREFBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhCQVNuQyw4REFBQ3VEO29CQUNDQyxJQUFHO29CQUNIdEosS0FBS21DO29CQUNMckIsV0FBVTtvQkFDVkMsT0FBTzt3QkFBRUMsaUJBQWlCLENBQUMsRUFBRXhDLCtDQUFNQSxDQUFDMkMsVUFBVSxDQUFDLEVBQUUsQ0FBQzt3QkFBRXFKLFVBQVU7d0JBQVlVLFFBQVE7b0JBQUc7OEJBRXJGLDRFQUFDaEs7d0JBQUlKLFdBQVU7a0NBQ2IsNEVBQUNJOzRCQUFJSixXQUFVOzs4Q0FFYiw4REFBQ0k7b0NBQUlKLFdBQVU7OENBQ2IsNEVBQUNsQyxtRUFBZUE7Ozs7Ozs7Ozs7OENBSWxCLDhEQUFDc0M7b0NBQUlKLFdBQVcsQ0FBQyxvRkFBb0YsRUFDbkdzQixjQUFjLDhCQUE4QiwyQkFDN0MsQ0FBQzs7c0RBQ0EsOERBQUMrSTs0Q0FBR3JLLFdBQVU7NENBQTBGQyxPQUFPO2dEQUFFSyxPQUFPNUMsK0NBQU1BLENBQUM2QyxPQUFPOzRDQUFDOzs4REFDckksOERBQUNzRjtvREFBSzdGLFdBQVU7OERBQWU7Ozs7OztnREFBa0I7OERBQ2pELDhEQUFDNkY7b0RBQUs3RixXQUFVOzhEQUFlOzs7Ozs7Z0RBQVk7OERBQzNDLDhEQUFDNkY7b0RBQUs3RixXQUFVOzhEQUFlOzs7Ozs7Ozs7Ozs7c0RBR2pDLDhEQUFDSTs0Q0FDQ0osV0FBVTs0Q0FDVkMsT0FBTztnREFDTEssT0FBTzVDLCtDQUFNQSxDQUFDeUMsU0FBUztnREFDdkI2RSxPQUFPO2dEQUNQb0MsVUFBVTtnREFDVmtELGFBQWE7Z0RBQ2JDLFdBQVc7Z0RBQ1hDLFlBQVk7Z0RBQ1pDLFdBQVc7NENBQ2I7c0RBQ0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBU1QsOERBQUNsQztvQkFDQ0MsSUFBRztvQkFDSHRKLEtBQUs2QjtvQkFDTGYsV0FBVTtvQkFDVkMsT0FBTzt3QkFBRUMsaUJBQWlCeEMsK0NBQU1BLENBQUM2QyxPQUFPO29CQUFDOztzQ0FFekMsOERBQUNsQyw2RUFBZUE7NEJBQUMyQixXQUFVOzs7Ozs7c0NBQzNCLDhEQUFDSTs0QkFBSUosV0FBVTs7Ozs7O3NDQUVmLDhEQUFDSTs0QkFBSUosV0FBVTs7OENBQ2IsOERBQUNJO29DQUFJSixXQUFVOztzREFDYiw4REFBQ3FLOzRDQUFHckssV0FBVyxDQUFDLDRMQUE0TCxFQUMxTWdCLGlCQUFpQiw4QkFBOEIsMkJBQ2hELENBQUM7c0RBQUU7Ozs7OztzREFHSiw4REFBQ1A7NENBQUVULFdBQVcsQ0FBQyw4RUFBOEUsRUFDM0ZnQixpQkFBaUIsOEJBQThCLDJCQUNoRCxDQUFDO3NEQUFFOzs7Ozs7Ozs7Ozs7OENBS04sOERBQUNaO29DQUNDSixXQUFXLENBQUMsMkNBQTJDLEVBQ3JEZ0IsaUJBQWlCLDhCQUE4QiwyQkFDaEQsQ0FBQzs4Q0FFRiw0RUFBQzVDLHVGQUFjQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFPckIsOERBQUNtSztvQkFDQ0MsSUFBRztvQkFDSHRKLEtBQUsrQjtvQkFDTGpCLFdBQVU7b0JBQ1ZDLE9BQU87d0JBQUVDLGlCQUFpQixDQUFDLEVBQUV4QywrQ0FBTUEsQ0FBQzJDLFVBQVUsQ0FBQyxFQUFFLENBQUM7b0JBQUM7OEJBRW5ELDRFQUFDRDt3QkFBSUosV0FBVTs7MENBQ2IsOERBQUNJO2dDQUFJSixXQUFVOztrREFDYiw4REFBQ3FLO3dDQUFHckssV0FBVyxDQUFDLHFGQUFxRixFQUNuR2tCLGdCQUFnQiw4QkFBOEIsMkJBQy9DLENBQUM7d0NBQUVqQixPQUFPOzRDQUFFSyxPQUFPNUMsK0NBQU1BLENBQUM2QyxPQUFPO3dDQUFDO2tEQUFHOzs7Ozs7a0RBR3RDLDhEQUFDRTt3Q0FBRVQsV0FBVyxDQUFDLDBEQUEwRCxFQUN2RWtCLGdCQUFnQiw4QkFBOEIsMkJBQy9DLENBQUM7d0NBQUVqQixPQUFPOzRDQUFFSyxPQUFPNUMsK0NBQU1BLENBQUN5QyxTQUFTO3dDQUFDO2tEQUFHOzs7Ozs7Ozs7Ozs7MENBSzFDLDhEQUFDQztnQ0FDQ0osV0FBVTtnQ0FDVkMsT0FBTztvQ0FDTEksWUFBWSxDQUFDLHdCQUF3QixFQUFFM0MsK0NBQU1BLENBQUMyQyxVQUFVLENBQUMsSUFBSSxFQUFFM0MsK0NBQU1BLENBQUMyQyxVQUFVLENBQUMsR0FBRyxDQUFDO2dDQUN2RjswQ0FFQSw0RUFBQ25DLHFFQUFZQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhCQU1uQiw4REFBQ3FLO29CQUNDQyxJQUFHO29CQUNIdEosS0FBS2lDO29CQUNMbkIsV0FBVTtvQkFDVkMsT0FBTzt3QkFBRUMsaUJBQWlCLENBQUMsRUFBRXhDLCtDQUFNQSxDQUFDNkMsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFBQzs4QkFFaEQsNEVBQUNIO3dCQUFJSixXQUFVOzswQ0FDYiw4REFBQ0k7Z0NBQUlKLFdBQVU7O2tEQUNiLDhEQUFDcUs7d0NBQUdySyxXQUFXLENBQUMscUZBQXFGLEVBQ25Hb0IsZ0JBQWdCLDhCQUE4QiwyQkFDL0MsQ0FBQzt3Q0FBRW5CLE9BQU87NENBQUVLLE9BQU81QywrQ0FBTUEsQ0FBQzJMLFFBQVE7d0NBQUM7a0RBQUc7Ozs7OztrREFHdkMsOERBQUM1STt3Q0FBRVQsV0FBVyxDQUFDLDBEQUEwRCxFQUN2RW9CLGdCQUFnQiw4QkFBOEIsMkJBQy9DLENBQUM7d0NBQUVuQixPQUFPOzRDQUFFSyxPQUFPNUMsK0NBQU1BLENBQUMyQyxVQUFVO3dDQUFDO2tEQUFHOzs7Ozs7Ozs7Ozs7MENBSzNDLDhEQUFDRDtnQ0FBSUosV0FBVyxDQUFDLDJGQUEyRixFQUMxR29CLGdCQUFnQiw4QkFBOEIsMkJBQy9DLENBQUM7Z0NBQUVuQixPQUFPO29DQUFFQyxpQkFBaUIsQ0FBQyxFQUFFeEMsK0NBQU1BLENBQUMyQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dDQUFDOztrREFDckQsOERBQUNHO3dDQUFHUixXQUFVO3dDQUFzQ0MsT0FBTzs0Q0FBRUssT0FBTzVDLCtDQUFNQSxDQUFDNkMsT0FBTzt3Q0FBQztrREFBRzs7Ozs7O2tEQUd0Riw4REFBQ0U7d0NBQUVULFdBQVU7d0NBQTBDQyxPQUFPOzRDQUFFSyxPQUFPNUMsK0NBQU1BLENBQUN5QyxTQUFTO3dDQUFDO2tEQUFHOzs7Ozs7a0RBSTNGLDhEQUFDdEMsbUVBQWVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhCQU10Qiw4REFBQzBLO29CQUNDdkksV0FBVTtvQkFDVkMsT0FBTzt3QkFBRUMsaUJBQWlCLENBQUMsRUFBRXhDLCtDQUFNQSxDQUFDMkMsVUFBVSxDQUFDLEVBQUUsQ0FBQztvQkFBQzs4QkFFbkQsNEVBQUNEO3dCQUFJSixXQUFVO2tDQUNiLDRFQUFDSTs0QkFBSUosV0FBVTs7OENBRWIsOERBQUNJOztzREFDQyw4REFBQ2lLOzRDQUFHckssV0FBVTs0Q0FBOENDLE9BQU87Z0RBQUVLLE9BQU81QywrQ0FBTUEsQ0FBQzZDLE9BQU87NENBQUM7c0RBQUc7Ozs7OztzREFHOUYsOERBQUNFOzRDQUFFVCxXQUFVOzRDQUFxQ0MsT0FBTztnREFBRUssT0FBTzVDLCtDQUFNQSxDQUFDeUMsU0FBUzs0Q0FBQztzREFBRzs7Ozs7Ozs7Ozs7OzhDQU14Riw4REFBQ0M7O3NEQUNDLDhEQUFDaUs7NENBQUdySyxXQUFVOzRDQUE4Q0MsT0FBTztnREFBRUssT0FBTzVDLCtDQUFNQSxDQUFDNkMsT0FBTzs0Q0FBQztzREFBRzs7Ozs7O3NEQUc5Riw4REFBQ0g7NENBQ0NKLFdBQVU7NENBQ1ZDLE9BQU87Z0RBQ0xJLFlBQVksQ0FBQyx3QkFBd0IsRUFBRTNDLCtDQUFNQSxDQUFDMkMsVUFBVSxDQUFDLElBQUksRUFBRTNDLCtDQUFNQSxDQUFDMkwsUUFBUSxDQUFDLEdBQUcsQ0FBQztnREFDbkYxSSxhQUFhLENBQUMsRUFBRWpELCtDQUFNQSxDQUFDeUMsU0FBUyxDQUFDLEVBQUUsQ0FBQzs0Q0FDdEM7c0RBRUEsNEVBQUNDO2dEQUFJSixXQUFVOzBEQUNiLDRFQUFDN0IsMEVBQVdBO29EQUNWNEosT0FBT3ZCO29EQUNQeEcsV0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBVXhCLDhEQUFDdUk7b0JBQ0NySixLQUFLcUM7b0JBQ0xpSCxJQUFHO29CQUNIeEksV0FBVTtvQkFDVkMsT0FBTzt3QkFBRUMsaUJBQWlCeEMsK0NBQU1BLENBQUN5QyxTQUFTO29CQUFDOzhCQUUzQyw0RUFBQ0M7d0JBQUlKLFdBQVU7OzBDQUNiLDhEQUFDSTtnQ0FBSUosV0FBVTs7a0RBQ2IsOERBQUNxSzt3Q0FDQ3JLLFdBQVU7d0NBQ1ZDLE9BQU87NENBQUVLLE9BQU81QywrQ0FBTUEsQ0FBQzJDLFVBQVU7d0NBQUM7a0RBQ25DOzs7Ozs7a0RBR0QsOERBQUNJO3dDQUNDVCxXQUFVO3dDQUNWQyxPQUFPOzRDQUFFSyxPQUFPNUMsK0NBQU1BLENBQUMyQyxVQUFVO3dDQUFDO2tEQUNuQzs7Ozs7Ozs7Ozs7OzBDQUtILDhEQUFDRDtnQ0FBSUosV0FBVyxDQUFDLDZCQUE2QixFQUM1Q3dCLGdCQUFnQiw4QkFBOEIsMkJBQy9DLENBQUM7MENBQ0EsNEVBQUM3RCwrRUFBMkJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBTWxDLDhEQUFDK007b0JBQ0MxSyxXQUFVO29CQUNWQyxPQUFPO3dCQUNMQyxpQkFBaUIsQ0FBQyxFQUFFeEMsK0NBQU1BLENBQUM2QyxPQUFPLENBQUMsRUFBRSxDQUFDO3dCQUN0Q0ksYUFBYWpELCtDQUFNQSxDQUFDeUMsU0FBUztvQkFDL0I7OEJBRUEsNEVBQUNDO3dCQUFJSixXQUFVOzswQ0FDYiw4REFBQ0k7Z0NBQUlKLFdBQVU7O2tEQUNiLDhEQUFDSTt3Q0FBSUosV0FBVTs7MERBQ2IsOERBQUNJO2dEQUNDSixXQUFVO2dEQUNWQyxPQUFPO29EQUFFSyxPQUFPNUMsK0NBQU1BLENBQUMyTCxRQUFRO2dEQUFDOztrRUFFaEMsOERBQUN4RDt3REFBSzdGLFdBQVU7a0VBQWdCOzs7Ozs7a0VBQ2hDLDhEQUFDSTt3REFDQ0osV0FBVTt3REFDVkMsT0FBTzs0REFBRUMsaUJBQWlCeEMsK0NBQU1BLENBQUN5QyxTQUFTO3dEQUFDOzs7Ozs7Ozs7Ozs7MERBRy9DLDhEQUFDTTtnREFDQ1QsV0FBVTtnREFDVkMsT0FBTztvREFBRUssT0FBTzVDLCtDQUFNQSxDQUFDMkMsVUFBVTtnREFBQzswREFDbkM7Ozs7Ozs7Ozs7OztrREFJSCw4REFBQ0Q7OzBEQUNDLDhEQUFDdUs7Z0RBQUczSyxXQUFVO2dEQUEwQ0MsT0FBTztvREFBRUssT0FBTzVDLCtDQUFNQSxDQUFDMkwsUUFBUTtnREFBQzswREFBRzs7Ozs7OzBEQUczRiw4REFBQ3VCO2dEQUFHNUssV0FBVTtnREFBaUNDLE9BQU87b0RBQUVLLE9BQU81QywrQ0FBTUEsQ0FBQzJDLFVBQVU7Z0RBQUM7MERBQzlFO29EQUFDO29EQUFhO29EQUFjO29EQUFPO2lEQUFVLENBQUM4SSxHQUFHLENBQUMsQ0FBQ0MscUJBQ2xELDhEQUFDeUI7a0VBQ0MsNEVBQUNDOzREQUFFNUUsTUFBSzs0REFBSWxHLFdBQVU7c0VBQXVDb0o7Ozs7Ozt1REFEdERBOzs7Ozs7Ozs7Ozs7Ozs7O2tEQU1mLDhEQUFDaEo7OzBEQUNDLDhEQUFDdUs7Z0RBQUczSyxXQUFVO2dEQUEwQ0MsT0FBTztvREFBRUssT0FBTzVDLCtDQUFNQSxDQUFDMkwsUUFBUTtnREFBQzswREFBRzs7Ozs7OzBEQUczRiw4REFBQ3VCO2dEQUFHNUssV0FBVTtnREFBaUNDLE9BQU87b0RBQUVLLE9BQU81QywrQ0FBTUEsQ0FBQzJDLFVBQVU7Z0RBQUM7O2tFQUMvRSw4REFBQ3dLO2tFQUFHLDRFQUFDdk0sbURBQUlBOzREQUFDNEgsTUFBSzs0REFBYWxHLFdBQVU7c0VBQXNDOzs7Ozs7Ozs7OztrRUFDNUUsOERBQUM2SztrRUFBRyw0RUFBQ3ZNLG1EQUFJQTs0REFBQzRILE1BQUs7NERBQWVsRyxXQUFVO3NFQUFzQzs7Ozs7Ozs7Ozs7a0VBQzlFLDhEQUFDNks7a0VBQUcsNEVBQUN2TSxtREFBSUE7NERBQUM0SCxNQUFLOzREQUFPbEcsV0FBVTtzRUFBc0M7Ozs7Ozs7Ozs7O2tFQUN0RSw4REFBQzZLO2tFQUFHLDRFQUFDdk0sbURBQUlBOzREQUFDNEgsTUFBSzs0REFBWWxHLFdBQVU7c0VBQXNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQ0FJakYsOERBQUNJO2dDQUNDSixXQUFVO2dDQUNWQyxPQUFPO29DQUNMVSxhQUFhakQsK0NBQU1BLENBQUN5QyxTQUFTO29DQUM3QkcsT0FBTzVDLCtDQUFNQSxDQUFDMkMsVUFBVTtnQ0FDMUI7MENBRUEsNEVBQUNJOzhDQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhCQVNULDhEQUFDZjs7Ozs7OEJBR0QsOERBQUM5QixxRUFBaUJBOzs7Ozs7Ozs7Ozs7QUFJMUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9hcHAvcGFnZS50c3g/NzYwMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcclxuXHJcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIjtcclxuaW1wb3J0IHsgQ2FsZW5kYXIsIENvb2tpZSB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcclxuaW1wb3J0IHsgY29sb3JzIH0gZnJvbSBcIkAvbGliL2NvbG9yc1wiO1xyXG5pbXBvcnQgUHJvdGVjdGVkQXBwb2ludG1lbnRCb29raW5nIGZyb20gXCJAL2NvbXBvbmVudHMvUHJvdGVjdGVkQXBwb2ludG1lbnRCb29raW5nXCI7XHJcbmltcG9ydCBBcHBvaW50bWVudFN0YXR1cyBmcm9tIFwiQC9jb21wb25lbnRzL0FwcG9pbnRtZW50U3RhdHVzXCI7XHJcbmltcG9ydCBQcmljZUNhbGN1bGF0b3IgZnJvbSBcIkAvY29tcG9uZW50cy9QcmljZUNhbGN1bGF0b3JcIjtcclxuaW1wb3J0IFNwaW5uaW5nTnVtYmVycyBmcm9tIFwiQC9jb21wb25lbnRzL1NwaW5uaW5nTnVtYmVyc1wiO1xyXG5pbXBvcnQgR2xhc3NTdXJmYWNlIGZyb20gXCJAL2NvbXBvbmVudHMvR2xhc3NTdXJmYWNlXCI7XHJcbmltcG9ydCBMb2dvTG9vcCBmcm9tIFwiQC9jb21wb25lbnRzL0xvZ29Mb29wXCI7XHJcbmltcG9ydCBQaWxsTmF2IGZyb20gXCJAL2NvbXBvbmVudHMvUGlsbE5hdlwiO1xyXG5pbXBvcnQgVGltZWxpbmVEZW1vIGZyb20gXCJAL2NvbXBvbmVudHMvdWkvdGltZWxpbmUtZGVtb1wiO1xyXG5pbXBvcnQgeyBIb3ZlckVmZmVjdCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvY2FyZC1ob3Zlci1lZmZlY3RcIjtcclxuaW1wb3J0IEhlcm9TY3JvbGxEZW1vIGZyb20gXCJAL2NvbXBvbmVudHMvdWkvY29udGFpbmVyLXNjcm9sbC1hbmltYXRpb24tZGVtb1wiO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kQmVhbXMgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2JhY2tncm91bmQtYmVhbXNcIjtcclxuaW1wb3J0IExpbmsgZnJvbSAnbmV4dC9saW5rJztcclxuXHJcbi8vIFNjcm9sbCBhbmltYXRpb24gaG9va1xyXG5jb25zdCB1c2VTY3JvbGxBbmltYXRpb24gPSAoKSA9PiB7XHJcbiAgY29uc3QgW3Njcm9sbFksIHNldFNjcm9sbFldID0gdXNlU3RhdGUoMCk7XHJcbiAgXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHNldFNjcm9sbFkod2luZG93LnNjcm9sbFkpO1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XHJcbiAgICByZXR1cm4gKCkgPT4gd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XHJcbiAgfSwgW10pO1xyXG4gIFxyXG4gIHJldHVybiBzY3JvbGxZO1xyXG59O1xyXG5cclxuLy8gSW50ZXJzZWN0aW9uIE9ic2VydmVyIGhvb2sgZm9yIGZhZGUtaW4gYW5pbWF0aW9uc1xyXG5jb25zdCB1c2VJblZpZXcgPSAodGhyZXNob2xkID0gMC4xKSA9PiB7XHJcbiAgY29uc3QgW2lzSW5WaWV3LCBzZXRJc0luVmlld10gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxyXG4gICAgICAoW2VudHJ5XSkgPT4ge1xyXG4gICAgICAgIGlmIChlbnRyeS5pc0ludGVyc2VjdGluZykge1xyXG4gICAgICAgICAgc2V0SXNJblZpZXcodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICB7IHRocmVzaG9sZCB9XHJcbiAgICApO1xyXG5cclxuICAgIGlmIChyZWYuY3VycmVudCkge1xyXG4gICAgICBvYnNlcnZlci5vYnNlcnZlKHJlZi5jdXJyZW50KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gIH0sIFt0aHJlc2hvbGRdKTtcclxuXHJcbiAgcmV0dXJuIFtyZWYsIGlzSW5WaWV3XSBhcyBjb25zdDtcclxufTtcclxuXHJcbi8vIENvb2tpZSBCdXR0b24gQ29tcG9uZW50XHJcbmNvbnN0IENvb2tpZUJ1dHRvbiA9ICgpID0+IHtcclxuICBjb25zdCBbc2hvd0Jhbm5lciwgc2V0U2hvd0Jhbm5lcl0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcblxyXG4gIGNvbnN0IGhhbmRsZUFjY2VwdCA9ICgpID0+IHtcclxuICAgIHNldFNob3dCYW5uZXIoZmFsc2UpO1xyXG4gICAgLy8gQWRkIGNvb2tpZSBhY2NlcHRhbmNlIGxvZ2ljIGhlcmVcclxuICB9O1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPD5cclxuICAgICAgey8qIENvb2tpZSBCdXR0b24gKi99XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTaG93QmFubmVyKHRydWUpfVxyXG4gICAgICAgIGNsYXNzTmFtZT1cImZpeGVkIGJvdHRvbS02IGxlZnQtNiB6LTUwIHctMTQgaC0xNCByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgc2hhZG93LWxnIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBob3ZlcjpzY2FsZS0xMTBcIlxyXG4gICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogY29sb3JzLnNlY29uZGFyeSB9fVxyXG4gICAgICA+XHJcbiAgICAgICAgPENvb2tpZSBjbGFzc05hbWU9XCJ3LTYgaC02IHRleHQtd2hpdGVcIiAvPlxyXG4gICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgIHsvKiBDb29raWUgQmFubmVyICovfVxyXG4gICAgICB7c2hvd0Jhbm5lciAmJiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaXhlZCBpbnNldC0wIGJnLWJsYWNrLzUwIGJhY2tkcm9wLWJsdXItc20gei01MCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTRcIj5cclxuICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1heC13LW1kIHctZnVsbCBwLTYgcm91bmRlZC0zeGwgc2hhZG93LTJ4bFwiXHJcbiAgICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogY29sb3JzLmJhY2tncm91bmQgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTMgbWItNFwiPlxyXG4gICAgICAgICAgICAgIDxDb29raWUgY2xhc3NOYW1lPVwidy02IGgtNlwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMucHJpbWFyeSB9fSAvPlxyXG4gICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGRcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgICBDb29raWUtRWluc3RlbGx1bmdlblxyXG4gICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtYi02IHRleHQtc21cIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnNlY29uZGFyeSB9fT5cclxuICAgICAgICAgICAgICBXaXIgdmVyd2VuZGVuIENvb2tpZXMsIHVtIElocmUgRXJmYWhydW5nIHp1IHZlcmJlc3Nlcm4uIER1cmNoIGRpZSBOdXR6dW5nIHVuc2VyZXIgV2Vic2l0ZSBzdGltbWVuIFNpZSB1bnNlcmVyIERhdGVuc2NodXR6cmljaHRsaW5pZSB6dS5cclxuICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggc3BhY2UteC0zXCI+XHJcbiAgICAgICAgICAgICAgPEJ1dHRvbiBcclxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUFjY2VwdH1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXgtMSByb3VuZGVkLWZ1bGwgZm9udC1tZWRpdW1cIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLnByaW1hcnksXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZFxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBBa3plcHRpZXJlblxyXG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxCdXR0b24gXHJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTaG93QmFubmVyKGZhbHNlKX1cclxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lXCIgXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4LTEgcm91bmRlZC1mdWxsXCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogY29sb3JzLnNlY29uZGFyeSxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy5zZWNvbmRhcnlcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgQWJsZWhuZW5cclxuICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKX1cclxuICAgIDwvPlxyXG4gICk7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBBYm91dFNlcnZpY2VQYWdlKCkge1xyXG4gIGNvbnN0IHNjcm9sbFkgPSB1c2VTY3JvbGxBbmltYXRpb24oKTtcclxuICBjb25zdCBbaGVyb1JlZiwgaGVyb0luVmlld10gPSB1c2VJblZpZXcoKTtcclxuICBjb25zdCBbc2VydmljZXNSZWYsIHNlcnZpY2VzSW5WaWV3XSA9IHVzZUluVmlldygpO1xyXG4gIGNvbnN0IFtwcm9jZXNzUmVmLCBwcm9jZXNzSW5WaWV3XSA9IHVzZUluVmlldygpO1xyXG4gIGNvbnN0IFtwcmljaW5nUmVmLCBwcmljaW5nSW5WaWV3XSA9IHVzZUluVmlldygpO1xyXG4gIGNvbnN0IFthYm91dFJlZiwgYWJvdXRJblZpZXddID0gdXNlSW5WaWV3KCk7XHJcbiAgY29uc3QgW2NvbnRhY3RSZWYsIGNvbnRhY3RJblZpZXddID0gdXNlSW5WaWV3KCk7XHJcbiAgY29uc3QgbmF2V3JhcHBlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XHJcbiAgY29uc3QgbmF2SW5uZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xyXG4gIGNvbnN0IFtuYXZPZmZzZXQsIHNldE5hdk9mZnNldF0gPSB1c2VTdGF0ZSgwKTtcclxuICBjb25zdCBuYXZPZmZzZXRSZWYgPSB1c2VSZWYoMCk7XHJcbiAgY29uc3QgbmF2RXhwYW5kZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xyXG4gIGNvbnN0IGFuaW1hdGlvbkZyYW1lUmVmID0gdXNlUmVmPG51bWJlciB8IG51bGw+KG51bGwpO1xyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgbmF2T2Zmc2V0UmVmLmN1cnJlbnQgPSBuYXZPZmZzZXQ7XHJcbiAgfSwgW25hdk9mZnNldF0pO1xyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgcmV0dXJuICgpID0+IHtcclxuICAgICAgaWYgKGFuaW1hdGlvbkZyYW1lUmVmLmN1cnJlbnQpIHtcclxuICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShhbmltYXRpb25GcmFtZVJlZi5jdXJyZW50KTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9LCBbXSk7XHJcblxyXG4gIGNvbnN0IGFuaW1hdGVPZmZzZXQgPSB1c2VDYWxsYmFjaygodGFyZ2V0OiBudW1iZXIpID0+IHtcclxuICAgIGlmICghTnVtYmVyLmlzRmluaXRlKHRhcmdldCkpIHJldHVybjtcclxuICAgIGlmIChhbmltYXRpb25GcmFtZVJlZi5jdXJyZW50KSB7XHJcbiAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGFuaW1hdGlvbkZyYW1lUmVmLmN1cnJlbnQpO1xyXG4gICAgICBhbmltYXRpb25GcmFtZVJlZi5jdXJyZW50ID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzdGFydFZhbHVlID0gbmF2T2Zmc2V0UmVmLmN1cnJlbnQ7XHJcbiAgICBjb25zdCBkZWx0YSA9IHRhcmdldCAtIHN0YXJ0VmFsdWU7XHJcbiAgICBpZiAoTWF0aC5hYnMoZGVsdGEpIDwgMC41KSB7XHJcbiAgICAgIG5hdk9mZnNldFJlZi5jdXJyZW50ID0gdGFyZ2V0O1xyXG4gICAgICBzZXROYXZPZmZzZXQodGFyZ2V0KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGR1cmF0aW9uID0gNTIwO1xyXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XHJcblxyXG4gICAgY29uc3QgZWFzZU91dEN1YmljID0gKHQ6IG51bWJlcikgPT4gMSAtIE1hdGgucG93KDEgLSB0LCAzKTtcclxuXHJcbiAgICBjb25zdCBzdGVwID0gKG5vdzogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGNvbnN0IGVsYXBzZWQgPSBub3cgLSBzdGFydFRpbWU7XHJcbiAgICAgIGNvbnN0IHByb2dyZXNzID0gTWF0aC5taW4oZWxhcHNlZCAvIGR1cmF0aW9uLCAxKTtcclxuICAgICAgY29uc3QgZWFzZWQgPSBlYXNlT3V0Q3ViaWMocHJvZ3Jlc3MpO1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IHN0YXJ0VmFsdWUgKyBkZWx0YSAqIGVhc2VkO1xyXG4gICAgICBuYXZPZmZzZXRSZWYuY3VycmVudCA9IHZhbHVlO1xyXG4gICAgICBzZXROYXZPZmZzZXQodmFsdWUpO1xyXG5cclxuICAgICAgaWYgKHByb2dyZXNzIDwgMSkge1xyXG4gICAgICAgIGFuaW1hdGlvbkZyYW1lUmVmLmN1cnJlbnQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc3RlcCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYW5pbWF0aW9uRnJhbWVSZWYuY3VycmVudCA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgYW5pbWF0aW9uRnJhbWVSZWYuY3VycmVudCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTtcclxuICB9LCBbXSk7XHJcblxyXG4gIGNvbnN0IGNhbGN1bGF0ZU5hdk9mZnNldCA9IHVzZUNhbGxiYWNrKFxyXG4gICAgKG1vZGU6IFwiYW5pbWF0ZVwiIHwgXCJpbW1lZGlhdGVcIiA9IFwiYW5pbWF0ZVwiLCBleHBhbmRlZE92ZXJyaWRlPzogYm9vbGVhbikgPT4ge1xyXG4gICAgICBpZiAoIW5hdldyYXBwZXJSZWYuY3VycmVudCB8fCAhbmF2SW5uZXJSZWYuY3VycmVudCkgcmV0dXJuO1xyXG4gICAgICBjb25zdCBleHBhbmRlZCA9IGV4cGFuZGVkT3ZlcnJpZGUgPz8gbmF2RXhwYW5kZWRSZWYuY3VycmVudDtcclxuICAgICAgY29uc3Qgd3JhcHBlcldpZHRoID0gbmF2V3JhcHBlclJlZi5jdXJyZW50LmNsaWVudFdpZHRoO1xyXG4gICAgICBjb25zdCBuYXZXaWR0aCA9IG5hdklubmVyUmVmLmN1cnJlbnQub2Zmc2V0V2lkdGg7XHJcbiAgICAgIGNvbnN0IG9mZnNldCA9IGV4cGFuZGVkID8gTWF0aC5tYXgoMCwgKHdyYXBwZXJXaWR0aCAtIG5hdldpZHRoKSAvIDIpIDogMDtcclxuICAgICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUob2Zmc2V0KSkgcmV0dXJuO1xyXG4gICAgICBpZiAobW9kZSA9PT0gXCJpbW1lZGlhdGVcIikge1xyXG4gICAgICAgIG5hdk9mZnNldFJlZi5jdXJyZW50ID0gb2Zmc2V0O1xyXG4gICAgICAgIHNldE5hdk9mZnNldChvZmZzZXQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGFuaW1hdGVPZmZzZXQob2Zmc2V0KTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIFthbmltYXRlT2Zmc2V0XVxyXG4gICk7XHJcblxyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBjYWxjdWxhdGVOYXZPZmZzZXQoXCJpbW1lZGlhdGVcIiwgbmF2RXhwYW5kZWRSZWYuY3VycmVudCk7XHJcbiAgICBjb25zdCBoYW5kbGVSZXNpemUgPSAoKSA9PiBjYWxjdWxhdGVOYXZPZmZzZXQoXCJpbW1lZGlhdGVcIiwgbmF2RXhwYW5kZWRSZWYuY3VycmVudCk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBoYW5kbGVSZXNpemUpO1xyXG4gICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIGhhbmRsZVJlc2l6ZSk7XHJcbiAgfSwgW2NhbGN1bGF0ZU5hdk9mZnNldF0pO1xyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgaWYgKCFuYXZJbm5lclJlZi5jdXJyZW50IHx8IHR5cGVvZiBSZXNpemVPYnNlcnZlciA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuO1xyXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xyXG4gICAgICBjYWxjdWxhdGVOYXZPZmZzZXQoXCJpbW1lZGlhdGVcIiwgbmF2RXhwYW5kZWRSZWYuY3VycmVudCk7XHJcbiAgICB9KTtcclxuICAgIG9ic2VydmVyLm9ic2VydmUobmF2SW5uZXJSZWYuY3VycmVudCk7XHJcbiAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gIH0sIFtjYWxjdWxhdGVOYXZPZmZzZXRdKTtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGNvbnN0IHdyYXBwZXIgPSBuYXZXcmFwcGVyUmVmLmN1cnJlbnQ7XHJcbiAgICBpZiAoIXdyYXBwZXIpIHJldHVybjtcclxuICAgIGNvbnN0IGhhbmRsZVRyYW5zaXRpb25FbmQgPSAoZXZlbnQ6IFRyYW5zaXRpb25FdmVudCkgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQucHJvcGVydHlOYW1lID09PSBcIm1heC13aWR0aFwiIHx8IGV2ZW50LnByb3BlcnR5TmFtZSA9PT0gXCJ3aWR0aFwiIHx8IGV2ZW50LnByb3BlcnR5TmFtZSA9PT0gXCJ0cmFuc2Zvcm1cIikge1xyXG4gICAgICAgIGNhbGN1bGF0ZU5hdk9mZnNldChuYXZFeHBhbmRlZFJlZi5jdXJyZW50ID8gXCJhbmltYXRlXCIgOiBcImltbWVkaWF0ZVwiLCBuYXZFeHBhbmRlZFJlZi5jdXJyZW50KTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHdyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcihcInRyYW5zaXRpb25lbmRcIiwgaGFuZGxlVHJhbnNpdGlvbkVuZCk7XHJcbiAgICByZXR1cm4gKCkgPT4gd3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbmVuZFwiLCBoYW5kbGVUcmFuc2l0aW9uRW5kKTtcclxuICB9LCBbY2FsY3VsYXRlTmF2T2Zmc2V0XSk7XHJcblxyXG4gIC8vIFBhcnRuZXIgTG9nb3MgZsO8ciBMb2dvTG9vcFxyXG4gIGNvbnN0IHBhcnRuZXJMb2dvcyA9IFtcclxuICAgIHtcclxuICAgICAgbm9kZTogKFxyXG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzhweCcgfX0+XHJcbiAgICAgICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgNDggNDhcIiBmaWxsPVwibm9uZVwiIHdpZHRoPXs5Nn0gaGVpZ2h0PXs5Nn0geG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICB7LyogVHJhZWZpayAtIFJldmVyc2UgUHJveHkgbWl0IGRyZWkgUHVua3RlbiAqL31cclxuICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNlwiIHI9XCI0XCIgZmlsbD17Y29sb3JzLmJhY2tncm91bmR9Lz5cclxuICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjI0XCIgY3k9XCIyNFwiIHI9XCI0XCIgZmlsbD17Y29sb3JzLmJhY2tncm91bmR9Lz5cclxuICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjMyXCIgY3k9XCIzMlwiIHI9XCI0XCIgZmlsbD17Y29sb3JzLmJhY2tncm91bmR9Lz5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk0xNiAxNkwyNCAyNE0yNCAyNEwzMiAzMlwiIHN0cm9rZT17Y29sb3JzLmJhY2tncm91bmR9IHN0cm9rZVdpZHRoPVwiMlwiIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk0xMiAyNEwyNCAxMkwzNiAyNFwiIHN0cm9rZT17Y29sb3JzLmJhY2tncm91bmR9IHN0cm9rZVdpZHRoPVwiMlwiIG9wYWNpdHk9XCIwLjVcIi8+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCwgZm9udFNpemU6ICcxNHB4JywgZm9udFdlaWdodDogJzYwMCcsIHdoaXRlU3BhY2U6ICdub3dyYXAnIH19PlRyYWVmaWs8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICksXHJcbiAgICAgIHRpdGxlOiBcIlRyYWVmaWtcIixcclxuICAgICAgaHJlZjogXCJodHRwczovL3RyYWVmaWsuaW9cIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbm9kZTogKFxyXG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzhweCcgfX0+XHJcbiAgICAgICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgNDggNDhcIiBmaWxsPVwibm9uZVwiIHdpZHRoPXs5Nn0gaGVpZ2h0PXs5Nn0geG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICB7LyogUG9ya2J1biAtIERvbWFpbi9HbG9iZSAqL31cclxuICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjI0XCIgY3k9XCIyNFwiIHI9XCIxNlwiIHN0cm9rZT17Y29sb3JzLmJhY2tncm91bmR9IHN0cm9rZVdpZHRoPVwiM1wiLz5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk04IDI0QzggMTggMTIgMTQgMjQgMTRDMzYgMTQgNDAgMTggNDAgMjRDNDAgMzAgMzYgMzQgMjQgMzRDMTIgMzQgOCAzMCA4IDI0WlwiIHN0cm9rZT17Y29sb3JzLmJhY2tncm91bmR9IHN0cm9rZVdpZHRoPVwiMlwiLz5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk0yNCA4QzI0IDggMTggMTQgMTggMjBDMTggMjYgMjQgMzIgMjQgMzJcIiBzdHJva2U9e2NvbG9ycy5iYWNrZ3JvdW5kfSBzdHJva2VXaWR0aD1cIjJcIi8+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCwgZm9udFNpemU6ICcxNHB4JywgZm9udFdlaWdodDogJzYwMCcsIHdoaXRlU3BhY2U6ICdub3dyYXAnIH19PlBvcmtidW48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICksXHJcbiAgICAgIHRpdGxlOiBcIlBvcmtidW5cIixcclxuICAgICAgaHJlZjogXCJodHRwczovL3BvcmtidW4uY29tXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5vZGU6IChcclxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc4cHgnIH19PlxyXG4gICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDQ4IDQ4XCIgZmlsbD1cIm5vbmVcIiB3aWR0aD17OTZ9IGhlaWdodD17OTZ9IHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgey8qIG44biAtIFdvcmtmbG93IE5vZGVzICovfVxyXG4gICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjVcIiBmaWxsPXtjb2xvcnMuYmFja2dyb3VuZH0vPlxyXG4gICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMzJcIiBjeT1cIjE2XCIgcj1cIjVcIiBmaWxsPXtjb2xvcnMuYmFja2dyb3VuZH0vPlxyXG4gICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjMyXCIgcj1cIjVcIiBmaWxsPXtjb2xvcnMuYmFja2dyb3VuZH0vPlxyXG4gICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMzJcIiBjeT1cIjMyXCIgcj1cIjVcIiBmaWxsPXtjb2xvcnMuYmFja2dyb3VuZH0vPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTIxIDE2TDI3IDE2TTE2IDIxTDE2IDI3TTIxIDMyTDI3IDMyXCIgc3Ryb2tlPXtjb2xvcnMuYmFja2dyb3VuZH0gc3Ryb2tlV2lkdGg9XCIyXCIgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICA8c3BhbiBzdHlsZT17eyBjb2xvcjogY29sb3JzLmJhY2tncm91bmQsIGZvbnRTaXplOiAnMTRweCcsIGZvbnRXZWlnaHQ6ICc2MDAnLCB3aGl0ZVNwYWNlOiAnbm93cmFwJyB9fT5uOG48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICksXHJcbiAgICAgIHRpdGxlOiBcIm44blwiLFxyXG4gICAgICBocmVmOiBcImh0dHBzOi8vbjhuLmlvXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5vZGU6IChcclxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc4cHgnIH19PlxyXG4gICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDQ4IDQ4XCIgZmlsbD1cIm5vbmVcIiB3aWR0aD17OTZ9IGhlaWdodD17OTZ9IHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgey8qIE1pc3RyYWwgQUkgLSBXaW5kL1dhdmUgKi99XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNOCAyNFExNiAxNiAyNCAyNFQ0MCAyNFwiIHN0cm9rZT17Y29sb3JzLmJhY2tncm91bmR9IHN0cm9rZVdpZHRoPVwiM1wiIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiIGZpbGw9XCJub25lXCIvPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTEwIDI4UTE4IDIwIDI2IDI4VDQyIDI4XCIgc3Ryb2tlPXtjb2xvcnMuYmFja2dyb3VuZH0gc3Ryb2tlV2lkdGg9XCIzXCIgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgZmlsbD1cIm5vbmVcIiBvcGFjaXR5PVwiMC43XCIvPlxyXG4gICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMjRcIiBjeT1cIjI0XCIgcj1cIjJcIiBmaWxsPXtjb2xvcnMuYmFja2dyb3VuZH0gb3BhY2l0eT1cIjAuNVwiLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5iYWNrZ3JvdW5kLCBmb250U2l6ZTogJzE0cHgnLCBmb250V2VpZ2h0OiAnNjAwJywgd2hpdGVTcGFjZTogJ25vd3JhcCcgfX0+TWlzdHJhbCBBSTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKSxcclxuICAgICAgdGl0bGU6IFwiTWlzdHJhbCBBSVwiLFxyXG4gICAgICBocmVmOiBcImh0dHBzOi8vbWlzdHJhbC5haVwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBub2RlOiAoXHJcbiAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnOHB4JyB9fT5cclxuICAgICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCA0OCA0OFwiIGZpbGw9XCJub25lXCIgd2lkdGg9ezk2fSBoZWlnaHQ9ezk2fSB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgIHsvKiBIZXR6bmVyIC0gU2VydmVyL0Nsb3VkICovfVxyXG4gICAgICAgICAgICA8cmVjdCB4PVwiMTJcIiB5PVwiMTRcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjBcIiByeD1cIjJcIiBzdHJva2U9e2NvbG9ycy5iYWNrZ3JvdW5kfSBzdHJva2VXaWR0aD1cIjNcIi8+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTYgMjBIMzJNMTYgMjRIMzJNMTYgMjhIMjhcIiBzdHJva2U9e2NvbG9ycy5iYWNrZ3JvdW5kfSBzdHJva2VXaWR0aD1cIjJcIiBzdHJva2VMaW5lY2FwPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIzNlwiIGN5PVwiMThcIiByPVwiM1wiIGZpbGw9e2NvbG9ycy5iYWNrZ3JvdW5kfS8+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCwgZm9udFNpemU6ICcxNHB4JywgZm9udFdlaWdodDogJzYwMCcsIHdoaXRlU3BhY2U6ICdub3dyYXAnIH19PkhldHpuZXI8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICksXHJcbiAgICAgIHRpdGxlOiBcIkhldHpuZXJcIixcclxuICAgICAgaHJlZjogXCJodHRwczovL3d3dy5oZXR6bmVyLmNvbVwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBub2RlOiAoXHJcbiAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnOHB4JyB9fT5cclxuICAgICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCA0OCA0OFwiIGZpbGw9XCJub25lXCIgd2lkdGg9ezk2fSBoZWlnaHQ9ezk2fSB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgIHsvKiBDdXJzb3IgLSBDb2RlIEVkaXRvciAqL31cclxuICAgICAgICAgICAgPHJlY3QgeD1cIjEyXCIgeT1cIjEyXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCI0XCIgc3Ryb2tlPXtjb2xvcnMuYmFja2dyb3VuZH0gc3Ryb2tlV2lkdGg9XCIzXCIvPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTE4IDIwTDI0IDI0TDE4IDI4XCIgc3Ryb2tlPXtjb2xvcnMuYmFja2dyb3VuZH0gc3Ryb2tlV2lkdGg9XCIyXCIgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk0yOCAyMEwzMCAyNEwyOCAyOFwiIHN0cm9rZT17Y29sb3JzLmJhY2tncm91bmR9IHN0cm9rZVdpZHRoPVwiMlwiIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5iYWNrZ3JvdW5kLCBmb250U2l6ZTogJzE0cHgnLCBmb250V2VpZ2h0OiAnNjAwJywgd2hpdGVTcGFjZTogJ25vd3JhcCcgfX0+Q3Vyc29yPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApLFxyXG4gICAgICB0aXRsZTogXCJDdXJzb3IgQUlcIixcclxuICAgICAgaHJlZjogXCJodHRwczovL2N1cnNvci5zaFwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBub2RlOiAoXHJcbiAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnOHB4JyB9fT5cclxuICAgICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCA0OCA0OFwiIGZpbGw9XCJub25lXCIgd2lkdGg9ezk2fSBoZWlnaHQ9ezk2fSB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgIHsvKiBBcHB3cml0ZSAtIERhdGFiYXNlL0JhY2tlbmQgKi99XHJcbiAgICAgICAgICAgIDxyZWN0IHg9XCIxNFwiIHk9XCIxMFwiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyOFwiIHJ4PVwiMlwiIHN0cm9rZT17Y29sb3JzLmJhY2tncm91bmR9IHN0cm9rZVdpZHRoPVwiM1wiLz5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk0xNCAxOEgzNE0xNCAyNEgzNE0xNCAzMEgyOFwiIHN0cm9rZT17Y29sb3JzLmJhY2tncm91bmR9IHN0cm9rZVdpZHRoPVwiMlwiIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjMyXCIgY3k9XCIxNFwiIHI9XCIyXCIgZmlsbD17Y29sb3JzLmJhY2tncm91bmR9Lz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5iYWNrZ3JvdW5kLCBmb250U2l6ZTogJzE0cHgnLCBmb250V2VpZ2h0OiAnNjAwJywgd2hpdGVTcGFjZTogJ25vd3JhcCcgfX0+QXBwd3JpdGU8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICksXHJcbiAgICAgIHRpdGxlOiBcIkFwcHdyaXRlXCIsXHJcbiAgICAgIGhyZWY6IFwiaHR0cHM6Ly9hcHB3cml0ZS5pb1wiXHJcbiAgICB9XHJcbiAgXTtcclxuXHJcbiAgY29uc3QgdmFsdWVQcm9wcyA9IFtcclxuICAgIHtcclxuICAgICAgdGl0bGU6IFwiWmVpdGVyc3Bhcm5pc1wiLFxyXG4gICAgICBkZXNjcmlwdGlvbjogXCJXaXIgw7xiZXJuZWhtZW4gZGVuIGRpZ2l0YWxlbiBUZWlsLCBTaWUga29uemVudHJpZXJlbiBzaWNoIGF1ZnMgR2VzY2jDpGZ0XCIsXHJcbiAgICAgIGxpbms6IFwiI3plaXRlcnNwYXJuaXNcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6IFwiS29tcGV0ZW56ICYgRXJmYWhydW5nXCIsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRlY2huaXNjaCBzdGFyaywga2xhciBpbiBkZXIgVW1zZXR6dW5nXCIsXHJcbiAgICAgIGxpbms6IFwiI2tvbXBldGVuei1lcmZhaHJ1bmdcIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6IFwiTWHDn2dlc2NobmVpZGVydGUgTMO2c3VuZ2VuXCIsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiBcIktlaW5lIFRlbXBsYXRlcywgc29uZGVybiBpbmRpdmlkdWVsbGUgVW1zZXR6dW5nXCIsXHJcbiAgICAgIGxpbms6IFwiI21hc3NnZXNjaG5laWRlcnRlLWxvZXN1bmdlblwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogXCJTdHJlc3NmcmVpZXMgV2VibWFuYWdlbWVudFwiLFxyXG4gICAgICBkZXNjcmlwdGlvbjogXCJFaW4gQW5zcHJlY2hwYXJ0bmVyIGbDvHIgYWxsZXNcIixcclxuICAgICAgbGluazogXCIjc3RyZXNzZnJlaWVzLXdlYm1hbmFnZW1lbnRcIlxyXG4gICAgfVxyXG4gIF07XHJcblxyXG4gIGNvbnN0IG5hdklzRXhwYW5kZWQgPSBzY3JvbGxZID4gNDA7XHJcblxyXG4gIGNvbnN0IHByZXZpb3VzTmF2U3RhdGUgPSB1c2VSZWYobmF2SXNFeHBhbmRlZCk7XHJcblxyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBjb25zdCBwcmV2aW91cyA9IHByZXZpb3VzTmF2U3RhdGUuY3VycmVudDtcclxuICAgIHByZXZpb3VzTmF2U3RhdGUuY3VycmVudCA9IG5hdklzRXhwYW5kZWQ7XHJcbiAgICBuYXZFeHBhbmRlZFJlZi5jdXJyZW50ID0gbmF2SXNFeHBhbmRlZDtcclxuXHJcbiAgICBsZXQgcmFmMTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgICBsZXQgcmFmMjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgICBsZXQgdGltZW91dElkOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBpZiAobmF2SXNFeHBhbmRlZCkge1xyXG4gICAgICBpZiAocHJldmlvdXMgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgcmFmMSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XHJcbiAgICAgICAgICBjYWxjdWxhdGVOYXZPZmZzZXQoXCJhbmltYXRlXCIsIHRydWUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJhZjIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xyXG4gICAgICAgICAgY2FsY3VsYXRlTmF2T2Zmc2V0KFwiYW5pbWF0ZVwiLCB0cnVlKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICBjYWxjdWxhdGVOYXZPZmZzZXQoXCJhbmltYXRlXCIsIHRydWUpO1xyXG4gICAgICAgIH0sIDMyMCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY2FsY3VsYXRlTmF2T2Zmc2V0KFwiaW1tZWRpYXRlXCIsIHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBhbmltYXRlT2Zmc2V0KDApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoKSA9PiB7XHJcbiAgICAgIGlmIChyYWYxICE9PSBudWxsKSBjYW5jZWxBbmltYXRpb25GcmFtZShyYWYxKTtcclxuICAgICAgaWYgKHJhZjIgIT09IG51bGwpIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJhZjIpO1xyXG4gICAgICBpZiAodGltZW91dElkICE9PSBudWxsKSB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XHJcbiAgICB9O1xyXG4gIH0sIFtuYXZJc0V4cGFuZGVkLCBjYWxjdWxhdGVOYXZPZmZzZXQsIGFuaW1hdGVPZmZzZXRdKTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDw+XHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWluLWgtc2NyZWVuIG92ZXJmbG93LWhpZGRlblwiIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogY29sb3JzLmJhY2tncm91bmQgfX0+XHJcbiAgICAgICAgey8qIEZpeGVkIE5hdmlnYXRpb24gbWl0IFBpbGxOYXYgKi99XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3NOYW1lPVwiZml4ZWQgbGVmdC0wIHJpZ2h0LTAgei00MCBweC00IHRvcC00IHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMFwiXHJcbiAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb246IFwiY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpXCJcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgbXgtYXV0byB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi01MDAgZWFzZS1vdXRcIlxyXG4gICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgIG1heFdpZHRoOiBuYXZJc0V4cGFuZGVkID8gXCI3MnJlbVwiIDogXCIzOHJlbVwiLFxyXG4gICAgICAgICAgICAgIHdpZHRoOiBuYXZJc0V4cGFuZGVkID8gXCIxMDAlXCIgOiBcIjk2JVwiXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxHbGFzc1N1cmZhY2VcclxuICAgICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxyXG4gICAgICAgICAgICAgIGhlaWdodD1cImF1dG9cIlxyXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1cz17OTk5OX1cclxuICAgICAgICAgICAgICBkaXNwbGFjZT17Mi4wfVxyXG4gICAgICAgICAgICAgIGJhY2tncm91bmRPcGFjaXR5PXswLjN9XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMCBlYXNlLW91dFwiXHJcbiAgICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6ICc3MHB4JyxcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYCR7Y29sb3JzLnNlY29uZGFyeX02NmAsXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXHJcbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcwLjVyZW0gMS41cmVtJyxcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICdiYWNrZHJvcC1maWx0ZXIgMC40NXMgZWFzZSdcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgcmVmPXtuYXZXcmFwcGVyUmVmfVxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicmVsYXRpdmUgdy1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMFwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb246IFwiY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpXCJcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgey8qIFBpbGxOYXYgbWl0IGRlbiBOYXYtTGlua3MgKi99XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIHJlZj17bmF2SW5uZXJSZWZ9XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImlubGluZS1mbGV4IHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMFwiXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBuYXZJc0V4cGFuZGVkID8gYHRyYW5zbGF0ZVgoLSR7bmF2T2Zmc2V0fXB4KWAgOiBcInRyYW5zbGF0ZVgoMClcIixcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb246IFwiY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpXCJcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPFBpbGxOYXZcclxuICAgICAgICAgICAgICAgICAgICBsb2dvPVwiL1dlYktsYXJMb2dvLnBuZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgbG9nb0FsdD1cIldlYmtsYXIgTG9nb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM9e1tcclxuICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICfDnGJlciB1bnMnLCBocmVmOiAnI2Fib3V0JyB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0xlaXN0dW5nZW4nLCBocmVmOiAnI3NlcnZpY2VzJyB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ1Vuc2VyZSBBYmzDpHVmZScsIGhyZWY6ICcjcHJvY2VzcycgfVxyXG4gICAgICAgICAgICAgICAgICAgIF19XHJcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlSHJlZj1cIiNcIlxyXG4gICAgICAgICAgICAgICAgICAgIGJhc2VDb2xvcj17Y29sb3JzLnNlY29uZGFyeX1cclxuICAgICAgICAgICAgICAgICAgICBwaWxsQ29sb3I9e2NvbG9ycy5iYWNrZ3JvdW5kfVxyXG4gICAgICAgICAgICAgICAgICAgIGhvdmVyZWRQaWxsVGV4dENvbG9yPXtjb2xvcnMuYmFja2dyb3VuZH1cclxuICAgICAgICAgICAgICAgICAgICBwaWxsVGV4dENvbG9yPXtjb2xvcnMucHJpbWFyeX1cclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwaWxsLW5hdi1jdXN0b21cIlxyXG4gICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICB7LyogS29udGFrdC1CdXR0b24gcmVjaHRzICovfVxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJoaWRkZW4gbWQ6YmxvY2sgYWJzb2x1dGUgcmlnaHQtMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi01MDAgb3ZlcmZsb3ctaGlkZGVuXCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiBuYXZJc0V4cGFuZGVkID8gMSA6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4V2lkdGg6IG5hdklzRXhwYW5kZWQgPyBcIjIwMHB4XCIgOiBcIjBweFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6IG5hdklzRXhwYW5kZWQgPyBcImF1dG9cIiA6IFwibm9uZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbmF2SXNFeHBhbmRlZCA/IFwidHJhbnNsYXRlWCgwKVwiIDogXCJ0cmFuc2xhdGVYKDE2cHgpXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uOiBcImN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKVwiXHJcbiAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIva29udGFrdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT1cInJvdW5kZWQtZnVsbCB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgcHgtMyBzbTpweC01IHB5LTEuNSBzaGFkb3ctbGcgaG92ZXI6c2hhZG93LXhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBob3ZlcjpzY2FsZS0xMDUgYnRuLWVuaGFuY2VkIHB1bHNlLWdsb3dcIiBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5wcmltYXJ5LCBjb2xvcjogY29sb3JzLmJhY2tncm91bmQgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICBLb250YWt0XHJcbiAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L0dsYXNzU3VyZmFjZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICB7LyogQmFja2dyb3VuZCBWaWRlbyBIZXJvIFNlY3Rpb24gKi99XHJcbiAgICAgICAgPHNlY3Rpb24gaWQ9XCJoZXJvXCIgY2xhc3NOYW1lPVwicmVsYXRpdmUgaC1zY3JlZW4gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgICAgICB7LyogVmlkZW8gQmFja2dyb3VuZCAqL31cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCB6LTBcIj5cclxuICAgICAgICAgICAgPHZpZGVvIFxyXG4gICAgICAgICAgICAgIGF1dG9QbGF5IFxyXG4gICAgICAgICAgICAgIG11dGVkIFxyXG4gICAgICAgICAgICAgIGxvb3AgXHJcbiAgICAgICAgICAgICAgcGxheXNJbmxpbmVcclxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgaC1mdWxsIG9iamVjdC1jb3ZlclwiXHJcbiAgICAgICAgICAgICAgc3R5bGU9e3sgZmlsdGVyOiAnYmx1cig4cHgpJyB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNvdXJjZSBzcmM9XCIvcGF0aC90by95b3VyL2JhY2tncm91bmQtdmlkZW8ubXA0XCIgdHlwZT1cInZpZGVvL21wNFwiIC8+XHJcbiAgICAgICAgICAgIDwvdmlkZW8+XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBiYWNrZHJvcC1ibHVyLXNtXCJcclxuICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAke2NvbG9ycy5wcmltYXJ5fUNDLCAke2NvbG9ycy5zZWNvbmRhcnl9Q0MpYFxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcblxyXG4gICAgICAgICAgPGRpdiByZWY9e2hlcm9SZWZ9IGNsYXNzTmFtZT1cInJlbGF0aXZlIHotMjAgcHgtNCBzbTpweC04IHB0LTI0IHNtOnB0LTI4IHBiLTIwIHNtOnBiLTI0IG1heC13LTd4bCBteC1hdXRvIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxoMSBjbGFzc05hbWU9e2B0ZXh0LTR4bCBzbTp0ZXh0LTZ4bCBtZDp0ZXh0LTh4bCBmb250LWJvbGQgbWItNiBzbTptYi04IHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTEwMDAgJHtcclxuICAgICAgICAgICAgICBoZXJvSW5WaWV3ID8gJ29wYWNpdHktMTAwIHRyYW5zbGF0ZS15LTAnIDogJ29wYWNpdHktMCB0cmFuc2xhdGUteS0xMCdcclxuICAgICAgICAgICAgfWB9PlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCB9fT5cclxuICAgICAgICAgICAgICAgIHdlYmtsYXIg4oCTIGRhcyBXZWIgbWHDn2dlc2NobmVpZGVydCBhdWYgSWhyIFVudGVybmVobWVuXHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2gxPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2BmbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNlbnRlciBnYXAtMiBzbTpnYXAtNCBtYi04IHNtOm1iLTEyIHRleHQteHMgc206dGV4dC1zbSBtdC02IHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTEwMDAgZGVsYXktMzAwICR7XHJcbiAgICAgICAgICAgICAgaGVyb0luVmlldyA/ICdvcGFjaXR5LTEwMCB0cmFuc2xhdGUteS0wJyA6ICdvcGFjaXR5LTAgdHJhbnNsYXRlLXktMTAnXHJcbiAgICAgICAgICAgIH1gfT5cclxuICAgICAgICAgICAgICB7WydTdHJhdGVnaWViZXJhdHVuZycsICdVWC9VSSBEZXNpZ24nLCAnRW50d2lja2x1bmcnLCAnU0VPICYgU3VwcG9ydCddLm1hcCgoaXRlbSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgPHNwYW4gXHJcbiAgICAgICAgICAgICAgICAgIGtleT17aXRlbX1cclxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicHgtMyBzbTpweC00IHB5LTIgcm91bmRlZC1mdWxsIGJhY2tkcm9wLWJsdXItc20gYm9yZGVyXCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBgJHtjb2xvcnMuYmFja2dyb3VuZH04MGAsXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9ycy50ZXJ0aWFyeSxcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3JzLnByaW1hcnlcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge2l0ZW19XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgKSl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2BmbGV4IGZsZXgtY29sIHNtOmZsZXgtcm93IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtNCBzbTpnYXAtNiB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0xMDAwIGRlbGF5LTUwMCAke1xyXG4gICAgICAgICAgICAgIGhlcm9JblZpZXcgPyAnb3BhY2l0eS0xMDAgdHJhbnNsYXRlLXktMCcgOiAnb3BhY2l0eS0wIHRyYW5zbGF0ZS15LTEwJ1xyXG4gICAgICAgICAgICB9YH0+XHJcbiAgICAgICAgICAgICAgPEJ1dHRvbiBcclxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWN0Jyk/LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pfVxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIHNtOnctYXV0byBweC02IHNtOnB4LTggcHktMyBzbTpweS00IHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBzcGFjZS14LTMgdGV4dC1iYXNlIHNtOnRleHQtbGcgZm9udC1zZW1pYm9sZCBzaGFkb3ctMnhsIGhvdmVyOnNoYWRvdy0zeGwgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGhvdmVyOnNjYWxlLTEwNSBidG4tZW5oYW5jZWQgaG92ZXItbGlmdFwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy5wcmltYXJ5XHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxDYWxlbmRhciBjbGFzc05hbWU9XCJ3LTUgc206dy02IGgtNSBzbTpoLTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+S29zdGVubG9zZW4gVGVybWluIGJ1Y2hlbjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICB7LyogUGFydG5lciBUb29scyAqL31cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC04IHNtOm10LTEyIHB4LTQgc206cHgtOFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgcG9zaXRpb246ICdyZWxhdGl2ZScsIG92ZXJmbG93OiAndmlzaWJsZScsIG1heFdpZHRoOiAnMTAwJScgfX0gY2xhc3NOYW1lPVwibG9nby1sb29wLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBoZWlnaHQ6ICcxODBweCcsIHBvc2l0aW9uOiAncmVsYXRpdmUnLCB3aWR0aDogJzEwMCUnLCBwYWRkaW5nQm90dG9tOiAnMzBweCcsIG92ZXJmbG93OiAnaGlkZGVuJyB9fSBjbGFzc05hbWU9XCJsb2dvLWxvb3AtaW5uZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPExvZ29Mb29wXHJcbiAgICAgICAgICAgICAgICAgICAgbG9nb3M9e3BhcnRuZXJMb2dvc31cclxuICAgICAgICAgICAgICAgICAgICBzcGVlZD17NjB9XHJcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgbG9nb0hlaWdodD17MTQwfVxyXG4gICAgICAgICAgICAgICAgICAgIGdhcD17MTAwfVxyXG4gICAgICAgICAgICAgICAgICAgIHBhdXNlT25Ib3ZlclxyXG4gICAgICAgICAgICAgICAgICAgIHNjYWxlT25Ib3ZlclxyXG4gICAgICAgICAgICAgICAgICAgIGFyaWFMYWJlbD1cIlRlY2hub2xvZ3kgcGFydG5lcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAnMTAwJScgfX1cclxuICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgICAgey8qIEFib3V0IFNlY3Rpb24gKi99XHJcbiAgICAgICAgPHNlY3Rpb24gXHJcbiAgICAgICAgICBpZD1cImFib3V0XCJcclxuICAgICAgICAgIHJlZj17YWJvdXRSZWZ9IFxyXG4gICAgICAgICAgY2xhc3NOYW1lPVwicmVsYXRpdmUgcHgtNCBzbTpweC04IHB5LTEyIHNtOnB5LTIwIHJvdW5kZWQtdC1bMnJlbV0gc206cm91bmRlZC10LVszcmVtXSByb3VuZGVkLWItWzJyZW1dIHNtOnJvdW5kZWQtYi1bM3JlbV0gbXgtMiBzbTpteC00IGJhY2tkcm9wLWJsdXItc21cIlxyXG4gICAgICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiBgJHtjb2xvcnMuYmFja2dyb3VuZH1GMGAsIHBvc2l0aW9uOiAncmVsYXRpdmUnLCB6SW5kZXg6IDEwIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy03eGwgbXgtYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgbGc6Z3JpZC1jb2xzLTIgZ2FwLTggc206Z2FwLTE2IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIHsvKiBMaW5rczogU3Bpbm5pbmcgTnVtYmVycyAqL31cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIG9yZGVyLTIgbGc6b3JkZXItMVwiPlxyXG4gICAgICAgICAgICAgICAgPFNwaW5uaW5nTnVtYmVycyAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIHsvKiBSZWNodHM6IFRleHQgaW0gWmVpdHVuZ3NzdGlsIChtZWhyc3BhbHRpZykgKi99XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2BvcmRlci0xIGxnOm9yZGVyLTIgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMTAwMCB3LWZ1bGwgZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlciAke1xyXG4gICAgICAgICAgICAgICAgYWJvdXRJblZpZXcgPyAnb3BhY2l0eS0xMDAgdHJhbnNsYXRlLXgtMCcgOiAnb3BhY2l0eS0wIHRyYW5zbGF0ZS14LTEwJ1xyXG4gICAgICAgICAgICAgIH1gfT5cclxuICAgICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LTN4bCBzbTp0ZXh0LTV4bCBtZDp0ZXh0LTZ4bCBmb250LWJvbGQgbWItNiBzbTptYi04IGxlYWRpbmctdGlnaHQgd2hpdGVzcGFjZS1ub3dyYXBcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImlubGluZS1ibG9ja1wiPldvcmF1ZiB3aXI8L3NwYW4+e1wiIFwifVxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJpbmxpbmUtYmxvY2tcIj5XZXJ0PC9zcGFuPntcIiBcIn1cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5saW5lLWJsb2NrXCI+bGVnZW48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhsIHNtOnRleHQtMnhsIG1kOnRleHQtM3hsIGxlYWRpbmctcmVsYXhlZFwiXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5LFxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5Db3VudDogMSxcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5HYXA6ICczcmVtJyxcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5GaWxsOiAnYmFsYW5jZScsXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAnanVzdGlmeSdcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgU2ljaGVyaGVpdCBpc3QgZsO8ciB1bnMga2VpbmUgTmViZW5zYWNoZSwgc29uZGVybiBkaWUgR3J1bmRsYWdlIGplZGVyIFdlYnNpdGUuIFdpciBzZXR6ZW4gYXVmIG1vZGVybmUgVGVjaG5vbG9naWVuLCB6ZXJ0aWZpemllcnRlIFBhcnRuZXIgdW5kIGjDtmNoc3RlIERhdGVuc2NodXR6c3RhbmRhcmRzLiBVbnNlcmUgU3lzdGVtZSBzaW5kIGRhcmF1ZiBhdXNnZWxlZ3QsIEF1c2bDpGxsZSB6dSB2ZXJtZWlkZW4gdW5kIGxhbmdmcmlzdGlnIHN0YWJpbGUgRXJnZWJuaXNzZSB6dSBsaWVmZXJuIOKAkyBkYW1pdCBJaHJlIE9ubGluZS1QcsOkc2VueiBzbyB6dXZlcmzDpHNzaWcgaXN0IHdpZSBJaHIgVW50ZXJuZWhtZW4gc2VsYnN0LlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG5cclxuICAgICAgICB7LyogU2VydmljZXMgR3JpZCAqL31cclxuICAgICAgICA8c2VjdGlvbiBcclxuICAgICAgICAgIGlkPVwic2VydmljZXNcIlxyXG4gICAgICAgICAgcmVmPXtzZXJ2aWNlc1JlZn0gXHJcbiAgICAgICAgICBjbGFzc05hbWU9XCJyZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4gcHgtNCBzbTpweC04IHB5LTEyIHNtOnB5LTIwIHJvdW5kZWQtdC1bMnJlbV0gc206cm91bmRlZC10LVszcmVtXSByb3VuZGVkLWItWzJyZW1dIHNtOnJvdW5kZWQtYi1bM3JlbV0gbXgtMiBzbTpteC00IGJhY2tkcm9wLWJsdXItc21cIlxyXG4gICAgICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMucHJpbWFyeSB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxCYWNrZ3JvdW5kQmVhbXMgY2xhc3NOYW1lPVwib3BhY2l0eS03MCBtaXgtYmxlbmQtc2NyZWVuIHBvaW50ZXItZXZlbnRzLW5vbmVcIiAvPlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwb2ludGVyLWV2ZW50cy1ub25lIGFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLWJsYWNrLzMwIHZpYS10cmFuc3BhcmVudCB0by1ibGFjay83MFwiIC8+XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgei0xMCBtYXgtdy03eGwgbXgtYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyIG1iLTEyIHNtOm1iLTE2XCI+XHJcbiAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT17YHRleHQtM3hsIHNtOnRleHQtNXhsIG1kOnRleHQtNnhsIGZvbnQtYm9sZCBtYi00IHNtOm1iLTYgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMTAwMCBiZy1jbGlwLXRleHQgdGV4dC10cmFuc3BhcmVudCBiZy1ncmFkaWVudC10by1iIGZyb20tbmV1dHJhbC01MC85MCB2aWEtbmV1dHJhbC0yMDAvODAgdG8tbmV1dHJhbC00MDAvNzAgJHtcclxuICAgICAgICAgICAgICAgIHNlcnZpY2VzSW5WaWV3ID8gJ29wYWNpdHktMTAwIHRyYW5zbGF0ZS15LTAnIDogJ29wYWNpdHktMCB0cmFuc2xhdGUteS0xMCdcclxuICAgICAgICAgICAgICB9YH0+XHJcbiAgICAgICAgICAgICAgICBVbnNlcmUgTGVpc3R1bmdlblxyXG4gICAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXtgdGV4dC1sZyBzbTp0ZXh0LXhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTEwMDAgZGVsYXktMjAwIHRleHQtbmV1dHJhbC0xMDAvODAgJHtcclxuICAgICAgICAgICAgICAgIHNlcnZpY2VzSW5WaWV3ID8gJ29wYWNpdHktMTAwIHRyYW5zbGF0ZS15LTAnIDogJ29wYWNpdHktMCB0cmFuc2xhdGUteS0xMCdcclxuICAgICAgICAgICAgICB9YH0+XHJcbiAgICAgICAgICAgICAgICBBbGxlcyBhdXMgZWluZXIgSGFuZCBmw7xyIElocmVuIGRpZ2l0YWxlbiBFcmZvbGdcclxuICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YHJlbGF0aXZlIHotMTAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMTAwMCAke1xyXG4gICAgICAgICAgICAgICAgc2VydmljZXNJblZpZXcgPyBcIm9wYWNpdHktMTAwIHRyYW5zbGF0ZS15LTBcIiA6IFwib3BhY2l0eS0wIHRyYW5zbGF0ZS15LTEwXCJcclxuICAgICAgICAgICAgICB9YH1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxIZXJvU2Nyb2xsRGVtbyAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3NlY3Rpb24+XHJcblxyXG4gICAgICAgIHsvKiBQcm9jZXNzIFNlY3Rpb24gKi99XHJcbiAgICAgICAgPHNlY3Rpb24gXHJcbiAgICAgICAgICBpZD1cInByb2Nlc3NcIlxyXG4gICAgICAgICAgcmVmPXtwcm9jZXNzUmVmfSBcclxuICAgICAgICAgIGNsYXNzTmFtZT1cInJlbGF0aXZlIHB4LTQgc206cHgtOCBweS0xMiBzbTpweS0yMCByb3VuZGVkLXQtWzJyZW1dIHNtOnJvdW5kZWQtdC1bM3JlbV0gcm91bmRlZC1iLVsycmVtXSBzbTpyb3VuZGVkLWItWzNyZW1dIG14LTIgc206bXgtNCBiYWNrZHJvcC1ibHVyLXNtXCJcclxuICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogYCR7Y29sb3JzLmJhY2tncm91bmR9RjBgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy02eGwgbXgtYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyIG1iLTEyIHNtOm1iLTE2XCI+XHJcbiAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT17YHRleHQtM3hsIHNtOnRleHQtNXhsIG1kOnRleHQtNnhsIGZvbnQtYm9sZCBtYi00IHNtOm1iLTYgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMTAwMCAke1xyXG4gICAgICAgICAgICAgICAgcHJvY2Vzc0luVmlldyA/ICdvcGFjaXR5LTEwMCB0cmFuc2xhdGUteS0wJyA6ICdvcGFjaXR5LTAgdHJhbnNsYXRlLXktMTAnXHJcbiAgICAgICAgICAgICAgfWB9IHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMucHJpbWFyeSB9fT5cclxuICAgICAgICAgICAgICAgIFVuc2VyIEFibGF1ZlxyXG4gICAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXtgdGV4dC1sZyBzbTp0ZXh0LXhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTEwMDAgZGVsYXktMjAwICR7XHJcbiAgICAgICAgICAgICAgICBwcm9jZXNzSW5WaWV3ID8gJ29wYWNpdHktMTAwIHRyYW5zbGF0ZS15LTAnIDogJ29wYWNpdHktMCB0cmFuc2xhdGUteS0xMCdcclxuICAgICAgICAgICAgICB9YH0gc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5zZWNvbmRhcnkgfX0+XHJcbiAgICAgICAgICAgICAgICBTbyBsw6R1ZnQgZGllIFp1c2FtbWVuYXJiZWl0IGFiXHJcbiAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicm91bmRlZC1bMzJweF0gcHgtMiBweS0xMCBzbTpweC02IHNtOnB5LTE2IHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTcwMFwiXHJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAke2NvbG9ycy5iYWNrZ3JvdW5kfUYyLCAke2NvbG9ycy5iYWNrZ3JvdW5kfUU4KWBcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPFRpbWVsaW5lRGVtbyAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgICAgey8qIFByaWNpbmcgU2VjdGlvbiAqL31cclxuICAgICAgICA8c2VjdGlvbiBcclxuICAgICAgICAgIGlkPVwicmVmZXJlbmNlc1wiXHJcbiAgICAgICAgICByZWY9e3ByaWNpbmdSZWZ9IFxyXG4gICAgICAgICAgY2xhc3NOYW1lPVwicmVsYXRpdmUgcHgtNCBzbTpweC04IHB5LTEyIHNtOnB5LTIwIHJvdW5kZWQtdC1bMnJlbV0gc206cm91bmRlZC10LVszcmVtXSByb3VuZGVkLWItWzJyZW1dIHNtOnJvdW5kZWQtYi1bM3JlbV0gbXgtMiBzbTpteC00IGJhY2tkcm9wLWJsdXItc21cIlxyXG4gICAgICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiBgJHtjb2xvcnMucHJpbWFyeX1GMGAgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTR4bCBteC1hdXRvIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWItMTIgc206bWItMTZcIj5cclxuICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPXtgdGV4dC0zeGwgc206dGV4dC01eGwgbWQ6dGV4dC02eGwgZm9udC1ib2xkIG1iLTQgc206bWItNiB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0xMDAwICR7XHJcbiAgICAgICAgICAgICAgICBwcmljaW5nSW5WaWV3ID8gJ29wYWNpdHktMTAwIHRyYW5zbGF0ZS15LTAnIDogJ29wYWNpdHktMCB0cmFuc2xhdGUteS0xMCdcclxuICAgICAgICAgICAgICB9YH0gc3R5bGU9e3sgY29sb3I6IGNvbG9ycy50ZXJ0aWFyeSB9fT5cclxuICAgICAgICAgICAgICAgIEZhaXJlIFByZWlzZVxyXG4gICAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXtgdGV4dC1sZyBzbTp0ZXh0LXhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTEwMDAgZGVsYXktMjAwICR7XHJcbiAgICAgICAgICAgICAgICBwcmljaW5nSW5WaWV3ID8gJ29wYWNpdHktMTAwIHRyYW5zbGF0ZS15LTAnIDogJ29wYWNpdHktMCB0cmFuc2xhdGUteS0xMCdcclxuICAgICAgICAgICAgICB9YH0gc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5iYWNrZ3JvdW5kIH19PlxyXG4gICAgICAgICAgICAgICAgVHJhbnNwYXJlbnQgdW5kIGZsZXhpYmVsXHJcbiAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgcC04IHNtOnAtMTIgcm91bmRlZC0zeGwgc2hhZG93LTJ4bCBiYWNrZHJvcC1ibHVyLXNtIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTEwMDAgZGVsYXktMzAwICR7XHJcbiAgICAgICAgICAgICAgcHJpY2luZ0luVmlldyA/ICdvcGFjaXR5LTEwMCB0cmFuc2xhdGUteS0wJyA6ICdvcGFjaXR5LTAgdHJhbnNsYXRlLXktMTAnXHJcbiAgICAgICAgICAgIH1gfSBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IGAke2NvbG9ycy5iYWNrZ3JvdW5kfUYwYCB9fT5cclxuICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC0yeGwgc206dGV4dC0zeGwgZm9udC1ib2xkIG1iLTZcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgICBJbmRpdmlkdWVsbGUgTMO2c3VuZ2VuXHJcbiAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWxnIHNtOnRleHQteGwgbWItOCBsZWFkaW5nLXJlbGF4ZWRcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnNlY29uZGFyeSB9fT5cclxuICAgICAgICAgICAgICAgIFVuc2VyZSBQcmVpc2UgcmljaHRlbiBzaWNoIG5hY2ggZGVtIFByb2pla3R1bWZhbmcgdW5kIElocmVuIEFuZm9yZGVydW5nZW4uIFxyXG4gICAgICAgICAgICAgICAgR2VtZWluc2FtIGZpbmRlbiB3aXIgZWluZSBMw7ZzdW5nLCBkaWUgenUgSWhyZW0gQnVkZ2V0IHBhc3N0IOKAkyB0cmFuc3BhcmVudCwgZmFpciB1bmQgZmxleGliZWwuXHJcbiAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgIDxQcmljZUNhbGN1bGF0b3IgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3NlY3Rpb24+XHJcblxyXG4gICAgICAgIHsvKiBUYXJnZXQgR3JvdXBzICYgVmFsdWUgUHJvcHMgKi99XHJcbiAgICAgICAgPHNlY3Rpb24gXHJcbiAgICAgICAgICBjbGFzc05hbWU9XCJyZWxhdGl2ZSBweC00IHNtOnB4LTggcHktMTIgc206cHktMjAgcm91bmRlZC10LVsycmVtXSBzbTpyb3VuZGVkLXQtWzNyZW1dIHJvdW5kZWQtYi1bMnJlbV0gc206cm91bmRlZC1iLVszcmVtXSBteC0yIHNtOm14LTQgYmFja2Ryb3AtYmx1ci1zbVwiXHJcbiAgICAgICAgICBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IGAke2NvbG9ycy5iYWNrZ3JvdW5kfUYwYCB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctN3hsIG14LWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGxnOmdyaWQtY29scy0yIGdhcC0xMiBzbTpnYXAtMTZcIj5cclxuICAgICAgICAgICAgICB7LyogVGFyZ2V0IEdyb3VwcyAqL31cclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtMnhsIHNtOnRleHQtNHhsIGZvbnQtYm9sZCBtYi02IHNtOm1iLThcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgICAgIEbDvHIgd2VuIHdpciBhcmJlaXRlblxyXG4gICAgICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtbGcgc206dGV4dC14bCBsZWFkaW5nLXJlbGF4ZWRcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnNlY29uZGFyeSB9fT5cclxuICAgICAgICAgICAgICAgICAgV2lyIGFyYmVpdGVuIG1pdCBVbnRlcm5laG1lbiwgZGllIGlocmUgdmVyYWx0ZXRlIFdlYnNpdGUgbW9kZXJuaXNpZXJlbiBvZGVyIGlocmUgWmVpdCBuaWNodCBtZWhyIG1pdCBUZWNobmlrIHVuZCBTdXBwb3J0IHZlcnNjaHdlbmRlbiB3b2xsZW4uXHJcbiAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIHsvKiBWYWx1ZSBQcm9wcyAqL31cclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtMnhsIHNtOnRleHQtNHhsIGZvbnQtYm9sZCBtYi02IHNtOm1iLThcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgICAgIFdhcnVtIHdpciBkYXMgdHVuXHJcbiAgICAgICAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLTN4bCBib3JkZXIgc2hhZG93LXNtXCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgJHtjb2xvcnMuYmFja2dyb3VuZH1GNSwgJHtjb2xvcnMudGVydGlhcnl9MUEpYCxcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogYCR7Y29sb3JzLnNlY29uZGFyeX01NWBcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTQgc206cC04XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPEhvdmVyRWZmZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICBpdGVtcz17dmFsdWVQcm9wc31cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInB5LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG5cclxuICAgICAgICB7LyogQ29udGFjdCBTZWN0aW9uICovfVxyXG4gICAgICAgIDxzZWN0aW9uIFxyXG4gICAgICAgICAgcmVmPXtjb250YWN0UmVmfVxyXG4gICAgICAgICAgaWQ9XCJjb250YWN0XCJcclxuICAgICAgICAgIGNsYXNzTmFtZT1cInJlbGF0aXZlIHB4LTQgc206cHgtOCBweS0xMiBzbTpweS0yMCByb3VuZGVkLXQtWzJyZW1dIHNtOnJvdW5kZWQtdC1bM3JlbV0gcm91bmRlZC1iLVsycmVtXSBzbTpyb3VuZGVkLWItWzNyZW1dIG14LTIgc206bXgtNCBiYWNrZHJvcC1ibHVyLXNtXCJcclxuICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogY29sb3JzLnNlY29uZGFyeSB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctNHhsIG14LWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBtYi0xMiBzbTptYi0xNlwiPlxyXG4gICAgICAgICAgICAgIDxoMiBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtM3hsIHNtOnRleHQtNXhsIG1kOnRleHQtNnhsIGZvbnQtYm9sZCBtYi00IHNtOm1iLTZcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5iYWNrZ3JvdW5kIH19XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgTGFzc2VuIFNpZSB1bnMgc3ByZWNoZW5cclxuICAgICAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgICAgIDxwIFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1sZyBzbTp0ZXh0LXhsIG9wYWNpdHktOTBcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5iYWNrZ3JvdW5kIH19XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgRXJ6w6RobGVuIFNpZSB1bnMgdm9uIElocmVtIFByb2pla3RcclxuICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2B0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0xMDAwICR7XHJcbiAgICAgICAgICAgICAgY29udGFjdEluVmlldyA/ICdvcGFjaXR5LTEwMCB0cmFuc2xhdGUteS0wJyA6ICdvcGFjaXR5LTAgdHJhbnNsYXRlLXktMTAnXHJcbiAgICAgICAgICAgIH1gfT5cclxuICAgICAgICAgICAgICA8UHJvdGVjdGVkQXBwb2ludG1lbnRCb29raW5nIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG5cclxuICAgICAgICB7LyogRm9vdGVyICovfVxyXG4gICAgICAgIDxmb290ZXIgXHJcbiAgICAgICAgICBjbGFzc05hbWU9XCJyZWxhdGl2ZSBweS04IHNtOnB5LTEyIGJvcmRlci10IHJvdW5kZWQtdC1bMnJlbV0gc206cm91bmRlZC10LVszcmVtXSBteC0yIHNtOm14LTQgYmFja2Ryb3AtYmx1ci1zbVwiXHJcbiAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBgJHtjb2xvcnMucHJpbWFyeX1GMGAsXHJcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC04XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBzbTpncmlkLWNvbHMtMiBtZDpncmlkLWNvbHMtNCBnYXAtNiBzbTpnYXAtOFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLXNwYW4tMSBzbTpjb2wtc3Bhbi0yXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBzbTp0ZXh0LTN4bCBmb250LWJvbGQgbWItNCByZWxhdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMudGVydGlhcnkgfX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwicmVsYXRpdmUgei0xMFwiPldlYmtsYXI8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgLWluc2V0LTIgcm91bmRlZC14bCBibHVyLXNtIG9wYWNpdHktMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogY29sb3JzLnNlY29uZGFyeSB9fVxyXG4gICAgICAgICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxwIFxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtYi02IGxlYWRpbmctcmVsYXhlZCB0ZXh0LXNtIHNtOnRleHQtYmFzZVwiXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCB9fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICBJaHIgUGFydG5lciBmw7xyIFdlYiAmIFN1cHBvcnQuIE1vZGVybmUgV2Vic2l0ZXMuIEtsYXJlIEtvbW11bmlrYXRpb24uIFBlcnPDtm5saWNoZXIgU3VwcG9ydC5cclxuICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGg0IGNsYXNzTmFtZT1cInRleHQtYmFzZSBzbTp0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgbWItNFwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMudGVydGlhcnkgfX0+XHJcbiAgICAgICAgICAgICAgICAgIFNlcnZpY2VzXHJcbiAgICAgICAgICAgICAgICA8L2g0PlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cInNwYWNlLXktMiB0ZXh0LXNtIHNtOnRleHQtYmFzZVwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCB9fT5cclxuICAgICAgICAgICAgICAgICAge1snV2ViZGVzaWduJywgJ0UtQ29tbWVyY2UnLCAnU0VPJywgJ0hvc3RpbmcnXS5tYXAoKGl0ZW0pID0+IChcclxuICAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtpdGVtfT5cclxuICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3NOYW1lPVwiaG92ZXI6b3BhY2l0eS04MCB0cmFuc2l0aW9uLW9wYWNpdHlcIj57aXRlbX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgKSl9XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8aDQgY2xhc3NOYW1lPVwidGV4dC1iYXNlIHNtOnRleHQtbGcgZm9udC1zZW1pYm9sZCBtYi00XCIgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy50ZXJ0aWFyeSB9fT5cclxuICAgICAgICAgICAgICAgICAgS29udGFrdFxyXG4gICAgICAgICAgICAgICAgPC9oND5cclxuICAgICAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJzcGFjZS15LTIgdGV4dC1zbSBzbTp0ZXh0LWJhc2VcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLmJhY2tncm91bmQgfX0+XHJcbiAgICAgICAgICAgICAgICAgIDxsaT48TGluayBocmVmPVwiL2ltcHJlc3N1bVwiIGNsYXNzTmFtZT1cImhvdmVyOm9wYWNpdHktODAgdHJhbnNpdGlvbi1vcGFjaXR5XCI+SW1wcmVzc3VtPC9MaW5rPjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgIDxsaT48TGluayBocmVmPVwiL2RhdGVuc2NodXR6XCIgY2xhc3NOYW1lPVwiaG92ZXI6b3BhY2l0eS04MCB0cmFuc2l0aW9uLW9wYWNpdHlcIj5EYXRlbnNjaHV0ejwvTGluaz48L2xpPlxyXG4gICAgICAgICAgICAgICAgICA8bGk+PExpbmsgaHJlZj1cIi9hZ2JcIiBjbGFzc05hbWU9XCJob3ZlcjpvcGFjaXR5LTgwIHRyYW5zaXRpb24tb3BhY2l0eVwiPkFHQjwvTGluaz48L2xpPlxyXG4gICAgICAgICAgICAgICAgICA8bGk+PExpbmsgaHJlZj1cIi9rb250YWt0ZVwiIGNsYXNzTmFtZT1cImhvdmVyOm9wYWNpdHktODAgdHJhbnNpdGlvbi1vcGFjaXR5XCI+S29udGFrdGU8L0xpbms+PC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImJvcmRlci10IG10LTYgc206bXQtOCBwdC02IHNtOnB0LTggdGV4dC1jZW50ZXIgdGV4dC1zbVwiXHJcbiAgICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogY29sb3JzLnNlY29uZGFyeSxcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZFxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8cD4mY29weTsgMjAyNSBXZWJrbGFyLiBBbGxlIFJlY2h0ZSB2b3JiZWhhbHRlbi48L3A+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9mb290ZXI+XHJcblxyXG4gICAgICAgIHsvKiBGaWxtIEdyYWluIEVmZmVjdCAqL31cclxuXHJcblxyXG4gICAgICAgIHsvKiBDb29raWUgQnV0dG9uICovfVxyXG4gICAgICAgIDxDb29raWVCdXR0b24gLz5cclxuICAgICAgICBcclxuICAgICAgICB7LyogQXBwb2ludG1lbnQgU3RhdHVzICovfVxyXG4gICAgICAgIDxBcHBvaW50bWVudFN0YXR1cyAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvPlxyXG4gICk7XHJcbn1cclxuIl0sIm5hbWVzIjpbInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlUmVmIiwidXNlU3RhdGUiLCJCdXR0b24iLCJDYWxlbmRhciIsIkNvb2tpZSIsImNvbG9ycyIsIlByb3RlY3RlZEFwcG9pbnRtZW50Qm9va2luZyIsIkFwcG9pbnRtZW50U3RhdHVzIiwiUHJpY2VDYWxjdWxhdG9yIiwiU3Bpbm5pbmdOdW1iZXJzIiwiR2xhc3NTdXJmYWNlIiwiTG9nb0xvb3AiLCJQaWxsTmF2IiwiVGltZWxpbmVEZW1vIiwiSG92ZXJFZmZlY3QiLCJIZXJvU2Nyb2xsRGVtbyIsIkJhY2tncm91bmRCZWFtcyIsIkxpbmsiLCJ1c2VTY3JvbGxBbmltYXRpb24iLCJzY3JvbGxZIiwic2V0U2Nyb2xsWSIsImhhbmRsZVNjcm9sbCIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwidXNlSW5WaWV3IiwidGhyZXNob2xkIiwiaXNJblZpZXciLCJzZXRJc0luVmlldyIsInJlZiIsIm9ic2VydmVyIiwiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJlbnRyeSIsImlzSW50ZXJzZWN0aW5nIiwiY3VycmVudCIsIm9ic2VydmUiLCJkaXNjb25uZWN0IiwiQ29va2llQnV0dG9uIiwic2hvd0Jhbm5lciIsInNldFNob3dCYW5uZXIiLCJoYW5kbGVBY2NlcHQiLCJidXR0b24iLCJvbkNsaWNrIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJzZWNvbmRhcnkiLCJkaXYiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJwcmltYXJ5IiwiaDMiLCJwIiwidmFyaWFudCIsImJvcmRlckNvbG9yIiwiQWJvdXRTZXJ2aWNlUGFnZSIsImhlcm9SZWYiLCJoZXJvSW5WaWV3Iiwic2VydmljZXNSZWYiLCJzZXJ2aWNlc0luVmlldyIsInByb2Nlc3NSZWYiLCJwcm9jZXNzSW5WaWV3IiwicHJpY2luZ1JlZiIsInByaWNpbmdJblZpZXciLCJhYm91dFJlZiIsImFib3V0SW5WaWV3IiwiY29udGFjdFJlZiIsImNvbnRhY3RJblZpZXciLCJuYXZXcmFwcGVyUmVmIiwibmF2SW5uZXJSZWYiLCJuYXZPZmZzZXQiLCJzZXROYXZPZmZzZXQiLCJuYXZPZmZzZXRSZWYiLCJuYXZFeHBhbmRlZFJlZiIsImFuaW1hdGlvbkZyYW1lUmVmIiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJhbmltYXRlT2Zmc2V0IiwidGFyZ2V0IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJzdGFydFZhbHVlIiwiZGVsdGEiLCJNYXRoIiwiYWJzIiwiZHVyYXRpb24iLCJzdGFydFRpbWUiLCJwZXJmb3JtYW5jZSIsIm5vdyIsImVhc2VPdXRDdWJpYyIsInQiLCJwb3ciLCJzdGVwIiwiZWxhcHNlZCIsInByb2dyZXNzIiwibWluIiwiZWFzZWQiLCJ2YWx1ZSIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsImNhbGN1bGF0ZU5hdk9mZnNldCIsIm1vZGUiLCJleHBhbmRlZE92ZXJyaWRlIiwiZXhwYW5kZWQiLCJ3cmFwcGVyV2lkdGgiLCJjbGllbnRXaWR0aCIsIm5hdldpZHRoIiwib2Zmc2V0V2lkdGgiLCJvZmZzZXQiLCJtYXgiLCJoYW5kbGVSZXNpemUiLCJSZXNpemVPYnNlcnZlciIsIndyYXBwZXIiLCJoYW5kbGVUcmFuc2l0aW9uRW5kIiwiZXZlbnQiLCJwcm9wZXJ0eU5hbWUiLCJwYXJ0bmVyTG9nb3MiLCJub2RlIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJhbGlnbkl0ZW1zIiwiZ2FwIiwic3ZnIiwidmlld0JveCIsImZpbGwiLCJ3aWR0aCIsImhlaWdodCIsInhtbG5zIiwiY2lyY2xlIiwiY3giLCJjeSIsInIiLCJwYXRoIiwiZCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsIm9wYWNpdHkiLCJzcGFuIiwiZm9udFNpemUiLCJmb250V2VpZ2h0Iiwid2hpdGVTcGFjZSIsInRpdGxlIiwiaHJlZiIsInJlY3QiLCJ4IiwieSIsInJ4Iiwic3Ryb2tlTGluZWpvaW4iLCJ2YWx1ZVByb3BzIiwiZGVzY3JpcHRpb24iLCJsaW5rIiwibmF2SXNFeHBhbmRlZCIsInByZXZpb3VzTmF2U3RhdGUiLCJwcmV2aW91cyIsInJhZjEiLCJyYWYyIiwidGltZW91dElkIiwic2V0VGltZW91dCIsImNsZWFyVGltZW91dCIsInRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiIsIm1heFdpZHRoIiwiYm9yZGVyUmFkaXVzIiwiZGlzcGxhY2UiLCJiYWNrZ3JvdW5kT3BhY2l0eSIsIm1pbkhlaWdodCIsImp1c3RpZnlDb250ZW50IiwicGFkZGluZyIsInRyYW5zaXRpb24iLCJ0cmFuc2Zvcm0iLCJsb2dvIiwibG9nb0FsdCIsIml0ZW1zIiwibGFiZWwiLCJhY3RpdmVIcmVmIiwiYmFzZUNvbG9yIiwicGlsbENvbG9yIiwiaG92ZXJlZFBpbGxUZXh0Q29sb3IiLCJwaWxsVGV4dENvbG9yIiwicG9pbnRlckV2ZW50cyIsInNlY3Rpb24iLCJpZCIsInZpZGVvIiwiYXV0b1BsYXkiLCJtdXRlZCIsImxvb3AiLCJwbGF5c0lubGluZSIsImZpbHRlciIsInNvdXJjZSIsInNyYyIsInR5cGUiLCJoMSIsIm1hcCIsIml0ZW0iLCJ0ZXJ0aWFyeSIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJzY3JvbGxJbnRvVmlldyIsImJlaGF2aW9yIiwicG9zaXRpb24iLCJvdmVyZmxvdyIsInBhZGRpbmdCb3R0b20iLCJsb2dvcyIsInNwZWVkIiwiZGlyZWN0aW9uIiwibG9nb0hlaWdodCIsInBhdXNlT25Ib3ZlciIsInNjYWxlT25Ib3ZlciIsImFyaWFMYWJlbCIsInpJbmRleCIsImgyIiwiY29sdW1uQ291bnQiLCJjb2x1bW5HYXAiLCJjb2x1bW5GaWxsIiwidGV4dEFsaWduIiwiZm9vdGVyIiwiaDQiLCJ1bCIsImxpIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./app/page.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/AppointmentBooking.tsx": +/*!*******************************************!*\ + !*** ./components/AppointmentBooking.tsx ***! + \*******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AppointmentBooking)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./components/ui/button.tsx\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle_Calendar_Mail_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle,Calendar,Mail!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/calendar.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle_Calendar_Mail_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle,Calendar,Mail!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/mail.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle_Calendar_Mail_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle,Calendar,Mail!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-check-big.js\");\n/* harmony import */ var _lib_supabase__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/supabase */ \"(ssr)/./lib/supabase.ts\");\n/* harmony import */ var _lib_colors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/colors */ \"(ssr)/./lib/colors.ts\");\n/* harmony import */ var _AppointmentForm__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AppointmentForm */ \"(ssr)/./components/AppointmentForm.tsx\");\n/* harmony import */ var _EmailVerification__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./EmailVerification */ \"(ssr)/./components/EmailVerification.tsx\");\n/* harmony import */ var _hooks_useAuth__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/hooks/useAuth */ \"(ssr)/./hooks/useAuth.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\n\nfunction AppointmentBooking() {\n const { user } = (0,_hooks_useAuth__WEBPACK_IMPORTED_MODULE_7__.useAuth)();\n const [currentStep, setCurrentStep] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"form\");\n const [appointmentData, setAppointmentData] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [testMode, setTestMode] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false); // Production mode - no test indicators\n const [tableStructure, setTableStructure] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [productionMode, setProductionMode] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false); // Enable email verification\n const [customerAction, setCustomerAction] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const handleFormSubmit = async (data)=>{\n setAppointmentData(data);\n // Always go to email verification step\n setCurrentStep(\"verification\");\n };\n const handleVerificationComplete = async ()=>{\n if (!appointmentData) return;\n // Prüfe Authentifizierung nach E-Mail-Bestätigung\n if (!user) {\n setError(\"Bitte best\\xe4tige zuerst deine E-Mail-Adresse, um den Termin zu speichern.\");\n return;\n }\n setLoading(true);\n setError(null);\n try {\n // Create the appointment datetime by combining date and time\n console.log(\"=== DATE PROCESSING DEBUG ===\");\n console.log(\"Input termin_datum:\", appointmentData.termin_datum);\n console.log(\"Input termin_time:\", appointmentData.termin_time);\n console.log(\"Input termin_datum type:\", typeof appointmentData.termin_datum);\n console.log(\"Input termin_datum instanceof Date:\", appointmentData.termin_datum instanceof Date);\n // Check if termin_datum is actually a Date object\n if (!(appointmentData.termin_datum instanceof Date)) {\n console.error(\"❌ termin_datum is not a Date object!\");\n setError(\"Fehler: Ung\\xfcltiges Datum. Bitte w\\xe4hlen Sie einen Termin aus.\");\n return;\n }\n const appointmentDateTime = new Date(appointmentData.termin_datum);\n console.log(\"Created appointmentDateTime:\", appointmentDateTime);\n console.log(\"appointmentDateTime.toISOString():\", appointmentDateTime.toISOString());\n const [hours] = appointmentData.termin_time.split(\":\").map(Number);\n console.log(\"Extracted hours:\", hours);\n // Create the appointment datetime in local time to avoid timezone issues\n const year = appointmentDateTime.getFullYear();\n const month = appointmentDateTime.getMonth();\n const day = appointmentDateTime.getDate();\n console.log(\"Date components:\", {\n year,\n month,\n day,\n hours\n });\n // Create the final appointment datetime in local time\n const finalAppointmentDateTime = new Date(year, month, day, hours, 0, 0, 0);\n console.log(\"Final appointmentDateTime (local):\", finalAppointmentDateTime);\n console.log(\"Final appointmentDateTime.toISOString():\", finalAppointmentDateTime.toISOString());\n console.log(\"Final appointmentDateTime.getTime():\", finalAppointmentDateTime.getTime());\n console.log(\"Final appointmentDateTime local string:\", finalAppointmentDateTime.toLocaleString(\"de-DE\"));\n // Store the appointment time in local time format\n const localTimeString = `${year}-${(month + 1).toString().padStart(2, \"0\")}-${day.toString().padStart(2, \"0\")}T${hours.toString().padStart(2, \"0\")}:00:00`;\n console.log(\"Local time string to save:\", localTimeString);\n // Check if customer already exists (by email)\n console.log(\"=== CUSTOMER CHECK DEBUG ===\");\n console.log(\"Input email:\", appointmentData.email);\n console.log(\"Input email type:\", typeof appointmentData.email);\n console.log(\"Input email length:\", appointmentData.email.length);\n console.log(\"Input email trimmed:\", appointmentData.email.trim());\n console.log(\"Input email lowercase:\", appointmentData.email.trim().toLowerCase());\n // First, let's check what's in the database for this email\n await checkSpecificEmail(appointmentData.email);\n // Try multiple email variations to find existing customer\n const emailVariations = [\n appointmentData.email.trim(),\n appointmentData.email.trim().toLowerCase(),\n appointmentData.email.trim().toUpperCase()\n ];\n console.log(\"Checking email variations:\", emailVariations);\n let existingCustomers = [];\n let checkError = null;\n // Try each email variation\n for (const emailVariation of emailVariations){\n const { data, error } = await _lib_supabase__WEBPACK_IMPORTED_MODULE_3__.supabase.from(\"kunden_projekte\").select(\"*\").eq(\"email\", emailVariation).order(\"erstellt_am\", {\n ascending: false\n });\n if (error) {\n console.error(`Error checking email variation \"${emailVariation}\":`, error);\n checkError = error;\n continue;\n }\n if (data && data.length > 0) {\n console.log(`Found ${data.length} customers with email \"${emailVariation}\"`);\n existingCustomers = data;\n break;\n }\n }\n console.log(\"Database query result:\", {\n existingCustomers,\n checkError\n });\n console.log(\"Number of existing customers found:\", existingCustomers?.length || 0);\n if (existingCustomers && existingCustomers.length > 0) {\n console.log(\"All found customers with this email:\");\n existingCustomers.forEach((customer, index)=>{\n console.log(`${index + 1}. ID: ${customer.id}, Email: \"${customer.email}\", Created: ${customer.erstellt_am}, Termin: ${customer.termin_datum}`);\n });\n }\n if (checkError) {\n console.error(\"Error checking existing customer:\", checkError);\n setError(\"Fehler beim \\xdcberpr\\xfcfen der Kundendaten. Bitte versuchen Sie es erneut.\");\n return;\n }\n const existingCustomer = existingCustomers && existingCustomers.length > 0 ? existingCustomers[0] : null;\n if (existingCustomer) {\n console.log(\"✅ Existing customer found:\", existingCustomer);\n console.log(\"Will UPDATE existing customer with ID:\", existingCustomer.id);\n // Warn if there are multiple entries with the same email\n if (existingCustomers.length > 1) {\n console.warn(`⚠️ Found ${existingCustomers.length} entries with email ${appointmentData.email}. Using the most recent one.`);\n }\n } else {\n console.log(\"❌ No existing customer found - will CREATE new\");\n }\n const appointmentDataToSave = {\n email: appointmentData.email,\n beschreibung: `${appointmentData.beschreibung}\\n\\nTermin: ${formatAppointmentDate(appointmentData.termin_datum, appointmentData.termin_time)}\\n\\nKontakt: ${appointmentData.name} (${appointmentData.telefon})\\nFirma: ${appointmentData.firma}`,\n termin_datum: localTimeString,\n ansprechpartner_name: appointmentData.name,\n telefon: appointmentData.telefon,\n firma: appointmentData.firma,\n berater: \"Webklar Team\",\n zielgruppe: \"Terminanfrage\"\n };\n let result;\n if (existingCustomer) {\n // Use upsert to ensure we update the existing customer\n console.log(\"\\uD83D\\uDD04 Starting UPSERT operation for customer ID:\", existingCustomer.id);\n const newDescription = `${existingCustomer.beschreibung || \"\"}\\n\\n--- NEUER TERMIN ---\\n${appointmentDataToSave.beschreibung}`;\n console.log(\"New description:\", newDescription);\n // Use upsert with the existing ID to force update\n const { data: upsertData, error: upsertError } = await _lib_supabase__WEBPACK_IMPORTED_MODULE_3__.supabase.from(\"kunden_projekte\").upsert({\n id: existingCustomer.id,\n ...appointmentDataToSave,\n beschreibung: newDescription,\n erstellt_am: new Date().toISOString()\n }, {\n onConflict: \"id\" // Update on ID conflict\n }).select(\"*\");\n if (upsertError) {\n console.error(\"❌ Error upserting customer:\", upsertError);\n setError(\"Fehler beim Aktualisieren der Kundendaten. Bitte versuchen Sie es erneut.\");\n return;\n }\n if (!upsertData || upsertData.length === 0) {\n console.error(\"❌ Upsert operation returned no data\");\n setError(\"Fehler beim Aktualisieren der Kundendaten. Bitte versuchen Sie es erneut.\");\n return;\n }\n result = upsertData[0];\n console.log(\"✅ Customer updated via upsert:\", result);\n // Verify the update by fetching the customer again\n const { data: verifyData, error: verifyError } = await _lib_supabase__WEBPACK_IMPORTED_MODULE_3__.supabase.from(\"kunden_projekte\").select(\"*\").eq(\"id\", existingCustomer.id).single();\n if (verifyError) {\n console.warn(\"⚠️ Could not verify update:\", verifyError);\n } else {\n console.log(\"✅ Update verified - customer data:\", verifyData);\n }\n setCustomerAction(\"updated\");\n } else {\n // Create new customer record ONLY if no existing customer found\n console.log(\"\\uD83C\\uDD95 Starting CREATE operation for new customer\");\n console.log(\"Create data:\", appointmentDataToSave);\n const { data, error } = await _lib_supabase__WEBPACK_IMPORTED_MODULE_3__.supabase.from(\"kunden_projekte\").insert(appointmentDataToSave).select(\"*\");\n if (error) {\n console.error(\"❌ Error creating customer:\", error);\n setError(\"Fehler beim Erstellen der Kundendaten. Bitte versuchen Sie es erneut.\");\n return;\n }\n if (!data || data.length === 0) {\n console.error(\"❌ Create operation returned no data\");\n setError(\"Fehler beim Erstellen der Kundendaten. Bitte versuchen Sie es erneut.\");\n return;\n }\n result = data[0]; // Get the first (and only) created record\n console.log(\"✅ Customer created successfully:\", result);\n setCustomerAction(\"created\");\n }\n setCurrentStep(\"success\");\n } catch (err) {\n console.error(\"Unexpected error saving appointment:\", err);\n setError(\"Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es erneut.\");\n } finally{\n setLoading(false);\n }\n };\n const handleBack = ()=>{\n setCurrentStep(\"form\");\n setError(null);\n };\n const handleReset = ()=>{\n setCurrentStep(\"form\");\n setAppointmentData(null);\n setError(null);\n setLoading(false);\n setCustomerAction(null);\n };\n const testDatabaseConnection = async ()=>{\n setLoading(true);\n setError(null);\n try {\n // Test basic connection and get table structure\n const { data, error } = await _lib_supabase__WEBPACK_IMPORTED_MODULE_3__.supabase.from(\"kunden_projekte\").select(\"*\").limit(1);\n if (error) {\n console.error(\"Database connection test failed:\", error);\n setError(`Datenbank-Verbindung fehlgeschlagen: ${error.message}`);\n return;\n }\n console.log(\"Database connection successful:\", data);\n const columns = Object.keys(data[0] || {});\n console.log(\"Table structure:\", columns);\n setTableStructure(columns);\n // Analyze which columns we can use\n const availableColumns = {\n email: columns.includes(\"email\"),\n description: columns.includes(\"description\") || columns.includes(\"beschreibung\"),\n termin_datum: columns.includes(\"termin_datum\"),\n name: columns.includes(\"name\") || columns.includes(\"ansprechpartn\"),\n phone: columns.includes(\"phone\") || columns.includes(\"telefon\"),\n company: columns.includes(\"company\") || columns.includes(\"firma\")\n };\n console.log(\"Available columns for appointment:\", availableColumns);\n let statusMessage = \"✅ Datenbank-Verbindung erfolgreich!\\n\\n\";\n statusMessage += \"\\uD83D\\uDCCB Verf\\xfcgbare Spalten:\\n\";\n Object.entries(availableColumns).forEach(([key, available])=>{\n statusMessage += `${available ? \"✅\" : \"❌\"} ${key}\\n`;\n });\n setError(statusMessage);\n } catch (err) {\n console.error(\"Connection test error:\", err);\n setError(\"❌ Datenbank-Verbindung fehlgeschlagen\");\n } finally{\n setLoading(false);\n }\n };\n const cleanupDuplicateCustomers = async ()=>{\n setLoading(true);\n setError(null);\n try {\n // Find all customers with duplicate emails\n const { data: allCustomers, error } = await _lib_supabase__WEBPACK_IMPORTED_MODULE_3__.supabase.from(\"kunden_projekte\").select(\"*\").order(\"erstellt_am\", {\n ascending: true\n });\n if (error) {\n console.error(\"Error fetching customers:\", error);\n setError(\"Fehler beim Laden der Kundendaten.\");\n return;\n }\n // Group by email\n const emailGroups = {};\n allCustomers?.forEach((customer)=>{\n if (!emailGroups[customer.email]) {\n emailGroups[customer.email] = [];\n }\n emailGroups[customer.email].push(customer);\n });\n // Find duplicates\n const duplicates = Object.entries(emailGroups).filter(([email, customers])=>customers.length > 1).map(([email, customers])=>({\n email,\n customers\n }));\n console.log(\"Found duplicate customers:\", duplicates);\n if (duplicates.length === 0) {\n setError(\"✅ Keine Duplikate gefunden!\");\n return;\n }\n let statusMessage = `🔍 ${duplicates.length} E-Mail-Adressen mit Duplikaten gefunden:\\n\\n`;\n duplicates.forEach(({ email, customers })=>{\n statusMessage += `📧 ${email}: ${customers.length} Einträge\\n`;\n customers.forEach((customer, index)=>{\n statusMessage += ` ${index + 1}. ID: ${customer.id} (${customer.erstellt_am})\\n`;\n });\n statusMessage += \"\\n\";\n });\n statusMessage += \"\\uD83D\\uDCA1 Tipp: Der neueste Eintrag wird f\\xfcr neue Termine verwendet.\";\n setError(statusMessage);\n } catch (err) {\n console.error(\"Cleanup error:\", err);\n setError(\"Fehler beim Bereinigen der Duplikate.\");\n } finally{\n setLoading(false);\n }\n };\n const checkSpecificEmail = async (email)=>{\n console.log(\"\\uD83D\\uDD0D Checking specific email:\", email);\n const { data, error } = await _lib_supabase__WEBPACK_IMPORTED_MODULE_3__.supabase.from(\"kunden_projekte\").select(\"*\").eq(\"email\", email).order(\"erstellt_am\", {\n ascending: false\n });\n if (error) {\n console.error(\"Error checking email:\", error);\n return;\n }\n console.log(`Found ${data?.length || 0} entries for email \"${email}\":`);\n data?.forEach((entry, index)=>{\n console.log(`${index + 1}. ID: ${entry.id}, Email: \"${entry.email}\", Created: ${entry.erstellt_am}`);\n });\n return data;\n };\n const formatAppointmentDate = (date, time)=>{\n return new Intl.DateTimeFormat(\"de-DE\", {\n weekday: \"long\",\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n }).format(date) + ` um ${time} Uhr`;\n };\n const cleanupIncorrectDates = async ()=>{\n setLoading(true);\n setError(null);\n try {\n console.log(\"\\uD83E\\uDDF9 Cleaning up incorrect appointment dates...\");\n // Find all entries with the incorrect date \"2025-07-21 07:00:00\"\n const { data: incorrectEntries, error: findError } = await _lib_supabase__WEBPACK_IMPORTED_MODULE_3__.supabase.from(\"kunden_projekte\").select(\"*\").eq(\"termin_datum\", \"2025-07-21T07:00:00.000Z\");\n if (findError) {\n console.error(\"Error finding incorrect entries:\", findError);\n setError(\"Fehler beim Finden der fehlerhaften Eintr\\xe4ge.\");\n return;\n }\n console.log(`Found ${incorrectEntries?.length || 0} entries with incorrect date`);\n if (incorrectEntries && incorrectEntries.length > 0) {\n // Update all incorrect entries to remove the termin_datum\n const { error: updateError } = await _lib_supabase__WEBPACK_IMPORTED_MODULE_3__.supabase.from(\"kunden_projekte\").update({\n termin_datum: null\n }).eq(\"termin_datum\", \"2025-07-21T07:00:00.000Z\");\n if (updateError) {\n console.error(\"Error updating incorrect entries:\", updateError);\n setError(\"Fehler beim Bereinigen der fehlerhaften Eintr\\xe4ge.\");\n return;\n }\n console.log(\"✅ Successfully cleaned up incorrect appointment dates\");\n alert(`✅ ${incorrectEntries.length} fehlerhafte Termine wurden bereinigt!`);\n } else {\n console.log(\"No incorrect entries found\");\n alert(\"✅ Keine fehlerhaften Termine gefunden!\");\n }\n } catch (err) {\n console.error(\"Unexpected error cleaning up dates:\", err);\n setError(\"Ein unerwarteter Fehler ist aufgetreten.\");\n } finally{\n setLoading(false);\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full max-w-4xl mx-auto\",\n children: [\n productionMode && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-4 p-3 rounded-xl border-2 border-green-500 bg-green-50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-green-700\",\n children: [\n \"✅ \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"Terminbuchung aktiv:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 476,\n columnNumber: 15\n }, this),\n \" Ihre Termine werden direkt in unserem System gespeichert.\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 475,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-2 flex space-x-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n onClick: testDatabaseConnection,\n disabled: loading,\n className: \"text-xs\",\n variant: \"outline\",\n size: \"sm\",\n children: loading ? \"Teste...\" : \"\\uD83D\\uDD0D DB-Verbindung testen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 479,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n onClick: cleanupDuplicateCustomers,\n disabled: loading,\n className: \"text-xs\",\n variant: \"outline\",\n size: \"sm\",\n children: loading ? \"Pr\\xfcfe...\" : \"\\uD83D\\uDD0D Duplikate pr\\xfcfen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 488,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n onClick: cleanupIncorrectDates,\n disabled: loading,\n className: \"text-xs\",\n variant: \"outline\",\n size: \"sm\",\n children: loading ? \"Bereinige...\" : \"\\uD83E\\uDDF9 Fehlerhafte Termine bereinigen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 497,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 478,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 474,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-center space-x-2 sm:space-x-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `flex flex-col items-center space-y-2 ${currentStep === \"form\" ? \"text-primary\" : currentStep === \"verification\" || currentStep === \"success\" ? \"text-primary\" : \"text-gray-400\"}`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `w-10 h-10 rounded-full flex items-center justify-center transition-all duration-300 ${currentStep === \"form\" ? \"bg-primary text-white shadow-lg scale-110\" : currentStep === \"verification\" || currentStep === \"success\" ? \"bg-primary text-white shadow-lg\" : \"bg-gray-200 text-gray-500\"}`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Calendar_Mail_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 525,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 518,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs sm:text-sm font-medium text-center\",\n children: \"Termin ausw\\xe4hlen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 527,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 514,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `w-8 sm:w-12 h-1 rounded-full transition-all duration-300 ${currentStep === \"verification\" || currentStep === \"success\" ? \"bg-primary\" : \"bg-gray-200\"}`\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 531,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `flex flex-col items-center space-y-2 ${currentStep === \"verification\" || currentStep === \"success\" ? \"text-primary\" : \"text-gray-400\"}`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `w-10 h-10 rounded-full flex items-center justify-center transition-all duration-300 ${currentStep === \"verification\" ? \"bg-primary text-white shadow-lg scale-110\" : currentStep === \"success\" ? \"bg-primary text-white shadow-lg\" : \"bg-gray-200 text-gray-500\"}`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Calendar_Mail_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 550,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 543,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs sm:text-sm font-medium text-center\",\n children: \"E-Mail best\\xe4tigen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 552,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 538,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 512,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 511,\n columnNumber: 7\n }, this),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-6 p-4 rounded-xl border-2 border-red-500 bg-red-50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pre\", {\n className: \"text-red-600 text-sm whitespace-pre-wrap\",\n children: error\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 560,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 559,\n columnNumber: 9\n }, this),\n currentStep === \"form\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_AppointmentForm__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n onSubmit: handleFormSubmit,\n loading: loading\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 566,\n columnNumber: 9\n }, this),\n currentStep === \"verification\" && appointmentData && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_EmailVerification__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n email: appointmentData.email,\n onVerificationComplete: handleVerificationComplete,\n onBack: handleBack\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 573,\n columnNumber: 9\n }, this),\n currentStep === \"success\" && appointmentData && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full max-w-md mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6 sm:p-8 rounded-3xl shadow-lg backdrop-blur-sm text-center\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.background}F0`\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-16 h-16 rounded-full flex items-center justify-center mx-auto mb-6\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.primary}20`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Calendar_Mail_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"w-8 h-8\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.primary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 588,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 586,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-2xl font-bold mb-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.primary\n },\n children: \"Termin best\\xe4tigt!\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 591,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4 mb-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.secondary\n },\n children: customerAction === \"created\" ? \"Vielen Dank f\\xfcr Ihre erste Terminanfrage! Ihr Kundenprofil wurde erstellt.\" : \"Vielen Dank f\\xfcr Ihre weitere Terminanfrage! Ihr bestehendes Kundenprofil wurde aktualisiert.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 596,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4 rounded-xl border-2\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.primary}10`,\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.primary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-semibold mb-2\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.primary\n },\n children: \"Ihr Termin:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 608,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.secondary\n },\n children: formatAppointmentDate(appointmentData.termin_datum, appointmentData.termin_time)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 611,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 603,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4 rounded-xl border-2\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.primary}10`,\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.primary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-semibold mb-2\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.primary\n },\n children: \"Kontaktdaten:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 621,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.secondary\n },\n children: [\n appointmentData.name,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"br\", {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 625,\n columnNumber: 41\n }, this),\n appointmentData.firma,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"br\", {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 626,\n columnNumber: 42\n }, this),\n appointmentData.email\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 624,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 616,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 595,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs mb-6\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.secondary\n },\n children: \"Vielen Dank f\\xfcr Ihre Terminanfrage! Wir werden uns in K\\xfcrze bei Ihnen melden, um den Termin zu best\\xe4tigen.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 632,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n onClick: handleReset,\n className: \"w-full rounded-xl\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.primary,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_4__.colors.background\n },\n children: \"Neuen Termin buchen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 636,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 582,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 581,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentBooking.tsx\",\n lineNumber: 471,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL0FwcG9pbnRtZW50Qm9va2luZy50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXdDO0FBQ1E7QUFDc0I7QUFDNUI7QUFDSjtBQUNVO0FBQ0k7QUFDVjtBQWMzQixTQUFTVztJQUN0QixNQUFNLEVBQUVDLElBQUksRUFBRSxHQUFHRix1REFBT0E7SUFDeEIsTUFBTSxDQUFDRyxhQUFhQyxlQUFlLEdBQUdiLCtDQUFRQSxDQUFjO0lBQzVELE1BQU0sQ0FBQ2MsaUJBQWlCQyxtQkFBbUIsR0FBR2YsK0NBQVFBLENBQXlCO0lBQy9FLE1BQU0sQ0FBQ2dCLFNBQVNDLFdBQVcsR0FBR2pCLCtDQUFRQSxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQ2tCLE9BQU9DLFNBQVMsR0FBR25CLCtDQUFRQSxDQUFnQjtJQUNsRCxNQUFNLENBQUNvQixVQUFVQyxZQUFZLEdBQUdyQiwrQ0FBUUEsQ0FBQyxRQUFRLHVDQUF1QztJQUN4RixNQUFNLENBQUNzQixnQkFBZ0JDLGtCQUFrQixHQUFHdkIsK0NBQVFBLENBQVcsRUFBRTtJQUNqRSxNQUFNLENBQUN3QixnQkFBZ0JDLGtCQUFrQixHQUFHekIsK0NBQVFBLENBQUMsUUFBUSw0QkFBNEI7SUFDekYsTUFBTSxDQUFDMEIsZ0JBQWdCQyxrQkFBa0IsR0FBRzNCLCtDQUFRQSxDQUErQjtJQUVuRixNQUFNNEIsbUJBQW1CLE9BQU9DO1FBQzlCZCxtQkFBbUJjO1FBRW5CLHVDQUF1QztRQUN2Q2hCLGVBQWU7SUFDakI7SUFFQSxNQUFNaUIsNkJBQTZCO1FBQ2pDLElBQUksQ0FBQ2hCLGlCQUFpQjtRQUV0QixrREFBa0Q7UUFDbEQsSUFBSSxDQUFDSCxNQUFNO1lBQ1RRLFNBQVM7WUFDVDtRQUNGO1FBRUFGLFdBQVc7UUFDWEUsU0FBUztRQUVULElBQUk7WUFDRiw2REFBNkQ7WUFDN0RZLFFBQVFDLEdBQUcsQ0FBQztZQUNaRCxRQUFRQyxHQUFHLENBQUMsdUJBQXVCbEIsZ0JBQWdCbUIsWUFB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QUVELFdBQVU7NENBQXFCWSxPQUFPO2dEQUFFSSxPQUFPaEosK0NBQU1BLENBQUMrSSxPQUFPOzRDQUFDO3NEQUFHOzs7Ozs7c0RBR3BFLDhEQUFDZDs0Q0FBRUQsV0FBVTs0Q0FBVVksT0FBTztnREFBRUksT0FBT2hKLCtDQUFNQSxDQUFDa0osU0FBUzs0Q0FBQzs7Z0RBQ3JEMUksZ0JBQWdCaUUsSUFBSTs4REFBQyw4REFBQzJFOzs7OztnREFDdEI1SSxnQkFBZ0JtRSxLQUFLOzhEQUFDLDhEQUFDeUU7Ozs7O2dEQUN2QjVJLGdCQUFnQndDLEtBQUs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0NBSzVCLDhEQUFDaUY7NEJBQUVELFdBQVU7NEJBQWVZLE9BQU87Z0NBQUVJLE9BQU9oSiwrQ0FBTUEsQ0FBQ2tKLFNBQVM7NEJBQUM7c0NBQUc7Ozs7OztzQ0FJaEUsOERBQUN2Six5REFBTUE7NEJBQ0x3SSxTQUFTeEM7NEJBQ1RxQyxXQUFVOzRCQUNWWSxPQUFPO2dDQUNMQyxpQkFBaUI3SSwrQ0FBTUEsQ0FBQytJLE9BQU87Z0NBQy9CQyxPQUFPaEosK0NBQU1BLENBQUM4SSxVQUFVOzRCQUMxQjtzQ0FDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRYiIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL2NvbXBvbmVudHMvQXBwb2ludG1lbnRCb29raW5nLnRzeD80NzA3Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xyXG5cclxuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBDaGVja0NpcmNsZSwgQ2FsZW5kYXIsIE1haWwsIEFycm93TGVmdCB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcclxuaW1wb3J0IHsgc3VwYWJhc2UgfSBmcm9tICdAL2xpYi9zdXBhYmFzZSc7XHJcbmltcG9ydCB7IGNvbG9ycyB9IGZyb20gJ0AvbGliL2NvbG9ycyc7XHJcbmltcG9ydCBBcHBvaW50bWVudEZvcm0gZnJvbSAnLi9BcHBvaW50bWVudEZvcm0nO1xyXG5pbXBvcnQgRW1haWxWZXJpZmljYXRpb24gZnJvbSAnLi9FbWFpbFZlcmlmaWNhdGlvbic7XHJcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tICdAL2hvb2tzL3VzZUF1dGgnO1xyXG5cclxudHlwZSBCb29raW5nU3RlcCA9ICdmb3JtJyB8ICd2ZXJpZmljYXRpb24nIHwgJ3N1Y2Nlc3MnO1xyXG5cclxuaW50ZXJmYWNlIEFwcG9pbnRtZW50RGF0YSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRlbGVmb246IHN0cmluZztcclxuICBmaXJtYTogc3RyaW5nO1xyXG4gIGVtYWlsOiBzdHJpbmc7XHJcbiAgYmVzY2hyZWlidW5nOiBzdHJpbmc7XHJcbiAgdGVybWluX2RhdHVtPzogRGF0ZTtcclxuICB0ZXJtaW5fdGltZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQXBwb2ludG1lbnRCb29raW5nKCkge1xyXG4gIGNvbnN0IHsgdXNlciB9ID0gdXNlQXV0aCgpO1xyXG4gIGNvbnN0IFtjdXJyZW50U3RlcCwgc2V0Q3VycmVudFN0ZXBdID0gdXNlU3RhdGU8Qm9va2luZ1N0ZXA+KCdmb3JtJyk7XHJcbiAgY29uc3QgW2FwcG9pbnRtZW50RGF0YSwgc2V0QXBwb2ludG1lbnREYXRhXSA9IHVzZVN0YXRlPEFwcG9pbnRtZW50RGF0YSB8IG51bGw+KG51bGwpO1xyXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xyXG4gIGNvbnN0IFt0ZXN0TW9kZSwgc2V0VGVzdE1vZGVdID0gdXNlU3RhdGUoZmFsc2UpOyAvLyBQcm9kdWN0aW9uIG1vZGUgLSBubyB0ZXN0IGluZGljYXRvcnNcclxuICBjb25zdCBbdGFibGVTdHJ1Y3R1cmUsIHNldFRhYmxlU3RydWN0dXJlXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihbXSk7XHJcbiAgY29uc3QgW3Byb2R1Y3Rpb25Nb2RlLCBzZXRQcm9kdWN0aW9uTW9kZV0gPSB1c2VTdGF0ZShmYWxzZSk7IC8vIEVuYWJsZSBlbWFpbCB2ZXJpZmljYXRpb25cclxuICBjb25zdCBbY3VzdG9tZXJBY3Rpb24sIHNldEN1c3RvbWVyQWN0aW9uXSA9IHVzZVN0YXRlPCdjcmVhdGVkJyB8ICd1cGRhdGVkJyB8IG51bGw+KG51bGwpO1xyXG5cclxuICBjb25zdCBoYW5kbGVGb3JtU3VibWl0ID0gYXN5bmMgKGRhdGE6IEFwcG9pbnRtZW50RGF0YSkgPT4ge1xyXG4gICAgc2V0QXBwb2ludG1lbnREYXRhKGRhdGEpO1xyXG4gICAgXHJcbiAgICAvLyBBbHdheXMgZ28gdG8gZW1haWwgdmVyaWZpY2F0aW9uIHN0ZXBcclxuICAgIHNldEN1cnJlbnRTdGVwKCd2ZXJpZmljYXRpb24nKTtcclxuICB9O1xyXG5cclxuICBjb25zdCBoYW5kbGVWZXJpZmljYXRpb25Db21wbGV0ZSA9IGFzeW5jICgpID0+IHtcclxuICAgIGlmICghYXBwb2ludG1lbnREYXRhKSByZXR1cm47XHJcblxyXG4gICAgLy8gUHLDvGZlIEF1dGhlbnRpZml6aWVydW5nIG5hY2ggRS1NYWlsLUJlc3TDpHRpZ3VuZ1xyXG4gICAgaWYgKCF1c2VyKSB7XHJcbiAgICAgIHNldEVycm9yKCdCaXR0ZSBiZXN0w6R0aWdlIHp1ZXJzdCBkZWluZSBFLU1haWwtQWRyZXNzZSwgdW0gZGVuIFRlcm1pbiB6dSBzcGVpY2hlcm4uJyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBzZXRMb2FkaW5nKHRydWUpO1xyXG4gICAgc2V0RXJyb3IobnVsbCk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgLy8gQ3JlYXRlIHRoZSBhcHBvaW50bWVudCBkYXRldGltZSBieSBjb21iaW5pbmcgZGF0ZSBhbmQgdGltZVxyXG4gICAgICBjb25zb2xlLmxvZygnPT09IERBVEUgUFJPQ0VTU0lORyBERUJVRyA9PT0nKTtcclxuICAgICAgY29uc29sZS5sb2coJ0lucHV0IHRlcm1pbl9kYXR1bTonLCBhcHBvaW50bWVudERhdGEudGVybWluX2RhdHVtKTtcclxuICAgICAgY29uc29sZS5sb2coJ0lucHV0IHRlcm1pbl90aW1lOicsIGFwcG9pbnRtZW50RGF0YS50ZXJtaW5fdGltZSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdJbnB1dCB0ZXJtaW5fZGF0dW0gdHlwZTonLCB0eXBlb2YgYXBwb2ludG1lbnREYXRhLnRlcm1pbl9kYXR1bSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdJbnB1dCB0ZXJtaW5fZGF0dW0gaW5zdGFuY2VvZiBEYXRlOicsIGFwcG9pbnRtZW50RGF0YS50ZXJtaW5fZGF0dW0gaW5zdGFuY2VvZiBEYXRlKTtcclxuICAgICAgXHJcbiAgICAgIC8vIENoZWNrIGlmIHRlcm1pbl9kYXR1bSBpcyBhY3R1YWxseSBhIERhdGUgb2JqZWN0XHJcbiAgICAgIGlmICghKGFwcG9pbnRtZW50RGF0YS50ZXJtaW5fZGF0dW0gaW5zdGFuY2VvZiBEYXRlKSkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ+KdjCB0ZXJtaW5fZGF0dW0gaXMgbm90IGEgRGF0ZSBvYmplY3QhJyk7XHJcbiAgICAgICAgc2V0RXJyb3IoJ0ZlaGxlcjogVW5nw7xsdGlnZXMgRGF0dW0uIEJpdHRlIHfDpGhsZW4gU2llIGVpbmVuIFRlcm1pbiBhdXMuJyk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBjb25zdCBhcHBvaW50bWVudERhdGVUaW1lID0gbmV3IERhdGUoYXBwb2ludG1lbnREYXRhLnRlcm1pbl9kYXR1bSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdDcmVhdGVkIGFwcG9pbnRtZW50RGF0ZVRpbWU6JywgYXBwb2ludG1lbnREYXRlVGltZSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdhcHBvaW50bWVudERhdGVUaW1lLnRvSVNPU3RyaW5nKCk6JywgYXBwb2ludG1lbnREYXRlVGltZS50b0lTT1N0cmluZygpKTtcclxuICAgICAgXHJcbiAgICAgIGNvbnN0IFtob3Vyc10gPSBhcHBvaW50bWVudERhdGEudGVybWluX3RpbWUhLnNwbGl0KCc6JykubWFwKE51bWJlcik7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdFeHRyYWN0ZWQgaG91cnM6JywgaG91cnMpO1xyXG4gICAgICBcclxuICAgICAgLy8gQ3JlYXRlIHRoZSBhcHBvaW50bWVudCBkYXRldGltZSBpbiBsb2NhbCB0aW1lIHRvIGF2b2lkIHRpbWV6b25lIGlzc3Vlc1xyXG4gICAgICBjb25zdCB5ZWFyID0gYXBwb2ludG1lbnREYXRlVGltZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgICBjb25zdCBtb250aCA9IGFwcG9pbnRtZW50RGF0ZVRpbWUuZ2V0TW9udGgoKTtcclxuICAgICAgY29uc3QgZGF5ID0gYXBwb2ludG1lbnREYXRlVGltZS5nZXREYXRlKCk7XHJcbiAgICAgIFxyXG4gICAgICBjb25zb2xlLmxvZygnRGF0ZSBjb21wb25lbnRzOicsIHsgeWVhciwgbW9udGgsIGRheSwgaG91cnMgfSk7XHJcbiAgICAgIFxyXG4gICAgICAvLyBDcmVhdGUgdGhlIGZpbmFsIGFwcG9pbnRtZW50IGRhdGV0aW1lIGluIGxvY2FsIHRpbWVcclxuICAgICAgY29uc3QgZmluYWxBcHBvaW50bWVudERhdGVUaW1lID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSwgaG91cnMsIDAsIDAsIDApO1xyXG4gICAgICBjb25zb2xlLmxvZygnRmluYWwgYXBwb2ludG1lbnREYXRlVGltZSAobG9jYWwpOicsIGZpbmFsQXBwb2ludG1lbnREYXRlVGltZSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdGaW5hbCBhcHBvaW50bWVudERhdGVUaW1lLnRvSVNPU3RyaW5nKCk6JywgZmluYWxBcHBvaW50bWVudERhdGVUaW1lLnRvSVNPU3RyaW5nKCkpO1xyXG4gICAgICBjb25zb2xlLmxvZygnRmluYWwgYXBwb2ludG1lbnREYXRlVGltZS5nZXRUaW1lKCk6JywgZmluYWxBcHBvaW50bWVudERhdGVUaW1lLmdldFRpbWUoKSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdGaW5hbCBhcHBvaW50bWVudERhdGVUaW1lIGxvY2FsIHN0cmluZzonLCBmaW5hbEFwcG9pbnRtZW50RGF0ZVRpbWUudG9Mb2NhbGVTdHJpbmcoJ2RlLURFJykpO1xyXG4gICAgICBcclxuICAgICAgLy8gU3RvcmUgdGhlIGFwcG9pbnRtZW50IHRpbWUgaW4gbG9jYWwgdGltZSBmb3JtYXRcclxuICAgICAgY29uc3QgbG9jYWxUaW1lU3RyaW5nID0gYCR7eWVhcn0tJHsobW9udGggKyAxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9LSR7ZGF5LnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX1UJHtob3Vycy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9OjAwOjAwYDtcclxuICAgICAgY29uc29sZS5sb2coJ0xvY2FsIHRpbWUgc3RyaW5nIHRvIHNhdmU6JywgbG9jYWxUaW1lU3RyaW5nKTtcclxuXHJcbiAgICAgIC8vIENoZWNrIGlmIGN1c3RvbWVyIGFscmVhZHkgZXhpc3RzIChieSBlbWFpbClcclxuICAgICAgY29uc29sZS5sb2coJz09PSBDVVNUT01FUiBDSEVDSyBERUJVRyA9PT0nKTtcclxuICAgICAgY29uc29sZS5sb2coJ0lucHV0IGVtYWlsOicsIGFwcG9pbnRtZW50RGF0YS5lbWFpbCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdJbnB1dCBlbWFpbCB0eXBlOicsIHR5cGVvZiBhcHBvaW50bWVudERhdGEuZW1haWwpO1xyXG4gICAgICBjb25zb2xlLmxvZygnSW5wdXQgZW1haWwgbGVuZ3RoOicsIGFwcG9pbnRtZW50RGF0YS5lbWFpbC5sZW5ndGgpO1xyXG4gICAgICBjb25zb2xlLmxvZygnSW5wdXQgZW1haWwgdHJpbW1lZDonLCBhcHBvaW50bWVudERhdGEuZW1haWwudHJpbSgpKTtcclxuICAgICAgY29uc29sZS5sb2coJ0lucHV0IGVtYWlsIGxvd2VyY2FzZTonLCBhcHBvaW50bWVudERhdGEuZW1haWwudHJpbSgpLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICBcclxuICAgICAgLy8gRmlyc3QsIGxldCdzIGNoZWNrIHdoYXQncyBpbiB0aGUgZGF0YWJhc2UgZm9yIHRoaXMgZW1haWxcclxuICAgICAgYXdhaXQgY2hlY2tTcGVjaWZpY0VtYWlsKGFwcG9pbnRtZW50RGF0YS5lbWFpbCk7XHJcbiAgICAgIFxyXG4gICAgICAvLyBUcnkgbXVsdGlwbGUgZW1haWwgdmFyaWF0aW9ucyB0byBmaW5kIGV4aXN0aW5nIGN1c3RvbWVyXHJcbiAgICAgIGNvbnN0IGVtYWlsVmFyaWF0aW9ucyA9IFtcclxuICAgICAgICBhcHBvaW50bWVudERhdGEuZW1haWwudHJpbSgpLFxyXG4gICAgICAgIGFwcG9pbnRtZW50RGF0YS5lbWFpbC50cmltKCkudG9Mb3dlckNhc2UoKSxcclxuICAgICAgICBhcHBvaW50bWVudERhdGEuZW1haWwudHJpbSgpLnRvVXBwZXJDYXNlKClcclxuICAgICAgXTtcclxuICAgICAgXHJcbiAgICAgIGNvbnNvbGUubG9nKCdDaGVja2luZyBlbWFpbCB2YXJpYXRpb25zOicsIGVtYWlsVmFyaWF0aW9ucyk7XHJcbiAgICAgIFxyXG4gICAgICBsZXQgZXhpc3RpbmdDdXN0b21lcnM6IGFueVtdID0gW107XHJcbiAgICAgIGxldCBjaGVja0Vycm9yOiBhbnkgPSBudWxsO1xyXG4gICAgICBcclxuICAgICAgLy8gVHJ5IGVhY2ggZW1haWwgdmFyaWF0aW9uXHJcbiAgICAgIGZvciAoY29uc3QgZW1haWxWYXJpYXRpb24gb2YgZW1haWxWYXJpYXRpb25zKSB7XHJcbiAgICAgICAgY29uc3QgeyBkYXRhLCBlcnJvciB9ID0gYXdhaXQgc3VwYWJhc2VcclxuICAgICAgICAgIC5mcm9tKCdrdW5kZW5fcHJvamVrdGUnKVxyXG4gICAgICAgICAgLnNlbGVjdCgnKicpXHJcbiAgICAgICAgICAuZXEoJ2VtYWlsJywgZW1haWxWYXJpYXRpb24pXHJcbiAgICAgICAgICAub3JkZXIoJ2Vyc3RlbGx0X2FtJywgeyBhc2NlbmRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmIChlcnJvcikge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3IgY2hlY2tpbmcgZW1haWwgdmFyaWF0aW9uIFwiJHtlbWFpbFZhcmlhdGlvbn1cIjpgLCBlcnJvcik7XHJcbiAgICAgICAgICBjaGVja0Vycm9yID0gZXJyb3I7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKGRhdGEgJiYgZGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhgRm91bmQgJHtkYXRhLmxlbmd0aH0gY3VzdG9tZXJzIHdpdGggZW1haWwgXCIke2VtYWlsVmFyaWF0aW9ufVwiYCk7XHJcbiAgICAgICAgICBleGlzdGluZ0N1c3RvbWVycyA9IGRhdGE7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnNvbGUubG9nKCdEYXRhYmFzZSBxdWVyeSByZXN1bHQ6JywgeyBleGlzdGluZ0N1c3RvbWVycywgY2hlY2tFcnJvciB9KTtcclxuICAgICAgY29uc29sZS5sb2coJ051bWJlciBvZiBleGlzdGluZyBjdXN0b21lcnMgZm91bmQ6JywgZXhpc3RpbmdDdXN0b21lcnM/Lmxlbmd0aCB8fCAwKTtcclxuICAgICAgXHJcbiAgICAgIGlmIChleGlzdGluZ0N1c3RvbWVycyAmJiBleGlzdGluZ0N1c3RvbWVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0FsbCBmb3VuZCBjdXN0b21lcnMgd2l0aCB0aGlzIGVtYWlsOicpO1xyXG4gICAgICAgIGV4aXN0aW5nQ3VzdG9tZXJzLmZvckVhY2goKGN1c3RvbWVyLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coYCR7aW5kZXggKyAxfS4gSUQ6ICR7Y3VzdG9tZXIuaWR9LCBFbWFpbDogXCIke2N1c3RvbWVyLmVtYWlsfVwiLCBDcmVhdGVkOiAke2N1c3RvbWVyLmVyc3RlbGx0X2FtfSwgVGVybWluOiAke2N1c3RvbWVyLnRlcm1pbl9kYXR1bX1gKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGNoZWNrRXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBjaGVja2luZyBleGlzdGluZyBjdXN0b21lcjonLCBjaGVja0Vycm9yKTtcclxuICAgICAgICBzZXRFcnJvcignRmVobGVyIGJlaW0gw5xiZXJwcsO8ZmVuIGRlciBLdW5kZW5kYXRlbi4gQml0dGUgdmVyc3VjaGVuIFNpZSBlcyBlcm5ldXQuJyk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBleGlzdGluZ0N1c3RvbWVyID0gZXhpc3RpbmdDdXN0b21lcnMgJiYgZXhpc3RpbmdDdXN0b21lcnMubGVuZ3RoID4gMCA/IGV4aXN0aW5nQ3VzdG9tZXJzWzBdIDogbnVsbDtcclxuXHJcbiAgICAgIGlmIChleGlzdGluZ0N1c3RvbWVyKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ+KchSBFeGlzdGluZyBjdXN0b21lciBmb3VuZDonLCBleGlzdGluZ0N1c3RvbWVyKTtcclxuICAgICAgICBjb25zb2xlLmxvZygnV2lsbCBVUERBVEUgZXhpc3RpbmcgY3VzdG9tZXIgd2l0aCBJRDonLCBleGlzdGluZ0N1c3RvbWVyLmlkKTtcclxuICAgICAgICBcclxuICAgICAgICAvLyBXYXJuIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBlbnRyaWVzIHdpdGggdGhlIHNhbWUgZW1haWxcclxuICAgICAgICBpZiAoZXhpc3RpbmdDdXN0b21lcnMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgY29uc29sZS53YXJuKGDimqDvuI8gRm91bmQgJHtleGlzdGluZ0N1c3RvbWVycy5sZW5ndGh9IGVudHJpZXMgd2l0aCBlbWFpbCAke2FwcG9pbnRtZW50RGF0YS5lbWFpbH0uIFVzaW5nIHRoZSBtb3N0IHJlY2VudCBvbmUuYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCfinYwgTm8gZXhpc3RpbmcgY3VzdG9tZXIgZm91bmQgLSB3aWxsIENSRUFURSBuZXcnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgYXBwb2ludG1lbnREYXRhVG9TYXZlID0ge1xyXG4gICAgICAgIGVtYWlsOiBhcHBvaW50bWVudERhdGEuZW1haWwsXHJcbiAgICAgICAgYmVzY2hyZWlidW5nOiBgJHthcHBvaW50bWVudERhdGEuYmVzY2hyZWlidW5nfVxcblxcblRlcm1pbjogJHtmb3JtYXRBcHBvaW50bWVudERhdGUoYXBwb2ludG1lbnREYXRhLnRlcm1pbl9kYXR1bSEsIGFwcG9pbnRtZW50RGF0YS50ZXJtaW5fdGltZSEpfVxcblxcbktvbnRha3Q6ICR7YXBwb2ludG1lbnREYXRhLm5hbWV9ICgke2FwcG9pbnRtZW50RGF0YS50ZWxlZm9ufSlcXG5GaXJtYTogJHthcHBvaW50bWVudERhdGEuZmlybWF9YCxcclxuICAgICAgICB0ZXJtaW5fZGF0dW06IGxvY2FsVGltZVN0cmluZywgLy8gU3RvcmUgaW4gbG9jYWwgdGltZSBmb3JtYXRcclxuICAgICAgICBhbnNwcmVjaHBhcnRuZXJfbmFtZTogYXBwb2ludG1lbnREYXRhLm5hbWUsXHJcbiAgICAgICAgdGVsZWZvbjogYXBwb2ludG1lbnREYXRhLnRlbGVmb24sXHJcbiAgICAgICAgZmlybWE6IGFwcG9pbnRtZW50RGF0YS5maXJtYSxcclxuICAgICAgICBiZXJhdGVyOiAnV2Via2xhciBUZWFtJyxcclxuICAgICAgICB6aWVsZ3J1cHBlOiAnVGVybWluYW5mcmFnZSdcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGxldCByZXN1bHQ7XHJcblxyXG4gICAgICBpZiAoZXhpc3RpbmdDdXN0b21lcikge1xyXG4gICAgICAgIC8vIFVzZSB1cHNlcnQgdG8gZW5zdXJlIHdlIHVwZGF0ZSB0aGUgZXhpc3RpbmcgY3VzdG9tZXJcclxuICAgICAgICBjb25zb2xlLmxvZygn8J+UhCBTdGFydGluZyBVUFNFUlQgb3BlcmF0aW9uIGZvciBjdXN0b21lciBJRDonLCBleGlzdGluZ0N1c3RvbWVyLmlkKTtcclxuICAgICAgICBcclxuICAgICAgICBjb25zdCBuZXdEZXNjcmlwdGlvbiA9IGAke2V4aXN0aW5nQ3VzdG9tZXIuYmVzY2hyZWlidW5nIHx8ICcnfVxcblxcbi0tLSBORVVFUiBURVJNSU4gLS0tXFxuJHthcHBvaW50bWVudERhdGFUb1NhdmUuYmVzY2hyZWlidW5nfWA7XHJcbiAgICAgICAgXHJcbiAgICAgICAgY29uc29sZS5sb2coJ05ldyBkZXNjcmlwdGlvbjonLCBuZXdEZXNjcmlwdGlvbik7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gVXNlIHVwc2VydCB3aXRoIHRoZSBleGlzdGluZyBJRCB0byBmb3JjZSB1cGRhdGVcclxuICAgICAgICBjb25zdCB7IGRhdGE6IHVwc2VydERhdGEsIGVycm9yOiB1cHNlcnRFcnJvciB9ID0gYXdhaXQgc3VwYWJhc2VcclxuICAgICAgICAgIC5mcm9tKCdrdW5kZW5fcHJvamVrdGUnKVxyXG4gICAgICAgICAgLnVwc2VydCh7XHJcbiAgICAgICAgICAgIGlkOiBleGlzdGluZ0N1c3RvbWVyLmlkLCAvLyBVc2UgZXhpc3RpbmcgSUQgdG8gZm9yY2UgdXBkYXRlXHJcbiAgICAgICAgICAgIC4uLmFwcG9pbnRtZW50RGF0YVRvU2F2ZSxcclxuICAgICAgICAgICAgYmVzY2hyZWlidW5nOiBuZXdEZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgZXJzdGVsbHRfYW06IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKVxyXG4gICAgICAgICAgfSwge1xyXG4gICAgICAgICAgICBvbkNvbmZsaWN0OiAnaWQnIC8vIFVwZGF0ZSBvbiBJRCBjb25mbGljdFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC5zZWxlY3QoJyonKTtcclxuICAgICAgICBcclxuICAgICAgICBpZiAodXBzZXJ0RXJyb3IpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ+KdjCBFcnJvciB1cHNlcnRpbmcgY3VzdG9tZXI6JywgdXBzZXJ0RXJyb3IpO1xyXG4gICAgICAgICAgc2V0RXJyb3IoJ0ZlaGxlciBiZWltIEFrdHVhbGlzaWVyZW4gZGVyIEt1bmRlbmRhdGVuLiBCaXR0ZSB2ZXJzdWNoZW4gU2llIGVzIGVybmV1dC4nKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKCF1cHNlcnREYXRhIHx8IHVwc2VydERhdGEubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCfinYwgVXBzZXJ0IG9wZXJhdGlvbiByZXR1cm5lZCBubyBkYXRhJyk7XHJcbiAgICAgICAgICBzZXRFcnJvcignRmVobGVyIGJlaW0gQWt0dWFsaXNpZXJlbiBkZXIgS3VuZGVuZGF0ZW4uIEJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgZXJuZXV0LicpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICByZXN1bHQgPSB1cHNlcnREYXRhWzBdO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCfinIUgQ3VzdG9tZXIgdXBkYXRlZCB2aWEgdXBzZXJ0OicsIHJlc3VsdCk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gVmVyaWZ5IHRoZSB1cGRhdGUgYnkgZmV0Y2hpbmcgdGhlIGN1c3RvbWVyIGFnYWluXHJcbiAgICAgICAgY29uc3QgeyBkYXRhOiB2ZXJpZnlEYXRhLCBlcnJvcjogdmVyaWZ5RXJyb3IgfSA9IGF3YWl0IHN1cGFiYXNlXHJcbiAgICAgICAgICAuZnJvbSgna3VuZGVuX3Byb2pla3RlJylcclxuICAgICAgICAgIC5zZWxlY3QoJyonKVxyXG4gICAgICAgICAgLmVxKCdpZCcsIGV4aXN0aW5nQ3VzdG9tZXIuaWQpXHJcbiAgICAgICAgICAuc2luZ2xlKCk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKHZlcmlmeUVycm9yKSB7XHJcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ+KaoO+4jyBDb3VsZCBub3QgdmVyaWZ5IHVwZGF0ZTonLCB2ZXJpZnlFcnJvcik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCfinIUgVXBkYXRlIHZlcmlmaWVkIC0gY3VzdG9tZXIgZGF0YTonLCB2ZXJpZnlEYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgc2V0Q3VzdG9tZXJBY3Rpb24oJ3VwZGF0ZWQnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBDcmVhdGUgbmV3IGN1c3RvbWVyIHJlY29yZCBPTkxZIGlmIG5vIGV4aXN0aW5nIGN1c3RvbWVyIGZvdW5kXHJcbiAgICAgICAgY29uc29sZS5sb2coJ/CfhpUgU3RhcnRpbmcgQ1JFQVRFIG9wZXJhdGlvbiBmb3IgbmV3IGN1c3RvbWVyJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0NyZWF0ZSBkYXRhOicsIGFwcG9pbnRtZW50RGF0YVRvU2F2ZSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgY29uc3QgeyBkYXRhLCBlcnJvciB9ID0gYXdhaXQgc3VwYWJhc2VcclxuICAgICAgICAgIC5mcm9tKCdrdW5kZW5fcHJvamVrdGUnKVxyXG4gICAgICAgICAgLmluc2VydChhcHBvaW50bWVudERhdGFUb1NhdmUpXHJcbiAgICAgICAgICAuc2VsZWN0KCcqJyk7XHJcblxyXG4gICAgICAgIGlmIChlcnJvcikge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcign4p2MIEVycm9yIGNyZWF0aW5nIGN1c3RvbWVyOicsIGVycm9yKTtcclxuICAgICAgICAgIHNldEVycm9yKCdGZWhsZXIgYmVpbSBFcnN0ZWxsZW4gZGVyIEt1bmRlbmRhdGVuLiBCaXR0ZSB2ZXJzdWNoZW4gU2llIGVzIGVybmV1dC4nKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghZGF0YSB8fCBkYXRhLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcign4p2MIENyZWF0ZSBvcGVyYXRpb24gcmV0dXJuZWQgbm8gZGF0YScpO1xyXG4gICAgICAgICAgc2V0RXJyb3IoJ0ZlaGxlciBiZWltIEVyc3RlbGxlbiBkZXIgS3VuZGVuZGF0ZW4uIEJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgZXJuZXV0LicpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmVzdWx0ID0gZGF0YVswXTsgLy8gR2V0IHRoZSBmaXJzdCAoYW5kIG9ubHkpIGNyZWF0ZWQgcmVjb3JkXHJcbiAgICAgICAgY29uc29sZS5sb2coJ+KchSBDdXN0b21lciBjcmVhdGVkIHN1Y2Nlc3NmdWxseTonLCByZXN1bHQpO1xyXG4gICAgICAgIHNldEN1c3RvbWVyQWN0aW9uKCdjcmVhdGVkJyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNldEN1cnJlbnRTdGVwKCdzdWNjZXNzJyk7XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignVW5leHBlY3RlZCBlcnJvciBzYXZpbmcgYXBwb2ludG1lbnQ6JywgZXJyKTtcclxuICAgICAgc2V0RXJyb3IoJ0VpbiB1bmVyd2FydGV0ZXIgRmVobGVyIGlzdCBhdWZnZXRyZXRlbi4gQml0dGUgdmVyc3VjaGVuIFNpZSBlcyBlcm5ldXQuJyk7XHJcbiAgICB9IGZpbmFsbHkge1xyXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBjb25zdCBoYW5kbGVCYWNrID0gKCkgPT4ge1xyXG4gICAgc2V0Q3VycmVudFN0ZXAoJ2Zvcm0nKTtcclxuICAgIHNldEVycm9yKG51bGwpO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0IGhhbmRsZVJlc2V0ID0gKCkgPT4ge1xyXG4gICAgc2V0Q3VycmVudFN0ZXAoJ2Zvcm0nKTtcclxuICAgIHNldEFwcG9pbnRtZW50RGF0YShudWxsKTtcclxuICAgIHNldEVycm9yKG51bGwpO1xyXG4gICAgc2V0TG9hZGluZyhmYWxzZSk7XHJcbiAgICBzZXRDdXN0b21lckFjdGlvbihudWxsKTtcclxuICB9O1xyXG5cclxuICBjb25zdCB0ZXN0RGF0YWJhc2VDb25uZWN0aW9uID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgc2V0TG9hZGluZyh0cnVlKTtcclxuICAgIHNldEVycm9yKG51bGwpO1xyXG4gICAgXHJcbiAgICB0cnkge1xyXG4gICAgICAvLyBUZXN0IGJhc2ljIGNvbm5lY3Rpb24gYW5kIGdldCB0YWJsZSBzdHJ1Y3R1cmVcclxuICAgICAgY29uc3QgeyBkYXRhLCBlcnJvciB9ID0gYXdhaXQgc3VwYWJhc2VcclxuICAgICAgICAuZnJvbSgna3VuZGVuX3Byb2pla3RlJylcclxuICAgICAgICAuc2VsZWN0KCcqJylcclxuICAgICAgICAubGltaXQoMSk7XHJcbiAgICAgIFxyXG4gICAgICBpZiAoZXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdEYXRhYmFzZSBjb25uZWN0aW9uIHRlc3QgZmFpbGVkOicsIGVycm9yKTtcclxuICAgICAgICBzZXRFcnJvcihgRGF0ZW5iYW5rLVZlcmJpbmR1bmcgZmVobGdlc2NobGFnZW46ICR7ZXJyb3IubWVzc2FnZX1gKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIGNvbnNvbGUubG9nKCdEYXRhYmFzZSBjb25uZWN0aW9uIHN1Y2Nlc3NmdWw6JywgZGF0YSk7XHJcbiAgICAgIGNvbnN0IGNvbHVtbnMgPSBPYmplY3Qua2V5cyhkYXRhWzBdIHx8IHt9KTtcclxuICAgICAgY29uc29sZS5sb2coJ1RhYmxlIHN0cnVjdHVyZTonLCBjb2x1bW5zKTtcclxuICAgICAgc2V0VGFibGVTdHJ1Y3R1cmUoY29sdW1ucyk7XHJcbiAgICAgIFxyXG4gICAgICAvLyBBbmFseXplIHdoaWNoIGNvbHVtbnMgd2UgY2FuIHVzZVxyXG4gICAgICBjb25zdCBhdmFpbGFibGVDb2x1bW5zID0ge1xyXG4gICAgICAgIGVtYWlsOiBjb2x1bW5zLmluY2x1ZGVzKCdlbWFpbCcpLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBjb2x1bW5zLmluY2x1ZGVzKCdkZXNjcmlwdGlvbicpIHx8IGNvbHVtbnMuaW5jbHVkZXMoJ2Jlc2NocmVpYnVuZycpLFxyXG4gICAgICAgIHRlcm1pbl9kYXR1bTogY29sdW1ucy5pbmNsdWRlcygndGVybWluX2RhdHVtJyksXHJcbiAgICAgICAgbmFtZTogY29sdW1ucy5pbmNsdWRlcygnbmFtZScpIHx8IGNvbHVtbnMuaW5jbHVkZXMoJ2Fuc3ByZWNocGFydG4nKSxcclxuICAgICAgICBwaG9uZTogY29sdW1ucy5pbmNsdWRlcygncGhvbmUnKSB8fCBjb2x1bW5zLmluY2x1ZGVzKCd0ZWxlZm9uJyksXHJcbiAgICAgICAgY29tcGFueTogY29sdW1ucy5pbmNsdWRlcygnY29tcGFueScpIHx8IGNvbHVtbnMuaW5jbHVkZXMoJ2Zpcm1hJylcclxuICAgICAgfTtcclxuICAgICAgXHJcbiAgICAgIGNvbnNvbGUubG9nKCdBdmFpbGFibGUgY29sdW1ucyBmb3IgYXBwb2ludG1lbnQ6JywgYXZhaWxhYmxlQ29sdW1ucyk7XHJcbiAgICAgIFxyXG4gICAgICBsZXQgc3RhdHVzTWVzc2FnZSA9ICfinIUgRGF0ZW5iYW5rLVZlcmJpbmR1bmcgZXJmb2xncmVpY2ghXFxuXFxuJztcclxuICAgICAgc3RhdHVzTWVzc2FnZSArPSAn8J+TiyBWZXJmw7xnYmFyZSBTcGFsdGVuOlxcbic7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKGF2YWlsYWJsZUNvbHVtbnMpLmZvckVhY2goKFtrZXksIGF2YWlsYWJsZV0pID0+IHtcclxuICAgICAgICBzdGF0dXNNZXNzYWdlICs9IGAke2F2YWlsYWJsZSA/ICfinIUnIDogJ+KdjCd9ICR7a2V5fVxcbmA7XHJcbiAgICAgIH0pO1xyXG4gICAgICBcclxuICAgICAgc2V0RXJyb3Ioc3RhdHVzTWVzc2FnZSk7XHJcbiAgICAgIFxyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Nvbm5lY3Rpb24gdGVzdCBlcnJvcjonLCBlcnIpO1xyXG4gICAgICBzZXRFcnJvcign4p2MIERhdGVuYmFuay1WZXJiaW5kdW5nIGZlaGxnZXNjaGxhZ2VuJyk7XHJcbiAgICB9IGZpbmFsbHkge1xyXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBjb25zdCBjbGVhbnVwRHVwbGljYXRlQ3VzdG9tZXJzID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgc2V0TG9hZGluZyh0cnVlKTtcclxuICAgIHNldEVycm9yKG51bGwpO1xyXG4gICAgXHJcbiAgICB0cnkge1xyXG4gICAgICAvLyBGaW5kIGFsbCBjdXN0b21lcnMgd2l0aCBkdXBsaWNhdGUgZW1haWxzXHJcbiAgICAgIGNvbnN0IHsgZGF0YTogYWxsQ3VzdG9tZXJzLCBlcnJvciB9ID0gYXdhaXQgc3VwYWJhc2VcclxuICAgICAgICAuZnJvbSgna3VuZGVuX3Byb2pla3RlJylcclxuICAgICAgICAuc2VsZWN0KCcqJylcclxuICAgICAgICAub3JkZXIoJ2Vyc3RlbGx0X2FtJywgeyBhc2NlbmRpbmc6IHRydWUgfSk7XHJcbiAgICAgIFxyXG4gICAgICBpZiAoZXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBjdXN0b21lcnM6JywgZXJyb3IpO1xyXG4gICAgICAgIHNldEVycm9yKCdGZWhsZXIgYmVpbSBMYWRlbiBkZXIgS3VuZGVuZGF0ZW4uJyk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAvLyBHcm91cCBieSBlbWFpbFxyXG4gICAgICBjb25zdCBlbWFpbEdyb3VwczogeyBbZW1haWw6IHN0cmluZ106IGFueVtdIH0gPSB7fTtcclxuICAgICAgYWxsQ3VzdG9tZXJzPy5mb3JFYWNoKGN1c3RvbWVyID0+IHtcclxuICAgICAgICBpZiAoIWVtYWlsR3JvdXBzW2N1c3RvbWVyLmVtYWlsXSkge1xyXG4gICAgICAgICAgZW1haWxHcm91cHNbY3VzdG9tZXIuZW1haWxdID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVtYWlsR3JvdXBzW2N1c3RvbWVyLmVtYWlsXS5wdXNoKGN1c3RvbWVyKTtcclxuICAgICAgfSk7XHJcbiAgICAgIFxyXG4gICAgICAvLyBGaW5kIGR1cGxpY2F0ZXNcclxuICAgICAgY29uc3QgZHVwbGljYXRlcyA9IE9iamVjdC5lbnRyaWVzKGVtYWlsR3JvdXBzKVxyXG4gICAgICAgIC5maWx0ZXIoKFtlbWFpbCwgY3VzdG9tZXJzXSkgPT4gY3VzdG9tZXJzLmxlbmd0aCA+IDEpXHJcbiAgICAgICAgLm1hcCgoW2VtYWlsLCBjdXN0b21lcnNdKSA9PiAoeyBlbWFpbCwgY3VzdG9tZXJzIH0pKTtcclxuICAgICAgXHJcbiAgICAgIGNvbnNvbGUubG9nKCdGb3VuZCBkdXBsaWNhdGUgY3VzdG9tZXJzOicsIGR1cGxpY2F0ZXMpO1xyXG4gICAgICBcclxuICAgICAgaWYgKGR1cGxpY2F0ZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgc2V0RXJyb3IoJ+KchSBLZWluZSBEdXBsaWthdGUgZ2VmdW5kZW4hJyk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBsZXQgc3RhdHVzTWVzc2FnZSA9IGDwn5SNICR7ZHVwbGljYXRlcy5sZW5ndGh9IEUtTWFpbC1BZHJlc3NlbiBtaXQgRHVwbGlrYXRlbiBnZWZ1bmRlbjpcXG5cXG5gO1xyXG4gICAgICBcclxuICAgICAgZHVwbGljYXRlcy5mb3JFYWNoKCh7IGVtYWlsLCBjdXN0b21lcnMgfSkgPT4ge1xyXG4gICAgICAgIHN0YXR1c01lc3NhZ2UgKz0gYPCfk6cgJHtlbWFpbH06ICR7Y3VzdG9tZXJzLmxlbmd0aH0gRWludHLDpGdlXFxuYDtcclxuICAgICAgICBjdXN0b21lcnMuZm9yRWFjaCgoY3VzdG9tZXIsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICBzdGF0dXNNZXNzYWdlICs9IGAgICR7aW5kZXggKyAxfS4gSUQ6ICR7Y3VzdG9tZXIuaWR9ICgke2N1c3RvbWVyLmVyc3RlbGx0X2FtfSlcXG5gO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHN0YXR1c01lc3NhZ2UgKz0gJ1xcbic7XHJcbiAgICAgIH0pO1xyXG4gICAgICBcclxuICAgICAgc3RhdHVzTWVzc2FnZSArPSAn8J+SoSBUaXBwOiBEZXIgbmV1ZXN0ZSBFaW50cmFnIHdpcmQgZsO8ciBuZXVlIFRlcm1pbmUgdmVyd2VuZGV0Lic7XHJcbiAgICAgIFxyXG4gICAgICBzZXRFcnJvcihzdGF0dXNNZXNzYWdlKTtcclxuICAgICAgXHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignQ2xlYW51cCBlcnJvcjonLCBlcnIpO1xyXG4gICAgICBzZXRFcnJvcignRmVobGVyIGJlaW0gQmVyZWluaWdlbiBkZXIgRHVwbGlrYXRlLicpO1xyXG4gICAgfSBmaW5hbGx5IHtcclxuICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgY2hlY2tTcGVjaWZpY0VtYWlsID0gYXN5bmMgKGVtYWlsOiBzdHJpbmcpID0+IHtcclxuICAgIGNvbnNvbGUubG9nKCfwn5SNIENoZWNraW5nIHNwZWNpZmljIGVtYWlsOicsIGVtYWlsKTtcclxuICAgIFxyXG4gICAgY29uc3QgeyBkYXRhLCBlcnJvciB9ID0gYXdhaXQgc3VwYWJhc2VcclxuICAgICAgLmZyb20oJ2t1bmRlbl9wcm9qZWt0ZScpXHJcbiAgICAgIC5zZWxlY3QoJyonKVxyXG4gICAgICAuZXEoJ2VtYWlsJywgZW1haWwpXHJcbiAgICAgIC5vcmRlcignZXJzdGVsbHRfYW0nLCB7IGFzY2VuZGluZzogZmFsc2UgfSk7XHJcbiAgICBcclxuICAgIGlmIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBjaGVja2luZyBlbWFpbDonLCBlcnJvcik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgY29uc29sZS5sb2coYEZvdW5kICR7ZGF0YT8ubGVuZ3RoIHx8IDB9IGVudHJpZXMgZm9yIGVtYWlsIFwiJHtlbWFpbH1cIjpgKTtcclxuICAgIGRhdGE/LmZvckVhY2goKGVudHJ5LCBpbmRleCkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhgJHtpbmRleCArIDF9LiBJRDogJHtlbnRyeS5pZH0sIEVtYWlsOiBcIiR7ZW50cnkuZW1haWx9XCIsIENyZWF0ZWQ6ICR7ZW50cnkuZXJzdGVsbHRfYW19YCk7XHJcbiAgICB9KTtcclxuICAgIFxyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgZm9ybWF0QXBwb2ludG1lbnREYXRlID0gKGRhdGU6IERhdGUsIHRpbWU6IHN0cmluZykgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCdkZS1ERScsIHtcclxuICAgICAgd2Vla2RheTogJ2xvbmcnLFxyXG4gICAgICBkYXk6ICcyLWRpZ2l0JyxcclxuICAgICAgbW9udGg6ICcyLWRpZ2l0JyxcclxuICAgICAgeWVhcjogJ251bWVyaWMnXHJcbiAgICB9KS5mb3JtYXQoZGF0ZSkgKyBgIHVtICR7dGltZX0gVWhyYDtcclxuICB9O1xyXG5cclxuICBjb25zdCBjbGVhbnVwSW5jb3JyZWN0RGF0ZXMgPSBhc3luYyAoKSA9PiB7XHJcbiAgICBzZXRMb2FkaW5nKHRydWUpO1xyXG4gICAgc2V0RXJyb3IobnVsbCk7XHJcbiAgICBcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCfwn6e5IENsZWFuaW5nIHVwIGluY29ycmVjdCBhcHBvaW50bWVudCBkYXRlcy4uLicpO1xyXG4gICAgICBcclxuICAgICAgLy8gRmluZCBhbGwgZW50cmllcyB3aXRoIHRoZSBpbmNvcnJlY3QgZGF0ZSBcIjIwMjUtMDctMjEgMDc6MDA6MDBcIlxyXG4gICAgICBjb25zdCB7IGRhdGE6IGluY29ycmVjdEVudHJpZXMsIGVycm9yOiBmaW5kRXJyb3IgfSA9IGF3YWl0IHN1cGFiYXNlXHJcbiAgICAgICAgLmZyb20oJ2t1bmRlbl9wcm9qZWt0ZScpXHJcbiAgICAgICAgLnNlbGVjdCgnKicpXHJcbiAgICAgICAgLmVxKCd0ZXJtaW5fZGF0dW0nLCAnMjAyNS0wNy0yMVQwNzowMDowMC4wMDBaJyk7XHJcbiAgICAgIFxyXG4gICAgICBpZiAoZmluZEVycm9yKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmluZGluZyBpbmNvcnJlY3QgZW50cmllczonLCBmaW5kRXJyb3IpO1xyXG4gICAgICAgIHNldEVycm9yKCdGZWhsZXIgYmVpbSBGaW5kZW4gZGVyIGZlaGxlcmhhZnRlbiBFaW50csOkZ2UuJyk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBjb25zb2xlLmxvZyhgRm91bmQgJHtpbmNvcnJlY3RFbnRyaWVzPy5sZW5ndGggfHwgMH0gZW50cmllcyB3aXRoIGluY29ycmVjdCBkYXRlYCk7XHJcbiAgICAgIFxyXG4gICAgICBpZiAoaW5jb3JyZWN0RW50cmllcyAmJiBpbmNvcnJlY3RFbnRyaWVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAvLyBVcGRhdGUgYWxsIGluY29ycmVjdCBlbnRyaWVzIHRvIHJlbW92ZSB0aGUgdGVybWluX2RhdHVtXHJcbiAgICAgICAgY29uc3QgeyBlcnJvcjogdXBkYXRlRXJyb3IgfSA9IGF3YWl0IHN1cGFiYXNlXHJcbiAgICAgICAgICAuZnJvbSgna3VuZGVuX3Byb2pla3RlJylcclxuICAgICAgICAgIC51cGRhdGUoeyB0ZXJtaW5fZGF0dW06IG51bGwgfSlcclxuICAgICAgICAgIC5lcSgndGVybWluX2RhdHVtJywgJzIwMjUtMDctMjFUMDc6MDA6MDAuMDAwWicpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICh1cGRhdGVFcnJvcikge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgdXBkYXRpbmcgaW5jb3JyZWN0IGVudHJpZXM6JywgdXBkYXRlRXJyb3IpO1xyXG4gICAgICAgICAgc2V0RXJyb3IoJ0ZlaGxlciBiZWltIEJlcmVpbmlnZW4gZGVyIGZlaGxlcmhhZnRlbiBFaW50csOkZ2UuJyk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIGNvbnNvbGUubG9nKCfinIUgU3VjY2Vzc2Z1bGx5IGNsZWFuZWQgdXAgaW5jb3JyZWN0IGFwcG9pbnRtZW50IGRhdGVzJyk7XHJcbiAgICAgICAgYWxlcnQoYOKchSAke2luY29ycmVjdEVudHJpZXMubGVuZ3RofSBmZWhsZXJoYWZ0ZSBUZXJtaW5lIHd1cmRlbiBiZXJlaW5pZ3QhYCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ05vIGluY29ycmVjdCBlbnRyaWVzIGZvdW5kJyk7XHJcbiAgICAgICAgYWxlcnQoJ+KchSBLZWluZSBmZWhsZXJoYWZ0ZW4gVGVybWluZSBnZWZ1bmRlbiEnKTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdVbmV4cGVjdGVkIGVycm9yIGNsZWFuaW5nIHVwIGRhdGVzOicsIGVycik7XHJcbiAgICAgIHNldEVycm9yKCdFaW4gdW5lcndhcnRldGVyIEZlaGxlciBpc3QgYXVmZ2V0cmV0ZW4uJyk7XHJcbiAgICB9IGZpbmFsbHkge1xyXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPGRpdiBjbGFzc05hbWU9XCJ3LWZ1bGwgbWF4LXctNHhsIG14LWF1dG9cIj5cclxuICAgICAgey8qIFByb2R1Y3Rpb24gTW9kZSBJbmRpY2F0b3IgKi99XHJcbiAgICAgIHtwcm9kdWN0aW9uTW9kZSAmJiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYi00IHAtMyByb3VuZGVkLXhsIGJvcmRlci0yIGJvcmRlci1ncmVlbi01MDAgYmctZ3JlZW4tNTBcIj5cclxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1ncmVlbi03MDBcIj5cclxuICAgICAgICAgICAg4pyFIDxzdHJvbmc+VGVybWluYnVjaHVuZyBha3Rpdjo8L3N0cm9uZz4gSWhyZSBUZXJtaW5lIHdlcmRlbiBkaXJla3QgaW4gdW5zZXJlbSBTeXN0ZW0gZ2VzcGVpY2hlcnQuXHJcbiAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTIgZmxleCBzcGFjZS14LTJcIj5cclxuICAgICAgICAgICAgPEJ1dHRvbiBcclxuICAgICAgICAgICAgICBvbkNsaWNrPXt0ZXN0RGF0YWJhc2VDb25uZWN0aW9ufVxyXG4gICAgICAgICAgICAgIGRpc2FibGVkPXtsb2FkaW5nfVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHNcIlxyXG4gICAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lXCJcclxuICAgICAgICAgICAgICBzaXplPVwic21cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge2xvYWRpbmcgPyAnVGVzdGUuLi4nIDogJ/CflI0gREItVmVyYmluZHVuZyB0ZXN0ZW4nfVxyXG4gICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgPEJ1dHRvbiBcclxuICAgICAgICAgICAgICBvbkNsaWNrPXtjbGVhbnVwRHVwbGljYXRlQ3VzdG9tZXJzfVxyXG4gICAgICAgICAgICAgIGRpc2FibGVkPXtsb2FkaW5nfVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHNcIlxyXG4gICAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lXCJcclxuICAgICAgICAgICAgICBzaXplPVwic21cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge2xvYWRpbmcgPyAnUHLDvGZlLi4uJyA6ICfwn5SNIER1cGxpa2F0ZSBwcsO8ZmVuJ31cclxuICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgIDxCdXR0b24gXHJcbiAgICAgICAgICAgICAgb25DbGljaz17Y2xlYW51cEluY29ycmVjdERhdGVzfVxyXG4gICAgICAgICAgICAgIGRpc2FibGVkPXtsb2FkaW5nfVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHNcIlxyXG4gICAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lXCJcclxuICAgICAgICAgICAgICBzaXplPVwic21cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge2xvYWRpbmcgPyAnQmVyZWluaWdlLi4uJyA6ICfwn6e5IEZlaGxlcmhhZnRlIFRlcm1pbmUgYmVyZWluaWdlbid9XHJcbiAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICl9XHJcblxyXG4gICAgICB7LyogRW5oYW5jZWQgU3RlcCBJbmRpY2F0b3IgKi99XHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWItOFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgc3BhY2UteC0yIHNtOnNwYWNlLXgtNFwiPlxyXG4gICAgICAgICAgey8qIFN0ZXAgMSAqL31cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgc3BhY2UteS0yICR7XHJcbiAgICAgICAgICAgIGN1cnJlbnRTdGVwID09PSAnZm9ybScgPyAndGV4dC1wcmltYXJ5JyA6IFxyXG4gICAgICAgICAgICBjdXJyZW50U3RlcCA9PT0gJ3ZlcmlmaWNhdGlvbicgfHwgY3VycmVudFN0ZXAgPT09ICdzdWNjZXNzJyA/ICd0ZXh0LXByaW1hcnknIDogJ3RleHQtZ3JheS00MDAnXHJcbiAgICAgICAgICB9YH0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgdy0xMCBoLTEwIHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgJHtcclxuICAgICAgICAgICAgICBjdXJyZW50U3RlcCA9PT0gJ2Zvcm0nIFxyXG4gICAgICAgICAgICAgICAgPyAnYmctcHJpbWFyeSB0ZXh0LXdoaXRlIHNoYWRvdy1sZyBzY2FsZS0xMTAnIFxyXG4gICAgICAgICAgICAgICAgOiBjdXJyZW50U3RlcCA9PT0gJ3ZlcmlmaWNhdGlvbicgfHwgY3VycmVudFN0ZXAgPT09ICdzdWNjZXNzJ1xyXG4gICAgICAgICAgICAgICAgICA/ICdiZy1wcmltYXJ5IHRleHQtd2hpdGUgc2hhZG93LWxnJ1xyXG4gICAgICAgICAgICAgICAgICA6ICdiZy1ncmF5LTIwMCB0ZXh0LWdyYXktNTAwJ1xyXG4gICAgICAgICAgICB9YH0+XHJcbiAgICAgICAgICAgICAgPENhbGVuZGFyIGNsYXNzTmFtZT1cInctNSBoLTVcIiAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyBzbTp0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtY2VudGVyXCI+VGVybWluIGF1c3fDpGhsZW48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgey8qIENvbm5lY3RvciAxICovfVxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2B3LTggc206dy0xMiBoLTEgcm91bmRlZC1mdWxsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCAke1xyXG4gICAgICAgICAgICBjdXJyZW50U3RlcCA9PT0gJ3ZlcmlmaWNhdGlvbicgfHwgY3VycmVudFN0ZXAgPT09ICdzdWNjZXNzJyBcclxuICAgICAgICAgICAgICA/ICdiZy1wcmltYXJ5JyBcclxuICAgICAgICAgICAgICA6ICdiZy1ncmF5LTIwMCdcclxuICAgICAgICAgIH1gfT48L2Rpdj5cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgey8qIFN0ZXAgMiAqL31cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgc3BhY2UteS0yICR7XHJcbiAgICAgICAgICAgIGN1cnJlbnRTdGVwID09PSAndmVyaWZpY2F0aW9uJyB8fCBjdXJyZW50U3RlcCA9PT0gJ3N1Y2Nlc3MnIFxyXG4gICAgICAgICAgICAgID8gJ3RleHQtcHJpbWFyeScgXHJcbiAgICAgICAgICAgICAgOiAndGV4dC1ncmF5LTQwMCdcclxuICAgICAgICAgIH1gfT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2B3LTEwIGgtMTAgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCAke1xyXG4gICAgICAgICAgICAgIGN1cnJlbnRTdGVwID09PSAndmVyaWZpY2F0aW9uJyBcclxuICAgICAgICAgICAgICAgID8gJ2JnLXByaW1hcnkgdGV4dC13aGl0ZSBzaGFkb3ctbGcgc2NhbGUtMTEwJyBcclxuICAgICAgICAgICAgICAgIDogY3VycmVudFN0ZXAgPT09ICdzdWNjZXNzJ1xyXG4gICAgICAgICAgICAgICAgICA/ICdiZy1wcmltYXJ5IHRleHQtd2hpdGUgc2hhZG93LWxnJ1xyXG4gICAgICAgICAgICAgICAgICA6ICdiZy1ncmF5LTIwMCB0ZXh0LWdyYXktNTAwJ1xyXG4gICAgICAgICAgICB9YH0+XHJcbiAgICAgICAgICAgICAgPE1haWwgY2xhc3NOYW1lPVwidy01IGgtNVwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHNtOnRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1jZW50ZXJcIj5FLU1haWwgYmVzdMOkdGlnZW48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICB7LyogRXJyb3IgRGlzcGxheSAqL31cclxuICAgICAge2Vycm9yICYmIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1iLTYgcC00IHJvdW5kZWQteGwgYm9yZGVyLTIgYm9yZGVyLXJlZC01MDAgYmctcmVkLTUwXCI+XHJcbiAgICAgICAgICA8cHJlIGNsYXNzTmFtZT1cInRleHQtcmVkLTYwMCB0ZXh0LXNtIHdoaXRlc3BhY2UtcHJlLXdyYXBcIj57ZXJyb3J9PC9wcmU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICl9XHJcblxyXG4gICAgICB7LyogU3RlcCBDb250ZW50ICovfVxyXG4gICAgICB7Y3VycmVudFN0ZXAgPT09ICdmb3JtJyAmJiAoXHJcbiAgICAgICAgPEFwcG9pbnRtZW50Rm9ybSBcclxuICAgICAgICAgIG9uU3VibWl0PXtoYW5kbGVGb3JtU3VibWl0fVxyXG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ31cclxuICAgICAgICAvPlxyXG4gICAgICApfVxyXG5cclxuICAgICAge2N1cnJlbnRTdGVwID09PSAndmVyaWZpY2F0aW9uJyAmJiBhcHBvaW50bWVudERhdGEgJiYgKFxyXG4gICAgICAgIDxFbWFpbFZlcmlmaWNhdGlvbiBcclxuICAgICAgICAgIGVtYWlsPXthcHBvaW50bWVudERhdGEuZW1haWx9XHJcbiAgICAgICAgICBvblZlcmlmaWNhdGlvbkNvbXBsZXRlPXtoYW5kbGVWZXJpZmljYXRpb25Db21wbGV0ZX1cclxuICAgICAgICAgIG9uQmFjaz17aGFuZGxlQmFja31cclxuICAgICAgICAvPlxyXG4gICAgICApfVxyXG5cclxuICAgICAge2N1cnJlbnRTdGVwID09PSAnc3VjY2VzcycgJiYgYXBwb2ludG1lbnREYXRhICYmIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctZnVsbCBtYXgtdy1tZCBteC1hdXRvXCI+XHJcbiAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJwLTYgc206cC04IHJvdW5kZWQtM3hsIHNoYWRvdy1sZyBiYWNrZHJvcC1ibHVyLXNtIHRleHQtY2VudGVyXCJcclxuICAgICAgICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiBgJHtjb2xvcnMuYmFja2dyb3VuZH1GMGAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTE2IGgtMTYgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG14LWF1dG8gbWItNlwiXHJcbiAgICAgICAgICAgICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiBgJHtjb2xvcnMucHJpbWFyeX0yMGAgfX0+XHJcbiAgICAgICAgICAgICAgPENoZWNrQ2lyY2xlIGNsYXNzTmFtZT1cInctOCBoLThcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0gLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1ib2xkIG1iLTRcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgVGVybWluIGJlc3TDpHRpZ3QhXHJcbiAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNCBtYi02XCI+XHJcbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbVwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19PlxyXG4gICAgICAgICAgICAgICAge2N1c3RvbWVyQWN0aW9uID09PSAnY3JlYXRlZCcgXHJcbiAgICAgICAgICAgICAgICAgID8gJ1ZpZWxlbiBEYW5rIGbDvHIgSWhyZSBlcnN0ZSBUZXJtaW5hbmZyYWdlISBJaHIgS3VuZGVucHJvZmlsIHd1cmRlIGVyc3RlbGx0LidcclxuICAgICAgICAgICAgICAgICAgOiAnVmllbGVuIERhbmsgZsO8ciBJaHJlIHdlaXRlcmUgVGVybWluYW5mcmFnZSEgSWhyIGJlc3RlaGVuZGVzIEt1bmRlbnByb2ZpbCB3dXJkZSBha3R1YWxpc2llcnQuJ1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtNCByb3VuZGVkLXhsIGJvcmRlci0yXCIgXHJcbiAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBgJHtjb2xvcnMucHJpbWFyeX0xMGAsXHJcbiAgICAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcnMucHJpbWFyeSBcclxuICAgICAgICAgICAgICAgICAgIH19PlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCBtYi0yXCIgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5wcmltYXJ5IH19PlxyXG4gICAgICAgICAgICAgICAgICBJaHIgVGVybWluOlxyXG4gICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbVwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19PlxyXG4gICAgICAgICAgICAgICAgICB7Zm9ybWF0QXBwb2ludG1lbnREYXRlKGFwcG9pbnRtZW50RGF0YS50ZXJtaW5fZGF0dW0hLCBhcHBvaW50bWVudERhdGEudGVybWluX3RpbWUhKX1cclxuICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtNCByb3VuZGVkLXhsIGJvcmRlci0yXCIgXHJcbiAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBgJHtjb2xvcnMucHJpbWFyeX0xMGAsXHJcbiAgICAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcnMucHJpbWFyeSBcclxuICAgICAgICAgICAgICAgICAgIH19PlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCBtYi0yXCIgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5wcmltYXJ5IH19PlxyXG4gICAgICAgICAgICAgICAgICBLb250YWt0ZGF0ZW46XHJcbiAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtXCIgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5zZWNvbmRhcnkgfX0+XHJcbiAgICAgICAgICAgICAgICAgIHthcHBvaW50bWVudERhdGEubmFtZX08YnIgLz5cclxuICAgICAgICAgICAgICAgICAge2FwcG9pbnRtZW50RGF0YS5maXJtYX08YnIgLz5cclxuICAgICAgICAgICAgICAgICAge2FwcG9pbnRtZW50RGF0YS5lbWFpbH1cclxuICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIG1iLTZcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnNlY29uZGFyeSB9fT5cclxuICAgICAgICAgICAgICBWaWVsZW4gRGFuayBmw7xyIElocmUgVGVybWluYW5mcmFnZSEgV2lyIHdlcmRlbiB1bnMgaW4gS8O8cnplIGJlaSBJaG5lbiBtZWxkZW4sIHVtIGRlbiBUZXJtaW4genUgYmVzdMOkdGlnZW4uXHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxCdXR0b24gXHJcbiAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlUmVzZXR9XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIHJvdW5kZWQteGxcIlxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMucHJpbWFyeSxcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZFxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICBOZXVlbiBUZXJtaW4gYnVjaGVuXHJcbiAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICl9XHJcbiAgICA8L2Rpdj5cclxuICApO1xyXG59ICJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwiQnV0dG9uIiwiQ2hlY2tDaXJjbGUiLCJDYWxlbmRhciIsIk1haWwiLCJzdXBhYmFzZSIsImNvbG9ycyIsIkFwcG9pbnRtZW50Rm9ybSIsIkVtYWlsVmVyaWZpY2F0aW9uIiwidXNlQXV0aCIsIkFwcG9pbnRtZW50Qm9va2luZyIsInVzZXIiLCJjdXJyZW50U3RlcCIsInNldEN1cnJlbnRTdGVwIiwiYXBwb2ludG1lbnREYXRhIiwic2V0QXBwb2ludG1lbnREYXRhIiwibG9hZGluZyIsInNldExvYWRpbmciLCJlcnJvciIsInNldEVycm9yIiwidGVzdE1vZGUiLCJzZXRUZXN0TW9kZSIsInRhYmxlU3RydWN0dXJlIiwic2V0VGFibGVTdHJ1Y3R1cmUiLCJwcm9kdWN0aW9uTW9kZSIsInNldFByb2R1Y3Rpb25Nb2RlIiwiY3VzdG9tZXJBY3Rpb24iLCJzZXRDdXN0b21lckFjdGlvbiIsImhhbmRsZUZvcm1TdWJtaXQiLCJkYXRhIiwiaGFuZGxlVmVyaWZpY2F0aW9uQ29tcGxldGUiLCJjb25zb2xlIiwibG9nIiwidGVybWluX2RhdHVtIiwidGVybWluX3RpbWUiLCJEYXRlIiwiYXBwb2ludG1lbnREYXRlVGltZSIsInRvSVNPU3RyaW5nIiwiaG91cnMiLCJzcGxpdCIsIm1hcCIsIk51bWJlciIsInllYXIiLCJnZXRGdWxsWWVhciIsIm1vbnRoIiwiZ2V0TW9udGgiLCJkYXkiLCJnZXREYXRlIiwiZmluYWxBcHBvaW50bWVudERhdGVUaW1lIiwiZ2V0VGltZSIsInRvTG9jYWxlU3RyaW5nIiwibG9jYWxUaW1lU3RyaW5nIiwidG9TdHJpbmciLCJwYWRTdGFydCIsImVtYWlsIiwibGVuZ3RoIiwidHJpbSIsInRvTG93ZXJDYXNlIiwiY2hlY2tTcGVjaWZpY0VtYWlsIiwiZW1haWxWYXJpYXRpb25zIiwidG9VcHBlckNhc2UiLCJleGlzdGluZ0N1c3RvbWVycyIsImNoZWNrRXJyb3IiLCJlbWFpbFZhcmlhdGlvbiIsImZyb20iLCJzZWxlY3QiLCJlcSIsIm9yZGVyIiwiYXNjZW5kaW5nIiwiZm9yRWFjaCIsImN1c3RvbWVyIiwiaW5kZXgiLCJpZCIsImVyc3RlbGx0X2FtIiwiZXhpc3RpbmdDdXN0b21lciIsIndhcm4iLCJhcHBvaW50bWVudERhdGFUb1NhdmUiLCJiZXNjaHJlaWJ1bmciLCJmb3JtYXRBcHBvaW50bWVudERhdGUiLCJuYW1lIiwidGVsZWZvbiIsImZpcm1hIiwiYW5zcHJlY2hwYXJ0bmVyX25hbWUiLCJiZXJhdGVyIiwiemllbGdydXBwZSIsInJlc3VsdCIsIm5ld0Rlc2NyaXB0aW9uIiwidXBzZXJ0RGF0YSIsInVwc2VydEVycm9yIiwidXBzZXJ0Iiwib25Db25mbGljdCIsInZlcmlmeURhdGEiLCJ2ZXJpZnlFcnJvciIsInNpbmdsZSIsImluc2VydCIsImVyciIsImhhbmRsZUJhY2siLCJoYW5kbGVSZXNldCIsInRlc3REYXRhYmFzZUNvbm5lY3Rpb24iLCJsaW1pdCIsIm1lc3NhZ2UiLCJjb2x1bW5zIiwiT2JqZWN0Iiwia2V5cyIsImF2YWlsYWJsZUNvbHVtbnMiLCJpbmNsdWRlcyIsImRlc2NyaXB0aW9uIiwicGhvbmUiLCJjb21wYW55Iiwic3RhdHVzTWVzc2FnZSIsImVudHJpZXMiLCJrZXkiLCJhdmFpbGFibGUiLCJjbGVhbnVwRHVwbGljYXRlQ3VzdG9tZXJzIiwiYWxsQ3VzdG9tZXJzIiwiZW1haWxHcm91cHMiLCJwdXNoIiwiZHVwbGljYXRlcyIsImZpbHRlciIsImN1c3RvbWVycyIsImVudHJ5IiwiZGF0ZSIsInRpbWUiLCJJbnRsIiwiRGF0ZVRpbWVGb3JtYXQiLCJ3ZWVrZGF5IiwiZm9ybWF0IiwiY2xlYW51cEluY29ycmVjdERhdGVzIiwiaW5jb3JyZWN0RW50cmllcyIsImZpbmRFcnJvciIsInVwZGF0ZUVycm9yIiwidXBkYXRlIiwiYWxlcnQiLCJkaXYiLCJjbGFzc05hbWUiLCJwIiwic3Ryb25nIiwib25DbGljayIsImRpc2FibGVkIiwidmFyaWFudCIsInNpemUiLCJzcGFuIiwicHJlIiwib25TdWJtaXQiLCJvblZlcmlmaWNhdGlvbkNvbXBsZXRlIiwib25CYWNrIiwic3R5bGUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJiYWNrZ3JvdW5kIiwicHJpbWFyeSIsImNvbG9yIiwiaDMiLCJzZWNvbmRhcnkiLCJib3JkZXJDb2xvciIsImJyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./components/AppointmentBooking.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/AppointmentCalendar.tsx": +/*!********************************************!*\ + !*** ./components/AppointmentCalendar.tsx ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AppointmentCalendar)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./components/ui/button.tsx\");\n/* harmony import */ var _barrel_optimize_names_Calendar_Clock_CheckCircle_X_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Calendar,Clock,CheckCircle,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/calendar.js\");\n/* harmony import */ var _barrel_optimize_names_Calendar_Clock_CheckCircle_X_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Calendar,Clock,CheckCircle,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/clock.js\");\n/* harmony import */ var _barrel_optimize_names_Calendar_Clock_CheckCircle_X_lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=Calendar,Clock,CheckCircle,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-check-big.js\");\n/* harmony import */ var _barrel_optimize_names_Calendar_Clock_CheckCircle_X_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Calendar,Clock,CheckCircle,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/x.js\");\n/* harmony import */ var _lib_colors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/colors */ \"(ssr)/./lib/colors.ts\");\n/* harmony import */ var _lib_supabaseClient__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/supabaseClient */ \"(ssr)/./lib/supabaseClient.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\nfunction AppointmentCalendar({ onSlotSelect, selectedSlot }) {\n const [availableSlots, setAvailableSlots] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n // Generate available time slots (2-hour slots, Mo-Fr 9-17 Uhr)\n const generateTimeSlots = ()=>{\n const slots = [];\n for(let hour = 9; hour <= 15; hour += 2){\n slots.push(`${hour.toString().padStart(2, \"0\")}:00`);\n }\n return slots;\n };\n // Generate available dates for the next 4 weeks\n const generateAvailableDates = ()=>{\n const dates = [];\n const today = new Date();\n let currentDate = new Date(today);\n // Start from next Monday if today is weekend\n const dayOfWeek = currentDate.getDay();\n if (dayOfWeek === 0) {\n currentDate.setDate(currentDate.getDate() + 1);\n } else if (dayOfWeek === 6) {\n currentDate.setDate(currentDate.getDate() + 2);\n }\n for(let i = 0; i < 28; i++){\n const date = new Date(currentDate);\n date.setDate(date.getDate() + i);\n // Only include weekdays (Monday = 1, Friday = 5)\n if (date.getDay() >= 1 && date.getDay() <= 5) {\n dates.push(date);\n }\n }\n return dates;\n };\n // Generate available slots (with Supabase integration)\n const generateAvailableSlots = async ()=>{\n const dates = generateAvailableDates();\n const timeSlots = generateTimeSlots();\n const slots = [];\n try {\n // Get booked appointments from Supabase - look for termin_datum column\n const { data: bookedAppointments, error } = await _lib_supabaseClient__WEBPACK_IMPORTED_MODULE_4__.supabase.from(\"kunden_projekte\").select(\"termin_datum\").not(\"termin_datum\", \"is\", null);\n if (error) {\n console.error(\"Error fetching booked appointments:\", error);\n console.log(\"Falling back to all available slots\");\n // Fallback to all available\n dates.forEach((date)=>{\n timeSlots.forEach((time)=>{\n slots.push({\n date: new Date(date),\n time,\n available: true,\n booked: false\n });\n });\n });\n } else {\n console.log(\"Found booked appointments:\", bookedAppointments);\n console.log(\"Number of booked appointments:\", bookedAppointments?.length || 0);\n // Create a set of booked times for quick lookup\n const bookedTimes = new Set();\n bookedAppointments?.forEach((appointment)=>{\n if (appointment.termin_datum) {\n const appointmentDate = new Date(appointment.termin_datum);\n console.log(\"Processing booked appointment:\", appointment.termin_datum);\n console.log(\"Appointment date object:\", appointmentDate);\n console.log(\"Appointment hours:\", appointmentDate.getHours());\n console.log(\"Appointment local time:\", appointmentDate.toLocaleString(\"de-DE\"));\n // Use local time consistently - don't convert to UTC\n const year = appointmentDate.getFullYear();\n const month = appointmentDate.getMonth();\n const day = appointmentDate.getDate();\n const hours = appointmentDate.getHours();\n // Create time string using local time components\n const dateString = `${year}-${(month + 1).toString().padStart(2, \"0\")}-${day.toString().padStart(2, \"0\")}`;\n const hourString = hours.toString().padStart(2, \"0\") + \":00\";\n const timeString = `${dateString}T${hourString}:00:00`;\n bookedTimes.add(timeString);\n console.log(\"Booked appointment found (local time):\", timeString);\n }\n });\n console.log(\"All booked time strings:\", Array.from(bookedTimes));\n // Generate slots with availability check\n dates.forEach((date)=>{\n timeSlots.forEach((time)=>{\n const [hours] = time.split(\":\").map(Number);\n // Create slot datetime in local time\n const slotDateTime = new Date(date.getFullYear(), date.getMonth(), date.getDate(), hours, 0, 0, 0);\n // Create time string using local time components (same as booked appointments)\n const year = slotDateTime.getFullYear();\n const month = slotDateTime.getMonth();\n const day = slotDateTime.getDate();\n const slotHours = slotDateTime.getHours();\n const dateString = `${year}-${(month + 1).toString().padStart(2, \"0\")}-${day.toString().padStart(2, \"0\")}`;\n const hourString = slotHours.toString().padStart(2, \"0\") + \":00\";\n const timeString = `${dateString}T${hourString}:00:00`;\n const isBooked = bookedTimes.has(timeString);\n console.log(`Slot ${dateString} ${time}:`, {\n slotDateTime: slotDateTime.toISOString(),\n timeString,\n isBooked,\n bookedTimes: Array.from(bookedTimes)\n });\n if (isBooked) {\n console.log(\"Slot is booked:\", timeString);\n }\n slots.push({\n date: new Date(date),\n time,\n available: !isBooked,\n booked: isBooked\n });\n });\n });\n }\n } catch (err) {\n console.error(\"Error checking availability:\", err);\n // Fallback to all available\n dates.forEach((date)=>{\n timeSlots.forEach((time)=>{\n slots.push({\n date: new Date(date),\n time,\n available: true,\n booked: false\n });\n });\n });\n }\n setAvailableSlots(slots);\n };\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n setLoading(true);\n // Simulate loading time\n setTimeout(()=>{\n generateAvailableSlots();\n setLoading(false);\n }, 500);\n }, []);\n // Group slots by date\n const groupedSlots = availableSlots.reduce((groups, slot)=>{\n const dateKey = slot.date.toISOString().split(\"T\")[0];\n if (!groups[dateKey]) {\n groups[dateKey] = [];\n }\n groups[dateKey].push(slot);\n return groups;\n }, {});\n const formatDate = (date)=>{\n return new Intl.DateTimeFormat(\"de-DE\", {\n weekday: \"short\",\n day: \"2-digit\",\n month: \"2-digit\"\n }).format(date);\n };\n const isSlotSelected = (slot)=>{\n if (!selectedSlot) return false;\n return selectedSlot.date.toISOString().split(\"T\")[0] === slot.date.toISOString().split(\"T\")[0] && selectedSlot.time === slot.time;\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full max-w-md mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6 rounded-2xl shadow-lg backdrop-blur-sm\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}F0`\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center space-x-3 mb-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Calendar_Clock_CheckCircle_X_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"w-6 h-6\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 215,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl font-bold\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: \"Termin ausw\\xe4hlen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 216,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 214,\n columnNumber: 9\n }, this),\n loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"animate-spin rounded-full h-8 w-8 border-b-2 mx-auto mb-4\",\n style: {\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 223,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: \"Lade verf\\xfcgbare Termine...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 225,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 222,\n columnNumber: 11\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4\",\n children: Object.entries(groupedSlots).slice(0, 3).map(([dateKey, slots])=>{\n const date = new Date(dateKey);\n // Show all slots, not just available ones\n const allSlotsForDate = slots;\n if (allSlotsForDate.length === 0) return null;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border rounded-xl p-4\",\n style: {\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.tertiary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-semibold mb-3\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: formatDate(date)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 239,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-2 gap-2\",\n children: allSlotsForDate.map((slot, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: isSlotSelected(slot) ? \"default\" : \"outline\",\n size: \"sm\",\n className: \"flex items-center space-x-2\",\n onClick: ()=>onSlotSelect(slot.date, slot.time),\n disabled: slot.booked || !slot.available,\n style: {\n backgroundColor: isSlotSelected(slot) ? _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary : slot.booked ? \"#f3f4f6\" : \"transparent\",\n color: isSlotSelected(slot) ? _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background : slot.booked ? \"#9ca3af\" : _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary,\n borderColor: slot.booked ? \"#d1d5db\" : _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.tertiary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Calendar_Clock_CheckCircle_X_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 259,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: slot.time\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 260,\n columnNumber: 25\n }, this),\n isSlotSelected(slot) && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Calendar_Clock_CheckCircle_X_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 261,\n columnNumber: 50\n }, this),\n slot.booked && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs\",\n children: \"(Gebucht)\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 262,\n columnNumber: 41\n }, this)\n ]\n }, index, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 244,\n columnNumber: 23\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 242,\n columnNumber: 19\n }, this)\n ]\n }, dateKey, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 237,\n columnNumber: 17\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 228,\n columnNumber: 11\n }, this),\n selectedSlot && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-6 p-4 rounded-xl border-2\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary}20`,\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-semibold\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: \"Ausgew\\xe4hlter Termin:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 280,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: [\n formatDate(selectedSlot.date),\n \" um \",\n selectedSlot.time,\n \" Uhr\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 283,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 279,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>onSlotSelect(new Date(), \"\"),\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Calendar_Clock_CheckCircle_X_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 293,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 287,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 278,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 273,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-4 text-xs text-center\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: \"• Termine sind 1 Stunden lang\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 300,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: \"• Mo-Fr 9:00-17:00 Uhr\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 301,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: \"• Nur verf\\xfcgbare Termine werden angezeigt\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 302,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 299,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 210,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentCalendar.tsx\",\n lineNumber: 209,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL0FwcG9pbnRtZW50Q2FsZW5kYXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbUQ7QUFDSDtBQUNlO0FBQ3pCO0FBQ1U7QUFjakMsU0FBU1Usb0JBQW9CLEVBQUVDLFlBQVksRUFBRUMsWUFBWSxFQUE0QjtJQUNsRyxNQUFNLENBQUNDLGdCQUFnQkMsa0JBQWtCLEdBQUdiLCtDQUFRQSxDQUFvQixFQUFFO0lBQzFFLE1BQU0sQ0FBQ2MsU0FBU0MsV0FBVyxHQUFHZiwrQ0FBUUEsQ0FBQztJQUV2QywrREFBK0Q7SUFDL0QsTUFBTWdCLG9CQUFvQjtRQUN4QixNQUFNQyxRQUFRLEVBQUU7UUFDaEIsSUFBSyxJQUFJQyxPQUFPLEdBQUdBLFFBQVEsSUFBSUEsUUFBUSxFQUFHO1lBQ3hDRCxNQUFNRSxJQUFJLENBQUMsQ0FBQyxFQUFFRCxLQUFLRSxRQUFRLEdBQUdDLFFBQVEsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDO1FBQ3JEO1FBQ0EsT0FBT0o7SUFDVDtJQUVBLGdEQUFnRDtJQUNoRCxNQUFNSyx5QkFBeUI7UUFDN0IsTUFBTUMsUUFBUSxFQUFFO1FBQ2hCLE1BQU1DLFFBQVEsSUFBSUM7UUFDbEIsSUFBSUMsY0FBYyxJQUFJRCxLQUFLRDtRQUUzQiw2Q0FBNkM7UUFDN0MsTUFBTUcsWUFBWUQsWUFBWUUsTUFBTTtRQUNwQyxJQUFJRCxjQUFjLEdBQUc7WUFDbkJELFlBQVlHLE9BQU8sQ0FBQ0gsWUFBWUksT0FBTyxLQUFLO1FBQzlDLE9BQU8sSUFBSUgsY0FBYyxHQUFHO1lBQzFCRCxZQUFZRyxPQUFPLENBQUNILFlBQVlJLE9BQU8sS0FBSztRQUM5QztRQUVBLElBQUssSUFBSUMsSUFBSSxHQUFHQSxJQUFJLElBQUlBLElBQUs7WUFDM0IsTUFBTUMsT0FBTyxJQUFJUCxLQUFLQztZQUN0Qk0sS0FBS0gsT0FBTyxDQUFDRyxLQUFLRixPQUFPLEtBQUtDO1lBRTlCLGlEQUFpRDtZQUNqRCxJQUFJQyxLQUFL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OzBDQUNiLDhEQUFDRDs7a0RBQ0MsOERBQUNTO3dDQUFFUixXQUFVO3dDQUFnQkMsT0FBTzs0Q0FBRUcsT0FBT3JGLCtDQUFNQSxDQUFDc0YsT0FBTzt3Q0FBQztrREFBRzs7Ozs7O2tEQUcvRCw4REFBQ0c7d0NBQUVSLFdBQVU7d0NBQVVDLE9BQU87NENBQUVHLE9BQU9yRiwrQ0FBTUEsQ0FBQzBGLFNBQVM7d0NBQUM7OzRDQUNyRGhCLFdBQVd0RSxhQUFhcUIsSUFBSTs0Q0FBRTs0Q0FBS3JCLGFBQWFpQyxJQUFJOzRDQUFDOzs7Ozs7Ozs7Ozs7OzBDQUcxRCw4REFBQzFDLHlEQUFNQTtnQ0FDTHVHLFNBQVE7Z0NBQ1JDLE1BQUs7Z0NBQ0xDLFNBQVMsSUFBTWpHLGFBQWEsSUFBSWUsUUFBUTtnQ0FDeENnRSxPQUFPO29DQUFFRyxPQUFPckYsK0NBQU1BLENBQUNzRixPQUFPO2dDQUFDOzBDQUUvQiw0RUFBQ3ZGLHdHQUFDQTtvQ0FBQ2tGLFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBTXJCLDhEQUFDRDtvQkFBSUMsV0FBVTtvQkFBMkJDLE9BQU87d0JBQUVHLE9BQU9yRiwrQ0FBTUEsQ0FBQzBGLFNBQVM7b0JBQUM7O3NDQUN6RSw4REFBQ0Q7c0NBQUU7Ozs7OztzQ0FDSCw4REFBQ0E7c0NBQUU7Ozs7OztzQ0FDSCw4REFBQ0E7c0NBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9jb21wb25lbnRzL0FwcG9pbnRtZW50Q2FsZW5kYXIudHN4PzU2ZjQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XHJcblxyXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIjtcclxuaW1wb3J0IHsgQ2FsZW5kYXIsIENsb2NrLCBDaGVja0NpcmNsZSwgWCB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcclxuaW1wb3J0IHsgY29sb3JzIH0gZnJvbSAnQC9saWIvY29sb3JzJztcclxuaW1wb3J0IHsgc3VwYWJhc2UgfSBmcm9tICdAL2xpYi9zdXBhYmFzZUNsaWVudCc7XHJcblxyXG5pbnRlcmZhY2UgQXBwb2ludG1lbnRTbG90IHtcclxuICBkYXRlOiBEYXRlO1xyXG4gIHRpbWU6IHN0cmluZztcclxuICBhdmFpbGFibGU6IGJvb2xlYW47XHJcbiAgYm9va2VkOiBib29sZWFuO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgQXBwb2ludG1lbnRDYWxlbmRhclByb3BzIHtcclxuICBvblNsb3RTZWxlY3Q6IChkYXRlOiBEYXRlLCB0aW1lOiBzdHJpbmcpID0+IHZvaWQ7XHJcbiAgc2VsZWN0ZWRTbG90PzogeyBkYXRlOiBEYXRlOyB0aW1lOiBzdHJpbmcgfSB8IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFwcG9pbnRtZW50Q2FsZW5kYXIoeyBvblNsb3RTZWxlY3QsIHNlbGVjdGVkU2xvdCB9OiBBcHBvaW50bWVudENhbGVuZGFyUHJvcHMpIHtcclxuICBjb25zdCBbYXZhaWxhYmxlU2xvdHMsIHNldEF2YWlsYWJsZVNsb3RzXSA9IHVzZVN0YXRlPEFwcG9pbnRtZW50U2xvdFtdPihbXSk7XHJcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xyXG5cclxuICAvLyBHZW5lcmF0ZSBhdmFpbGFibGUgdGltZSBzbG90cyAoMi1ob3VyIHNsb3RzLCBNby1GciA5LTE3IFVocilcclxuICBjb25zdCBnZW5lcmF0ZVRpbWVTbG90cyA9ICgpID0+IHtcclxuICAgIGNvbnN0IHNsb3RzID0gW107XHJcbiAgICBmb3IgKGxldCBob3VyID0gOTsgaG91ciA8PSAxNTsgaG91ciArPSAyKSB7XHJcbiAgICAgIHNsb3RzLnB1c2goYCR7aG91ci50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9OjAwYCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc2xvdHM7XHJcbiAgfTtcclxuXHJcbiAgLy8gR2VuZXJhdGUgYXZhaWxhYmxlIGRhdGVzIGZvciB0aGUgbmV4dCA0IHdlZWtzXHJcbiAgY29uc3QgZ2VuZXJhdGVBdmFpbGFibGVEYXRlcyA9ICgpID0+IHtcclxuICAgIGNvbnN0IGRhdGVzID0gW107XHJcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XHJcbiAgICBsZXQgY3VycmVudERhdGUgPSBuZXcgRGF0ZSh0b2RheSk7XHJcbiAgICBcclxuICAgIC8vIFN0YXJ0IGZyb20gbmV4dCBNb25kYXkgaWYgdG9kYXkgaXMgd2Vla2VuZFxyXG4gICAgY29uc3QgZGF5T2ZXZWVrID0gY3VycmVudERhdGUuZ2V0RGF5KCk7XHJcbiAgICBpZiAoZGF5T2ZXZWVrID09PSAwKSB7IC8vIFN1bmRheVxyXG4gICAgICBjdXJyZW50RGF0ZS5zZXREYXRlKGN1cnJlbnREYXRlLmdldERhdGUoKSArIDEpO1xyXG4gICAgfSBlbHNlIGlmIChkYXlPZldlZWsgPT09IDYpIHsgLy8gU2F0dXJkYXlcclxuICAgICAgY3VycmVudERhdGUuc2V0RGF0ZShjdXJyZW50RGF0ZS5nZXREYXRlKCkgKyAyKTtcclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDI4OyBpKyspIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGN1cnJlbnREYXRlKTtcclxuICAgICAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgaSk7XHJcbiAgICAgIFxyXG4gICAgICAvLyBPbmx5IGluY2x1ZGUgd2Vla2RheXMgKE1vbmRheSA9IDEsIEZyaWRheSA9IDUpXHJcbiAgICAgIGlmIChkYXRlLmdldERheSgpID49IDEgJiYgZGF0ZS5nZXREYXkoKSA8PSA1KSB7XHJcbiAgICAgICAgZGF0ZXMucHVzaChkYXRlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRhdGVzO1xyXG4gIH07XHJcblxyXG4gIC8vIEdlbmVyYXRlIGF2YWlsYWJsZSBzbG90cyAod2l0aCBTdXBhYmFzZSBpbnRlZ3JhdGlvbilcclxuICBjb25zdCBnZW5lcmF0ZUF2YWlsYWJsZVNsb3RzID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgY29uc3QgZGF0ZXMgPSBnZW5lcmF0ZUF2YWlsYWJsZURhdGVzKCk7XHJcbiAgICBjb25zdCB0aW1lU2xvdHMgPSBnZW5lcmF0ZVRpbWVTbG90cygpO1xyXG4gICAgY29uc3Qgc2xvdHM6IEFwcG9pbnRtZW50U2xvdFtdID0gW107XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgLy8gR2V0IGJvb2tlZCBhcHBvaW50bWVudHMgZnJvbSBTdXBhYmFzZSAtIGxvb2sgZm9yIHRlcm1pbl9kYXR1bSBjb2x1bW5cclxuICAgICAgY29uc3QgeyBkYXRhOiBib29rZWRBcHBvaW50bWVudHMsIGVycm9yIH0gPSBhd2FpdCBzdXBhYmFzZVxyXG4gICAgICAgIC5mcm9tKCdrdW5kZW5fcHJvamVrdGUnKVxyXG4gICAgICAgIC5zZWxlY3QoJ3Rlcm1pbl9kYXR1bScpXHJcbiAgICAgICAgLm5vdCgndGVybWluX2RhdHVtJywgJ2lzJywgbnVsbCk7XHJcblxyXG4gICAgICBpZiAoZXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBib29rZWQgYXBwb2ludG1lbnRzOicsIGVycm9yKTtcclxuICAgICAgICBjb25zb2xlLmxvZygnRmFsbGluZyBiYWNrIHRvIGFsbCBhdmFpbGFibGUgc2xvdHMnKTtcclxuICAgICAgICAvLyBGYWxsYmFjayB0byBhbGwgYXZhaWxhYmxlXHJcbiAgICAgICAgZGF0ZXMuZm9yRWFjaChkYXRlID0+IHtcclxuICAgICAgICAgIHRpbWVTbG90cy5mb3JFYWNoKHRpbWUgPT4ge1xyXG4gICAgICAgICAgICBzbG90cy5wdXNoKHtcclxuICAgICAgICAgICAgICBkYXRlOiBuZXcgRGF0ZShkYXRlKSxcclxuICAgICAgICAgICAgICB0aW1lLFxyXG4gICAgICAgICAgICAgIGF2YWlsYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICBib29rZWQ6IGZhbHNlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0ZvdW5kIGJvb2tlZCBhcHBvaW50bWVudHM6JywgYm9va2VkQXBwb2ludG1lbnRzKTtcclxuICAgICAgICBjb25zb2xlLmxvZygnTnVtYmVyIG9mIGJvb2tlZCBhcHBvaW50bWVudHM6JywgYm9va2VkQXBwb2ludG1lbnRzPy5sZW5ndGggfHwgMCk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gQ3JlYXRlIGEgc2V0IG9mIGJvb2tlZCB0aW1lcyBmb3IgcXVpY2sgbG9va3VwXHJcbiAgICAgICAgY29uc3QgYm9va2VkVGltZXMgPSBuZXcgU2V0KCk7XHJcbiAgICAgICAgYm9va2VkQXBwb2ludG1lbnRzPy5mb3JFYWNoKGFwcG9pbnRtZW50ID0+IHtcclxuICAgICAgICAgIGlmIChhcHBvaW50bWVudC50ZXJtaW5fZGF0dW0pIHtcclxuICAgICAgICAgICAgY29uc3QgYXBwb2ludG1lbnREYXRlID0gbmV3IERhdGUoYXBwb2ludG1lbnQudGVybWluX2RhdHVtKTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ1Byb2Nlc3NpbmcgYm9va2VkIGFwcG9pbnRtZW50OicsIGFwcG9pbnRtZW50LnRlcm1pbl9kYXR1bSk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdBcHBvaW50bWVudCBkYXRlIG9iamVjdDonLCBhcHBvaW50bWVudERhdGUpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnQXBwb2ludG1lbnQgaG91cnM6JywgYXBwb2ludG1lbnREYXRlLmdldEhvdXJzKCkpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnQXBwb2ludG1lbnQgbG9jYWwgdGltZTonLCBhcHBvaW50bWVudERhdGUudG9Mb2NhbGVTdHJpbmcoJ2RlLURFJykpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gVXNlIGxvY2FsIHRpbWUgY29uc2lzdGVudGx5IC0gZG9uJ3QgY29udmVydCB0byBVVENcclxuICAgICAgICAgICAgY29uc3QgeWVhciA9IGFwcG9pbnRtZW50RGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgICAgICAgICBjb25zdCBtb250aCA9IGFwcG9pbnRtZW50RGF0ZS5nZXRNb250aCgpO1xyXG4gICAgICAgICAgICBjb25zdCBkYXkgPSBhcHBvaW50bWVudERhdGUuZ2V0RGF0ZSgpO1xyXG4gICAgICAgICAgICBjb25zdCBob3VycyA9IGFwcG9pbnRtZW50RGF0ZS5nZXRIb3VycygpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gQ3JlYXRlIHRpbWUgc3RyaW5nIHVzaW5nIGxvY2FsIHRpbWUgY29tcG9uZW50c1xyXG4gICAgICAgICAgICBjb25zdCBkYXRlU3RyaW5nID0gYCR7eWVhcn0tJHsobW9udGggKyAxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9LSR7ZGF5LnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX1gO1xyXG4gICAgICAgICAgICBjb25zdCBob3VyU3RyaW5nID0gaG91cnMudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpICsgJzowMCc7XHJcbiAgICAgICAgICAgIGNvbnN0IHRpbWVTdHJpbmcgPSBgJHtkYXRlU3RyaW5nfVQke2hvdXJTdHJpbmd9OjAwOjAwYDtcclxuICAgICAgICAgICAgYm9va2VkVGltZXMuYWRkKHRpbWVTdHJpbmcpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnQm9va2VkIGFwcG9pbnRtZW50IGZvdW5kIChsb2NhbCB0aW1lKTonLCB0aW1lU3RyaW5nKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBcclxuICAgICAgICBjb25zb2xlLmxvZygnQWxsIGJvb2tlZCB0aW1lIHN0cmluZ3M6JywgQXJyYXkuZnJvbShib29rZWRUaW1lcykpO1xyXG5cclxuICAgICAgICAvLyBHZW5lcmF0ZSBzbG90cyB3aXRoIGF2YWlsYWJpbGl0eSBjaGVja1xyXG4gICAgICAgIGRhdGVzLmZvckVhY2goZGF0ZSA9PiB7XHJcbiAgICAgICAgICB0aW1lU2xvdHMuZm9yRWFjaCh0aW1lID0+IHtcclxuICAgICAgICAgICAgY29uc3QgW2hvdXJzXSA9IHRpbWUuc3BsaXQoJzonKS5tYXAoTnVtYmVyKTtcclxuICAgICAgICAgICAgLy8gQ3JlYXRlIHNsb3QgZGF0ZXRpbWUgaW4gbG9jYWwgdGltZVxyXG4gICAgICAgICAgICBjb25zdCBzbG90RGF0ZVRpbWUgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCksIGhvdXJzLCAwLCAwLCAwKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aW1lIHN0cmluZyB1c2luZyBsb2NhbCB0aW1lIGNvbXBvbmVudHMgKHNhbWUgYXMgYm9va2VkIGFwcG9pbnRtZW50cylcclxuICAgICAgICAgICAgY29uc3QgeWVhciA9IHNsb3REYXRlVGltZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgICAgICAgICBjb25zdCBtb250aCA9IHNsb3REYXRlVGltZS5nZXRNb250aCgpO1xyXG4gICAgICAgICAgICBjb25zdCBkYXkgPSBzbG90RGF0ZVRpbWUuZ2V0RGF0ZSgpO1xyXG4gICAgICAgICAgICBjb25zdCBzbG90SG91cnMgPSBzbG90RGF0ZVRpbWUuZ2V0SG91cnMoKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGVTdHJpbmcgPSBgJHt5ZWFyfS0keyhtb250aCArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX0tJHtkYXkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfWA7XHJcbiAgICAgICAgICAgIGNvbnN0IGhvdXJTdHJpbmcgPSBzbG90SG91cnMudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpICsgJzowMCc7XHJcbiAgICAgICAgICAgIGNvbnN0IHRpbWVTdHJpbmcgPSBgJHtkYXRlU3RyaW5nfVQke2hvdXJTdHJpbmd9OjAwOjAwYDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGNvbnN0IGlzQm9va2VkID0gYm9va2VkVGltZXMuaGFzKHRpbWVTdHJpbmcpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgY29uc29sZS5sb2coYFNsb3QgJHtkYXRlU3RyaW5nfSAke3RpbWV9OmAsIHtcclxuICAgICAgICAgICAgICBzbG90RGF0ZVRpbWU6IHNsb3REYXRlVGltZS50b0lTT1N0cmluZygpLFxyXG4gICAgICAgICAgICAgIHRpbWVTdHJpbmcsXHJcbiAgICAgICAgICAgICAgaXNCb29rZWQsXHJcbiAgICAgICAgICAgICAgYm9va2VkVGltZXM6IEFycmF5LmZyb20oYm9va2VkVGltZXMpXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaWYgKGlzQm9va2VkKSB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1Nsb3QgaXMgYm9va2VkOicsIHRpbWVTdHJpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBzbG90cy5wdXNoKHtcclxuICAgICAgICAgICAgICBkYXRlOiBuZXcgRGF0ZShkYXRlKSxcclxuICAgICAgICAgICAgICB0aW1lLFxyXG4gICAgICAgICAgICAgIGF2YWlsYWJsZTogIWlzQm9va2VkLFxyXG4gICAgICAgICAgICAgIGJvb2tlZDogaXNCb29rZWRcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGNoZWNraW5nIGF2YWlsYWJpbGl0eTonLCBlcnIpO1xyXG4gICAgICAvLyBGYWxsYmFjayB0byBhbGwgYXZhaWxhYmxlXHJcbiAgICAgIGRhdGVzLmZvckVhY2goZGF0ZSA9PiB7XHJcbiAgICAgICAgdGltZVNsb3RzLmZvckVhY2godGltZSA9PiB7XHJcbiAgICAgICAgICBzbG90cy5wdXNoKHtcclxuICAgICAgICAgICAgZGF0ZTogbmV3IERhdGUoZGF0ZSksXHJcbiAgICAgICAgICAgIHRpbWUsXHJcbiAgICAgICAgICAgIGF2YWlsYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgYm9va2VkOiBmYWxzZVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNldEF2YWlsYWJsZVNsb3RzKHNsb3RzKTtcclxuICB9O1xyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgc2V0TG9hZGluZyh0cnVlKTtcclxuICAgIC8vIFNpbXVsYXRlIGxvYWRpbmcgdGltZVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGdlbmVyYXRlQXZhaWxhYmxlU2xvdHMoKTtcclxuICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XHJcbiAgICB9LCA1MDApO1xyXG4gIH0sIFtdKTtcclxuXHJcbiAgLy8gR3JvdXAgc2xvdHMgYnkgZGF0ZVxyXG4gIGNvbnN0IGdyb3VwZWRTbG90cyA9IGF2YWlsYWJsZVNsb3RzLnJlZHVjZSgoZ3JvdXBzLCBzbG90KSA9PiB7XHJcbiAgICBjb25zdCBkYXRlS2V5ID0gc2xvdC5kYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXTtcclxuICAgIGlmICghZ3JvdXBzW2RhdGVLZXldKSB7XHJcbiAgICAgIGdyb3Vwc1tkYXRlS2V5XSA9IFtdO1xyXG4gICAgfVxyXG4gICAgZ3JvdXBzW2RhdGVLZXldLnB1c2goc2xvdCk7XHJcbiAgICByZXR1cm4gZ3JvdXBzO1xyXG4gIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIEFwcG9pbnRtZW50U2xvdFtdPik7XHJcblxyXG4gIGNvbnN0IGZvcm1hdERhdGUgPSAoZGF0ZTogRGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCdkZS1ERScsIHtcclxuICAgICAgd2Vla2RheTogJ3Nob3J0JyxcclxuICAgICAgZGF5OiAnMi1kaWdpdCcsXHJcbiAgICAgIG1vbnRoOiAnMi1kaWdpdCdcclxuICAgIH0pLmZvcm1hdChkYXRlKTtcclxuICB9O1xyXG5cclxuICBjb25zdCBpc1Nsb3RTZWxlY3RlZCA9IChzbG90OiBBcHBvaW50bWVudFNsb3QpID0+IHtcclxuICAgIGlmICghc2VsZWN0ZWRTbG90KSByZXR1cm4gZmFsc2U7XHJcbiAgICByZXR1cm4gc2VsZWN0ZWRTbG90LmRhdGUudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdID09PSBzbG90LmRhdGUudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdICYmXHJcbiAgICAgICAgICAgc2VsZWN0ZWRTbG90LnRpbWUgPT09IHNsb3QudGltZTtcclxuICB9O1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPGRpdiBjbGFzc05hbWU9XCJ3LWZ1bGwgbWF4LXctbWQgbXgtYXV0b1wiPlxyXG4gICAgICA8ZGl2IFxyXG4gICAgICAgIGNsYXNzTmFtZT1cInAtNiByb3VuZGVkLTJ4bCBzaGFkb3ctbGcgYmFja2Ryb3AtYmx1ci1zbVwiXHJcbiAgICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiBgJHtjb2xvcnMuYmFja2dyb3VuZH1GMGAgfX1cclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0zIG1iLTZcIj5cclxuICAgICAgICAgIDxDYWxlbmRhciBjbGFzc05hbWU9XCJ3LTYgaC02XCIgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5wcmltYXJ5IH19IC8+XHJcbiAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGRcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgIFRlcm1pbiBhdXN3w6RobGVuXHJcbiAgICAgICAgICA8L2gzPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICB7bG9hZGluZyA/IChcclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgcHktOFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFuaW1hdGUtc3BpbiByb3VuZGVkLWZ1bGwgaC04IHctOCBib3JkZXItYi0yIG14LWF1dG8gbWItNFwiIFxyXG4gICAgICAgICAgICAgICAgIHN0eWxlPXt7IGJvcmRlckNvbG9yOiBjb2xvcnMucHJpbWFyeSB9fT48L2Rpdj5cclxuICAgICAgICAgICAgPHAgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5zZWNvbmRhcnkgfX0+TGFkZSB2ZXJmw7xnYmFyZSBUZXJtaW5lLi4uPC9wPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKSA6IChcclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS00XCI+XHJcbiAgICAgICAgICAgIHtPYmplY3QuZW50cmllcyhncm91cGVkU2xvdHMpLnNsaWNlKDAsIDMpLm1hcCgoW2RhdGVLZXksIHNsb3RzXSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShkYXRlS2V5KTtcclxuICAgICAgICAgICAgICAvLyBTaG93IGFsbCBzbG90cywgbm90IGp1c3QgYXZhaWxhYmxlIG9uZXNcclxuICAgICAgICAgICAgICBjb25zdCBhbGxTbG90c0ZvckRhdGUgPSBzbG90cztcclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICBpZiAoYWxsU2xvdHNGb3JEYXRlLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGtleT17ZGF0ZUtleX0gY2xhc3NOYW1lPVwiYm9yZGVyIHJvdW5kZWQteGwgcC00XCIgXHJcbiAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGJvcmRlckNvbG9yOiBjb2xvcnMudGVydGlhcnkgfX0+XHJcbiAgICAgICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJmb250LXNlbWlib2xkIG1iLTNcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAge2Zvcm1hdERhdGUoZGF0ZSl9XHJcbiAgICAgICAgICAgICAgICAgIDwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMiBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHthbGxTbG90c0ZvckRhdGUubWFwKChzbG90LCBpbmRleCkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXtpc1Nsb3RTZWxlY3RlZChzbG90KSA/IFwiZGVmYXVsdFwiIDogXCJvdXRsaW5lXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uU2xvdFNlbGVjdChzbG90LmRhdGUsIHNsb3QudGltZSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtzbG90LmJvb2tlZCB8fCAhc2xvdC5hdmFpbGFibGV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpc1Nsb3RTZWxlY3RlZChzbG90KSA/IGNvbG9ycy5wcmltYXJ5IDogXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsb3QuYm9va2VkID8gJyNmM2Y0ZjYnIDogJ3RyYW5zcGFyZW50JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaXNTbG90U2VsZWN0ZWQoc2xvdCkgPyBjb2xvcnMuYmFja2dyb3VuZCA6IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsb3QuYm9va2VkID8gJyM5Y2EzYWYnIDogY29sb3JzLnByaW1hcnksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IHNsb3QuYm9va2VkID8gJyNkMWQ1ZGInIDogY29sb3JzLnRlcnRpYXJ5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxDbG9jayBjbGFzc05hbWU9XCJ3LTQgaC00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3Nsb3QudGltZX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtpc1Nsb3RTZWxlY3RlZChzbG90KSAmJiA8Q2hlY2tDaXJjbGUgY2xhc3NOYW1lPVwidy00IGgtNFwiIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7c2xvdC5ib29rZWQgJiYgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14c1wiPihHZWJ1Y2h0KTwvc3Bhbj59XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICl9XHJcblxyXG4gICAgICAgIHtzZWxlY3RlZFNsb3QgJiYgKFxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC02IHAtNCByb3VuZGVkLXhsIGJvcmRlci0yXCIgXHJcbiAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYCR7Y29sb3JzLnByaW1hcnl9MjBgLFxyXG4gICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcnMucHJpbWFyeSBcclxuICAgICAgICAgICAgICAgfX0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtc2VtaWJvbGRcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgICAgIEF1c2dld8OkaGx0ZXIgVGVybWluOlxyXG4gICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbVwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19PlxyXG4gICAgICAgICAgICAgICAgICB7Zm9ybWF0RGF0ZShzZWxlY3RlZFNsb3QuZGF0ZSl9IHVtIHtzZWxlY3RlZFNsb3QudGltZX0gVWhyXHJcbiAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcclxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXHJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblNsb3RTZWxlY3QobmV3IERhdGUoKSwgJycpfVxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5wcmltYXJ5IH19XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPFggY2xhc3NOYW1lPVwidy00IGgtNFwiIC8+XHJcbiAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKX1cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC00IHRleHQteHMgdGV4dC1jZW50ZXJcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnNlY29uZGFyeSB9fT5cclxuICAgICAgICAgIDxwPuKAoiBUZXJtaW5lIHNpbmQgMSBTdHVuZGVuIGxhbmc8L3A+XHJcbiAgICAgICAgICA8cD7igKIgTW8tRnIgOTowMC0xNzowMCBVaHI8L3A+XHJcbiAgICAgICAgICA8cD7igKIgTnVyIHZlcmbDvGdiYXJlIFRlcm1pbmUgd2VyZGVuIGFuZ2V6ZWlndDwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICApO1xyXG59ICJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiQnV0dG9uIiwiQ2FsZW5kYXIiLCJDbG9jayIsIkNoZWNrQ2lyY2xlIiwiWCIsImNvbG9ycyIsInN1cGFiYXNlIiwiQXBwb2ludG1lbnRDYWxlbmRhciIsIm9uU2xvdFNlbGVjdCIsInNlbGVjdGVkU2xvdCIsImF2YWlsYWJsZVNsb3RzIiwic2V0QXZhaWxhYmxlU2xvdHMiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsImdlbmVyYXRlVGltZVNsb3RzIiwic2xvdHMiLCJob3VyIiwicHVzaCIsInRvU3RyaW5nIiwicGFkU3RhcnQiLCJnZW5lcmF0ZUF2YWlsYWJsZURhdGVzIiwiZGF0ZXMiLCJ0b2RheSIsIkRhdGUiLCJjdXJyZW50RGF0ZSIsImRheU9mV2VlayIsImdldERheSIsInNldERhdGUiLCJnZXREYXRlIiwiaSIsImRhdGUiLCJnZW5lcmF0ZUF2YWlsYWJsZVNsb3RzIiwidGltZVNsb3RzIiwiZGF0YSIsImJvb2tlZEFwcG9pbnRtZW50cyIsImVycm9yIiwiZnJvbSIsInNlbGVjdCIsIm5vdCIsImNvbnNvbGUiLCJsb2ciLCJmb3JFYWNoIiwidGltZSIsImF2YWlsYWJsZSIsImJvb2tlZCIsImxlbmd0aCIsImJvb2tlZFRpbWVzIiwiU2V0IiwiYXBwb2ludG1lbnQiLCJ0ZXJtaW5fZGF0dW0iLCJhcHBvaW50bWVudERhdGUiLCJnZXRIb3VycyIsInRvTG9jYWxlU3RyaW5nIiwieWVhciIsImdldEZ1bGxZZWFyIiwibW9udGgiLCJnZXRNb250aCIsImRheSIsImhvdXJzIiwiZGF0ZVN0cmluZyIsImhvdXJTdHJpbmciLCJ0aW1lU3RyaW5nIiwiYWRkIiwiQXJyYXkiLCJzcGxpdCIsIm1hcCIsIk51bWJlciIsInNsb3REYXRlVGltZSIsInNsb3RIb3VycyIsImlzQm9va2VkIiwiaGFzIiwidG9JU09TdHJpbmciLCJlcnIiLCJzZXRUaW1lb3V0IiwiZ3JvdXBlZFNsb3RzIiwicmVkdWNlIiwiZ3JvdXBzIiwic2xvdCIsImRhdGVLZXkiLCJmb3JtYXREYXRlIiwiSW50bCIsIkRhdGVUaW1lRm9ybWF0Iiwid2Vla2RheSIsImZvcm1hdCIsImlzU2xvdFNlbGVjdGVkIiwiZGl2IiwiY2xhc3NOYW1lIiwic3R5bGUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJwcmltYXJ5IiwiaDMiLCJib3JkZXJDb2xvciIsInAiLCJzZWNvbmRhcnkiLCJPYmplY3QiLCJlbnRyaWVzIiwic2xpY2UiLCJhbGxTbG90c0ZvckRhdGUiLCJ0ZXJ0aWFyeSIsImg0IiwiaW5kZXgiLCJ2YXJpYW50Iiwic2l6ZSIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsInNwYW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/AppointmentCalendar.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/AppointmentForm.tsx": +/*!****************************************!*\ + !*** ./components/AppointmentForm.tsx ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AppointmentForm)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./components/ui/button.tsx\");\n/* harmony import */ var _components_ui_input__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/input */ \"(ssr)/./components/ui/input.tsx\");\n/* harmony import */ var _components_ui_textarea__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/textarea */ \"(ssr)/./components/ui/textarea.tsx\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle,Mail,Calendar,User,Phone,Building,MessageSquare!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/calendar.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle,Mail,Calendar,User,Phone,Building,MessageSquare!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle,Mail,Calendar,User,Phone,Building,MessageSquare!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/phone.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle,Mail,Calendar,User,Phone,Building,MessageSquare!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/building.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle,Mail,Calendar,User,Phone,Building,MessageSquare!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/mail.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle,Mail,Calendar,User,Phone,Building,MessageSquare!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/message-square.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle,Mail,Calendar,User,Phone,Building,MessageSquare!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-check-big.js\");\n/* harmony import */ var _lib_colors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/lib/colors */ \"(ssr)/./lib/colors.ts\");\n/* harmony import */ var _AppointmentCalendar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./AppointmentCalendar */ \"(ssr)/./components/AppointmentCalendar.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\nfunction AppointmentForm({ onSubmit, loading = false }) {\n const [formData, setFormData] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n name: \"\",\n telefon: \"\",\n firma: \"\",\n email: \"\",\n beschreibung: \"\"\n });\n const [selectedSlot, setSelectedSlot] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [errors, setErrors] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({});\n const handleInputChange = (field, value)=>{\n setFormData((prev)=>({\n ...prev,\n [field]: value\n }));\n // Clear error when user starts typing\n if (errors[field]) {\n setErrors((prev)=>{\n const newErrors = {\n ...prev\n };\n delete newErrors[field];\n return newErrors;\n });\n }\n };\n const handleSlotSelect = (date, time)=>{\n console.log(\"=== SLOT SELECTION DEBUG ===\");\n console.log(\"Selected date:\", date);\n console.log(\"Selected time:\", time);\n console.log(\"Date type:\", typeof date);\n console.log(\"Date instanceof Date:\", date instanceof Date);\n console.log(\"Date.toISOString():\", date.toISOString());\n if (time === \"\") {\n setSelectedSlot(null);\n console.log(\"Slot deselected\");\n } else {\n setSelectedSlot({\n date,\n time\n });\n console.log(\"Slot selected:\", {\n date,\n time\n });\n }\n };\n const validateForm = ()=>{\n const newErrors = {};\n if (!formData.name.trim()) {\n newErrors.name = \"Name ist erforderlich\";\n }\n if (!formData.telefon.trim()) {\n newErrors.telefon = \"Telefonnummer ist erforderlich\";\n }\n if (!formData.firma.trim()) {\n newErrors.firma = \"Unternehmen ist erforderlich\";\n }\n if (!formData.email.trim()) {\n newErrors.email = \"E-Mail ist erforderlich\";\n } else if (!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(formData.email)) {\n newErrors.email = \"Bitte geben Sie eine g\\xfcltige E-Mail-Adresse ein\";\n }\n if (!formData.beschreibung.trim()) {\n newErrors.beschreibung = \"Projektbeschreibung ist erforderlich\";\n }\n if (!selectedSlot) {\n newErrors.termin_datum = \"Bitte w\\xe4hlen Sie einen Termin aus\";\n }\n setErrors(newErrors);\n return Object.keys(newErrors).length === 0;\n };\n const handleSubmit = (e)=>{\n e.preventDefault();\n if (validateForm()) {\n console.log(\"=== FORM SUBMIT DEBUG ===\");\n console.log(\"Form data:\", formData);\n console.log(\"Selected slot:\", selectedSlot);\n console.log(\"Selected slot date:\", selectedSlot?.date);\n console.log(\"Selected slot time:\", selectedSlot?.time);\n const submitData = {\n ...formData,\n termin_datum: selectedSlot?.date,\n termin_time: selectedSlot?.time\n };\n console.log(\"Submit data:\", submitData);\n console.log(\"Submit termin_datum:\", submitData.termin_datum);\n console.log(\"Submit termin_time:\", submitData.termin_time);\n onSubmit(submitData);\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full max-w-4xl mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 lg:grid-cols-2 gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6 sm:p-8 rounded-3xl shadow-lg backdrop-blur-sm\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.background}F0`\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center space-x-3 mb-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"w-6 h-6\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 130,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl font-bold\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n children: \"Termin anfragen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 131,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 129,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: handleSubmit,\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block text-sm font-medium mb-2 flex items-center space-x-2\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 140,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"01 – Wie ist dein Name?\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 141,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 138,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_3__.Input, {\n type: \"text\",\n value: formData.name,\n onChange: (e)=>handleInputChange(\"name\", e.target.value),\n className: `w-full p-3 rounded-xl border-2 focus:outline-none focus:ring-2 ${errors.name ? \"border-red-500\" : \"\"}`,\n style: {\n borderColor: errors.name ? \"#ef4444\" : _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.tertiary,\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.background,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n placeholder: \"Dein vollst\\xe4ndiger Name\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 143,\n columnNumber: 15\n }, this),\n errors.name && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-red-500 text-sm mt-1\",\n children: errors.name\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 158,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 137,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block text-sm font-medium mb-2 flex items-center space-x-2\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 165,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"02 – Deine Telefonnummer\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 166,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 163,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_3__.Input, {\n type: \"tel\",\n value: formData.telefon,\n onChange: (e)=>handleInputChange(\"telefon\", e.target.value),\n className: `w-full p-3 rounded-xl border-2 focus:outline-none focus:ring-2 ${errors.telefon ? \"border-red-500\" : \"\"}`,\n style: {\n borderColor: errors.telefon ? \"#ef4444\" : _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.tertiary,\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.background,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n placeholder: \"+49 123 456789\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 168,\n columnNumber: 15\n }, this),\n errors.telefon && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-red-500 text-sm mt-1\",\n children: errors.telefon\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 183,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 162,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block text-sm font-medium mb-2 flex items-center space-x-2\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 190,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"03 – Dein Unternehmen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 191,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 188,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_3__.Input, {\n type: \"text\",\n value: formData.firma,\n onChange: (e)=>handleInputChange(\"firma\", e.target.value),\n className: `w-full p-3 rounded-xl border-2 focus:outline-none focus:ring-2 ${errors.firma ? \"border-red-500\" : \"\"}`,\n style: {\n borderColor: errors.firma ? \"#ef4444\" : _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.tertiary,\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.background,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n placeholder: \"Name deines Unternehmens\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 193,\n columnNumber: 15\n }, this),\n errors.firma && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-red-500 text-sm mt-1\",\n children: errors.firma\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 208,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 187,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block text-sm font-medium mb-2 flex items-center space-x-2\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 215,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"04 – Deine E-Mail-Adresse\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 216,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 213,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_3__.Input, {\n type: \"email\",\n value: formData.email,\n onChange: (e)=>handleInputChange(\"email\", e.target.value),\n className: `w-full p-3 rounded-xl border-2 focus:outline-none focus:ring-2 ${errors.email ? \"border-red-500\" : \"\"}`,\n style: {\n borderColor: errors.email ? \"#ef4444\" : _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.tertiary,\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.background,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n placeholder: \"deine@email.de\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 218,\n columnNumber: 15\n }, this),\n errors.email && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-red-500 text-sm mt-1\",\n children: errors.email\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 233,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 212,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block text-sm font-medium mb-2 flex items-center space-x-2\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 240,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"05 – Erz\\xe4hl uns kurz von deinem Vorhaben\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 241,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 238,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_textarea__WEBPACK_IMPORTED_MODULE_4__.Textarea, {\n value: formData.beschreibung,\n onChange: (e)=>handleInputChange(\"beschreibung\", e.target.value),\n rows: 4,\n className: `w-full p-3 rounded-xl border-2 focus:outline-none focus:ring-2 ${errors.beschreibung ? \"border-red-500\" : \"\"}`,\n style: {\n borderColor: errors.beschreibung ? \"#ef4444\" : _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.tertiary,\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.background,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n placeholder: \"Beschreibe dein Projekt, Ziele, W\\xfcnsche...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 243,\n columnNumber: 15\n }, this),\n errors.beschreibung && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-red-500 text-sm mt-1\",\n children: errors.beschreibung\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 258,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 237,\n columnNumber: 13\n }, this),\n errors.termin_datum && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-3 rounded-xl border-2 border-red-500 bg-red-50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-red-500 text-sm\",\n children: errors.termin_datum\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 264,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 263,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n type: \"submit\",\n disabled: loading,\n className: \"w-full py-3 rounded-xl text-lg font-semibold flex items-center justify-center space-x-2\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.background\n },\n children: loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"animate-spin rounded-full h-5 w-5 border-b-2 border-white\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 279,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Wird verarbeitet...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 280,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 284,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Termin anfragen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 285,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 268,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 136,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 125,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_AppointmentCalendar__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n onSlotSelect: handleSlotSelect,\n selectedSlot: selectedSlot\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 294,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6 rounded-2xl backdrop-blur-sm\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary}20`\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl font-bold mb-4 flex items-center space-x-2\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.background\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 306,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Oder direkt anrufen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 307,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 304,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3 text-sm\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.background\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"w-4 h-4 mr-3\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 312,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"+49 170 4969375\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 313,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 311,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"w-4 h-4 mr-3\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 316,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"support@webklar.com\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 317,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 315,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Mail_Calendar_User_Phone_Building_MessageSquare_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"w-4 h-4 mr-3\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 320,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Kaiserslautern, Deutschland\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 321,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 319,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 310,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 300,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 293,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 123,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentForm.tsx\",\n lineNumber: 122,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUM0QyxVQUFVO29DQUFDOztzREFDbkUsOERBQUNKOzRDQUFJQyxXQUFVOzs4REFDYiw4REFBQzVDLHVJQUFLQTtvREFBQzRDLFdBQVU7Ozs7Ozs4REFDakIsOERBQUNTOzhEQUFLOzs7Ozs7Ozs7Ozs7c0RBRVIsOERBQUNWOzRDQUFJQyxXQUFVOzs4REFDYiw4REFBQy9DLHdJQUFJQTtvREFBQytDLFdBQVU7Ozs7Ozs4REFDaEIsOERBQUNTOzhEQUFLOzs7Ozs7Ozs7Ozs7c0RBRVIsOERBQUNWOzRDQUFJQyxXQUFVOzs4REFDYiw4REFBQzNDLHdJQUFRQTtvREFBQzJDLFdBQVU7Ozs7Ozs4REFDcEIsOERBQUNTOzhEQUFLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVF0QiIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL2NvbXBvbmVudHMvQXBwb2ludG1lbnRGb3JtLnRzeD8zNTRkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xyXG5cclxuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvaW5wdXRcIjtcclxuaW1wb3J0IHsgVGV4dGFyZWEgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3RleHRhcmVhXCI7XHJcbmltcG9ydCB7IENoZWNrQ2lyY2xlLCBNYWlsLCBDYWxlbmRhciwgVXNlciwgUGhvbmUsIEJ1aWxkaW5nLCBNZXNzYWdlU3F1YXJlIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiO1xyXG5pbXBvcnQgeyBjb2xvcnMgfSBmcm9tICdAL2xpYi9jb2xvcnMnO1xyXG5pbXBvcnQgQXBwb2ludG1lbnRDYWxlbmRhciBmcm9tICcuL0FwcG9pbnRtZW50Q2FsZW5kYXInO1xyXG5cclxuaW50ZXJmYWNlIEFwcG9pbnRtZW50Rm9ybURhdGEge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0ZWxlZm9uOiBzdHJpbmc7XHJcbiAgZmlybWE6IHN0cmluZztcclxuICBlbWFpbDogc3RyaW5nO1xyXG4gIGJlc2NocmVpYnVuZzogc3RyaW5nO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgQXBwb2ludG1lbnRGb3JtUHJvcHMge1xyXG4gIG9uU3VibWl0OiAoZGF0YTogQXBwb2ludG1lbnRGb3JtRGF0YSAmIHsgdGVybWluX2RhdHVtPzogRGF0ZTsgdGVybWluX3RpbWU/OiBzdHJpbmcgfSkgPT4gdm9pZDtcclxuICBsb2FkaW5nPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQXBwb2ludG1lbnRGb3JtKHsgb25TdWJtaXQsIGxvYWRpbmcgPSBmYWxzZSB9OiBBcHBvaW50bWVudEZvcm1Qcm9wcykge1xyXG4gIGNvbnN0IFtmb3JtRGF0YSwgc2V0Rm9ybURhdGFdID0gdXNlU3RhdGU8QXBwb2ludG1lbnRGb3JtRGF0YT4oe1xyXG4gICAgbmFtZTogJycsXHJcbiAgICB0ZWxlZm9uOiAnJyxcclxuICAgIGZpcm1hOiAnJyxcclxuICAgIGVtYWlsOiAnJyxcclxuICAgIGJlc2NocmVpYnVuZzogJydcclxuICB9KTtcclxuICBjb25zdCBbc2VsZWN0ZWRTbG90LCBzZXRTZWxlY3RlZFNsb3RdID0gdXNlU3RhdGU8eyBkYXRlOiBEYXRlOyB0aW1lOiBzdHJpbmcgfSB8IG51bGw+KG51bGwpO1xyXG4gIGNvbnN0IFtlcnJvcnMsIHNldEVycm9yc10gPSB1c2VTdGF0ZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pih7fSk7XHJcblxyXG4gIGNvbnN0IGhhbmRsZUlucHV0Q2hhbmdlID0gKGZpZWxkOiBrZXlvZiBBcHBvaW50bWVudEZvcm1EYXRhLCB2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICBzZXRGb3JtRGF0YShwcmV2ID0+ICh7IC4uLnByZXYsIFtmaWVsZF06IHZhbHVlIH0pKTtcclxuICAgIC8vIENsZWFyIGVycm9yIHdoZW4gdXNlciBzdGFydHMgdHlwaW5nXHJcbiAgICBpZiAoZXJyb3JzW2ZpZWxkXSkge1xyXG4gICAgICBzZXRFcnJvcnMocHJldiA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RXJyb3JzID0geyAuLi5wcmV2IH07XHJcbiAgICAgICAgZGVsZXRlIG5ld0Vycm9yc1tmaWVsZF07XHJcbiAgICAgICAgcmV0dXJuIG5ld0Vycm9ycztcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgaGFuZGxlU2xvdFNlbGVjdCA9IChkYXRlOiBEYXRlLCB0aW1lOiBzdHJpbmcpID0+IHtcclxuICAgIGNvbnNvbGUubG9nKCc9PT0gU0xPVCBTRUxFQ1RJT04gREVCVUcgPT09Jyk7XHJcbiAgICBjb25zb2xlLmxvZygnU2VsZWN0ZWQgZGF0ZTonLCBkYXRlKTtcclxuICAgIGNvbnNvbGUubG9nKCdTZWxlY3RlZCB0aW1lOicsIHRpbWUpO1xyXG4gICAgY29uc29sZS5sb2coJ0RhdGUgdHlwZTonLCB0eXBlb2YgZGF0ZSk7XHJcbiAgICBjb25zb2xlLmxvZygnRGF0ZSBpbnN0YW5jZW9mIERhdGU6JywgZGF0ZSBpbnN0YW5jZW9mIERhdGUpO1xyXG4gICAgY29uc29sZS5sb2coJ0RhdGUudG9JU09TdHJpbmcoKTonLCBkYXRlLnRvSVNPU3RyaW5nKCkpO1xyXG4gICAgXHJcbiAgICBpZiAodGltZSA9PT0gJycpIHtcclxuICAgICAgc2V0U2VsZWN0ZWRTbG90KG51bGwpO1xyXG4gICAgICBjb25zb2xlLmxvZygnU2xvdCBkZXNlbGVjdGVkJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzZXRTZWxlY3RlZFNsb3QoeyBkYXRlLCB0aW1lIH0pO1xyXG4gICAgICBjb25zb2xlLmxvZygnU2xvdCBzZWxlY3RlZDonLCB7IGRhdGUsIHRpbWUgfSk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgdmFsaWRhdGVGb3JtID0gKCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgY29uc3QgbmV3RXJyb3JzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XHJcblxyXG4gICAgaWYgKCFmb3JtRGF0YS5uYW1lLnRyaW0oKSkge1xyXG4gICAgICBuZXdFcnJvcnMubmFtZSA9ICdOYW1lIGlzdCBlcmZvcmRlcmxpY2gnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghZm9ybURhdGEudGVsZWZvbi50cmltKCkpIHtcclxuICAgICAgbmV3RXJyb3JzLnRlbGVmb24gPSAnVGVsZWZvbm51bW1lciBpc3QgZXJmb3JkZXJsaWNoJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWZvcm1EYXRhLmZpcm1hLnRyaW0oKSkge1xyXG4gICAgICBuZXdFcnJvcnMuZmlybWEgPSAnVW50ZXJuZWhtZW4gaXN0IGVyZm9yZGVybGljaCc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFmb3JtRGF0YS5lbWFpbC50cmltKCkpIHtcclxuICAgICAgbmV3RXJyb3JzLmVtYWlsID0gJ0UtTWFpbCBpc3QgZXJmb3JkZXJsaWNoJztcclxuICAgIH0gZWxzZSBpZiAoIS9eW15cXHNAXStAW15cXHNAXStcXC5bXlxcc0BdKyQvLnRlc3QoZm9ybURhdGEuZW1haWwpKSB7XHJcbiAgICAgIG5ld0Vycm9ycy5lbWFpbCA9ICdCaXR0ZSBnZWJlbiBTaWUgZWluZSBnw7xsdGlnZSBFLU1haWwtQWRyZXNzZSBlaW4nO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghZm9ybURhdGEuYmVzY2hyZWlidW5nLnRyaW0oKSkge1xyXG4gICAgICBuZXdFcnJvcnMuYmVzY2hyZWlidW5nID0gJ1Byb2pla3RiZXNjaHJlaWJ1bmcgaXN0IGVyZm9yZGVybGljaCc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFzZWxlY3RlZFNsb3QpIHtcclxuICAgICAgbmV3RXJyb3JzLnRlcm1pbl9kYXR1bSA9ICdCaXR0ZSB3w6RobGVuIFNpZSBlaW5lbiBUZXJtaW4gYXVzJztcclxuICAgIH1cclxuXHJcbiAgICBzZXRFcnJvcnMobmV3RXJyb3JzKTtcclxuICAgIHJldHVybiBPYmplY3Qua2V5cyhuZXdFcnJvcnMpLmxlbmd0aCA9PT0gMDtcclxuICB9O1xyXG5cclxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSAoZTogUmVhY3QuRm9ybUV2ZW50KSA9PiB7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBcclxuICAgIGlmICh2YWxpZGF0ZUZvcm0oKSkge1xyXG4gICAgICBjb25zb2xlLmxvZygnPT09IEZPUk0gU1VCTUlUIERFQlVHID09PScpO1xyXG4gICAgICBjb25zb2xlLmxvZygnRm9ybSBkYXRhOicsIGZvcm1EYXRhKTtcclxuICAgICAgY29uc29sZS5sb2coJ1NlbGVjdGVkIHNsb3Q6Jywgc2VsZWN0ZWRTbG90KTtcclxuICAgICAgY29uc29sZS5sb2coJ1NlbGVjdGVkIHNsb3QgZGF0ZTonLCBzZWxlY3RlZFNsb3Q/LmRhdGUpO1xyXG4gICAgICBjb25zb2xlLmxvZygnU2VsZWN0ZWQgc2xvdCB0aW1lOicsIHNlbGVjdGVkU2xvdD8udGltZSk7XHJcbiAgICAgIFxyXG4gICAgICBjb25zdCBzdWJtaXREYXRhID0ge1xyXG4gICAgICAgIC4uLmZvcm1EYXRhLFxyXG4gICAgICAgIHRlcm1pbl9kYXR1bTogc2VsZWN0ZWRTbG90Py5kYXRlLFxyXG4gICAgICAgIHRlcm1pbl90aW1lOiBzZWxlY3RlZFNsb3Q/LnRpbWVcclxuICAgICAgfTtcclxuICAgICAgXHJcbiAgICAgIGNvbnNvbGUubG9nKCdTdWJtaXQgZGF0YTonLCBzdWJtaXREYXRhKTtcclxuICAgICAgY29uc29sZS5sb2coJ1N1Ym1pdCB0ZXJtaW5fZGF0dW06Jywgc3VibWl0RGF0YS50ZXJtaW5fZGF0dW0pO1xyXG4gICAgICBjb25zb2xlLmxvZygnU3VibWl0IHRlcm1pbl90aW1lOicsIHN1Ym1pdERhdGEudGVybWluX3RpbWUpO1xyXG4gICAgICBcclxuICAgICAgb25TdWJtaXQoc3VibWl0RGF0YSk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsIG1heC13LTR4bCBteC1hdXRvXCI+XHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBsZzpncmlkLWNvbHMtMiBnYXAtOFwiPlxyXG4gICAgICAgIHsvKiBBcHBvaW50bWVudCBGb3JtICovfVxyXG4gICAgICAgIDxkaXYgXHJcbiAgICAgICAgICBjbGFzc05hbWU9XCJwLTYgc206cC04IHJvdW5kZWQtM3hsIHNoYWRvdy1sZyBiYWNrZHJvcC1ibHVyLXNtXCJcclxuICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogYCR7Y29sb3JzLmJhY2tncm91bmR9RjBgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTMgbWItNlwiPlxyXG4gICAgICAgICAgICA8Q2FsZW5kYXIgY2xhc3NOYW1lPVwidy02IGgtNlwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMucHJpbWFyeSB9fSAvPlxyXG4gICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGRcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgVGVybWluIGFuZnJhZ2VuXHJcbiAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8Zm9ybSBvblN1Ym1pdD17aGFuZGxlU3VibWl0fSBjbGFzc05hbWU9XCJzcGFjZS15LTZcIj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiYmxvY2sgdGV4dC1zbSBmb250LW1lZGl1bSBtYi0yIGZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMlwiIFxyXG4gICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgICA8VXNlciBjbGFzc05hbWU9XCJ3LTQgaC00XCIgLz5cclxuICAgICAgICAgICAgICAgIDxzcGFuPjAxIOKAkyBXaWUgaXN0IGRlaW4gTmFtZT88L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8SW5wdXQgXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiIFxyXG4gICAgICAgICAgICAgICAgdmFsdWU9e2Zvcm1EYXRhLm5hbWV9XHJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZUlucHV0Q2hhbmdlKCduYW1lJywgZS50YXJnZXQudmFsdWUpfVxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgdy1mdWxsIHAtMyByb3VuZGVkLXhsIGJvcmRlci0yIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgJHtcclxuICAgICAgICAgICAgICAgICAgZXJyb3JzLm5hbWUgPyAnYm9yZGVyLXJlZC01MDAnIDogJydcclxuICAgICAgICAgICAgICAgIH1gfVxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiBlcnJvcnMubmFtZSA/ICcjZWY0NDQ0JyA6IGNvbG9ycy50ZXJ0aWFyeSxcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy5wcmltYXJ5XHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJEZWluIHZvbGxzdMOkbmRpZ2VyIE5hbWVcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAge2Vycm9ycy5uYW1lICYmIChcclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtcmVkLTUwMCB0ZXh0LXNtIG10LTFcIj57ZXJyb3JzLm5hbWV9PC9wPlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiYmxvY2sgdGV4dC1zbSBmb250LW1lZGl1bSBtYi0yIGZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMlwiIFxyXG4gICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgICA8UGhvbmUgY2xhc3NOYW1lPVwidy00IGgtNFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj4wMiDigJMgRGVpbmUgVGVsZWZvbm51bW1lcjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxJbnB1dCBcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZWxcIiBcclxuICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtRGF0YS50ZWxlZm9ufVxyXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVJbnB1dENoYW5nZSgndGVsZWZvbicsIGUudGFyZ2V0LnZhbHVlKX1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YHctZnVsbCBwLTMgcm91bmRlZC14bCBib3JkZXItMiBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yICR7XHJcbiAgICAgICAgICAgICAgICAgIGVycm9ycy50ZWxlZm9uID8gJ2JvcmRlci1yZWQtNTAwJyA6ICcnXHJcbiAgICAgICAgICAgICAgICB9YH1cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JzLnRlbGVmb24gPyAnI2VmNDQ0NCcgOiBjb2xvcnMudGVydGlhcnksXHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLmJhY2tncm91bmQsXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMucHJpbWFyeVxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiKzQ5IDEyMyA0NTY3ODlcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAge2Vycm9ycy50ZWxlZm9uICYmIChcclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtcmVkLTUwMCB0ZXh0LXNtIG10LTFcIj57ZXJyb3JzLnRlbGVmb259PC9wPlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiYmxvY2sgdGV4dC1zbSBmb250LW1lZGl1bSBtYi0yIGZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMlwiIFxyXG4gICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgICA8QnVpbGRpbmcgY2xhc3NOYW1lPVwidy00IGgtNFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj4wMyDigJMgRGVpbiBVbnRlcm5laG1lbjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxJbnB1dCBcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCIgXHJcbiAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybURhdGEuZmlybWF9XHJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZUlucHV0Q2hhbmdlKCdmaXJtYScsIGUudGFyZ2V0LnZhbHVlKX1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YHctZnVsbCBwLTMgcm91bmRlZC14bCBib3JkZXItMiBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yICR7XHJcbiAgICAgICAgICAgICAgICAgIGVycm9ycy5maXJtYSA/ICdib3JkZXItcmVkLTUwMCcgOiAnJ1xyXG4gICAgICAgICAgICAgICAgfWB9XHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9ycy5maXJtYSA/ICcjZWY0NDQ0JyA6IGNvbG9ycy50ZXJ0aWFyeSxcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy5wcmltYXJ5XHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJOYW1lIGRlaW5lcyBVbnRlcm5laG1lbnNcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAge2Vycm9ycy5maXJtYSAmJiAoXHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXJlZC01MDAgdGV4dC1zbSBtdC0xXCI+e2Vycm9ycy5maXJtYX08L3A+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJibG9jayB0ZXh0LXNtIGZvbnQtbWVkaXVtIG1iLTIgZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMucHJpbWFyeSB9fT5cclxuICAgICAgICAgICAgICAgIDxNYWlsIGNsYXNzTmFtZT1cInctNCBoLTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+MDQg4oCTIERlaW5lIEUtTWFpbC1BZHJlc3NlPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPElucHV0IFxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImVtYWlsXCIgXHJcbiAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybURhdGEuZW1haWx9XHJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZUlucHV0Q2hhbmdlKCdlbWFpbCcsIGUudGFyZ2V0LnZhbHVlKX1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YHctZnVsbCBwLTMgcm91bmRlZC14bCBib3JkZXItMiBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yICR7XHJcbiAgICAgICAgICAgICAgICAgIGVycm9ycy5lbWFpbCA/ICdib3JkZXItcmVkLTUwMCcgOiAnJ1xyXG4gICAgICAgICAgICAgICAgfWB9XHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9ycy5lbWFpbCA/ICcjZWY0NDQ0JyA6IGNvbG9ycy50ZXJ0aWFyeSxcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy5wcmltYXJ5XHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJkZWluZUBlbWFpbC5kZVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICB7ZXJyb3JzLmVtYWlsICYmIChcclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtcmVkLTUwMCB0ZXh0LXNtIG10LTFcIj57ZXJyb3JzLmVtYWlsfTwvcD5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImJsb2NrIHRleHQtc20gZm9udC1tZWRpdW0gbWItMiBmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTJcIiBcclxuICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5wcmltYXJ5IH19PlxyXG4gICAgICAgICAgICAgICAgPE1lc3NhZ2VTcXVhcmUgY2xhc3NOYW1lPVwidy00IGgtNFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj4wNSDigJMgRXJ6w6RobCB1bnMga3VyeiB2b24gZGVpbmVtIFZvcmhhYmVuPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPFRleHRhcmVhIFxyXG4gICAgICAgICAgICAgICAgdmFsdWU9e2Zvcm1EYXRhLmJlc2NocmVpYnVuZ31cclxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gaGFuZGxlSW5wdXRDaGFuZ2UoJ2Jlc2NocmVpYnVuZycsIGUudGFyZ2V0LnZhbHVlKX1cclxuICAgICAgICAgICAgICAgIHJvd3M9ezR9XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2B3LWZ1bGwgcC0zIHJvdW5kZWQteGwgYm9yZGVyLTIgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiAke1xyXG4gICAgICAgICAgICAgICAgICBlcnJvcnMuYmVzY2hyZWlidW5nID8gJ2JvcmRlci1yZWQtNTAwJyA6ICcnXHJcbiAgICAgICAgICAgICAgICB9YH1cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JzLmJlc2NocmVpYnVuZyA/ICcjZWY0NDQ0JyA6IGNvbG9ycy50ZXJ0aWFyeSxcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy5wcmltYXJ5XHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJCZXNjaHJlaWJlIGRlaW4gUHJvamVrdCwgWmllbGUsIFfDvG5zY2hlLi4uXCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIHtlcnJvcnMuYmVzY2hyZWlidW5nICYmIChcclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtcmVkLTUwMCB0ZXh0LXNtIG10LTFcIj57ZXJyb3JzLmJlc2NocmVpYnVuZ308L3A+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICB7ZXJyb3JzLnRlcm1pbl9kYXR1bSAmJiAoXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTMgcm91bmRlZC14bCBib3JkZXItMiBib3JkZXItcmVkLTUwMCBiZy1yZWQtNTBcIj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtcmVkLTUwMCB0ZXh0LXNtXCI+e2Vycm9ycy50ZXJtaW5fZGF0dW19PC9wPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPEJ1dHRvbiBcclxuICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcclxuICAgICAgICAgICAgICBkaXNhYmxlZD17bG9hZGluZ31cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgcHktMyByb3VuZGVkLXhsIHRleHQtbGcgZm9udC1zZW1pYm9sZCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBzcGFjZS14LTJcIlxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMucHJpbWFyeSxcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZFxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7bG9hZGluZyA/IChcclxuICAgICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYW5pbWF0ZS1zcGluIHJvdW5kZWQtZnVsbCBoLTUgdy01IGJvcmRlci1iLTIgYm9yZGVyLXdoaXRlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPldpcmQgdmVyYXJiZWl0ZXQuLi48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8Lz5cclxuICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICAgICAgPENoZWNrQ2lyY2xlIGNsYXNzTmFtZT1cInctNSBoLTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8c3Bhbj5UZXJtaW4gYW5mcmFnZW48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8Lz5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgey8qIENhbGVuZGFyIENvbXBvbmVudCAqL31cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgc3BhY2UteS02XCI+XHJcbiAgICAgICAgICA8QXBwb2ludG1lbnRDYWxlbmRhciBcclxuICAgICAgICAgICAgb25TbG90U2VsZWN0PXtoYW5kbGVTbG90U2VsZWN0fVxyXG4gICAgICAgICAgICBzZWxlY3RlZFNsb3Q9e3NlbGVjdGVkU2xvdH1cclxuICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgey8qIEFsdGVybmF0aXZlIENvbnRhY3QgKi99XHJcbiAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJwLTYgcm91bmRlZC0yeGwgYmFja2Ryb3AtYmx1ci1zbVwiXHJcbiAgICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogYCR7Y29sb3JzLnByaW1hcnl9MjBgIH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi00IGZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMlwiIFxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5iYWNrZ3JvdW5kIH19PlxyXG4gICAgICAgICAgICAgIDxQaG9uZSBjbGFzc05hbWU9XCJ3LTUgaC01XCIgLz5cclxuICAgICAgICAgICAgICA8c3Bhbj5PZGVyIGRpcmVrdCBhbnJ1ZmVuPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTMgdGV4dC1zbVwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCB9fT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8UGhvbmUgY2xhc3NOYW1lPVwidy00IGgtNCBtci0zXCIgLz5cclxuICAgICAgICAgICAgICAgIDxzcGFuPis0OSAxNzAgNDk2OTM3NTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8TWFpbCBjbGFzc05hbWU9XCJ3LTQgaC00IG1yLTNcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+c3VwcG9ydEB3ZWJrbGFyLmNvbTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8QnVpbGRpbmcgY2xhc3NOYW1lPVwidy00IGgtNCBtci0zXCIgLz5cclxuICAgICAgICAgICAgICAgIDxzcGFuPkthaXNlcnNsYXV0ZXJuLCBEZXV0c2NobGFuZDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICApO1xyXG59ICJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwiQnV0dG9uIiwiSW5wdXQiLCJUZXh0YXJlYSIsIkNoZWNrQ2lyY2xlIiwiTWFpbCIsIkNhbGVuZGFyIiwiVXNlciIsIlBob25lIiwiQnVpbGRpbmciLCJNZXNzYWdlU3F1YXJlIiwiY29sb3JzIiwiQXBwb2ludG1lbnRDYWxlbmRhciIsIkFwcG9pbnRtZW50Rm9ybSIsIm9uU3VibWl0IiwibG9hZGluZyIsImZvcm1EYXRhIiwic2V0Rm9ybURhdGEiLCJuYW1lIiwidGVsZWZvbiIsImZpcm1hIiwiZW1haWwiLCJiZXNjaHJlaWJ1bmciLCJzZWxlY3RlZFNsb3QiLCJzZXRTZWxlY3RlZFNsb3QiLCJlcnJvcnMiLCJzZXRFcnJvcnMiLCJoYW5kbGVJbnB1dENoYW5nZSIsImZpZWxkIiwidmFsdWUiLCJwcmV2IiwibmV3RXJyb3JzIiwiaGFuZGxlU2xvdFNlbGVjdCIsImRhdGUiLCJ0aW1lIiwiY29uc29sZSIsImxvZyIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInZhbGlkYXRlRm9ybSIsInRyaW0iLCJ0ZXN0IiwidGVybWluX2RhdHVtIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImhhbmRsZVN1Ym1pdCIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInN1Ym1pdERhdGEiLCJ0ZXJtaW5fdGltZSIsImRpdiIsImNsYXNzTmFtZSIsInN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwiYmFja2dyb3VuZCIsImNvbG9yIiwicHJpbWFyeSIsImgzIiwiZm9ybSIsImxhYmVsIiwic3BhbiIsInR5cGUiLCJvbkNoYW5nZSIsInRhcmdldCIsImJvcmRlckNvbG9yIiwidGVydGlhcnkiLCJwbGFjZWhvbGRlciIsInAiLCJyb3dzIiwiZGlzYWJsZWQiLCJvblNsb3RTZWxlY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/AppointmentForm.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/AppointmentStatus.tsx": +/*!******************************************!*\ + !*** ./components/AppointmentStatus.tsx ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AppointmentStatus)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_CheckCircle_Calendar_Mail_Clock_User_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle,Calendar,Mail,Clock,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-check-big.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle_Calendar_Mail_Clock_User_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle,Calendar,Mail,Clock,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle_Calendar_Mail_Clock_User_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle,Calendar,Mail,Clock,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/mail.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle_Calendar_Mail_Clock_User_lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle,Calendar,Mail,Clock,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/calendar.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle_Calendar_Mail_Clock_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle,Calendar,Mail,Clock,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/clock.js\");\n/* harmony import */ var _lib_colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/colors */ \"(ssr)/./lib/colors.ts\");\n/* harmony import */ var _hooks_useAuth__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/hooks/useAuth */ \"(ssr)/./hooks/useAuth.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\nfunction AppointmentStatus() {\n const { user, loading } = (0,_hooks_useAuth__WEBPACK_IMPORTED_MODULE_3__.useAuth)();\n const [showStatus, setShowStatus] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n // Show status if user is authenticated and has appointment_booking metadata\n if (user && !loading) {\n const hasAppointmentBooking = user.user_metadata?.appointment_booking;\n if (hasAppointmentBooking) {\n setShowStatus(true);\n // Hide status after 10 seconds\n const timer = setTimeout(()=>{\n setShowStatus(false);\n }, 10000);\n return ()=>clearTimeout(timer);\n }\n }\n }, [\n user,\n loading\n ]);\n if (!showStatus) return null;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed top-4 right-4 z-50 max-w-sm\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6 rounded-2xl shadow-lg backdrop-blur-sm border-2\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.background}F0`,\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.primary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center space-x-3 mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Calendar_Mail_Clock_User_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"w-6 h-6\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.primary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 41,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-semibold\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.primary\n },\n children: \"Termin best\\xe4tigt! ✅\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 42,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 40,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center space-x-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Calendar_Mail_Clock_User_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"w-4 h-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 49,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"Status:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 51,\n columnNumber: 15\n }, this),\n \" Angemeldet\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 50,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 48,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center space-x-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Calendar_Mail_Clock_User_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"w-4 h-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 56,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"E-Mail:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 58,\n columnNumber: 15\n }, this),\n \" \",\n user?.email\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 57,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 55,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center space-x-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Calendar_Mail_Clock_User_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"w-4 h-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 63,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"Termin:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 65,\n columnNumber: 15\n }, this),\n \" Gespeichert\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 64,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 62,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center space-x-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle_Calendar_Mail_Clock_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"w-4 h-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 70,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"Zeit:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 72,\n columnNumber: 15\n }, this),\n \" \",\n new Date().toLocaleTimeString(\"de-DE\")\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 71,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 69,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 47,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setShowStatus(false),\n className: \"mt-4 w-full p-2 rounded-xl text-sm transition-all duration-200 hover:scale-105\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.primary,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.background\n },\n children: \"Verstanden\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 77,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 33,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\AppointmentStatus.tsx\",\n lineNumber: 32,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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cEIsK0NBQU1BLENBQUNzQixTQUFTO29DQUFDOztzREFDekQsOERBQUNFO3NEQUFPOzs7Ozs7d0NBQWM7d0NBQUUsSUFBSUUsT0FBT0Msa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBSzVELDhEQUFDQztvQkFDQ0MsU0FBUyxJQUFNdkIsY0FBYztvQkFDN0JRLFdBQVU7b0JBQ1ZDLE9BQU87d0JBQ0xDLGlCQUFpQmhCLCtDQUFNQSxDQUFDbUIsT0FBTzt3QkFDL0JDLE9BQU9wQiwrQ0FBTUEsQ0FBQ2lCLFVBQVU7b0JBQzFCOzhCQUNEOzs7Ozs7Ozs7Ozs7Ozs7OztBQU1UIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vY29tcG9uZW50cy9BcHBvaW50bWVudFN0YXR1cy50c3g/NGQ0OCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcclxuXHJcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENoZWNrQ2lyY2xlLCBDYWxlbmRhciwgTWFpbCwgQ2xvY2ssIFVzZXIgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCI7XHJcbmltcG9ydCB7IGNvbG9ycyB9IGZyb20gJ0AvbGliL2NvbG9ycyc7XHJcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tICdAL2hvb2tzL3VzZUF1dGgnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQXBwb2ludG1lbnRTdGF0dXMoKSB7XHJcbiAgY29uc3QgeyB1c2VyLCBsb2FkaW5nIH0gPSB1c2VBdXRoKCk7XHJcbiAgY29uc3QgW3Nob3dTdGF0dXMsIHNldFNob3dTdGF0dXNdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgLy8gU2hvdyBzdGF0dXMgaWYgdXNlciBpcyBhdXRoZW50aWNhdGVkIGFuZCBoYXMgYXBwb2ludG1lbnRfYm9va2luZyBtZXRhZGF0YVxyXG4gICAgaWYgKHVzZXIgJiYgIWxvYWRpbmcpIHtcclxuICAgICAgY29uc3QgaGFzQXBwb2ludG1lbnRCb29raW5nID0gdXNlci51c2VyX21ldGFkYXRhPy5hcHBvaW50bWVudF9ib29raW5nO1xyXG4gICAgICBpZiAoaGFzQXBwb2ludG1lbnRCb29raW5nKSB7XHJcbiAgICAgICAgc2V0U2hvd1N0YXR1cyh0cnVlKTtcclxuICAgICAgICBcclxuICAgICAgICAvLyBIaWRlIHN0YXR1cyBhZnRlciAxMCBzZWNvbmRzXHJcbiAgICAgICAgY29uc3QgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHNldFNob3dTdGF0dXMoZmFsc2UpO1xyXG4gICAgICAgIH0sIDEwMDAwKTtcclxuXHJcbiAgICAgICAgcmV0dXJuICgpID0+IGNsZWFyVGltZW91dCh0aW1lcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9LCBbdXNlciwgbG9hZGluZ10pO1xyXG5cclxuICBpZiAoIXNob3dTdGF0dXMpIHJldHVybiBudWxsO1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmaXhlZCB0b3AtNCByaWdodC00IHotNTAgbWF4LXctc21cIj5cclxuICAgICAgPGRpdiBcclxuICAgICAgICBjbGFzc05hbWU9XCJwLTYgcm91bmRlZC0yeGwgc2hhZG93LWxnIGJhY2tkcm9wLWJsdXItc20gYm9yZGVyLTJcIlxyXG4gICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBgJHtjb2xvcnMuYmFja2dyb3VuZH1GMGAsXHJcbiAgICAgICAgICBib3JkZXJDb2xvcjogY29sb3JzLnByaW1hcnlcclxuICAgICAgICB9fVxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTMgbWItNFwiPlxyXG4gICAgICAgICAgPENoZWNrQ2lyY2xlIGNsYXNzTmFtZT1cInctNiBoLTZcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0gLz5cclxuICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJmb250LXNlbWlib2xkXCIgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5wcmltYXJ5IH19PlxyXG4gICAgICAgICAgICBUZXJtaW4gYmVzdMOkdGlndCEg4pyFXHJcbiAgICAgICAgICA8L2gzPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktM1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTNcIj5cclxuICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwidy00IGgtNFwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19IC8+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc21cIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnNlY29uZGFyeSB9fT5cclxuICAgICAgICAgICAgICA8c3Ryb25nPlN0YXR1czo8L3N0cm9uZz4gQW5nZW1lbGRldFxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtM1wiPlxyXG4gICAgICAgICAgICA8TWFpbCBjbGFzc05hbWU9XCJ3LTQgaC00XCIgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5zZWNvbmRhcnkgfX0gLz5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbVwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19PlxyXG4gICAgICAgICAgICAgIDxzdHJvbmc+RS1NYWlsOjwvc3Ryb25nPiB7dXNlcj8uZW1haWx9XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0zXCI+XHJcbiAgICAgICAgICAgIDxDYWxlbmRhciBjbGFzc05hbWU9XCJ3LTQgaC00XCIgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5zZWNvbmRhcnkgfX0gLz5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbVwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19PlxyXG4gICAgICAgICAgICAgIDxzdHJvbmc+VGVybWluOjwvc3Ryb25nPiBHZXNwZWljaGVydFxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtM1wiPlxyXG4gICAgICAgICAgICA8Q2xvY2sgY2xhc3NOYW1lPVwidy00IGgtNFwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19IC8+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc21cIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnNlY29uZGFyeSB9fT5cclxuICAgICAgICAgICAgICA8c3Ryb25nPlplaXQ6PC9zdHJvbmc+IHtuZXcgRGF0ZSgpLnRvTG9jYWxlVGltZVN0cmluZygnZGUtREUnKX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNob3dTdGF0dXMoZmFsc2UpfVxyXG4gICAgICAgICAgY2xhc3NOYW1lPVwibXQtNCB3LWZ1bGwgcC0yIHJvdW5kZWQteGwgdGV4dC1zbSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgaG92ZXI6c2NhbGUtMTA1XCJcclxuICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5wcmltYXJ5LFxyXG4gICAgICAgICAgICBjb2xvcjogY29sb3JzLmJhY2tncm91bmRcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgVmVyc3RhbmRlblxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICk7XHJcbn0gIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiQ2hlY2tDaXJjbGUiLCJDYWxlbmRhciIsIk1haWwiLCJDbG9jayIsIlVzZXIiLCJjb2xvcnMiLCJ1c2VBdXRoIiwiQXBwb2ludG1lbnRTdGF0dXMiLCJ1c2VyIiwibG9hZGluZyIsInNob3dTdGF0dXMiLCJzZXRTaG93U3RhdHVzIiwiaGFzQXBwb2ludG1lbnRCb29raW5nIiwidXNlcl9tZXRhZGF0YSIsImFwcG9pbnRtZW50X2Jvb2tpbmciLCJ0aW1lciIsInNldFRpbWVvdXQiLCJjbGVhclRpbWVvdXQiLCJkaXYiLCJjbGFzc05hbWUiLCJzdHlsZSIsImJhY2tncm91bmRDb2xvciIsImJhY2tncm91bmQiLCJib3JkZXJDb2xvciIsInByaW1hcnkiLCJjb2xvciIsImgzIiwic2Vjb25kYXJ5Iiwic3BhbiIsInN0cm9uZyIsImVtYWlsIiwiRGF0ZSIsInRvTG9jYWxlVGltZVN0cmluZyIsImJ1dHRvbiIsIm9uQ2xpY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/AppointmentStatus.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/EmailVerification.tsx": +/*!******************************************!*\ + !*** ./components/EmailVerification.tsx ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ EmailVerification)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./components/ui/button.tsx\");\n/* harmony import */ var _components_ui_input__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/input */ \"(ssr)/./components/ui/input.tsx\");\n/* harmony import */ var _barrel_optimize_names_Mail_CheckCircle_ArrowLeft_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Mail,CheckCircle,ArrowLeft!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/mail.js\");\n/* harmony import */ var _barrel_optimize_names_Mail_CheckCircle_ArrowLeft_lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=Mail,CheckCircle,ArrowLeft!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/arrow-left.js\");\n/* harmony import */ var _barrel_optimize_names_Mail_CheckCircle_ArrowLeft_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Mail,CheckCircle,ArrowLeft!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-check-big.js\");\n/* harmony import */ var _lib_supabase__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/supabase */ \"(ssr)/./lib/supabase.ts\");\n/* harmony import */ var _lib_colors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/lib/colors */ \"(ssr)/./lib/colors.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\nfunction EmailVerification({ email, onVerificationComplete, onBack }) {\n const [verificationEmail, setVerificationEmail] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(email);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [sent, setSent] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [success, setSuccess] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [rateLimited, setRateLimited] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [cooldownTime, setCooldownTime] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n const handleSendVerification = async ()=>{\n if (!verificationEmail || !/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(verificationEmail)) {\n setError(\"Bitte geben Sie eine g\\xfcltige E-Mail-Adresse ein.\");\n return;\n }\n if (rateLimited) {\n setError(`Rate Limit aktiv. Bitte warten Sie ${cooldownTime} Sekunden oder verwenden Sie die manuelle Bestätigung.`);\n return;\n }\n setLoading(true);\n setError(null);\n try {\n console.log(\"=== E-MAIL VERIFICATION DEBUG ===\");\n console.log(\"Sending verification email to:\", verificationEmail);\n console.log(\"Current origin:\", window.location.origin);\n console.log(\"Redirect URL:\", `${window.location.origin}/auth/callback`);\n // Use signInWithOtp with proper configuration for email verification\n const { data, error } = await _lib_supabase__WEBPACK_IMPORTED_MODULE_4__.supabase.auth.signInWithOtp({\n email: verificationEmail,\n options: {\n shouldCreateUser: true,\n data: {\n // Custom metadata for appointment booking\n appointment_booking: true,\n email: verificationEmail\n }\n }\n });\n console.log(\"Supabase email verification response:\", {\n data,\n error\n });\n if (error) {\n console.error(\"Supabase email verification error:\", error);\n if (error.message.includes(\"rate limit\")) {\n setRateLimited(true);\n setCooldownTime(60); // 60 seconds cooldown\n // Start countdown\n const countdown = setInterval(()=>{\n setCooldownTime((prev)=>{\n if (prev <= 1) {\n clearInterval(countdown);\n setRateLimited(false);\n return 0;\n }\n return prev - 1;\n });\n }, 1000);\n setError(`E-Mail-Rate-Limit erreicht. Bitte warten Sie 60 Sekunden oder verwenden Sie die manuelle Bestätigung.`);\n } else if (error.message.includes(\"expired\") || error.message.includes(\"invalid\")) {\n setError(\"Der E-Mail-Link ist abgelaufen oder ung\\xfcltig. Bitte fordern Sie einen neuen Link an.\");\n } else {\n setError(`E-Mail-Fehler: ${error.message}`);\n }\n } else {\n console.log(\"Verification email sent successfully\");\n setSent(true);\n }\n } catch (err) {\n console.error(\"Unexpected error sending verification email:\", err);\n setError(\"Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut.\");\n } finally{\n setLoading(false);\n }\n };\n const handleEmailChange = (e)=>{\n setVerificationEmail(e.target.value);\n if (error) setError(null);\n };\n const handleResend = ()=>{\n setSent(false);\n setError(null);\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full max-w-md mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6 sm:p-8 rounded-3xl shadow-lg backdrop-blur-sm\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.background}F0`\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center space-x-3 mb-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Mail_CheckCircle_ArrowLeft_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"w-6 h-6\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 114,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl font-bold\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n children: \"E-Mail senden\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 115,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 113,\n columnNumber: 9\n }, this),\n !sent ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.secondary\n },\n children: \"Um Ihren Termin zu best\\xe4tigen, senden wir Ihnen eine Best\\xe4tigungs-E-Mail. Klicken Sie auf den Link in der E-Mail, um sich zu authentifizieren.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 122,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block text-sm font-medium mb-2\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n children: \"E-Mail-Adresse\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 128,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_3__.Input, {\n type: \"email\",\n value: verificationEmail,\n onChange: handleEmailChange,\n className: \"w-full p-3 rounded-xl border-2 focus:outline-none focus:ring-2\",\n style: {\n borderColor: error ? \"#ef4444\" : _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.tertiary,\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.background,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n placeholder: \"ihre@email.de\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 131,\n columnNumber: 15\n }, this),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-red-500 text-sm mt-1\",\n children: error\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 144,\n columnNumber: 17\n }, this),\n rateLimited && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-2 p-2 rounded-lg border-2 border-orange-300 bg-orange-50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-orange-700\",\n children: [\n \"⚠️ \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"Rate Limit aktiv:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 150,\n columnNumber: 24\n }, this),\n \" Bitte warten Sie \",\n cooldownTime,\n \" Sekunden oder verwenden Sie die manuelle Best\\xe4tigung.\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 149,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 148,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 127,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex space-x-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n onClick: onBack,\n variant: \"outline\",\n className: \"flex-1 rounded-xl\",\n style: {\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.tertiary,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Mail_CheckCircle_ArrowLeft_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"w-4 h-4 mr-2\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 166,\n columnNumber: 17\n }, this),\n \"Zur\\xfcck\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 157,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n onClick: handleSendVerification,\n disabled: loading || rateLimited,\n className: \"flex-1 rounded-xl flex items-center justify-center space-x-2\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.background\n },\n children: loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"animate-spin rounded-full h-4 w-4 border-b-2 border-white\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 181,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"E-Mail wird gesendet...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 182,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true) : rateLimited ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: [\n \"Rate Limit (\",\n cooldownTime,\n \"s)\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 186,\n columnNumber: 21\n }, this)\n }, void 0, false) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Mail_CheckCircle_ArrowLeft_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 190,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"E-Mail senden\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 191,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 170,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 156,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 121,\n columnNumber: 11\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-16 h-16 rounded-full flex items-center justify-center mx-auto mb-4\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary}20`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Mail_CheckCircle_ArrowLeft_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"w-8 h-8\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 202,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 200,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"text-lg font-semibold mb-2\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n children: \"E-Mail gesendet!\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 205,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm mb-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.secondary\n },\n children: [\n \"Wir haben eine Best\\xe4tigungs-E-Mail an \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: verificationEmail\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 210,\n columnNumber: 55\n }, this),\n \" gesendet. Bitte \\xfcberpr\\xfcfen Sie Ihren Posteingang und klicken Sie auf den Link in der E-Mail.\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 209,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 199,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex space-x-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n onClick: handleResend,\n variant: \"outline\",\n className: \"flex-1 rounded-xl\",\n style: {\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.tertiary,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary\n },\n children: \"Erneut senden\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 217,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n onClick: onVerificationComplete,\n className: \"flex-1 rounded-xl flex items-center justify-center space-x-2\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.primary,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_5__.colors.background\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Mail_CheckCircle_ArrowLeft_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 237,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"E-Mail best\\xe4tigt\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 238,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 229,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 216,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 198,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 109,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\EmailVerification.tsx\",\n lineNumber: 108,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LnRzeD85YjA2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xyXG5cclxuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvaW5wdXRcIjtcclxuaW1wb3J0IHsgTWFpbCwgQ2hlY2tDaXJjbGUsIEFsZXJ0Q2lyY2xlLCBBcnJvd0xlZnQgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCI7XHJcbmltcG9ydCB7IHN1cGFiYXNlIH0gZnJvbSAnQC9saWIvc3VwYWJhc2UnO1xyXG5pbXBvcnQgeyBjb2xvcnMgfSBmcm9tICdAL2xpYi9jb2xvcnMnO1xyXG5cclxuaW50ZXJmYWNlIEVtYWlsVmVyaWZpY2F0aW9uUHJvcHMge1xyXG4gIGVtYWlsOiBzdHJpbmc7XHJcbiAgb25WZXJpZmljYXRpb25Db21wbGV0ZTogKCkgPT4gdm9pZDtcclxuICBvbkJhY2s6ICgpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEVtYWlsVmVyaWZpY2F0aW9uKHsgZW1haWwsIG9uVmVyaWZpY2F0aW9uQ29tcGxldGUsIG9uQmFjayB9OiBFbWFpbFZlcmlmaWNhdGlvblByb3BzKSB7XHJcbiAgY29uc3QgW3ZlcmlmaWNhdGlvbkVtYWlsLCBzZXRWZXJpZmljYXRpb25FbWFpbF0gPSB1c2VTdGF0ZShlbWFpbCk7XHJcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gIGNvbnN0IFtzZW50LCBzZXRTZW50XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xyXG4gIGNvbnN0IFtzdWNjZXNzLCBzZXRTdWNjZXNzXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICBjb25zdCBbcmF0ZUxpbWl0ZWQsIHNldFJhdGVMaW1pdGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICBjb25zdCBbY29vbGRvd25UaW1lLCBzZXRDb29sZG93blRpbWVdID0gdXNlU3RhdGUoMCk7XHJcblxyXG4gIGNvbnN0IGhhbmRsZVNlbmRWZXJpZmljYXRpb24gPSBhc3luYyAoKSA9PiB7XHJcbiAgICBpZiAoIXZlcmlmaWNhdGlvbkVtYWlsIHx8ICEvXlteXFxzQF0rQFteXFxzQF0rXFwuW15cXHNAXSskLy50ZXN0KHZlcmlmaWNhdGlvbkVtYWlsKSkge1xyXG4gICAgICBzZXRFcnJvcignQml0dGUgZ2ViZW4gU2llIGVpbmUgZ8O8bHRpZ2UgRS1NYWlsLUFkcmVzc2UgZWluLicpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJhdGVMaW1pdGVkKSB7XHJcbiAgICAgIHNldEVycm9yKGBSYXRlIExpbWl0IGFrdGl2LiBCaXR0ZSB3YXJ0ZW4gU2llICR7Y29vbGRvd25UaW1lfSBTZWt1bmRlbiBvZGVyIHZlcndlbmRlbiBTaWUgZGllIG1hbnVlbGxlIEJlc3TDpHRpZ3VuZy5gKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHNldExvYWRpbmcodHJ1ZSk7XHJcbiAgICBzZXRFcnJvcihudWxsKTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zb2xlLmxvZygnPT09IEUtTUFJTCBWRVJJRklDQVRJT04gREVCVUcgPT09Jyk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdTZW5kaW5nIHZlcmlmaWNhdGlvbiBlbWFpbCB0bzonLCB2ZXJpZmljYXRpb25FbWFpbCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdDdXJyZW50IG9yaWdpbjonLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKTtcclxuICAgICAgY29uc29sZS5sb2coJ1JlZGlyZWN0IFVSTDonLCBgJHt3aW5kb3cubG9jYXRpb24ub3JpZ2lufS9hdXRoL2NhbGxiYWNrYCk7XHJcbiAgICAgIFxyXG4gICAgICAvLyBVc2Ugc2lnbkluV2l0aE90cCB3aXRoIHByb3BlciBjb25maWd1cmF0aW9uIGZvciBlbWFpbCB2ZXJpZmljYXRpb25cclxuICAgICAgY29uc3QgeyBkYXRhLCBlcnJvciB9ID0gYXdhaXQgc3VwYWJhc2UuYXV0aC5zaWduSW5XaXRoT3RwKHtcclxuICAgICAgICBlbWFpbDogdmVyaWZpY2F0aW9uRW1haWwsXHJcbiAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgc2hvdWxkQ3JlYXRlVXNlcjogdHJ1ZSxcclxuICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgLy8gQ3VzdG9tIG1ldGFkYXRhIGZvciBhcHBvaW50bWVudCBib29raW5nXHJcbiAgICAgICAgICAgIGFwcG9pbnRtZW50X2Jvb2tpbmc6IHRydWUsXHJcbiAgICAgICAgICAgIGVtYWlsOiB2ZXJpZmljYXRpb25FbWFpbFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICBjb25zb2xlLmxvZygnU3VwYWJhc2UgZW1haWwgdmVyaWZpY2F0aW9uIHJlc3BvbnNlOicsIHsgZGF0YSwgZXJyb3IgfSk7XHJcblxyXG4gICAgICBpZiAoZXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdTdXBhYmFzZSBlbWFpbCB2ZXJpZmljYXRpb24gZXJyb3I6JywgZXJyb3IpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmIChlcnJvci5tZXNzYWdlLmluY2x1ZGVzKCdyYXRlIGxpbWl0JykpIHtcclxuICAgICAgICAgIHNldFJhdGVMaW1pdGVkKHRydWUpO1xyXG4gICAgICAgICAgc2V0Q29vbGRvd25UaW1lKDYwKTsgLy8gNjAgc2Vjb25kcyBjb29sZG93blxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAvLyBTdGFydCBjb3VudGRvd25cclxuICAgICAgICAgIGNvbnN0IGNvdW50ZG93biA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgICAgICAgc2V0Q29vbGRvd25UaW1lKHByZXYgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChwcmV2IDw9IDEpIHtcclxuICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY291bnRkb3duKTtcclxuICAgICAgICAgICAgICAgIHNldFJhdGVMaW1pdGVkKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXR1cm4gcHJldiAtIDE7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSwgMTAwMCk7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHNldEVycm9yKGBFLU1haWwtUmF0ZS1MaW1pdCBlcnJlaWNodC4gQml0dGUgd2FydGVuIFNpZSA2MCBTZWt1bmRlbiBvZGVyIHZlcndlbmRlbiBTaWUgZGllIG1hbnVlbGxlIEJlc3TDpHRpZ3VuZy5gKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGVycm9yLm1lc3NhZ2UuaW5jbHVkZXMoJ2V4cGlyZWQnKSB8fCBlcnJvci5tZXNzYWdlLmluY2x1ZGVzKCdpbnZhbGlkJykpIHtcclxuICAgICAgICAgIHNldEVycm9yKCdEZXIgRS1NYWlsLUxpbmsgaXN0IGFiZ2VsYXVmZW4gb2RlciB1bmfDvGx0aWcuIEJpdHRlIGZvcmRlcm4gU2llIGVpbmVuIG5ldWVuIExpbmsgYW4uJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHNldEVycm9yKGBFLU1haWwtRmVobGVyOiAke2Vycm9yLm1lc3NhZ2V9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdWZXJpZmljYXRpb24gZW1haWwgc2VudCBzdWNjZXNzZnVsbHknKTtcclxuICAgICAgICBzZXRTZW50KHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignVW5leHBlY3RlZCBlcnJvciBzZW5kaW5nIHZlcmlmaWNhdGlvbiBlbWFpbDonLCBlcnIpO1xyXG4gICAgICBzZXRFcnJvcignRWluIEZlaGxlciBpc3QgYXVmZ2V0cmV0ZW4uIEJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgZXJuZXV0LicpO1xyXG4gICAgfSBmaW5hbGx5IHtcclxuICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgaGFuZGxlRW1haWxDaGFuZ2UgPSAoZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcclxuICAgIHNldFZlcmlmaWNhdGlvbkVtYWlsKGUudGFyZ2V0LnZhbHVlKTtcclxuICAgIGlmIChlcnJvcikgc2V0RXJyb3IobnVsbCk7XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgaGFuZGxlUmVzZW5kID0gKCkgPT4ge1xyXG4gICAgc2V0U2VudChmYWxzZSk7XHJcbiAgICBzZXRFcnJvcihudWxsKTtcclxuICB9O1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPGRpdiBjbGFzc05hbWU9XCJ3LWZ1bGwgbWF4LXctbWQgbXgtYXV0b1wiPlxyXG4gICAgICA8ZGl2IFxyXG4gICAgICAgIGNsYXNzTmFtZT1cInAtNiBzbTpwLTggcm91bmRlZC0zeGwgc2hhZG93LWxnIGJhY2tkcm9wLWJsdXItc21cIlxyXG4gICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogYCR7Y29sb3JzLmJhY2tncm91bmR9RjBgIH19XHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMyBtYi02XCI+XHJcbiAgICAgICAgICA8TWFpbCBjbGFzc05hbWU9XCJ3LTYgaC02XCIgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5wcmltYXJ5IH19IC8+XHJcbiAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGRcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgIEUtTWFpbCBzZW5kZW5cclxuICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgeyFzZW50ID8gKFxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTZcIj5cclxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbVwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19PlxyXG4gICAgICAgICAgICAgIFVtIElocmVuIFRlcm1pbiB6dSBiZXN0w6R0aWdlbiwgc2VuZGVuIHdpciBJaG5lbiBlaW5lIEJlc3TDpHRpZ3VuZ3MtRS1NYWlsLiBcclxuICAgICAgICAgICAgICBLbGlja2VuIFNpZSBhdWYgZGVuIExpbmsgaW4gZGVyIEUtTWFpbCwgdW0gc2ljaCB6dSBhdXRoZW50aWZpemllcmVuLlxyXG4gICAgICAgICAgICA8L3A+XHJcblxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJibG9jayB0ZXh0LXNtIGZvbnQtbWVkaXVtIG1iLTJcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgICBFLU1haWwtQWRyZXNzZVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPElucHV0IFxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImVtYWlsXCIgXHJcbiAgICAgICAgICAgICAgICB2YWx1ZT17dmVyaWZpY2F0aW9uRW1haWx9XHJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlRW1haWxDaGFuZ2V9XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgcC0zIHJvdW5kZWQteGwgYm9yZGVyLTIgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMlwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yID8gJyNlZjQ0NDQnIDogY29sb3JzLnRlcnRpYXJ5LFxyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5iYWNrZ3JvdW5kLFxyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3JzLnByaW1hcnlcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImlocmVAZW1haWwuZGVcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAge2Vycm9yICYmIChcclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtcmVkLTUwMCB0ZXh0LXNtIG10LTFcIj57ZXJyb3J9PC9wPlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAge3JhdGVMaW1pdGVkICYmIChcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtMiBwLTIgcm91bmRlZC1sZyBib3JkZXItMiBib3JkZXItb3JhbmdlLTMwMCBiZy1vcmFuZ2UtNTBcIj5cclxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LW9yYW5nZS03MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICDimqDvuI8gPHN0cm9uZz5SYXRlIExpbWl0IGFrdGl2Ojwvc3Ryb25nPiBCaXR0ZSB3YXJ0ZW4gU2llIHtjb29sZG93blRpbWV9IFNla3VuZGVuIG9kZXIgdmVyd2VuZGVuIFNpZSBkaWUgbWFudWVsbGUgQmVzdMOkdGlndW5nLlxyXG4gICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBzcGFjZS14LTNcIj5cclxuICAgICAgICAgICAgICA8QnV0dG9uIFxyXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25CYWNrfVxyXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleC0xIHJvdW5kZWQteGxcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcnMudGVydGlhcnksXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMucHJpbWFyeVxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8QXJyb3dMZWZ0IGNsYXNzTmFtZT1cInctNCBoLTQgbXItMlwiIC8+XHJcbiAgICAgICAgICAgICAgICBadXLDvGNrXHJcbiAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPEJ1dHRvbiBcclxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRWZXJpZmljYXRpb259XHJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17bG9hZGluZyB8fCByYXRlTGltaXRlZH1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXgtMSByb3VuZGVkLXhsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHNwYWNlLXgtMlwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMucHJpbWFyeSxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy5iYWNrZ3JvdW5kXHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHtsb2FkaW5nID8gKFxyXG4gICAgICAgICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYW5pbWF0ZS1zcGluIHJvdW5kZWQtZnVsbCBoLTQgdy00IGJvcmRlci1iLTIgYm9yZGVyLXdoaXRlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+RS1NYWlsIHdpcmQgZ2VzZW5kZXQuLi48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICAgICAgKSA6IHJhdGVMaW1pdGVkID8gKFxyXG4gICAgICAgICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPlJhdGUgTGltaXQgKHtjb29sZG93blRpbWV9cyk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICAgICAgICA8TWFpbCBjbGFzc05hbWU9XCJ3LTQgaC00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5FLU1haWwgc2VuZGVuPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8Lz5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKSA6IChcclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS02XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMTYgaC0xNiByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbXgtYXV0byBtYi00XCJcclxuICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogYCR7Y29sb3JzLnByaW1hcnl9MjBgIH19PlxyXG4gICAgICAgICAgICAgICAgPE1haWwgY2xhc3NOYW1lPVwidy04IGgtOFwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMucHJpbWFyeSB9fSAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgbWItMlwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMucHJpbWFyeSB9fT5cclxuICAgICAgICAgICAgICAgIEUtTWFpbCBnZXNlbmRldCFcclxuICAgICAgICAgICAgICA8L2g0PlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gbWItNFwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19PlxyXG4gICAgICAgICAgICAgICAgV2lyIGhhYmVuIGVpbmUgQmVzdMOkdGlndW5ncy1FLU1haWwgYW4gPHN0cm9uZz57dmVyaWZpY2F0aW9uRW1haWx9PC9zdHJvbmc+IGdlc2VuZGV0LiBcclxuICAgICAgICAgICAgICAgIEJpdHRlIMO8YmVycHLDvGZlbiBTaWUgSWhyZW4gUG9zdGVpbmdhbmcgdW5kIGtsaWNrZW4gU2llIGF1ZiBkZW4gTGluayBpbiBkZXIgRS1NYWlsLlxyXG4gICAgICAgICAgICAgIDwvcD5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IHNwYWNlLXgtM1wiPlxyXG4gICAgICAgICAgICAgIDxCdXR0b24gXHJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVSZXNlbmR9XHJcbiAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4LTEgcm91bmRlZC14bFwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9ycy50ZXJ0aWFyeSxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy5wcmltYXJ5XHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIEVybmV1dCBzZW5kZW5cclxuICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8QnV0dG9uIFxyXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25WZXJpZmljYXRpb25Db21wbGV0ZX1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXgtMSByb3VuZGVkLXhsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHNwYWNlLXgtMlwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMucHJpbWFyeSxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy5iYWNrZ3JvdW5kXHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxDaGVja0NpcmNsZSBjbGFzc05hbWU9XCJ3LTQgaC00XCIgLz5cclxuICAgICAgICAgICAgICAgIDxzcGFuPkUtTWFpbCBiZXN0w6R0aWd0PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgKTtcclxufSAiXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsIkJ1dHRvbiIsIklucHV0IiwiTWFpbCIsIkNoZWNrQ2lyY2xlIiwiQXJyb3dMZWZ0Iiwic3VwYWJhc2UiLCJjb2xvcnMiLCJFbWFpbFZlcmlmaWNhdGlvbiIsImVtYWlsIiwib25WZXJpZmljYXRpb25Db21wbGV0ZSIsIm9uQmFjayIsInZlcmlmaWNhdGlvbkVtYWlsIiwic2V0VmVyaWZpY2F0aW9uRW1haWwiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsInNlbnQiLCJzZXRTZW50IiwiZXJyb3IiLCJzZXRFcnJvciIsInN1Y2Nlc3MiLCJzZXRTdWNjZXNzIiwicmF0ZUxpbWl0ZWQiLCJzZXRSYXRlTGltaXRlZCIsImNvb2xkb3duVGltZSIsInNldENvb2xkb3duVGltZSIsImhhbmRsZVNlbmRWZXJpZmljYXRpb24iLCJ0ZXN0IiwiY29uc29sZSIsImxvZyIsIndpbmRvdyIsImxvY2F0aW9uIiwib3JpZ2luIiwiZGF0YSIsImF1dGgiLCJzaWduSW5XaXRoT3RwIiwib3B0aW9ucyIsInNob3VsZENyZWF0ZVVzZXIiLCJhcHBvaW50bWVudF9ib29raW5nIiwibWVzc2FnZSIsImluY2x1ZGVzIiwiY291bnRkb3duIiwic2V0SW50ZXJ2YWwiLCJwcmV2IiwiY2xlYXJJbnRlcnZhbCIsImVyciIsImhhbmRsZUVtYWlsQ2hhbmdlIiwiZSIsInRhcmdldCIsInZhbHVlIiwiaGFuZGxlUmVzZW5kIiwiZGl2IiwiY2xhc3NOYW1lIiwic3R5bGUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJwcmltYXJ5IiwiaDMiLCJwIiwic2Vjb25kYXJ5IiwibGFiZWwiLCJ0eXBlIiwib25DaGFuZ2UiLCJib3JkZXJDb2xvciIsInRlcnRpYXJ5IiwicGxhY2Vob2xkZXIiLCJzdHJvbmciLCJvbkNsaWNrIiwidmFyaWFudCIsImRpc2FibGVkIiwic3BhbiIsImg0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./components/EmailVerification.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/GlassSurface.tsx": +/*!*************************************!*\ + !*** ./components/GlassSurface.tsx ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _GlassSurface_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./GlassSurface.css */ \"(ssr)/./components/GlassSurface.css\");\n\n\n\nconst GlassSurface = ({ children, width = 200, height = 80, borderRadius = 20, borderWidth = 0.07, brightness = 50, opacity = 0.93, blur = 11, displace = 0, backgroundOpacity = 0, saturation = 1, distortionScale = -180, redOffset = 0, greenOffset = 10, blueOffset = 20, xChannel = \"R\", yChannel = \"G\", mixBlendMode = \"difference\", className = \"\", style = {} })=>{\n const uniqueId = (0,react__WEBPACK_IMPORTED_MODULE_1__.useId)().replace(/:/g, \"-\");\n const filterId = `glass-filter-${uniqueId}`;\n const redGradId = `red-grad-${uniqueId}`;\n const blueGradId = `blue-grad-${uniqueId}`;\n const containerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const feImageRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const redChannelRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const greenChannelRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const blueChannelRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const gaussianBlurRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const generateDisplacementMap = ()=>{\n const rect = containerRef.current?.getBoundingClientRect();\n const actualWidth = rect?.width || 400;\n const actualHeight = rect?.height || 200;\n const edgeSize = Math.min(actualWidth, actualHeight) * (borderWidth * 0.5);\n const svgContent = `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `;\n return `data:image/svg+xml,${encodeURIComponent(svgContent)}`;\n };\n const updateDisplacementMap = ()=>{\n if (feImageRef.current) {\n feImageRef.current.setAttribute(\"href\", generateDisplacementMap());\n }\n };\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n updateDisplacementMap();\n [\n {\n ref: redChannelRef,\n offset: redOffset\n },\n {\n ref: greenChannelRef,\n offset: greenOffset\n },\n {\n ref: blueChannelRef,\n offset: blueOffset\n }\n ].forEach(({ ref, offset })=>{\n if (ref.current) {\n ref.current.setAttribute(\"scale\", (distortionScale + offset).toString());\n ref.current.setAttribute(\"xChannelSelector\", xChannel);\n ref.current.setAttribute(\"yChannelSelector\", yChannel);\n }\n });\n if (gaussianBlurRef.current) {\n gaussianBlurRef.current.setAttribute(\"stdDeviation\", displace.toString());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n width,\n height,\n borderRadius,\n borderWidth,\n brightness,\n opacity,\n blur,\n displace,\n distortionScale,\n redOffset,\n greenOffset,\n blueOffset,\n xChannel,\n yChannel,\n mixBlendMode\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (!containerRef.current) return;\n const resizeObserver = new ResizeObserver(()=>{\n setTimeout(updateDisplacementMap, 0);\n });\n resizeObserver.observe(containerRef.current);\n return ()=>{\n resizeObserver.disconnect();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n setTimeout(updateDisplacementMap, 0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n width,\n height\n ]);\n const supportsSVGFilters = ()=>{\n const isWebkit = /Safari/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent);\n const isFirefox = /Firefox/.test(navigator.userAgent);\n if (isWebkit || isFirefox) {\n return false;\n }\n const div = document.createElement(\"div\");\n div.style.backdropFilter = `url(#${filterId})`;\n return div.style.backdropFilter !== \"\";\n };\n const containerStyle = {\n ...style,\n width: typeof width === \"number\" ? `${width}px` : width,\n height: typeof height === \"number\" ? `${height}px` : height,\n borderRadius: `${borderRadius}px`,\n \"--glass-frost\": backgroundOpacity,\n \"--glass-saturation\": saturation,\n \"--filter-id\": `url(#${filterId})`\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: containerRef,\n className: `glass-surface ${supportsSVGFilters() ? \"glass-surface--svg\" : \"glass-surface--fallback\"} ${className}`,\n style: containerStyle,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"glass-surface__filter\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"filter\", {\n id: filterId,\n colorInterpolationFilters: \"sRGB\",\n x: \"0%\",\n y: \"0%\",\n width: \"100%\",\n height: \"100%\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feImage\", {\n ref: feImageRef,\n x: \"0\",\n y: \"0\",\n width: \"100%\",\n height: \"100%\",\n preserveAspectRatio: \"none\",\n result: \"map\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\GlassSurface.tsx\",\n lineNumber: 182,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feDisplacementMap\", {\n ref: redChannelRef,\n in: \"SourceGraphic\",\n in2: \"map\",\n id: \"redchannel\",\n result: \"dispRed\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\GlassSurface.tsx\",\n lineNumber: 183,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feColorMatrix\", {\n in: \"dispRed\",\n type: \"matrix\",\n values: \"1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0\",\n result: \"red\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\GlassSurface.tsx\",\n lineNumber: 184,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feDisplacementMap\", {\n ref: greenChannelRef,\n in: \"SourceGraphic\",\n in2: \"map\",\n id: \"greenchannel\",\n result: \"dispGreen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\GlassSurface.tsx\",\n lineNumber: 193,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feColorMatrix\", {\n in: \"dispGreen\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0\",\n result: \"green\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\GlassSurface.tsx\",\n lineNumber: 200,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feDisplacementMap\", {\n ref: blueChannelRef,\n in: \"SourceGraphic\",\n in2: \"map\",\n id: \"bluechannel\",\n result: \"dispBlue\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\GlassSurface.tsx\",\n lineNumber: 209,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feColorMatrix\", {\n in: \"dispBlue\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0\",\n result: \"blue\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\GlassSurface.tsx\",\n lineNumber: 210,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feBlend\", {\n in: \"red\",\n in2: \"green\",\n mode: \"screen\",\n result: \"rg\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\GlassSurface.tsx\",\n lineNumber: 219,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feBlend\", {\n in: \"rg\",\n in2: \"blue\",\n mode: \"screen\",\n result: \"output\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\GlassSurface.tsx\",\n lineNumber: 220,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"feGaussianBlur\", {\n ref: gaussianBlurRef,\n in: \"output\",\n stdDeviation: \"0.7\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\GlassSurface.tsx\",\n lineNumber: 221,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\GlassSurface.tsx\",\n lineNumber: 181,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\GlassSurface.tsx\",\n lineNumber: 180,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\GlassSurface.tsx\",\n lineNumber: 179,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"glass-surface__content\",\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\GlassSurface.tsx\",\n lineNumber: 225,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\GlassSurface.tsx\",\n lineNumber: 174,\n columnNumber: 5\n }, undefined);\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (GlassSurface);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0FDM0YsOERBQUNJO2dDQUNDRixJQUFHO2dDQUNIRyxNQUFLO2dDQUNMQyxRQUFPO2dDQUlQTixRQUFPOzs7Ozs7MENBRVQsOERBQUNDO2dDQUNDL0IsS0FBS2hCO2dDQUNMZ0QsSUFBRztnQ0FDSEMsS0FBSTtnQ0FDSlQsSUFBRztnQ0FDSE0sUUFBTzs7Ozs7OzBDQUVULDhEQUFDSTtnQ0FDQ0YsSUFBRztnQ0FDSEcsTUFBSztnQ0FDTEMsUUFBTztnQ0FJUE4sUUFBTzs7Ozs7OzBDQUVULDhEQUFDQztnQ0FBa0IvQixLQUFLZjtnQ0FBZ0IrQyxJQUFHO2dDQUFnQkMsS0FBSTtnQ0FBTVQsSUFBRztnQ0FBY00sUUFBTzs7Ozs7OzBDQUM3Riw4REFBQ0k7Z0NBQ0NGLElBQUc7Z0NBQ0hHLE1BQUs7Z0NBQ0xDLFFBQU87Z0NBSVBOLFFBQU87Ozs7OzswQ0FFVCw4REFBQ087Z0NBQVFMLElBQUc7Z0NBQU1DLEtBQUk7Z0NBQVFLLE1BQUs7Z0NBQVNSLFFBQU87Ozs7OzswQ0FDbkQsOERBQUNPO2dDQUFRTCxJQUFHO2dDQUFLQyxLQUFJO2dDQUFPSyxNQUFLO2dDQUFTUixRQUFPOzs7Ozs7MENBQ2pELDhEQUFDUztnQ0FBZXZDLEtBQUtkO2dDQUFpQjhDLElBQUc7Z0NBQVNRLGNBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBSXJFLDhEQUFDekI7Z0JBQUl6QyxXQUFVOzBCQUEwQmxCOzs7Ozs7Ozs7Ozs7QUFHL0M7QUFFQSxpRUFBZUQsWUFBWUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL2NvbXBvbmVudHMvR2xhc3NTdXJmYWNlLnRzeD8wMzQ3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VJZCwgUmVhY3ROb2RlLCBDU1NQcm9wZXJ0aWVzIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgJy4vR2xhc3NTdXJmYWNlLmNzcyc7XHJcblxyXG5pbnRlcmZhY2UgR2xhc3NTdXJmYWNlUHJvcHMge1xyXG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XHJcbiAgd2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XHJcbiAgaGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xyXG4gIGJvcmRlclJhZGl1cz86IG51bWJlcjtcclxuICBib3JkZXJXaWR0aD86IG51bWJlcjtcclxuICBicmlnaHRuZXNzPzogbnVtYmVyO1xyXG4gIG9wYWNpdHk/OiBudW1iZXI7XHJcbiAgYmx1cj86IG51bWJlcjtcclxuICBkaXNwbGFjZT86IG51bWJlcjtcclxuICBiYWNrZ3JvdW5kT3BhY2l0eT86IG51bWJlcjtcclxuICBzYXR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIGRpc3RvcnRpb25TY2FsZT86IG51bWJlcjtcclxuICByZWRPZmZzZXQ/OiBudW1iZXI7XHJcbiAgZ3JlZW5PZmZzZXQ/OiBudW1iZXI7XHJcbiAgYmx1ZU9mZnNldD86IG51bWJlcjtcclxuICB4Q2hhbm5lbD86IHN0cmluZztcclxuICB5Q2hhbm5lbD86IHN0cmluZztcclxuICBtaXhCbGVuZE1vZGU/OiBzdHJpbmc7XHJcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xyXG4gIHN0eWxlPzogQ1NTUHJvcGVydGllcztcclxufVxyXG5cclxuY29uc3QgR2xhc3NTdXJmYWNlOiBSZWFjdC5GQzxHbGFzc1N1cmZhY2VQcm9wcz4gPSAoe1xyXG4gIGNoaWxkcmVuLFxyXG4gIHdpZHRoID0gMjAwLFxyXG4gIGhlaWdodCA9IDgwLFxyXG4gIGJvcmRlclJhZGl1cyA9IDIwLFxyXG4gIGJvcmRlcldpZHRoID0gMC4wNyxcclxuICBicmlnaHRuZXNzID0gNTAsXHJcbiAgb3BhY2l0eSA9IDAuOTMsXHJcbiAgYmx1ciA9IDExLFxyXG4gIGRpc3BsYWNlID0gMCxcclxuICBiYWNrZ3JvdW5kT3BhY2l0eSA9IDAsXHJcbiAgc2F0dXJhdGlvbiA9IDEsXHJcbiAgZGlzdG9ydGlvblNjYWxlID0gLTE4MCxcclxuICByZWRPZmZzZXQgPSAwLFxyXG4gIGdyZWVuT2Zmc2V0ID0gMTAsXHJcbiAgYmx1ZU9mZnNldCA9IDIwLFxyXG4gIHhDaGFubmVsID0gJ1InLFxyXG4gIHlDaGFubmVsID0gJ0cnLFxyXG4gIG1peEJsZW5kTW9kZSA9ICdkaWZmZXJlbmNlJyxcclxuICBjbGFzc05hbWUgPSAnJyxcclxuICBzdHlsZSA9IHt9XHJcbn0pID0+IHtcclxuICBjb25zdCB1bmlxdWVJZCA9IHVzZUlkKCkucmVwbGFjZSgvOi9nLCAnLScpO1xyXG4gIGNvbnN0IGZpbHRlcklkID0gYGdsYXNzLWZpbHRlci0ke3VuaXF1ZUlkfWA7XHJcbiAgY29uc3QgcmVkR3JhZElkID0gYHJlZC1ncmFkLSR7dW5pcXVlSWR9YDtcclxuICBjb25zdCBibHVlR3JhZElkID0gYGJsdWUtZ3JhZC0ke3VuaXF1ZUlkfWA7XHJcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcclxuICBjb25zdCBmZUltYWdlUmVmID0gdXNlUmVmPFNWR0ZFSW1hZ2VFbGVtZW50PihudWxsKTtcclxuICBjb25zdCByZWRDaGFubmVsUmVmID0gdXNlUmVmPFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudD4obnVsbCk7XHJcbiAgY29uc3QgZ3JlZW5DaGFubmVsUmVmID0gdXNlUmVmPFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudD4obnVsbCk7XHJcbiAgY29uc3QgYmx1ZUNoYW5uZWxSZWYgPSB1c2VSZWY8U1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50PihudWxsKTtcclxuICBjb25zdCBnYXVzc2lhbkJsdXJSZWYgPSB1c2VSZWY8U1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50PihudWxsKTtcclxuXHJcbiAgY29uc3QgZ2VuZXJhdGVEaXNwbGFjZW1lbnRNYXAgPSAoKSA9PiB7XHJcbiAgICBjb25zdCByZWN0ID0gY29udGFpbmVyUmVmLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgYWN0dWFsV2lkdGggPSByZWN0Py53aWR0aCB8fCA0MDA7XHJcbiAgICBjb25zdCBhY3R1YWxIZWlnaHQgPSByZWN0Py5oZWlnaHQgfHwgMjAwO1xyXG4gICAgY29uc3QgZWRnZVNpemUgPSBNYXRoLm1pbihhY3R1YWxXaWR0aCwgYWN0dWFsSGVpZ2h0KSAqIChib3JkZXJXaWR0aCAqIDAuNSk7XHJcblxyXG4gICAgY29uc3Qgc3ZnQ29udGVudCA9IGBcclxuICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwICR7YWN0dWFsV2lkdGh9ICR7YWN0dWFsSGVpZ2h0fVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD1cIiR7cmVkR3JhZElkfVwiIHgxPVwiMTAwJVwiIHkxPVwiMCVcIiB4Mj1cIjAlXCIgeTI9XCIwJVwiPlxyXG4gICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwJVwiIHN0b3AtY29sb3I9XCIjMDAwMFwiLz5cclxuICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMTAwJVwiIHN0b3AtY29sb3I9XCJyZWRcIi8+XHJcbiAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxyXG4gICAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPVwiJHtibHVlR3JhZElkfVwiIHgxPVwiMCVcIiB5MT1cIjAlXCIgeDI9XCIwJVwiIHkyPVwiMTAwJVwiPlxyXG4gICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwJVwiIHN0b3AtY29sb3I9XCIjMDAwMFwiLz5cclxuICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMTAwJVwiIHN0b3AtY29sb3I9XCJibHVlXCIvPlxyXG4gICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cclxuICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiJHthY3R1YWxXaWR0aH1cIiBoZWlnaHQ9XCIke2FjdHVhbEhlaWdodH1cIiBmaWxsPVwiYmxhY2tcIj48L3JlY3Q+XHJcbiAgICAgICAgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiJHthY3R1YWxXaWR0aH1cIiBoZWlnaHQ9XCIke2FjdHVhbEhlaWdodH1cIiByeD1cIiR7Ym9yZGVyUmFkaXVzfVwiIGZpbGw9XCJ1cmwoIyR7cmVkR3JhZElkfSlcIiAvPlxyXG4gICAgICAgIDxyZWN0IHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIiR7YWN0dWFsV2lkdGh9XCIgaGVpZ2h0PVwiJHthY3R1YWxIZWlnaHR9XCIgcng9XCIke2JvcmRlclJhZGl1c31cIiBmaWxsPVwidXJsKCMke2JsdWVHcmFkSWR9KVwiIHN0eWxlPVwibWl4LWJsZW5kLW1vZGU6ICR7bWl4QmxlbmRNb2RlfVwiIC8+XHJcbiAgICAgICAgPHJlY3QgeD1cIiR7ZWRnZVNpemV9XCIgeT1cIiR7ZWRnZVNpemV9XCIgd2lkdGg9XCIke2FjdHVhbFdpZHRoIC0gZWRnZVNpemUgKiAyfVwiIGhlaWdodD1cIiR7YWN0dWFsSGVpZ2h0IC0gZWRnZVNpemUgKiAyfVwiIHJ4PVwiJHtib3JkZXJSYWRpdXN9XCIgZmlsbD1cImhzbCgwIDAlICR7YnJpZ2h0bmVzc30lIC8gJHtvcGFjaXR5fSlcIiBzdHlsZT1cImZpbHRlcjpibHVyKCR7Ymx1cn1weClcIiAvPlxyXG4gICAgICA8L3N2Zz5cclxuICAgIGA7XHJcbiAgICByZXR1cm4gYGRhdGE6aW1hZ2Uvc3ZnK3htbCwke2VuY29kZVVSSUNvbXBvbmVudChzdmdDb250ZW50KX1gO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0IHVwZGF0ZURpc3BsYWNlbWVudE1hcCA9ICgpID0+IHtcclxuICAgIGlmIChmZUltYWdlUmVmLmN1cnJlbnQpIHtcclxuICAgICAgZmVJbWFnZVJlZi5jdXJyZW50LnNldEF0dHJpYnV0ZSgnaHJlZicsIGdlbmVyYXRlRGlzcGxhY2VtZW50TWFwKCkpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICB1cGRhdGVEaXNwbGFjZW1lbnRNYXAoKTtcclxuXHJcbiAgICBbXHJcbiAgICAgIHsgcmVmOiByZWRDaGFubmVsUmVmLCBvZmZzZXQ6IHJlZE9mZnNldCB9LFxyXG4gICAgICB7IHJlZjogZ3JlZW5DaGFubmVsUmVmLCBvZmZzZXQ6IGdyZWVuT2Zmc2V0IH0sXHJcbiAgICAgIHsgcmVmOiBibHVlQ2hhbm5lbFJlZiwgb2Zmc2V0OiBibHVlT2Zmc2V0IH1cclxuICAgIF0uZm9yRWFjaCgoeyByZWYsIG9mZnNldCB9KSA9PiB7XHJcbiAgICAgIGlmIChyZWYuY3VycmVudCkge1xyXG4gICAgICAgIHJlZi5jdXJyZW50LnNldEF0dHJpYnV0ZSgnc2NhbGUnLCAoZGlzdG9ydGlvblNjYWxlICsgb2Zmc2V0KS50b1N0cmluZygpKTtcclxuICAgICAgICByZWYuY3VycmVudC5zZXRBdHRyaWJ1dGUoJ3hDaGFubmVsU2VsZWN0b3InLCB4Q2hhbm5lbCk7XHJcbiAgICAgICAgcmVmLmN1cnJlbnQuc2V0QXR0cmlidXRlKCd5Q2hhbm5lbFNlbGVjdG9yJywgeUNoYW5uZWwpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoZ2F1c3NpYW5CbHVyUmVmLmN1cnJlbnQpIHtcclxuICAgICAgZ2F1c3NpYW5CbHVyUmVmLmN1cnJlbnQuc2V0QXR0cmlidXRlKCdzdGREZXZpYXRpb24nLCBkaXNwbGFjZS50b1N0cmluZygpKTtcclxuICAgIH1cclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcclxuICB9LCBbXHJcbiAgICB3aWR0aCxcclxuICAgIGhlaWdodCxcclxuICAgIGJvcmRlclJhZGl1cyxcclxuICAgIGJvcmRlcldpZHRoLFxyXG4gICAgYnJpZ2h0bmVzcyxcclxuICAgIG9wYWNpdHksXHJcbiAgICBibHVyLFxyXG4gICAgZGlzcGxhY2UsXHJcbiAgICBkaXN0b3J0aW9uU2NhbGUsXHJcbiAgICByZWRPZmZzZXQsXHJcbiAgICBncmVlbk9mZnNldCxcclxuICAgIGJsdWVPZmZzZXQsXHJcbiAgICB4Q2hhbm5lbCxcclxuICAgIHlDaGFubmVsLFxyXG4gICAgbWl4QmxlbmRNb2RlXHJcbiAgXSk7XHJcblxyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAoIWNvbnRhaW5lclJlZi5jdXJyZW50KSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xyXG4gICAgICBzZXRUaW1lb3V0KHVwZGF0ZURpc3BsYWNlbWVudE1hcCwgMCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGNvbnRhaW5lclJlZi5jdXJyZW50KTtcclxuXHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XHJcbiAgICB9O1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xyXG4gIH0sIFtdKTtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIHNldFRpbWVvdXQodXBkYXRlRGlzcGxhY2VtZW50TWFwLCAwKTtcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcclxuICB9LCBbd2lkdGgsIGhlaWdodF0pO1xyXG5cclxuICBjb25zdCBzdXBwb3J0c1NWR0ZpbHRlcnMgPSAoKSA9PiB7XHJcbiAgICBjb25zdCBpc1dlYmtpdCA9IC9TYWZhcmkvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgJiYgIS9DaHJvbWUvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XHJcbiAgICBjb25zdCBpc0ZpcmVmb3ggPSAvRmlyZWZveC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcclxuXHJcbiAgICBpZiAoaXNXZWJraXQgfHwgaXNGaXJlZm94KSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGRpdi5zdHlsZS5iYWNrZHJvcEZpbHRlciA9IGB1cmwoIyR7ZmlsdGVySWR9KWA7XHJcbiAgICByZXR1cm4gZGl2LnN0eWxlLmJhY2tkcm9wRmlsdGVyICE9PSAnJztcclxuICB9O1xyXG5cclxuICBjb25zdCBjb250YWluZXJTdHlsZTogQ1NTUHJvcGVydGllcyA9IHtcclxuICAgIC4uLnN0eWxlLFxyXG4gICAgd2lkdGg6IHR5cGVvZiB3aWR0aCA9PT0gJ251bWJlcicgPyBgJHt3aWR0aH1weGAgOiB3aWR0aCxcclxuICAgIGhlaWdodDogdHlwZW9mIGhlaWdodCA9PT0gJ251bWJlcicgPyBgJHtoZWlnaHR9cHhgIDogaGVpZ2h0LFxyXG4gICAgYm9yZGVyUmFkaXVzOiBgJHtib3JkZXJSYWRpdXN9cHhgLFxyXG4gICAgJy0tZ2xhc3MtZnJvc3QnOiBiYWNrZ3JvdW5kT3BhY2l0eSxcclxuICAgICctLWdsYXNzLXNhdHVyYXRpb24nOiBzYXR1cmF0aW9uLFxyXG4gICAgJy0tZmlsdGVyLWlkJzogYHVybCgjJHtmaWx0ZXJJZH0pYFxyXG4gIH0gYXMgQ1NTUHJvcGVydGllcztcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXZcclxuICAgICAgcmVmPXtjb250YWluZXJSZWZ9XHJcbiAgICAgIGNsYXNzTmFtZT17YGdsYXNzLXN1cmZhY2UgJHtzdXBwb3J0c1NWR0ZpbHRlcnMoKSA/ICdnbGFzcy1zdXJmYWNlLS1zdmcnIDogJ2dsYXNzLXN1cmZhY2UtLWZhbGxiYWNrJ30gJHtjbGFzc05hbWV9YH1cclxuICAgICAgc3R5bGU9e2NvbnRhaW5lclN0eWxlfVxyXG4gICAgPlxyXG4gICAgICA8c3ZnIGNsYXNzTmFtZT1cImdsYXNzLXN1cmZhY2VfX2ZpbHRlclwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgIDxmaWx0ZXIgaWQ9e2ZpbHRlcklkfSBjb2xvckludGVycG9sYXRpb25GaWx0ZXJzPVwic1JHQlwiIHg9XCIwJVwiIHk9XCIwJVwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIj5cclxuICAgICAgICAgICAgPGZlSW1hZ2UgcmVmPXtmZUltYWdlUmVmfSB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCIgcmVzdWx0PVwibWFwXCIgLz5cclxuICAgICAgICAgICAgPGZlRGlzcGxhY2VtZW50TWFwIHJlZj17cmVkQ2hhbm5lbFJlZn0gaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwibWFwXCIgaWQ9XCJyZWRjaGFubmVsXCIgcmVzdWx0PVwiZGlzcFJlZFwiIC8+XHJcbiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4XHJcbiAgICAgICAgICAgICAgaW49XCJkaXNwUmVkXCJcclxuICAgICAgICAgICAgICB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICB2YWx1ZXM9XCIxIDAgMCAwIDBcclxuICAgICAgICAgICAgICAgICAgICAgIDAgMCAwIDAgMFxyXG4gICAgICAgICAgICAgICAgICAgICAgMCAwIDAgMCAwXHJcbiAgICAgICAgICAgICAgICAgICAgICAwIDAgMCAxIDBcIlxyXG4gICAgICAgICAgICAgIHJlc3VsdD1cInJlZFwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxmZURpc3BsYWNlbWVudE1hcFxyXG4gICAgICAgICAgICAgIHJlZj17Z3JlZW5DaGFubmVsUmVmfVxyXG4gICAgICAgICAgICAgIGluPVwiU291cmNlR3JhcGhpY1wiXHJcbiAgICAgICAgICAgICAgaW4yPVwibWFwXCJcclxuICAgICAgICAgICAgICBpZD1cImdyZWVuY2hhbm5lbFwiXHJcbiAgICAgICAgICAgICAgcmVzdWx0PVwiZGlzcEdyZWVuXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXhcclxuICAgICAgICAgICAgICBpbj1cImRpc3BHcmVlblwiXHJcbiAgICAgICAgICAgICAgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwXHJcbiAgICAgICAgICAgICAgICAgICAgICAwIDEgMCAwIDBcclxuICAgICAgICAgICAgICAgICAgICAgIDAgMCAwIDAgMFxyXG4gICAgICAgICAgICAgICAgICAgICAgMCAwIDAgMSAwXCJcclxuICAgICAgICAgICAgICByZXN1bHQ9XCJncmVlblwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxmZURpc3BsYWNlbWVudE1hcCByZWY9e2JsdWVDaGFubmVsUmVmfSBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJtYXBcIiBpZD1cImJsdWVjaGFubmVsXCIgcmVzdWx0PVwiZGlzcEJsdWVcIiAvPlxyXG4gICAgICAgICAgICA8ZmVDb2xvck1hdHJpeFxyXG4gICAgICAgICAgICAgIGluPVwiZGlzcEJsdWVcIlxyXG4gICAgICAgICAgICAgIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMFxyXG4gICAgICAgICAgICAgICAgICAgICAgMCAwIDAgMCAwXHJcbiAgICAgICAgICAgICAgICAgICAgICAwIDAgMSAwIDBcclxuICAgICAgICAgICAgICAgICAgICAgIDAgMCAwIDEgMFwiXHJcbiAgICAgICAgICAgICAgcmVzdWx0PVwiYmx1ZVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxmZUJsZW5kIGluPVwicmVkXCIgaW4yPVwiZ3JlZW5cIiBtb2RlPVwic2NyZWVuXCIgcmVzdWx0PVwicmdcIiAvPlxyXG4gICAgICAgICAgICA8ZmVCbGVuZCBpbj1cInJnXCIgaW4yPVwiYmx1ZVwiIG1vZGU9XCJzY3JlZW5cIiByZXN1bHQ9XCJvdXRwdXRcIiAvPlxyXG4gICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgcmVmPXtnYXVzc2lhbkJsdXJSZWZ9IGluPVwib3V0cHV0XCIgc3RkRGV2aWF0aW9uPVwiMC43XCIgLz5cclxuICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgIDwvZGVmcz5cclxuICAgICAgPC9zdmc+XHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ2xhc3Mtc3VyZmFjZV9fY29udGVudFwiPntjaGlsZHJlbn08L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICk7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBHbGFzc1N1cmZhY2U7XHJcblxyXG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlUmVmIiwidXNlSWQiLCJHbGFzc1N1cmZhY2UiLCJjaGlsZHJlbiIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwiYm9yZGVyV2lkdGgiLCJicmlnaHRuZXNzIiwib3BhY2l0eSIsImJsdXIiLCJkaXNwbGFjZSIsImJhY2tncm91bmRPcGFjaXR5Iiwic2F0dXJhdGlvbiIsImRpc3RvcnRpb25TY2FsZSIsInJlZE9mZnNldCIsImdyZWVuT2Zmc2V0IiwiYmx1ZU9mZnNldCIsInhDaGFubmVsIiwieUNoYW5uZWwiLCJtaXhCbGVuZE1vZGUiLCJjbGFzc05hbWUiLCJzdHlsZSIsInVuaXF1ZUlkIiwicmVwbGFjZSIsImZpbHRlcklkIiwicmVkR3JhZElkIiwiYmx1ZUdyYWRJZCIsImNvbnRhaW5lclJlZiIsImZlSW1hZ2VSZWYiLCJyZWRDaGFubmVsUmVmIiwiZ3JlZW5DaGFubmVsUmVmIiwiYmx1ZUNoYW5uZWxSZWYiLCJnYXVzc2lhbkJsdXJSZWYiLCJnZW5lcmF0ZURpc3BsYWNlbWVudE1hcCIsInJlY3QiLCJjdXJyZW50IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYWN0dWFsV2lkdGgiLCJhY3R1YWxIZWlnaHQiLCJlZGdlU2l6ZSIsIk1hdGgiLCJtaW4iLCJzdmdDb250ZW50IiwiZW5jb2RlVVJJQ29tcG9uZW50IiwidXBkYXRlRGlzcGxhY2VtZW50TWFwIiwic2V0QXR0cmlidXRlIiwicmVmIiwib2Zmc2V0IiwiZm9yRWFjaCIsInRvU3RyaW5nIiwicmVzaXplT2JzZXJ2ZXIiLCJSZXNpemVPYnNlcnZlciIsInNldFRpbWVvdXQiLCJvYnNlcnZlIiwiZGlzY29ubmVjdCIsInN1cHBvcnRzU1ZHRmlsdGVycyIsImlzV2Via2l0IiwidGVzdCIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsImlzRmlyZWZveCIsImRpdiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImJhY2tkcm9wRmlsdGVyIiwiY29udGFpbmVyU3R5bGUiLCJzdmciLCJ4bWxucyIsImRlZnMiLCJmaWx0ZXIiLCJpZCIsImNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnMiLCJ4IiwieSIsImZlSW1hZ2UiLCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIiwicmVzdWx0IiwiZmVEaXNwbGFjZW1lbnRNYXAiLCJpbiIsImluMiIsImZlQ29sb3JNYXRyaXgiLCJ0eXBlIiwidmFsdWVzIiwiZmVCbGVuZCIsIm1vZGUiLCJmZUdhdXNzaWFuQmx1ciIsInN0ZERldmlhdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./components/GlassSurface.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/HandyAnsicht.tsx": +/*!*************************************!*\ + !*** ./components/HandyAnsicht.tsx ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.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 */ \"(ssr)/./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 */ \"(ssr)/./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 */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/menu.js\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\nconst GooeyNav = ({ 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 })=>{\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 = (n = 1)=>n / 2 - Math.random() * 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\", `${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\", `${p.start[0]}px`);\n particle.style.setProperty(\"--start-y\", `${p.start[1]}px`);\n particle.style.setProperty(\"--end-x\", `${p.end[0]}px`);\n particle.style.setProperty(\"--end-y\", `${p.end[1]}px`);\n particle.style.setProperty(\"--time\", `${p.time}ms`);\n particle.style.setProperty(\"--scale\", `${p.scale}`);\n particle.style.setProperty(\"--color\", `var(--color-${p.color}, white)`);\n particle.style.setProperty(\"--rotate\", `${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 {\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: `${pos.x - containerRect.x}px`,\n top: `${pos.y - containerRect.y}px`,\n width: `${pos.width}px`,\n height: `${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)=>filterRef.current?.removeChild(p));\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 updateEffectPosition(activeLi);\n textRef.current?.classList.add(\"active\");\n }\n const resizeObserver = new ResizeObserver(()=>{\n const currentActiveLi = 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 ${items.length > 4 ? \"has-contact\" : \"\"} ${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 ${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};\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 = ({ children })=>{\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 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n setIsClient(true);\n const checkMobile = ()=>{\n setIsMobile(window.innerWidth < 768);\n };\n checkMobile();\n window.addEventListener(\"resize\", checkMobile);\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 if (mediaQuery.removeEventListener) {\n mediaQuery.removeEventListener(\"change\", handleMediaChange);\n } else {\n mediaQuery.removeListener(handleMediaChange);\n }\n };\n }, []);\n // Immer alle Items anzeigen, Kontakt ist sofort da\n const currentItems = allGooeyItems;\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: 310,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 309,\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: 312,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 308,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\HandyAnsicht.tsx\",\n lineNumber: 307,\n columnNumber: 5\n }, undefined);\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HandyAnsicht);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0x2RCxPQUFPNEQsbUJBQW1CLENBQUMsVUFBVVI7WUFDckMsSUFBSUcsV0FBV0ssbUJBQW1CLEVBQUU7Z0JBQ2xDTCxXQUFXSyxtQkFBbUIsQ0FBQyxVQUFVSDtZQUMzQyxPQUFPO2dCQUNMRixXQUFXTSxjQUFjLENBQUNKO1lBQzVCO1FBQ0Y7SUFDRixHQUFHLEVBQUU7SUFFTCxtREFBbUQ7SUFDbkQsTUFBTUssZUFBZWpCO0lBRXJCLElBQUksQ0FBQ0ssWUFBWSxDQUFDRixVQUFVO1FBQzFCLHFCQUFPO3NCQUFHRDs7SUFDWjtJQUVBLHFCQUNFLDhEQUFDeEI7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7WUFBSUMsV0FBVTs7OEJBQ2IsOERBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDekc7d0JBQVNDLE9BQU84STs7Ozs7Ozs7Ozs7OEJBRW5CLDhEQUFDdkM7b0JBQUlDLFdBQVU7OEJBQ1p1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLWDtBQUVBLGlFQUFlRCxZQUFZQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vY29tcG9uZW50cy9IYW5keUFuc2ljaHQudHN4PzFmZGQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XHJcblxyXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgJy4vSGFuZHlBbnNpY2h0LmNzcyc7XHJcblxyXG5pbnRlcmZhY2UgSGFuZHlBbnNpY2h0UHJvcHMge1xyXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xyXG59XHJcblxyXG50eXBlIEdvb2V5TmF2SXRlbSA9IHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGhyZWY6IHN0cmluZztcclxuICB0eXBlPzogJ2xpbmsnIHwgJ2xvZ28nIHwgJ21lbnUnO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbn07XHJcblxyXG5pbXBvcnQgeyBNZW51LCBYIH0gZnJvbSAnbHVjaWRlLXJlYWN0JztcclxuXHJcbmludGVyZmFjZSBHb29leU5hdlByb3BzIHtcclxuICBpdGVtczogR29vZXlOYXZJdGVtW107XHJcbiAgYW5pbWF0aW9uVGltZT86IG51bWJlcjtcclxuICBwYXJ0aWNsZUNvdW50PzogbnVtYmVyO1xyXG4gIHBhcnRpY2xlRGlzdGFuY2VzPzogW251bWJlciwgbnVtYmVyXTtcclxuICBwYXJ0aWNsZVI/OiBudW1iZXI7XHJcbiAgdGltZVZhcmlhbmNlPzogbnVtYmVyO1xyXG4gIGNvbG9ycz86IG51bWJlcltdO1xyXG4gIGluaXRpYWxBY3RpdmVJbmRleD86IG51bWJlcjtcclxufVxyXG5cclxuY29uc3QgR29vZXlOYXY6IFJlYWN0LkZDPEdvb2V5TmF2UHJvcHM+ID0gKHtcclxuICBpdGVtcyxcclxuICBhbmltYXRpb25UaW1lID0gNjAwLFxyXG4gIHBhcnRpY2xlQ291bnQgPSAxNSxcclxuICBwYXJ0aWNsZURpc3RhbmNlcyA9IFs5MCwgMTBdLFxyXG4gIHBhcnRpY2xlUiA9IDEwMCxcclxuICB0aW1lVmFyaWFuY2UgPSAzMDAsXHJcbiAgY29sb3JzID0gWzEsIDIsIDMsIDEsIDIsIDMsIDEsIDRdLFxyXG4gIGluaXRpYWxBY3RpdmVJbmRleCA9IDAsXHJcbn0pID0+IHtcclxuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcclxuICBjb25zdCBuYXZSZWYgPSB1c2VSZWY8SFRNTFVMaXN0RWxlbWVudCB8IG51bGw+KG51bGwpO1xyXG4gIGNvbnN0IGZpbHRlclJlZiA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQgfCBudWxsPihudWxsKTtcclxuICBjb25zdCB0ZXh0UmVmID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudCB8IG51bGw+KG51bGwpO1xyXG4gIGNvbnN0IFthY3RpdmVJbmRleCwgc2V0QWN0aXZlSW5kZXhdID0gdXNlU3RhdGUoaW5pdGlhbEFjdGl2ZUluZGV4KTtcclxuICBjb25zdCBbaXNNZW51T3Blbiwgc2V0SXNNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcblxyXG4gIGNvbnN0IG5vaXNlID0gKG4gPSAxKSA9PiBuIC8gMiAtIE1hdGgucmFuZG9tKCkgKiBuO1xyXG5cclxuICBjb25zdCBnZXRYWSA9IChkaXN0YW5jZTogbnVtYmVyLCBwb2ludEluZGV4OiBudW1iZXIsIHRvdGFsUG9pbnRzOiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IGFuZ2xlID0gKCgzNjAgKyBub2lzZSg4KSkgLyB0b3RhbFBvaW50cykgKiBwb2ludEluZGV4ICogKE1hdGguUEkgLyAxODApO1xyXG4gICAgcmV0dXJuIFtkaXN0YW5jZSAqIE1hdGguY29zKGFuZ2xlKSwgZGlzdGFuY2UgKiBNYXRoLnNpbihhbmdsZSldO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0IGNyZWF0ZVBhcnRpY2xlID0gKGk6IG51bWJlciwgdDogbnVtYmVyLCBkOiBbbnVtYmVyLCBudW1iZXJdLCByOiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IHJvdGF0ZSA9IG5vaXNlKHIgLyAxMCk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzdGFydDogZ2V0WFkoZFswXSwgcGFydGljbGVDb3VudCAtIGksIHBhcnRpY2xlQ291bnQpLFxyXG4gICAgICBlbmQ6IGdldFhZKGRbMV0gKyBub2lzZSg3KSwgcGFydGljbGVDb3VudCAtIGksIHBhcnRpY2xlQ291bnQpLFxyXG4gICAgICB0aW1lOiB0LFxyXG4gICAgICBzY2FsZTogMSArIG5vaXNlKDAuMiksXHJcbiAgICAgIGNvbG9yOiBjb2xvcnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY29sb3JzLmxlbmd0aCldLFxyXG4gICAgICByb3RhdGU6IHJvdGF0ZSA+IDAgPyAocm90YXRlICsgciAvIDIwKSAqIDEwIDogKHJvdGF0ZSAtIHIgLyAyMCkgKiAxMCxcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgbWFrZVBhcnRpY2xlcyA9IChlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgY29uc3QgZCA9IHBhcnRpY2xlRGlzdGFuY2VzO1xyXG4gICAgY29uc3QgciA9IHBhcnRpY2xlUjtcclxuICAgIGNvbnN0IGJ1YmJsZVRpbWUgPSBhbmltYXRpb25UaW1lICogMiArIHRpbWVWYXJpYW5jZTtcclxuICAgIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tdGltZScsIGAke2J1YmJsZVRpbWV9bXNgKTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRpY2xlQ291bnQ7IGkgKz0gMSkge1xyXG4gICAgICBjb25zdCB0ID0gYW5pbWF0aW9uVGltZSAqIDIgKyBub2lzZSh0aW1lVmFyaWFuY2UgKiAyKTtcclxuICAgICAgY29uc3QgcCA9IGNyZWF0ZVBhcnRpY2xlKGksIHQsIGQsIHIpO1xyXG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpO1xyXG5cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcGFydGljbGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICAgICAgY29uc3QgcG9pbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICAgICAgcGFydGljbGUuY2xhc3NMaXN0LmFkZCgncGFydGljbGUnKTtcclxuICAgICAgICBwYXJ0aWNsZS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zdGFydC14JywgYCR7cC5zdGFydFswXX1weGApO1xyXG4gICAgICAgIHBhcnRpY2xlLnN0eWxlLnNldFByb3BlcnR5KCctLXN0YXJ0LXknLCBgJHtwLnN0YXJ0WzFdfXB4YCk7XHJcbiAgICAgICAgcGFydGljbGUuc3R5bGUuc2V0UHJvcGVydHkoJy0tZW5kLXgnLCBgJHtwLmVuZFswXX1weGApO1xyXG4gICAgICAgIHBhcnRpY2xlLnN0eWxlLnNldFByb3BlcnR5KCctLWVuZC15JywgYCR7cC5lbmRbMV19cHhgKTtcclxuICAgICAgICBwYXJ0aWNsZS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10aW1lJywgYCR7cC50aW1lfW1zYCk7XHJcbiAgICAgICAgcGFydGljbGUuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2NhbGUnLCBgJHtwLnNjYWxlfWApO1xyXG4gICAgICAgIHBhcnRpY2xlLnN0eWxlLnNldFByb3BlcnR5KCctLWNvbG9yJywgYHZhcigtLWNvbG9yLSR7cC5jb2xvcn0sIHdoaXRlKWApO1xyXG4gICAgICAgIHBhcnRpY2xlLnN0eWxlLnNldFByb3BlcnR5KCctLXJvdGF0ZScsIGAke3Aucm90YXRlfWRlZ2ApO1xyXG5cclxuICAgICAgICBwb2ludC5jbGFzc0xpc3QuYWRkKCdwb2ludCcpO1xyXG4gICAgICAgIHBhcnRpY2xlLmFwcGVuZENoaWxkKHBvaW50KTtcclxuICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxkKHBhcnRpY2xlKTtcclxuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKSk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBlbGVtZW50LnJlbW92ZUNoaWxkKHBhcnRpY2xlKTtcclxuICAgICAgICAgIH0gY2F0Y2gge1xyXG4gICAgICAgICAgICAvKiBpZ25vcmUgcmVtb3ZhbCBlcnJvcnMgKi9cclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCB0KTtcclxuICAgICAgfSwgMzApO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGNvbnN0IHVwZGF0ZUVmZmVjdFBvc2l0aW9uID0gKGVsZW1lbnQ6IEhUTUxMSUVsZW1lbnQpID0+IHtcclxuICAgIGlmICghY29udGFpbmVyUmVmLmN1cnJlbnQgfHwgIWZpbHRlclJlZi5jdXJyZW50IHx8ICF0ZXh0UmVmLmN1cnJlbnQpIHJldHVybjtcclxuICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXJSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHBvcyA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBzdHlsZXM6IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj4gPSB7XHJcbiAgICAgIGxlZnQ6IGAke3Bvcy54IC0gY29udGFpbmVyUmVjdC54fXB4YCxcclxuICAgICAgdG9wOiBgJHtwb3MueSAtIGNvbnRhaW5lclJlY3QueX1weGAsXHJcbiAgICAgIHdpZHRoOiBgJHtwb3Mud2lkdGh9cHhgLFxyXG4gICAgICBoZWlnaHQ6IGAke3Bvcy5oZWlnaHR9cHhgLFxyXG4gICAgfTtcclxuICAgIE9iamVjdC5hc3NpZ24oZmlsdGVyUmVmLmN1cnJlbnQuc3R5bGUsIHN0eWxlcyk7XHJcbiAgICBPYmplY3QuYXNzaWduKHRleHRSZWYuY3VycmVudC5zdHlsZSwgc3R5bGVzKTtcclxuICAgIC8vIE51ciBUZXh0IGtvcGllcmVuIHdlbm4gZXMga2VpbiBMb2dvIHVuZCBrZWluIE1lbsO8LUJ1dHRvbiBpc3RcclxuICAgIGlmICghZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ25hdi1pdGVtLWxvZ28nKSAmJiAhZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ25hdi1pdGVtLW1lbnUnKSkge1xyXG4gICAgICB0ZXh0UmVmLmN1cnJlbnQuaW5uZXJUZXh0ID0gZWxlbWVudC5pbm5lclRleHQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0ZXh0UmVmLmN1cnJlbnQuaW5uZXJUZXh0ID0gJyc7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZTogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4sIGluZGV4OiBudW1iZXIsIGl0ZW06IEdvb2V5TmF2SXRlbSkgPT4ge1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgXHJcbiAgICBpZiAoaXRlbS50eXBlID09PSAnbG9nbycpIHtcclxuICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xyXG4gICAgICAgc2V0SXNNZW51T3BlbihmYWxzZSk7XHJcbiAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGl0ZW0udHlwZSA9PT0gJ21lbnUnKSB7XHJcbiAgICAgICAgc2V0SXNNZW51T3BlbighaXNNZW51T3Blbik7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGxpRWwgPSBlLmN1cnJlbnRUYXJnZXQucGFyZW50RWxlbWVudCBhcyBIVE1MTElFbGVtZW50IHwgbnVsbDtcclxuICAgIGlmICghbGlFbCB8fCBhY3RpdmVJbmRleCA9PT0gaW5kZXgpIHJldHVybjtcclxuICAgIFxyXG4gICAgLy8gTm9ybWFsIG5hdmlnYXRpb25cclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gaXRlbS5ocmVmO1xyXG4gICAgc2V0SXNNZW51T3BlbihmYWxzZSk7IC8vIE1lbsO8IHNjaGxpZcOfZW4gbmFjaCBLbGlja1xyXG5cclxuICAgIHNldEFjdGl2ZUluZGV4KGluZGV4KTtcclxuICAgIHVwZGF0ZUVmZmVjdFBvc2l0aW9uKGxpRWwpO1xyXG5cclxuICAgIGlmIChmaWx0ZXJSZWYuY3VycmVudCkge1xyXG4gICAgICBjb25zdCBwYXJ0aWNsZXMgPSBmaWx0ZXJSZWYuY3VycmVudC5xdWVyeVNlbGVjdG9yQWxsKCcucGFydGljbGUnKTtcclxuICAgICAgcGFydGljbGVzLmZvckVhY2goKHApID0+IGZpbHRlclJlZi5jdXJyZW50Py5yZW1vdmVDaGlsZChwKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRleHRSZWYuY3VycmVudCkge1xyXG4gICAgICB0ZXh0UmVmLmN1cnJlbnQuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJyk7XHJcbiAgICAgIHZvaWQgdGV4dFJlZi5jdXJyZW50Lm9mZnNldFdpZHRoOyAvLyBmb3JjZSByZWZsb3dcclxuICAgICAgdGV4dFJlZi5jdXJyZW50LmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmaWx0ZXJSZWYuY3VycmVudCkge1xyXG4gICAgICBtYWtlUGFydGljbGVzKGZpbHRlclJlZi5jdXJyZW50KTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGU6IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LCBpbmRleDogbnVtYmVyLCBpdGVtOiBHb29leU5hdkl0ZW0pID0+IHtcclxuICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyB8fCBlLmtleSA9PT0gJyAnKSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgY29uc3QgbGlFbCA9IGUuY3VycmVudFRhcmdldC5wYXJlbnRFbGVtZW50IGFzIEhUTUxMSUVsZW1lbnQgfCBudWxsO1xyXG4gICAgICBpZiAobGlFbCkge1xyXG4gICAgICAgIGhhbmRsZUNsaWNrKHsgY3VycmVudFRhcmdldDogZS5jdXJyZW50VGFyZ2V0LCBwcmV2ZW50RGVmYXVsdDogKCkgPT4ge30gfSBhcyBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PiwgaW5kZXgsIGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGlmICghbmF2UmVmLmN1cnJlbnQgfHwgIWNvbnRhaW5lclJlZi5jdXJyZW50KSByZXR1cm47XHJcbiAgICBjb25zdCBhY3RpdmVMaSA9IG5hdlJlZi5jdXJyZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpJylbYWN0aXZlSW5kZXhdIGFzIEhUTUxMSUVsZW1lbnQgfCB1bmRlZmluZWQ7XHJcbiAgICBpZiAoYWN0aXZlTGkgJiYgIWFjdGl2ZUxpLmNsYXNzTGlzdC5jb250YWlucygnbmF2LWl0ZW0tbG9nbycpICYmICFhY3RpdmVMaS5jbGFzc0xpc3QuY29udGFpbnMoJ25hdi1pdGVtLW1lbnUnKSkge1xyXG4gICAgICB1cGRhdGVFZmZlY3RQb3NpdGlvbihhY3RpdmVMaSk7XHJcbiAgICAgIHRleHRSZWYuY3VycmVudD8uY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjdXJyZW50QWN0aXZlTGkgPSBuYXZSZWYuY3VycmVudD8ucXVlcnlTZWxlY3RvckFsbCgnbGknKVthY3RpdmVJbmRleF0gYXMgSFRNTExJRWxlbWVudCB8IHVuZGVmaW5lZDtcclxuICAgICAgaWYgKGN1cnJlbnRBY3RpdmVMaSAmJiAhY3VycmVudEFjdGl2ZUxpLmNsYXNzTGlzdC5jb250YWlucygnbmF2LWl0ZW0tbG9nbycpICYmICFjdXJyZW50QWN0aXZlTGkuY2xhc3NMaXN0LmNvbnRhaW5zKCduYXYtaXRlbS1tZW51JykpIHtcclxuICAgICAgICB1cGRhdGVFZmZlY3RQb3NpdGlvbihjdXJyZW50QWN0aXZlTGkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGNvbnRhaW5lclJlZi5jdXJyZW50KTtcclxuICAgIHJldHVybiAoKSA9PiByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XHJcbiAgfSwgW2FjdGl2ZUluZGV4XSk7XHJcblxyXG4gIC8vIE1vZGlmaXppZXJ0ZSBJdGVtcyBmw7xyIGRpZSBBbnplaWdlIChMb2dvICsgTWVudSBCdXR0b24gaW0gZ2VzY2hsb3NzZW5lbiBadXN0YW5kKVxyXG4gIGNvbnN0IGRpc3BsYXlJdGVtcyA9IGlzTWVudU9wZW4gXHJcbiAgICA/IGl0ZW1zIC8vIFplaWdlIGFsbGUgSXRlbXMgd2VubiBvZmZlbiAobXVzcyBpbSBDU1MgZ2VyZWdlbHQgd2VyZGVuLCBkYXNzIHNpZSB1bnRlcmVpbmFuZGVyIG9kZXIgYW5kZXJzIGRhcmdlc3RlbGx0IHdlcmRlbilcclxuICAgIDogW2l0ZW1zLmZpbmQoaSA9PiBpLnR5cGUgPT09ICdsb2dvJykhLCB7IGxhYmVsOiAnTWVudScsIGhyZWY6ICcjJywgdHlwZTogJ21lbnUnIH0gYXMgR29vZXlOYXZJdGVtXTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgY2xhc3NOYW1lPXtgZ29vZXktbmF2LWNvbnRhaW5lciAke2l0ZW1zLmxlbmd0aCA+IDQgPyAnaGFzLWNvbnRhY3QnIDogJyd9ICR7aXNNZW51T3BlbiA/ICdtZW51LW9wZW4nIDogJyd9YH0gcmVmPXtjb250YWluZXJSZWZ9PlxyXG4gICAgICA8bmF2PlxyXG4gICAgICAgIDx1bCByZWY9e25hdlJlZn0+XHJcbiAgICAgICAgICB7LyogTG9nbyBpbW1lciBhbnplaWdlbiAqL31cclxuICAgICAgICAgIHtpdGVtcy5maWx0ZXIoaSA9PiBpLnR5cGUgPT09ICdsb2dvJykubWFwKChpdGVtLCBpbmRleCkgPT4gKFxyXG4gICAgICAgICAgICAgPGxpIFxyXG4gICAgICAgICAgICAga2V5PXtpdGVtLmhyZWZ9IFxyXG4gICAgICAgICAgICAgY2xhc3NOYW1lPXtgbmF2LWl0ZW0tbG9nb2B9XHJcbiAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxyXG4gICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gaGFuZGxlQ2xpY2soZSwgLTEsIGl0ZW0pfVxyXG4gICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9e2l0ZW0uaWNvbn0gYWx0PXtpdGVtLmxhYmVsfSBjbGFzc05hbWU9XCJuYXYtbG9nby1pbWdcIiAvPlxyXG4gICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICApKX1cclxuXHJcbiAgICAgICAgICB7LyogTWVuw7wgQnV0dG9uIChIYW1idXJnZXIpICovfVxyXG4gICAgICAgICAgPGxpIGNsYXNzTmFtZT1cIm5hdi1pdGVtLW1lbnVcIiBzdHlsZT17eyBtYXJnaW5MZWZ0OiAnYXV0bycsIGN1cnNvcjogJ3BvaW50ZXInIH19PlxyXG4gICAgICAgICAgICA8YSBcclxuICAgICAgICAgICAgICBocmVmPVwiI1wiIFxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiBoYW5kbGVDbGljayhlLCAtMSwgeyBsYWJlbDogJ01lbnUnLCBocmVmOiAnIycsIHR5cGU6ICdtZW51JyB9KX1cclxuICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICcxMDAlJywgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHtpc01lbnVPcGVuID8gPFggc2l6ZT17MjR9IGNvbG9yPVwid2hpdGVcIiAvPiA6IDxNZW51IHNpemU9ezI0fSBjb2xvcj1cIndoaXRlXCIgLz59XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgICAgPC9uYXY+XHJcbiAgICAgIFxyXG4gICAgICB7LyogRHJvcGRvd24gLyBFeHBhbmRlZCBNZW51IEl0ZW1zIC0gQXXDn2VyaGFsYiB2b24gbmF2LCBkYW1pdCBwb3NpdGlvbjogZml4ZWQgcmVsYXRpdiB6dW0gVmlld3BvcnQgaXN0ICovfVxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YG1vYmlsZS1tZW51LWl0ZW1zICR7aXNNZW51T3BlbiA/ICdvcGVuJyA6ICcnfWB9PlxyXG4gICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAge2l0ZW1zLmZpbHRlcihpID0+IGkudHlwZSAhPT0gJ2xvZ28nICYmIGkudHlwZSAhPT0gJ21lbnUnKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtpdGVtLmhyZWZ9IG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGl0ZW0uaHJlZjtcclxuICAgICAgICAgICAgICAgICAgICAgICBzZXRJc01lbnVPcGVuKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgIH19PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPntpdGVtLmxhYmVsfTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgIDwvdWw+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgey8qIEVmZmVjdCBudXIgZsO8ciBJbmxpbmUtSXRlbXMsIGhpZXIgZGVha3RpdmllcnQgZGEgd2lyIGF1ZiBPdmVybGF5IHVtc3RlbGxlbiAqL31cclxuICAgICAgey8qIDxzcGFuIGNsYXNzTmFtZT1cImVmZmVjdCBmaWx0ZXJcIiByZWY9e2ZpbHRlclJlZn0gLz5cclxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZWZmZWN0IHRleHRcIiByZWY9e3RleHRSZWZ9IC8+ICovfVxyXG4gICAgPC9kaXY+XHJcbiAgKTtcclxufTtcclxuXHJcbmNvbnN0IGFsbEdvb2V5SXRlbXM6IEdvb2V5TmF2SXRlbVtdID0gW1xyXG4gIHsgbGFiZWw6ICdIb21lJywgaHJlZjogJyMnLCB0eXBlOiAnbG9nbycsIGljb246ICcvV2ViS2xhckxvZ28ucG5nJyB9LFxyXG4gIHsgbGFiZWw6ICfDnGJlciB1bnMnLCBocmVmOiAnI2Fib3V0JyB9LFxyXG4gIHsgbGFiZWw6ICdMZWlzdHVuZ2VuJywgaHJlZjogJyNzZXJ2aWNlcycgfSxcclxuICB7IGxhYmVsOiAnQWJsw6R1ZmUnLCBocmVmOiAnI3Byb2Nlc3MnIH0sXHJcbiAgeyBsYWJlbDogJ0tvbnRha3QnLCBocmVmOiAnI2NvbnRhY3QnIH0sXHJcbl07XHJcblxyXG5jb25zdCBIYW5keUFuc2ljaHQ6IFJlYWN0LkZDPEhhbmR5QW5zaWNodFByb3BzPiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcclxuICBjb25zdCBbaXNNb2JpbGUsIHNldElzTW9iaWxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICBjb25zdCBbaXNDbGllbnQsIHNldElzQ2xpZW50XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIHNldElzQ2xpZW50KHRydWUpO1xyXG5cclxuICAgIGNvbnN0IGNoZWNrTW9iaWxlID0gKCkgPT4ge1xyXG4gICAgICBzZXRJc01vYmlsZSh3aW5kb3cuaW5uZXJXaWR0aCA8IDc2OCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNoZWNrTW9iaWxlKCk7XHJcblxyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGNoZWNrTW9iaWxlKTtcclxuXHJcbiAgICBjb25zdCBtZWRpYVF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDc2N3B4KScpO1xyXG4gICAgY29uc3QgaGFuZGxlTWVkaWFDaGFuZ2UgPSAoZTogTWVkaWFRdWVyeUxpc3RFdmVudCB8IE1lZGlhUXVlcnlMaXN0KSA9PiB7XHJcbiAgICAgIHNldElzTW9iaWxlKGUubWF0Y2hlcyk7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChtZWRpYVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIpIHtcclxuICAgICAgbWVkaWFRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBoYW5kbGVNZWRpYUNoYW5nZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBtZWRpYVF1ZXJ5LmFkZExpc3RlbmVyKGhhbmRsZU1lZGlhQ2hhbmdlKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVNZWRpYUNoYW5nZShtZWRpYVF1ZXJ5KTtcclxuXHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgY2hlY2tNb2JpbGUpO1xyXG4gICAgICBpZiAobWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKSB7XHJcbiAgICAgICAgbWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBoYW5kbGVNZWRpYUNoYW5nZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbWVkaWFRdWVyeS5yZW1vdmVMaXN0ZW5lcihoYW5kbGVNZWRpYUNoYW5nZSk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfSwgW10pO1xyXG5cclxuICAvLyBJbW1lciBhbGxlIEl0ZW1zIGFuemVpZ2VuLCBLb250YWt0IGlzdCBzb2ZvcnQgZGFcclxuICBjb25zdCBjdXJyZW50SXRlbXMgPSBhbGxHb29leUl0ZW1zO1xyXG5cclxuICBpZiAoIWlzQ2xpZW50IHx8ICFpc01vYmlsZSkge1xyXG4gICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcclxuICB9XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImhhbmR5LWFuc2ljaHRcIj5cclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJoYW5keS1hbnNpY2h0X19jb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhhbmR5LWFuc2ljaHRfX25hdi13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8R29vZXlOYXYgaXRlbXM9e2N1cnJlbnRJdGVtc30gLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhhbmR5LWFuc2ljaHRfX2NvbnRlbnRcIj5cclxuICAgICAgICAgIHtjaGlsZHJlbn1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgSGFuZHlBbnNpY2h0O1xyXG5cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJNZW51IiwiWCIsIkdvb2V5TmF2IiwiaXRlbXMiLCJhbmltYXRpb25UaW1lIiwicGFydGljbGVDb3VudCIsInBhcnRpY2xlRGlzdGFuY2VzIiwicGFydGljbGVSIiwidGltZVZhcmlhbmNlIiwiY29sb3JzIiwiaW5pdGlhbEFjdGl2ZUluZGV4IiwiY29udGFpbmVyUmVmIiwibmF2UmVmIiwiZmlsdGVyUmVmIiwidGV4dFJlZiIsImFjdGl2ZUluZGV4Iiwic2V0QWN0aXZlSW5kZXgiLCJpc01lbnVPcGVuIiwic2V0SXNNZW51T3BlbiIsIm5vaXNlIiwibiIsIk1hdGgiLCJyYW5kb20iLCJnZXRYWSIsImRpc3RhbmNlIiwicG9pbnRJbmRleCIsInRvdGFsUG9pbnRzIiwiYW5nbGUiLCJQSSIsImNvcyIsInNpbiIsImNyZWF0ZVBhcnRpY2xlIiwiaSIsInQiLCJkIiwiciIsInJvdGF0ZSIsInN0YXJ0IiwiZW5kIiwidGltZSIsInNjYWxlIiwiY29sb3IiLCJmbG9vciIsImxlbmd0aCIsIm1ha2VQYXJ0aWNsZXMiLCJlbGVtZW50IiwiYnViYmxlVGltZSIsInN0eWxlIiwic2V0UHJvcGVydHkiLCJwIiwiY2xhc3NMaXN0IiwicmVtb3ZlIiwic2V0VGltZW91dCIsInBhcnRpY2xlIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwicG9pbnQiLCJhZGQiLCJhcHBlbmRDaGlsZCIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsInJlbW92ZUNoaWxkIiwidXBkYXRlRWZmZWN0UG9zaXRpb24iLCJjdXJyZW50IiwiY29udGFpbmVyUmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInBvcyIsInN0eWxlcyIsImxlZnQiLCJ4IiwidG9wIiwieSIsIndpZHRoIiwiaGVpZ2h0IiwiT2JqZWN0IiwiYXNzaWduIiwiY29udGFpbnMiLCJpbm5lclRleHQiLCJoYW5kbGVDbGljayIsImUiLCJpbmRleCIsIml0ZW0iLCJwcmV2ZW50RGVmYXVsdCIsInR5cGUiLCJ3aW5kb3ciLCJzY3JvbGxUbyIsImJlaGF2aW9yIiwibGlFbCIsImN1cnJlbnRUYXJnZXQiLCJwYXJlbnRFbGVtZW50IiwibG9jYXRpb24iLCJocmVmIiwicGFydGljbGVzIiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJvZmZzZXRXaWR0aCIsImhhbmRsZUtleURvd24iLCJrZXkiLCJhY3RpdmVMaSIsInJlc2l6ZU9ic2VydmVyIiwiUmVzaXplT2JzZXJ2ZXIiLCJjdXJyZW50QWN0aXZlTGkiLCJvYnNlcnZlIiwiZGlzY29ubmVjdCIsImRpc3BsYXlJdGVtcyIsImZpbmQiLCJsYWJlbCIsImRpdiIsImNsYXNzTmFtZSIsInJlZiIsIm5hdiIsInVsIiwiZmlsdGVyIiwibWFwIiwibGkiLCJhIiwib25DbGljayIsImFyaWEtbGFiZWwiLCJpbWciLCJzcmMiLCJpY29uIiwiYWx0IiwibWFyZ2luTGVmdCIsImN1cnNvciIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJzaXplIiwic3BhbiIsImFsbEdvb2V5SXRlbXMiLCJIYW5keUFuc2ljaHQiLCJjaGlsZHJlbiIsImlzTW9iaWxlIiwic2V0SXNNb2JpbGUiLCJpc0NsaWVudCIsInNldElzQ2xpZW50IiwiY2hlY2tNb2JpbGUiLCJpbm5lcldpZHRoIiwiYWRkRXZlbnRMaXN0ZW5lciIsIm1lZGlhUXVlcnkiLCJtYXRjaE1lZGlhIiwiaGFuZGxlTWVkaWFDaGFuZ2UiLCJtYXRjaGVzIiwiYWRkTGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVtb3ZlTGlzdGVuZXIiLCJjdXJyZW50SXRlbXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/HandyAnsicht.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/LogoLoop.tsx": +/*!*********************************!*\ + !*** ./components/LogoLoop.tsx ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LogoLoop: () => (/* binding */ LogoLoop),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _LogoLoop_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./LogoLoop.css */ \"(ssr)/./components/LogoLoop.css\");\n/* __next_internal_client_entry_do_not_use__ LogoLoop,default auto */ \n\n\nconst ANIMATION_CONFIG = {\n SMOOTH_TAU: 0.25,\n MIN_COPIES: 2,\n COPY_HEADROOM: 2\n};\nconst toCssLength = (value)=>typeof value === \"number\" ? `${value}px` : value ?? undefined;\nconst useResizeObserver = (callback, elements, dependencies)=>{\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (!window.ResizeObserver) {\n const handleResize = ()=>callback();\n window.addEventListener(\"resize\", handleResize);\n callback();\n return ()=>window.removeEventListener(\"resize\", handleResize);\n }\n const observers = elements.map((ref)=>{\n if (!ref.current) return null;\n const observer = new ResizeObserver(callback);\n observer.observe(ref.current);\n return observer;\n });\n callback();\n return ()=>{\n observers.forEach((observer)=>observer?.disconnect());\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, dependencies);\n};\nconst useImageLoader = (seqRef, onLoad, dependencies)=>{\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const images = seqRef.current?.querySelectorAll(\"img\") ?? [];\n if (images.length === 0) {\n onLoad();\n return;\n }\n let remainingImages = images.length;\n const handleImageLoad = ()=>{\n remainingImages -= 1;\n if (remainingImages === 0) {\n onLoad();\n }\n };\n images.forEach((img)=>{\n const htmlImg = img;\n if (htmlImg.complete) {\n handleImageLoad();\n } else {\n htmlImg.addEventListener(\"load\", handleImageLoad, {\n once: true\n });\n htmlImg.addEventListener(\"error\", handleImageLoad, {\n once: true\n });\n }\n });\n return ()=>{\n images.forEach((img)=>{\n img.removeEventListener(\"load\", handleImageLoad);\n img.removeEventListener(\"error\", handleImageLoad);\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, dependencies);\n};\nconst useAnimationLoop = (trackRef, targetVelocity, seqWidth, isHovered, pauseOnHover)=>{\n const rafRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const lastTimestampRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const offsetRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(0);\n const velocityRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(0);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const track = trackRef.current;\n if (!track) return;\n if (seqWidth > 0) {\n offsetRef.current = (offsetRef.current % seqWidth + seqWidth) % seqWidth;\n track.style.transform = `translate3d(${-offsetRef.current}px, 0, 0)`;\n }\n const animate = (timestamp)=>{\n if (lastTimestampRef.current === null) {\n lastTimestampRef.current = timestamp;\n }\n const deltaTime = Math.max(0, timestamp - lastTimestampRef.current) / 1000;\n lastTimestampRef.current = timestamp;\n const target = pauseOnHover && isHovered ? 0 : targetVelocity;\n const easingFactor = 1 - Math.exp(-deltaTime / ANIMATION_CONFIG.SMOOTH_TAU);\n velocityRef.current += (target - velocityRef.current) * easingFactor;\n if (seqWidth > 0) {\n let nextOffset = offsetRef.current + velocityRef.current * deltaTime;\n nextOffset = (nextOffset % seqWidth + seqWidth) % seqWidth;\n offsetRef.current = nextOffset;\n const translateX = -offsetRef.current;\n track.style.transform = `translate3d(${translateX}px, 0, 0)`;\n }\n rafRef.current = requestAnimationFrame(animate);\n };\n rafRef.current = requestAnimationFrame(animate);\n return ()=>{\n if (rafRef.current !== null) {\n cancelAnimationFrame(rafRef.current);\n rafRef.current = null;\n }\n lastTimestampRef.current = null;\n };\n }, [\n targetVelocity,\n seqWidth,\n isHovered,\n pauseOnHover,\n trackRef\n ]);\n};\nconst LogoLoop = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.memo)(({ logos, speed = 120, direction = \"left\", width = \"100%\", logoHeight = 28, gap = 32, pauseOnHover = true, fadeOut = false, fadeOutColor, scaleOnHover = false, ariaLabel = \"Partner logos\", className, style })=>{\n const containerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const trackRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const seqRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const [seqWidth, setSeqWidth] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n const [copyCount, setCopyCount] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(ANIMATION_CONFIG.MIN_COPIES);\n const [isHovered, setIsHovered] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const targetVelocity = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{\n const magnitude = Math.abs(speed);\n const directionMultiplier = direction === \"left\" ? 1 : -1;\n const speedMultiplier = speed < 0 ? -1 : 1;\n return magnitude * directionMultiplier * speedMultiplier;\n }, [\n speed,\n direction\n ]);\n const updateDimensions = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n const containerWidth = containerRef.current?.clientWidth ?? 0;\n const sequenceWidth = seqRef.current?.getBoundingClientRect?.()?.width ?? 0;\n if (sequenceWidth > 0) {\n setSeqWidth(Math.ceil(sequenceWidth));\n const copiesNeeded = Math.ceil(containerWidth / sequenceWidth) + ANIMATION_CONFIG.COPY_HEADROOM;\n setCopyCount(Math.max(ANIMATION_CONFIG.MIN_COPIES, copiesNeeded));\n }\n }, []);\n useResizeObserver(updateDimensions, [\n containerRef,\n seqRef\n ], [\n logos,\n gap,\n logoHeight\n ]);\n useImageLoader(seqRef, updateDimensions, [\n logos,\n gap,\n logoHeight\n ]);\n useAnimationLoop(trackRef, targetVelocity, seqWidth, isHovered, pauseOnHover);\n const cssVariables = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>({\n \"--logoloop-gap\": `${gap}px`,\n \"--logoloop-logoHeight\": `${logoHeight}px`,\n ...fadeOutColor && {\n \"--logoloop-fadeColor\": fadeOutColor\n }\n }), [\n gap,\n logoHeight,\n fadeOutColor\n ]);\n const rootClassName = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>[\n \"logoloop\",\n fadeOut && \"logoloop--fade\",\n scaleOnHover && \"logoloop--scale-hover\",\n className\n ].filter(Boolean).join(\" \"), [\n fadeOut,\n scaleOnHover,\n className\n ]);\n const handleMouseEnter = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n if (pauseOnHover) setIsHovered(true);\n }, [\n pauseOnHover\n ]);\n const handleMouseLeave = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n if (pauseOnHover) setIsHovered(false);\n }, [\n pauseOnHover\n ]);\n const renderLogoItem = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((item, key)=>{\n const isNodeItem = \"node\" in item;\n const content = isNodeItem ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"logoloop__node\",\n \"aria-hidden\": !!item.href && !item.ariaLabel,\n children: item.node\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\LogoLoop.tsx\",\n lineNumber: 240,\n columnNumber: 7\n }, undefined) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: item.src,\n srcSet: item.srcSet,\n sizes: item.sizes,\n width: item.width,\n height: item.height,\n alt: item.alt ?? \"\",\n title: item.title,\n loading: \"lazy\",\n decoding: \"async\",\n draggable: false\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\LogoLoop.tsx\",\n lineNumber: 244,\n columnNumber: 7\n }, undefined);\n const itemAriaLabel = isNodeItem ? item.ariaLabel ?? item.title : item.alt ?? item.title;\n const itemContent = item.href ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"logoloop__link\",\n href: item.href,\n \"aria-label\": itemAriaLabel || \"logo link\",\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n children: content\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\LogoLoop.tsx\",\n lineNumber: 260,\n columnNumber: 7\n }, undefined) : content;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"logoloop__item\",\n role: \"listitem\",\n children: itemContent\n }, key, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\LogoLoop.tsx\",\n lineNumber: 274,\n columnNumber: 7\n }, undefined);\n }, []);\n const logoLists = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>Array.from({\n length: copyCount\n }, (_, copyIndex)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"logoloop__list\",\n role: \"list\",\n \"aria-hidden\": copyIndex > 0,\n ref: copyIndex === 0 ? seqRef : undefined,\n children: logos.map((item, itemIndex)=>renderLogoItem(item, `${copyIndex}-${itemIndex}`))\n }, `copy-${copyIndex}`, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\LogoLoop.tsx\",\n lineNumber: 283,\n columnNumber: 9\n }, undefined)), [\n copyCount,\n logos,\n renderLogoItem\n ]);\n const containerStyle = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>({\n width: toCssLength(width) ?? \"100%\",\n ...cssVariables,\n ...style\n }), [\n width,\n cssVariables,\n style\n ]);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: containerRef,\n className: rootClassName,\n style: containerStyle,\n role: \"region\",\n \"aria-label\": ariaLabel,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"logoloop__track\",\n ref: trackRef,\n children: logoLists\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\LogoLoop.tsx\",\n lineNumber: 315,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\LogoLoop.tsx\",\n lineNumber: 306,\n columnNumber: 5\n }, undefined);\n});\nLogoLoop.displayName = \"LogoLoop\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (LogoLoop);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUdwQyxNQUFNZ0MsaUJBQWlCcEksOENBQU9BLENBQzVCLElBQU87WUFDTHFFLE9BQU83RCxZQUFZNkQsVUFBVTtZQUM3QixHQUFHd0IsWUFBWTtZQUNmLEdBQUcxQyxLQUFLO1FBQ1YsSUFDQTtRQUFDa0I7UUFBT3dCO1FBQWMxQztLQUFNO0lBRzlCLHFCQUNFLDhEQUFDa0Y7UUFDQy9HLEtBQUt1RDtRQUNMRCxXQUFXa0I7UUFDWDNDLE9BQU9pRjtRQUNQUixNQUFLO1FBQ0xILGNBQVk5QztRQUNaMkQsY0FBY3BDO1FBQ2RxQyxjQUFjcEM7a0JBRWQsNEVBQUNrQztZQUFJekQsV0FBVTtZQUFrQnRELEtBQUttQjtzQkFDbkNvRjs7Ozs7Ozs7Ozs7QUFJVCxHQUFHO0FBRUg1RCxTQUFTdUUsV0FBVyxHQUFHO0FBRXZCLGlFQUFldkUsUUFBUUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL2NvbXBvbmVudHMvTG9nb0xvb3AudHN4P2M4YTYiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xyXG5cclxuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSwgbWVtbywgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgJy4vTG9nb0xvb3AuY3NzJztcclxuXHJcbmNvbnN0IEFOSU1BVElPTl9DT05GSUcgPSB7XHJcbiAgU01PT1RIX1RBVTogMC4yNSxcclxuICBNSU5fQ09QSUVTOiAyLFxyXG4gIENPUFlfSEVBRFJPT006IDJcclxufTtcclxuXHJcbmNvbnN0IHRvQ3NzTGVuZ3RoID0gKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4gXHJcbiAgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgPyBgJHt2YWx1ZX1weGAgOiAodmFsdWUgPz8gdW5kZWZpbmVkKSk7XHJcblxyXG5pbnRlcmZhY2UgTG9nb0l0ZW0ge1xyXG4gIG5vZGU/OiBSZWFjdE5vZGU7XHJcbiAgc3JjPzogc3RyaW5nO1xyXG4gIHNyY1NldD86IHN0cmluZztcclxuICBzaXplcz86IHN0cmluZztcclxuICB3aWR0aD86IG51bWJlcjtcclxuICBoZWlnaHQ/OiBudW1iZXI7XHJcbiAgYWx0Pzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGhyZWY/OiBzdHJpbmc7XHJcbiAgYXJpYUxhYmVsPzogc3RyaW5nO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgTG9nb0xvb3BQcm9wcyB7XHJcbiAgbG9nb3M6IExvZ29JdGVtW107XHJcbiAgc3BlZWQ/OiBudW1iZXI7XHJcbiAgZGlyZWN0aW9uPzogJ2xlZnQnIHwgJ3JpZ2h0JztcclxuICB3aWR0aD86IG51bWJlciB8IHN0cmluZztcclxuICBsb2dvSGVpZ2h0PzogbnVtYmVyO1xyXG4gIGdhcD86IG51bWJlcjtcclxuICBwYXVzZU9uSG92ZXI/OiBib29sZWFuO1xyXG4gIGZhZGVPdXQ/OiBib29sZWFuO1xyXG4gIGZhZGVPdXRDb2xvcj86IHN0cmluZztcclxuICBzY2FsZU9uSG92ZXI/OiBib29sZWFuO1xyXG4gIGFyaWFMYWJlbD86IHN0cmluZztcclxuICBjbGFzc05hbWU/OiBzdHJpbmc7XHJcbiAgc3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xyXG59XHJcblxyXG5jb25zdCB1c2VSZXNpemVPYnNlcnZlciA9IChcclxuICBjYWxsYmFjazogKCkgPT4gdm9pZCxcclxuICBlbGVtZW50czogUmVhY3QuUmVmT2JqZWN0PEhUTUxFbGVtZW50PltdLFxyXG4gIGRlcGVuZGVuY2llczogdW5rbm93bltdXHJcbikgPT4ge1xyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAoIXdpbmRvdy5SZXNpemVPYnNlcnZlcikge1xyXG4gICAgICBjb25zdCBoYW5kbGVSZXNpemUgPSAoKSA9PiBjYWxsYmFjaygpO1xyXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgaGFuZGxlUmVzaXplKTtcclxuICAgICAgY2FsbGJhY2soKTtcclxuICAgICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBoYW5kbGVSZXNpemUpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9ic2VydmVycyA9IGVsZW1lbnRzLm1hcChyZWYgPT4ge1xyXG4gICAgICBpZiAoIXJlZi5jdXJyZW50KSByZXR1cm4gbnVsbDtcclxuICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoY2FsbGJhY2spO1xyXG4gICAgICBvYnNlcnZlci5vYnNlcnZlKHJlZi5jdXJyZW50KTtcclxuICAgICAgcmV0dXJuIG9ic2VydmVyO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY2FsbGJhY2soKTtcclxuXHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICBvYnNlcnZlcnMuZm9yRWFjaChvYnNlcnZlciA9PiBvYnNlcnZlcj8uZGlzY29ubmVjdCgpKTtcclxuICAgIH07XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXHJcbiAgfSwgZGVwZW5kZW5jaWVzKTtcclxufTtcclxuXHJcbmNvbnN0IHVzZUltYWdlTG9hZGVyID0gKFxyXG4gIHNlcVJlZjogUmVhY3QuUmVmT2JqZWN0PEhUTUxFbGVtZW50PixcclxuICBvbkxvYWQ6ICgpID0+IHZvaWQsXHJcbiAgZGVwZW5kZW5jaWVzOiB1bmtub3duW11cclxuKSA9PiB7XHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGNvbnN0IGltYWdlcyA9IHNlcVJlZi5jdXJyZW50Py5xdWVyeVNlbGVjdG9yQWxsKCdpbWcnKSA/PyBbXTtcclxuICAgIGlmIChpbWFnZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIG9uTG9hZCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHJlbWFpbmluZ0ltYWdlcyA9IGltYWdlcy5sZW5ndGg7XHJcbiAgICBjb25zdCBoYW5kbGVJbWFnZUxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIHJlbWFpbmluZ0ltYWdlcyAtPSAxO1xyXG4gICAgICBpZiAocmVtYWluaW5nSW1hZ2VzID09PSAwKSB7XHJcbiAgICAgICAgb25Mb2FkKCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgaW1hZ2VzLmZvckVhY2goaW1nID0+IHtcclxuICAgICAgY29uc3QgaHRtbEltZyA9IGltZyBhcyBIVE1MSW1hZ2VFbGVtZW50O1xyXG4gICAgICBpZiAoaHRtbEltZy5jb21wbGV0ZSkge1xyXG4gICAgICAgIGhhbmRsZUltYWdlTG9hZCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGh0bWxJbWcuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGhhbmRsZUltYWdlTG9hZCwgeyBvbmNlOiB0cnVlIH0pO1xyXG4gICAgICAgIGh0bWxJbWcuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBoYW5kbGVJbWFnZUxvYWQsIHsgb25jZTogdHJ1ZSB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuICgpID0+IHtcclxuICAgICAgaW1hZ2VzLmZvckVhY2goaW1nID0+IHtcclxuICAgICAgICBpbWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignbG9hZCcsIGhhbmRsZUltYWdlTG9hZCk7XHJcbiAgICAgICAgaW1nLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgaGFuZGxlSW1hZ2VMb2FkKTtcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xyXG4gIH0sIGRlcGVuZGVuY2llcyk7XHJcbn07XHJcblxyXG5jb25zdCB1c2VBbmltYXRpb25Mb29wID0gKFxyXG4gIHRyYWNrUmVmOiBSZWFjdC5SZWZPYmplY3Q8SFRNTEVsZW1lbnQ+LFxyXG4gIHRhcmdldFZlbG9jaXR5OiBudW1iZXIsXHJcbiAgc2VxV2lkdGg6IG51bWJlcixcclxuICBpc0hvdmVyZWQ6IGJvb2xlYW4sXHJcbiAgcGF1c2VPbkhvdmVyOiBib29sZWFuXHJcbikgPT4ge1xyXG4gIGNvbnN0IHJhZlJlZiA9IHVzZVJlZjxudW1iZXIgfCBudWxsPihudWxsKTtcclxuICBjb25zdCBsYXN0VGltZXN0YW1wUmVmID0gdXNlUmVmPG51bWJlciB8IG51bGw+KG51bGwpO1xyXG4gIGNvbnN0IG9mZnNldFJlZiA9IHVzZVJlZigwKTtcclxuICBjb25zdCB2ZWxvY2l0eVJlZiA9IHVzZVJlZigwKTtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGNvbnN0IHRyYWNrID0gdHJhY2tSZWYuY3VycmVudDtcclxuICAgIGlmICghdHJhY2spIHJldHVybjtcclxuXHJcbiAgICBpZiAoc2VxV2lkdGggPiAwKSB7XHJcbiAgICAgIG9mZnNldFJlZi5jdXJyZW50ID0gKChvZmZzZXRSZWYuY3VycmVudCAlIHNlcVdpZHRoKSArIHNlcVdpZHRoKSAlIHNlcVdpZHRoO1xyXG4gICAgICB0cmFjay5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlM2QoJHstb2Zmc2V0UmVmLmN1cnJlbnR9cHgsIDAsIDApYDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBhbmltYXRlID0gKHRpbWVzdGFtcDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmIChsYXN0VGltZXN0YW1wUmVmLmN1cnJlbnQgPT09IG51bGwpIHtcclxuICAgICAgICBsYXN0VGltZXN0YW1wUmVmLmN1cnJlbnQgPSB0aW1lc3RhbXA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGRlbHRhVGltZSA9IE1hdGgubWF4KDAsIHRpbWVzdGFtcCAtIGxhc3RUaW1lc3RhbXBSZWYuY3VycmVudCkgLyAxMDAwO1xyXG4gICAgICBsYXN0VGltZXN0YW1wUmVmLmN1cnJlbnQgPSB0aW1lc3RhbXA7XHJcblxyXG4gICAgICBjb25zdCB0YXJnZXQgPSBwYXVzZU9uSG92ZXIgJiYgaXNIb3ZlcmVkID8gMCA6IHRhcmdldFZlbG9jaXR5O1xyXG4gICAgICBjb25zdCBlYXNpbmdGYWN0b3IgPSAxIC0gTWF0aC5leHAoLWRlbHRhVGltZSAvIEFOSU1BVElPTl9DT05GSUcuU01PT1RIX1RBVSk7XHJcbiAgICAgIHZlbG9jaXR5UmVmLmN1cnJlbnQgKz0gKHRhcmdldCAtIHZlbG9jaXR5UmVmLmN1cnJlbnQpICogZWFzaW5nRmFjdG9yO1xyXG5cclxuICAgICAgaWYgKHNlcVdpZHRoID4gMCkge1xyXG4gICAgICAgIGxldCBuZXh0T2Zmc2V0ID0gb2Zmc2V0UmVmLmN1cnJlbnQgKyB2ZWxvY2l0eVJlZi5jdXJyZW50ICogZGVsdGFUaW1lO1xyXG4gICAgICAgIG5leHRPZmZzZXQgPSAoKG5leHRPZmZzZXQgJSBzZXFXaWR0aCkgKyBzZXFXaWR0aCkgJSBzZXFXaWR0aDtcclxuICAgICAgICBvZmZzZXRSZWYuY3VycmVudCA9IG5leHRPZmZzZXQ7XHJcbiAgICAgICAgY29uc3QgdHJhbnNsYXRlWCA9IC1vZmZzZXRSZWYuY3VycmVudDtcclxuICAgICAgICB0cmFjay5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlM2QoJHt0cmFuc2xhdGVYfXB4LCAwLCAwKWA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJhZlJlZi5jdXJyZW50ID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFuaW1hdGUpO1xyXG4gICAgfTtcclxuXHJcbiAgICByYWZSZWYuY3VycmVudCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShhbmltYXRlKTtcclxuXHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICBpZiAocmFmUmVmLmN1cnJlbnQgIT09IG51bGwpIHtcclxuICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShyYWZSZWYuY3VycmVudCk7XHJcbiAgICAgICAgcmFmUmVmLmN1cnJlbnQgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGxhc3RUaW1lc3RhbXBSZWYuY3VycmVudCA9IG51bGw7XHJcbiAgICB9O1xyXG4gIH0sIFt0YXJnZXRWZWxvY2l0eSwgc2VxV2lkdGgsIGlzSG92ZXJlZCwgcGF1c2VPbkhvdmVyLCB0cmFja1JlZl0pO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IExvZ29Mb29wID0gbWVtbzxMb2dvTG9vcFByb3BzPigoe1xyXG4gIGxvZ29zLFxyXG4gIHNwZWVkID0gMTIwLFxyXG4gIGRpcmVjdGlvbiA9ICdsZWZ0JyxcclxuICB3aWR0aCA9ICcxMDAlJyxcclxuICBsb2dvSGVpZ2h0ID0gMjgsXHJcbiAgZ2FwID0gMzIsXHJcbiAgcGF1c2VPbkhvdmVyID0gdHJ1ZSxcclxuICBmYWRlT3V0ID0gZmFsc2UsXHJcbiAgZmFkZU91dENvbG9yLFxyXG4gIHNjYWxlT25Ib3ZlciA9IGZhbHNlLFxyXG4gIGFyaWFMYWJlbCA9ICdQYXJ0bmVyIGxvZ29zJyxcclxuICBjbGFzc05hbWUsXHJcbiAgc3R5bGVcclxufSkgPT4ge1xyXG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XHJcbiAgY29uc3QgdHJhY2tSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xyXG4gIGNvbnN0IHNlcVJlZiA9IHVzZVJlZjxIVE1MVUxpc3RFbGVtZW50PihudWxsKTtcclxuICBjb25zdCBbc2VxV2lkdGgsIHNldFNlcVdpZHRoXSA9IHVzZVN0YXRlKDApO1xyXG4gIGNvbnN0IFtjb3B5Q291bnQsIHNldENvcHlDb3VudF0gPSB1c2VTdGF0ZShBTklNQVRJT05fQ09ORklHLk1JTl9DT1BJRVMpO1xyXG4gIGNvbnN0IFtpc0hvdmVyZWQsIHNldElzSG92ZXJlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcblxyXG4gIGNvbnN0IHRhcmdldFZlbG9jaXR5ID0gdXNlTWVtbygoKSA9PiB7XHJcbiAgICBjb25zdCBtYWduaXR1ZGUgPSBNYXRoLmFicyhzcGVlZCk7XHJcbiAgICBjb25zdCBkaXJlY3Rpb25NdWx0aXBsaWVyID0gZGlyZWN0aW9uID09PSAnbGVmdCcgPyAxIDogLTE7XHJcbiAgICBjb25zdCBzcGVlZE11bHRpcGxpZXIgPSBzcGVlZCA8IDAgPyAtMSA6IDE7XHJcbiAgICByZXR1cm4gbWFnbml0dWRlICogZGlyZWN0aW9uTXVsdGlwbGllciAqIHNwZWVkTXVsdGlwbGllcjtcclxuICB9LCBbc3BlZWQsIGRpcmVjdGlvbl0pO1xyXG5cclxuICBjb25zdCB1cGRhdGVEaW1lbnNpb25zID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xyXG4gICAgY29uc3QgY29udGFpbmVyV2lkdGggPSBjb250YWluZXJSZWYuY3VycmVudD8uY2xpZW50V2lkdGggPz8gMDtcclxuICAgIGNvbnN0IHNlcXVlbmNlV2lkdGggPSBzZXFSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0Py4oKT8ud2lkdGggPz8gMDtcclxuICAgIGlmIChzZXF1ZW5jZVdpZHRoID4gMCkge1xyXG4gICAgICBzZXRTZXFXaWR0aChNYXRoLmNlaWwoc2VxdWVuY2VXaWR0aCkpO1xyXG4gICAgICBjb25zdCBjb3BpZXNOZWVkZWQgPSBNYXRoLmNlaWwoY29udGFpbmVyV2lkdGggLyBzZXF1ZW5jZVdpZHRoKSArIEFOSU1BVElPTl9DT05GSUcuQ09QWV9IRUFEUk9PTTtcclxuICAgICAgc2V0Q29weUNvdW50KE1hdGgubWF4KEFOSU1BVElPTl9DT05GSUcuTUlOX0NPUElFUywgY29waWVzTmVlZGVkKSk7XHJcbiAgICB9XHJcbiAgfSwgW10pO1xyXG5cclxuICB1c2VSZXNpemVPYnNlcnZlcih1cGRhdGVEaW1lbnNpb25zLCBbY29udGFpbmVyUmVmLCBzZXFSZWZdLCBbbG9nb3MsIGdhcCwgbG9nb0hlaWdodF0pO1xyXG4gIHVzZUltYWdlTG9hZGVyKHNlcVJlZiwgdXBkYXRlRGltZW5zaW9ucywgW2xvZ29zLCBnYXAsIGxvZ29IZWlnaHRdKTtcclxuICB1c2VBbmltYXRpb25Mb29wKHRyYWNrUmVmLCB0YXJnZXRWZWxvY2l0eSwgc2VxV2lkdGgsIGlzSG92ZXJlZCwgcGF1c2VPbkhvdmVyKTtcclxuXHJcbiAgY29uc3QgY3NzVmFyaWFibGVzID0gdXNlTWVtbyhcclxuICAgICgpID0+ICh7XHJcbiAgICAgICctLWxvZ29sb29wLWdhcCc6IGAke2dhcH1weGAsXHJcbiAgICAgICctLWxvZ29sb29wLWxvZ29IZWlnaHQnOiBgJHtsb2dvSGVpZ2h0fXB4YCxcclxuICAgICAgLi4uKGZhZGVPdXRDb2xvciAmJiB7ICctLWxvZ29sb29wLWZhZGVDb2xvcic6IGZhZGVPdXRDb2xvciB9KVxyXG4gICAgfSksXHJcbiAgICBbZ2FwLCBsb2dvSGVpZ2h0LCBmYWRlT3V0Q29sb3JdXHJcbiAgKTtcclxuXHJcbiAgY29uc3Qgcm9vdENsYXNzTmFtZSA9IHVzZU1lbW8oXHJcbiAgICAoKSA9PlxyXG4gICAgICBbJ2xvZ29sb29wJywgZmFkZU91dCAmJiAnbG9nb2xvb3AtLWZhZGUnLCBzY2FsZU9uSG92ZXIgJiYgJ2xvZ29sb29wLS1zY2FsZS1ob3ZlcicsIGNsYXNzTmFtZV1cclxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXHJcbiAgICAgICAgLmpvaW4oJyAnKSxcclxuICAgIFtmYWRlT3V0LCBzY2FsZU9uSG92ZXIsIGNsYXNzTmFtZV1cclxuICApO1xyXG5cclxuICBjb25zdCBoYW5kbGVNb3VzZUVudGVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xyXG4gICAgaWYgKHBhdXNlT25Ib3Zlcikgc2V0SXNIb3ZlcmVkKHRydWUpO1xyXG4gIH0sIFtwYXVzZU9uSG92ZXJdKTtcclxuXHJcbiAgY29uc3QgaGFuZGxlTW91c2VMZWF2ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcclxuICAgIGlmIChwYXVzZU9uSG92ZXIpIHNldElzSG92ZXJlZChmYWxzZSk7XHJcbiAgfSwgW3BhdXNlT25Ib3Zlcl0pO1xyXG5cclxuICBjb25zdCByZW5kZXJMb2dvSXRlbSA9IHVzZUNhbGxiYWNrKChpdGVtOiBMb2dvSXRlbSwga2V5OiBzdHJpbmcpID0+IHtcclxuICAgIGNvbnN0IGlzTm9kZUl0ZW0gPSAnbm9kZScgaW4gaXRlbTtcclxuICAgIGNvbnN0IGNvbnRlbnQgPSBpc05vZGVJdGVtID8gKFxyXG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJsb2dvbG9vcF9fbm9kZVwiIGFyaWEtaGlkZGVuPXshIWl0ZW0uaHJlZiAmJiAhaXRlbS5hcmlhTGFiZWx9PlxyXG4gICAgICAgIHtpdGVtLm5vZGV9XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICkgOiAoXHJcbiAgICAgIDxpbWdcclxuICAgICAgICBzcmM9e2l0ZW0uc3JjfVxyXG4gICAgICAgIHNyY1NldD17aXRlbS5zcmNTZXR9XHJcbiAgICAgICAgc2l6ZXM9e2l0ZW0uc2l6ZXN9XHJcbiAgICAgICAgd2lkdGg9e2l0ZW0ud2lkdGh9XHJcbiAgICAgICAgaGVpZ2h0PXtpdGVtLmhlaWdodH1cclxuICAgICAgICBhbHQ9e2l0ZW0uYWx0ID8/ICcnfVxyXG4gICAgICAgIHRpdGxlPXtpdGVtLnRpdGxlfVxyXG4gICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICBkZWNvZGluZz1cImFzeW5jXCJcclxuICAgICAgICBkcmFnZ2FibGU9e2ZhbHNlfVxyXG4gICAgICAvPlxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBpdGVtQXJpYUxhYmVsID0gaXNOb2RlSXRlbSA/IChpdGVtLmFyaWFMYWJlbCA/PyBpdGVtLnRpdGxlKSA6IChpdGVtLmFsdCA/PyBpdGVtLnRpdGxlKTtcclxuICAgIGNvbnN0IGl0ZW1Db250ZW50ID0gaXRlbS5ocmVmID8gKFxyXG4gICAgICA8YVxyXG4gICAgICAgIGNsYXNzTmFtZT1cImxvZ29sb29wX19saW5rXCJcclxuICAgICAgICBocmVmPXtpdGVtLmhyZWZ9XHJcbiAgICAgICAgYXJpYS1sYWJlbD17aXRlbUFyaWFMYWJlbCB8fCAnbG9nbyBsaW5rJ31cclxuICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxyXG4gICAgICAgIHJlbD1cIm5vcmVmZXJyZXIgbm9vcGVuZXJcIlxyXG4gICAgICA+XHJcbiAgICAgICAge2NvbnRlbnR9XHJcbiAgICAgIDwvYT5cclxuICAgICkgOiAoXHJcbiAgICAgIGNvbnRlbnRcclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGxpIGNsYXNzTmFtZT1cImxvZ29sb29wX19pdGVtXCIga2V5PXtrZXl9IHJvbGU9XCJsaXN0aXRlbVwiPlxyXG4gICAgICAgIHtpdGVtQ29udGVudH1cclxuICAgICAgPC9saT5cclxuICAgICk7XHJcbiAgfSwgW10pO1xyXG5cclxuICBjb25zdCBsb2dvTGlzdHMgPSB1c2VNZW1vKFxyXG4gICAgKCkgPT5cclxuICAgICAgQXJyYXkuZnJvbSh7IGxlbmd0aDogY29weUNvdW50IH0sIChfLCBjb3B5SW5kZXgpID0+IChcclxuICAgICAgICA8dWxcclxuICAgICAgICAgIGNsYXNzTmFtZT1cImxvZ29sb29wX19saXN0XCJcclxuICAgICAgICAgIGtleT17YGNvcHktJHtjb3B5SW5kZXh9YH1cclxuICAgICAgICAgIHJvbGU9XCJsaXN0XCJcclxuICAgICAgICAgIGFyaWEtaGlkZGVuPXtjb3B5SW5kZXggPiAwfVxyXG4gICAgICAgICAgcmVmPXtjb3B5SW5kZXggPT09IDAgPyBzZXFSZWYgOiB1bmRlZmluZWR9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge2xvZ29zLm1hcCgoaXRlbSwgaXRlbUluZGV4KSA9PiByZW5kZXJMb2dvSXRlbShpdGVtLCBgJHtjb3B5SW5kZXh9LSR7aXRlbUluZGV4fWApKX1cclxuICAgICAgICA8L3VsPlxyXG4gICAgICApKSxcclxuICAgIFtjb3B5Q291bnQsIGxvZ29zLCByZW5kZXJMb2dvSXRlbV1cclxuICApO1xyXG5cclxuICBjb25zdCBjb250YWluZXJTdHlsZSA9IHVzZU1lbW8oXHJcbiAgICAoKSA9PiAoe1xyXG4gICAgICB3aWR0aDogdG9Dc3NMZW5ndGgod2lkdGgpID8/ICcxMDAlJyxcclxuICAgICAgLi4uY3NzVmFyaWFibGVzLFxyXG4gICAgICAuLi5zdHlsZVxyXG4gICAgfSksXHJcbiAgICBbd2lkdGgsIGNzc1ZhcmlhYmxlcywgc3R5bGVdXHJcbiAgKTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXZcclxuICAgICAgcmVmPXtjb250YWluZXJSZWZ9XHJcbiAgICAgIGNsYXNzTmFtZT17cm9vdENsYXNzTmFtZX1cclxuICAgICAgc3R5bGU9e2NvbnRhaW5lclN0eWxlfVxyXG4gICAgICByb2xlPVwicmVnaW9uXCJcclxuICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxyXG4gICAgICBvbk1vdXNlRW50ZXI9e2hhbmRsZU1vdXNlRW50ZXJ9XHJcbiAgICAgIG9uTW91c2VMZWF2ZT17aGFuZGxlTW91c2VMZWF2ZX1cclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJsb2dvbG9vcF9fdHJhY2tcIiByZWY9e3RyYWNrUmVmfT5cclxuICAgICAgICB7bG9nb0xpc3RzfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICk7XHJcbn0pO1xyXG5cclxuTG9nb0xvb3AuZGlzcGxheU5hbWUgPSAnTG9nb0xvb3AnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgTG9nb0xvb3A7XHJcblxyXG4iXSwibmFtZXMiOlsidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJtZW1vIiwiQU5JTUFUSU9OX0NPTkZJRyIsIlNNT09USF9UQVUiLCJNSU5fQ09QSUVTIiwiQ09QWV9IRUFEUk9PTSIsInRvQ3NzTGVuZ3RoIiwidmFsdWUiLCJ1bmRlZmluZWQiLCJ1c2VSZXNpemVPYnNlcnZlciIsImNhbGxiYWNrIiwiZWxlbWVudHMiLCJkZXBlbmRlbmNpZXMiLCJ3aW5kb3ciLCJSZXNpemVPYnNlcnZlciIsImhhbmRsZVJlc2l6ZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib2JzZXJ2ZXJzIiwibWFwIiwicmVmIiwiY3VycmVudCIsIm9ic2VydmVyIiwib2JzZXJ2ZSIsImZvckVhY2giLCJkaXNjb25uZWN0IiwidXNlSW1hZ2VMb2FkZXIiLCJzZXFSZWYiLCJvbkxvYWQiLCJpbWFnZXMiLCJxdWVyeVNlbGVjdG9yQWxsIiwibGVuZ3RoIiwicmVtYWluaW5nSW1hZ2VzIiwiaGFuZGxlSW1hZ2VMb2FkIiwiaW1nIiwiaHRtbEltZyIsImNvbXBsZXRlIiwib25jZSIsInVzZUFuaW1hdGlvbkxvb3AiLCJ0cmFja1JlZiIsInRhcmdldFZlbG9jaXR5Iiwic2VxV2lkdGgiLCJpc0hvdmVyZWQiLCJwYXVzZU9uSG92ZXIiLCJyYWZSZWYiLCJsYXN0VGltZXN0YW1wUmVmIiwib2Zmc2V0UmVmIiwidmVsb2NpdHlSZWYiLCJ0cmFjayIsInN0eWxlIiwidHJhbnNmb3JtIiwiYW5pbWF0ZSIsInRpbWVzdGFtcCIsImRlbHRhVGltZSIsIk1hdGgiLCJtYXgiLCJ0YXJnZXQiLCJlYXNpbmdGYWN0b3IiLCJleHAiLCJuZXh0T2Zmc2V0IiwidHJhbnNsYXRlWCIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsImNhbmNlbEFuaW1hdGlvbkZyYW1lIiwiTG9nb0xvb3AiLCJsb2dvcyIsInNwZWVkIiwiZGlyZWN0aW9uIiwid2lkdGgiLCJsb2dvSGVpZ2h0IiwiZ2FwIiwiZmFkZU91dCIsImZhZGVPdXRDb2xvciIsInNjYWxlT25Ib3ZlciIsImFyaWFMYWJlbCIsImNsYXNzTmFtZSIsImNvbnRhaW5lclJlZiIsInNldFNlcVdpZHRoIiwiY29weUNvdW50Iiwic2V0Q29weUNvdW50Iiwic2V0SXNIb3ZlcmVkIiwibWFnbml0dWRlIiwiYWJzIiwiZGlyZWN0aW9uTXVsdGlwbGllciIsInNwZWVkTXVsdGlwbGllciIsInVwZGF0ZURpbWVuc2lvbnMiLCJjb250YWluZXJXaWR0aCIsImNsaWVudFdpZHRoIiwic2VxdWVuY2VXaWR0aCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImNlaWwiLCJjb3BpZXNOZWVkZWQiLCJjc3NWYXJpYWJsZXMiLCJyb290Q2xhc3NOYW1lIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJoYW5kbGVNb3VzZUVudGVyIiwiaGFuZGxlTW91c2VMZWF2ZSIsInJlbmRlckxvZ29JdGVtIiwiaXRlbSIsImtleSIsImlzTm9kZUl0ZW0iLCJjb250ZW50Iiwic3BhbiIsImFyaWEtaGlkZGVuIiwiaHJlZiIsIm5vZGUiLCJzcmMiLCJzcmNTZXQiLCJzaXplcyIsImhlaWdodCIsImFsdCIsInRpdGxlIiwibG9hZGluZyIsImRlY29kaW5nIiwiZHJhZ2dhYmxlIiwiaXRlbUFyaWFMYWJlbCIsIml0ZW1Db250ZW50IiwiYSIsImFyaWEtbGFiZWwiLCJyZWwiLCJsaSIsInJvbGUiLCJsb2dvTGlzdHMiLCJBcnJheSIsImZyb20iLCJfIiwiY29weUluZGV4IiwidWwiLCJpdGVtSW5kZXgiLCJjb250YWluZXJTdHlsZSIsImRpdiIsIm9uTW91c2VFbnRlciIsIm9uTW91c2VMZWF2ZSIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./components/LogoLoop.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/PillNav.tsx": +/*!********************************!*\ + !*** ./components/PillNav.tsx ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var gsap__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! gsap */ \"(ssr)/./node_modules/gsap/dist/gsap.js\");\n/* harmony import */ var gsap__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(gsap__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _PillNav_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PillNav.css */ \"(ssr)/./components/PillNav.css\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\nconst PillNav = ({ logo, logoAlt = \"Logo\", items, activeHref, className = \"\", ease = \"power3.easeOut\", baseColor = \"#fff\", pillColor = \"#060010\", hoveredPillTextColor = \"#060010\", pillTextColor, onMobileMenuClick, initialLoadAnimation = true })=>{\n const resolvedPillTextColor = pillTextColor ?? baseColor;\n const [isMobileMenuOpen, setIsMobileMenuOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const circleRefs = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)([]);\n const tlRefs = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)([]);\n const activeTweenRefs = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)([]);\n const logoImgRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const logoTweenRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const hamburgerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const mobileMenuRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const navItemsRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const logoRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const hasAnimatedRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const layout = ()=>{\n circleRefs.current.forEach((circle)=>{\n if (!circle?.parentElement) return;\n const pill = circle.parentElement;\n const rect = pill.getBoundingClientRect();\n const { width: w, height: h } = rect;\n const R = (w * w / 4 + h * h) / (2 * h);\n const D = Math.ceil(2 * R) + 2;\n const delta = Math.ceil(R - Math.sqrt(Math.max(0, R * R - w * w / 4))) + 1;\n const originY = D - delta;\n circle.style.width = `${D}px`;\n circle.style.height = `${D}px`;\n circle.style.bottom = `-${delta}px`;\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.set(circle, {\n xPercent: -50,\n scale: 0,\n transformOrigin: `50% ${originY}px`\n });\n const label = pill.querySelector(\".pill-label\");\n const white = pill.querySelector(\".pill-label-hover\");\n if (label) gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.set(label, {\n y: 0\n });\n if (white) gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.set(white, {\n y: h + 12,\n opacity: 0\n });\n const index = circleRefs.current.indexOf(circle);\n if (index === -1) return;\n tlRefs.current[index]?.kill();\n const tl = gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.timeline({\n paused: true\n });\n tl.to(circle, {\n scale: 1.2,\n xPercent: -50,\n duration: 2,\n ease,\n overwrite: \"auto\"\n }, 0);\n if (label) {\n tl.to(label, {\n y: -(h + 8),\n duration: 2,\n ease,\n overwrite: \"auto\"\n }, 0);\n }\n if (white) {\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.set(white, {\n y: Math.ceil(h + 100),\n opacity: 0\n });\n tl.to(white, {\n y: 0,\n opacity: 1,\n duration: 2,\n ease,\n overwrite: \"auto\"\n }, 0);\n }\n tlRefs.current[index] = tl;\n });\n };\n layout();\n const onResize = ()=>layout();\n window.addEventListener(\"resize\", onResize);\n if (document.fonts?.ready) {\n document.fonts.ready.then(layout).catch(()=>{});\n }\n const menu = mobileMenuRef.current;\n if (menu) {\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.set(menu, {\n visibility: \"hidden\",\n opacity: 0,\n scaleY: 1\n });\n }\n if (initialLoadAnimation && !hasAnimatedRef.current) {\n const logoEl = logoRef.current;\n const navItems = navItemsRef.current;\n if (logoEl) {\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.set(logoEl, {\n scale: 0\n });\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.to(logoEl, {\n scale: 1,\n duration: 0.6,\n ease\n });\n }\n if (navItems) {\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.set(navItems, {\n width: 0,\n overflow: \"hidden\"\n });\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.to(navItems, {\n width: \"auto\",\n duration: 0.6,\n ease\n });\n }\n hasAnimatedRef.current = true;\n } else if (navItemsRef.current && !hasAnimatedRef.current) {\n // Wenn initialLoadAnimation false ist, setze die Items sofort auf sichtbar\n const navItems = navItemsRef.current;\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.set(navItems, {\n width: \"auto\",\n overflow: \"visible\"\n });\n if (logoRef.current) {\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.set(logoRef.current, {\n scale: 1\n });\n }\n hasAnimatedRef.current = true;\n }\n return ()=>window.removeEventListener(\"resize\", onResize);\n }, [\n items,\n ease\n ]); // initialLoadAnimation entfernt, damit es nur einmal läuft\n const handleEnter = (i)=>{\n const tl = tlRefs.current[i];\n if (!tl) return;\n activeTweenRefs.current[i]?.kill();\n activeTweenRefs.current[i] = tl.tweenTo(tl.duration(), {\n duration: 0.3,\n ease,\n overwrite: \"auto\"\n });\n };\n const handleLeave = (i)=>{\n const tl = tlRefs.current[i];\n if (!tl) return;\n activeTweenRefs.current[i]?.kill();\n activeTweenRefs.current[i] = tl.tweenTo(0, {\n duration: 0.2,\n ease,\n overwrite: \"auto\"\n });\n };\n const handleLogoEnter = ()=>{\n const img = logoImgRef.current;\n if (!img) return;\n logoTweenRef.current?.kill();\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.set(img, {\n rotate: 0\n });\n logoTweenRef.current = gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.to(img, {\n rotate: 360,\n duration: 0.2,\n ease,\n overwrite: \"auto\"\n });\n };\n const toggleMobileMenu = ()=>{\n const newState = !isMobileMenuOpen;\n setIsMobileMenuOpen(newState);\n const hamburger = hamburgerRef.current;\n const menu = mobileMenuRef.current;\n if (hamburger) {\n const lines = hamburger.querySelectorAll(\".hamburger-line\");\n if (newState) {\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.to(lines[0], {\n rotation: 45,\n y: 3,\n duration: 0.3,\n ease\n });\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.to(lines[1], {\n rotation: -45,\n y: -3,\n duration: 0.3,\n ease\n });\n } else {\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.to(lines[0], {\n rotation: 0,\n y: 0,\n duration: 0.3,\n ease\n });\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.to(lines[1], {\n rotation: 0,\n y: 0,\n duration: 0.3,\n ease\n });\n }\n }\n if (menu) {\n if (newState) {\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.set(menu, {\n visibility: \"visible\"\n });\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.fromTo(menu, {\n opacity: 0,\n y: 10,\n scaleY: 1\n }, {\n opacity: 1,\n y: 0,\n scaleY: 1,\n duration: 0.3,\n ease,\n transformOrigin: \"top center\"\n });\n } else {\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.to(menu, {\n opacity: 0,\n y: 10,\n scaleY: 1,\n duration: 0.2,\n ease,\n transformOrigin: \"top center\",\n onComplete: ()=>{\n gsap__WEBPACK_IMPORTED_MODULE_4__.gsap.set(menu, {\n visibility: \"hidden\"\n });\n }\n });\n }\n }\n onMobileMenuClick?.();\n };\n const isExternalLink = (href)=>href.startsWith(\"http://\") || href.startsWith(\"https://\") || href.startsWith(\"//\") || href.startsWith(\"mailto:\") || href.startsWith(\"tel:\") || href.startsWith(\"#\");\n const cssVars = {\n [\"--base\"]: baseColor,\n [\"--pill-bg\"]: pillColor,\n [\"--hover-text\"]: hoveredPillTextColor,\n [\"--pill-text\"]: resolvedPillTextColor\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"pill-nav-container\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: `pill-nav ${className}`,\n \"aria-label\": \"Primary\",\n style: cssVars,\n children: [\n logo && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n className: \"pill-logo\",\n href: \"#\",\n \"aria-label\": \"Home\",\n onMouseEnter: handleLogoEnter,\n role: \"menuitem\",\n ref: logoRef,\n onClick: (e)=>{\n e.preventDefault();\n window.scrollTo({\n top: 0,\n behavior: \"smooth\"\n });\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: logo,\n alt: logoAlt,\n ref: logoImgRef\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 250,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 238,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"pill-nav-items desktop-only\",\n ref: navItemsRef,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"pill-list\",\n role: \"menubar\",\n children: items.map((item, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n role: \"none\",\n children: isExternalLink(item.href) ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n role: \"menuitem\",\n href: item.href,\n className: `pill${activeHref === item.href ? \" is-active\" : \"\"}`,\n \"aria-label\": item.ariaLabel || item.label,\n onMouseEnter: ()=>handleEnter(i),\n onMouseLeave: ()=>handleLeave(i),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"hover-circle\",\n \"aria-hidden\": \"true\",\n ref: (el)=>{\n circleRefs.current[i] = el;\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 266,\n columnNumber: 21\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"label-stack\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"pill-label\",\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 274,\n columnNumber: 23\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"pill-label-hover\",\n \"aria-hidden\": \"true\",\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 275,\n columnNumber: 23\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 273,\n columnNumber: 21\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 258,\n columnNumber: 19\n }, undefined) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n role: \"menuitem\",\n href: item.href,\n className: `pill${activeHref === item.href ? \" is-active\" : \"\"}`,\n \"aria-label\": item.ariaLabel || item.label,\n onMouseEnter: ()=>handleEnter(i),\n onMouseLeave: ()=>handleLeave(i),\n onClick: (e)=>{\n if (item.href.startsWith(\"#\")) {\n e.preventDefault();\n const element = document.getElementById(item.href.substring(1));\n if (element) {\n element.scrollIntoView({\n behavior: \"smooth\"\n });\n }\n }\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"hover-circle\",\n \"aria-hidden\": \"true\",\n ref: (el)=>{\n circleRefs.current[i] = el;\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 298,\n columnNumber: 21\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"label-stack\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"pill-label\",\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 306,\n columnNumber: 23\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"pill-label-hover\",\n \"aria-hidden\": \"true\",\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 307,\n columnNumber: 23\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 305,\n columnNumber: 21\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 281,\n columnNumber: 19\n }, undefined)\n }, item.href || `item-${i}`, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 256,\n columnNumber: 15\n }, undefined))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 254,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 253,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: \"mobile-menu-button mobile-only\",\n onClick: toggleMobileMenu,\n \"aria-label\": \"Toggle menu\",\n ref: hamburgerRef,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"hamburger-line\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 323,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"hamburger-line\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 324,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 317,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 236,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mobile-menu-popover mobile-only\",\n ref: mobileMenuRef,\n style: cssVars,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"mobile-menu-list\",\n children: items.map((item, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: isExternalLink(item.href) ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: item.href,\n className: `mobile-menu-link${activeHref === item.href ? \" is-active\" : \"\"}`,\n onClick: ()=>setIsMobileMenuOpen(false),\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 332,\n columnNumber: 17\n }, undefined) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: item.href,\n className: `mobile-menu-link${activeHref === item.href ? \" is-active\" : \"\"}`,\n onClick: ()=>{\n setIsMobileMenuOpen(false);\n if (item.href.startsWith(\"#\")) {\n const element = document.getElementById(item.href.substring(1));\n if (element) {\n element.scrollIntoView({\n behavior: \"smooth\"\n });\n }\n }\n },\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 340,\n columnNumber: 17\n }, undefined)\n }, item.href || `mobile-item-${i}`, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 330,\n columnNumber: 13\n }, undefined))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 328,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 327,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PillNav.tsx\",\n lineNumber: 235,\n columnNumber: 5\n }, undefined);\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PillNav);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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VyxDQUFDLGdCQUFnQixFQUFFRCxlQUFlZ0gsS0FBS25CLElBQUksR0FBRyxlQUFlLEdBQUcsQ0FBQztnQ0FDNUVTLFNBQVM7b0NBQ1AzRixvQkFBb0I7b0NBQ3BCLElBQUlxRyxLQUFLbkIsSUFBSSxDQUFDQyxVQUFVLENBQUMsTUFBTTt3Q0FDN0IsTUFBTTBCLFVBQVV2RCxTQUFTd0QsY0FBYyxDQUFDVCxLQUFLbkIsSUFBSSxDQUFDNkIsU0FBUyxDQUFDO3dDQUM1RCxJQUFJRixTQUFTOzRDQUNYQSxRQUFRRyxjQUFjLENBQUM7Z0RBQUVoQixVQUFVOzRDQUFTO3dDQUM5QztvQ0FDRjtnQ0FDRjswQ0FFQ0ssS0FBS2hFLEtBQUs7Ozs7OzsyQkF2QlJnRSxLQUFLbkIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFZixFQUFFLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdDcEQ7QUFFQSxpRUFBZWxGLE9BQU9BLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9jb21wb25lbnRzL1BpbGxOYXYudHN4P2RhYjQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XHJcblxyXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCBMaW5rIGZyb20gJ25leHQvbGluayc7XHJcbmltcG9ydCB7IGdzYXAgfSBmcm9tICdnc2FwJztcclxuaW1wb3J0ICcuL1BpbGxOYXYuY3NzJztcclxuXHJcbmludGVyZmFjZSBQaWxsTmF2SXRlbSB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBocmVmOiBzdHJpbmc7XHJcbiAgYXJpYUxhYmVsPzogc3RyaW5nO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgUGlsbE5hdlByb3BzIHtcclxuICBsb2dvPzogc3RyaW5nO1xyXG4gIGxvZ29BbHQ/OiBzdHJpbmc7XHJcbiAgaXRlbXM6IFBpbGxOYXZJdGVtW107XHJcbiAgYWN0aXZlSHJlZj86IHN0cmluZztcclxuICBjbGFzc05hbWU/OiBzdHJpbmc7XHJcbiAgZWFzZT86IHN0cmluZztcclxuICBiYXNlQ29sb3I/OiBzdHJpbmc7XHJcbiAgcGlsbENvbG9yPzogc3RyaW5nO1xyXG4gIGhvdmVyZWRQaWxsVGV4dENvbG9yPzogc3RyaW5nO1xyXG4gIHBpbGxUZXh0Q29sb3I/OiBzdHJpbmc7XHJcbiAgb25Nb2JpbGVNZW51Q2xpY2s/OiAoKSA9PiB2b2lkO1xyXG4gIGluaXRpYWxMb2FkQW5pbWF0aW9uPzogYm9vbGVhbjtcclxufVxyXG5cclxuY29uc3QgUGlsbE5hdiA9ICh7XHJcbiAgbG9nbyxcclxuICBsb2dvQWx0ID0gJ0xvZ28nLFxyXG4gIGl0ZW1zLFxyXG4gIGFjdGl2ZUhyZWYsXHJcbiAgY2xhc3NOYW1lID0gJycsXHJcbiAgZWFzZSA9ICdwb3dlcjMuZWFzZU91dCcsXHJcbiAgYmFzZUNvbG9yID0gJyNmZmYnLFxyXG4gIHBpbGxDb2xvciA9ICcjMDYwMDEwJyxcclxuICBob3ZlcmVkUGlsbFRleHRDb2xvciA9ICcjMDYwMDEwJyxcclxuICBwaWxsVGV4dENvbG9yLFxyXG4gIG9uTW9iaWxlTWVudUNsaWNrLFxyXG4gIGluaXRpYWxMb2FkQW5pbWF0aW9uID0gdHJ1ZVxyXG59OiBQaWxsTmF2UHJvcHMpID0+IHtcclxuICBjb25zdCByZXNvbHZlZFBpbGxUZXh0Q29sb3IgPSBwaWxsVGV4dENvbG9yID8/IGJhc2VDb2xvcjtcclxuICBjb25zdCBbaXNNb2JpbGVNZW51T3Blbiwgc2V0SXNNb2JpbGVNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgY29uc3QgY2lyY2xlUmVmcyA9IHVzZVJlZjwoSFRNTFNwYW5FbGVtZW50IHwgbnVsbClbXT4oW10pO1xyXG4gIGNvbnN0IHRsUmVmcyA9IHVzZVJlZjxnc2FwLmNvcmUuVGltZWxpbmVbXT4oW10pO1xyXG4gIGNvbnN0IGFjdGl2ZVR3ZWVuUmVmcyA9IHVzZVJlZjxnc2FwLmNvcmUuVHdlZW5bXT4oW10pO1xyXG4gIGNvbnN0IGxvZ29JbWdSZWYgPSB1c2VSZWY8SFRNTEltYWdlRWxlbWVudCB8IG51bGw+KG51bGwpO1xyXG4gIGNvbnN0IGxvZ29Ud2VlblJlZiA9IHVzZVJlZjxnc2FwLmNvcmUuVHdlZW4gfCBudWxsPihudWxsKTtcclxuICBjb25zdCBoYW1idXJnZXJSZWYgPSB1c2VSZWY8SFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsPihudWxsKTtcclxuICBjb25zdCBtb2JpbGVNZW51UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XHJcbiAgY29uc3QgbmF2SXRlbXNSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcclxuICBjb25zdCBsb2dvUmVmID0gdXNlUmVmPEhUTUxBbmNob3JFbGVtZW50IHwgbnVsbD4obnVsbCk7XHJcbiAgY29uc3QgaGFzQW5pbWF0ZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgY29uc3QgbGF5b3V0ID0gKCkgPT4ge1xyXG4gICAgICBjaXJjbGVSZWZzLmN1cnJlbnQuZm9yRWFjaChjaXJjbGUgPT4ge1xyXG4gICAgICAgIGlmICghY2lyY2xlPy5wYXJlbnRFbGVtZW50KSByZXR1cm47XHJcbiAgICAgICAgY29uc3QgcGlsbCA9IGNpcmNsZS5wYXJlbnRFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IHJlY3QgPSBwaWxsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgIGNvbnN0IHsgd2lkdGg6IHcsIGhlaWdodDogaCB9ID0gcmVjdDtcclxuICAgICAgICBjb25zdCBSID0gKCh3ICogdykgLyA0ICsgaCAqIGgpIC8gKDIgKiBoKTtcclxuICAgICAgICBjb25zdCBEID0gTWF0aC5jZWlsKDIgKiBSKSArIDI7XHJcbiAgICAgICAgY29uc3QgZGVsdGEgPSBNYXRoLmNlaWwoUiAtIE1hdGguc3FydChNYXRoLm1heCgwLCBSICogUiAtICh3ICogdykgLyA0KSkpICsgMTtcclxuICAgICAgICBjb25zdCBvcmlnaW5ZID0gRCAtIGRlbHRhO1xyXG4gICAgICAgIGNpcmNsZS5zdHlsZS53aWR0aCA9IGAke0R9cHhgO1xyXG4gICAgICAgIGNpcmNsZS5zdHlsZS5oZWlnaHQgPSBgJHtEfXB4YDtcclxuICAgICAgICBjaXJjbGUuc3R5bGUuYm90dG9tID0gYC0ke2RlbHRhfXB4YDtcclxuICAgICAgICBnc2FwLnNldChjaXJjbGUsIHtcclxuICAgICAgICAgIHhQZXJjZW50OiAtNTAsXHJcbiAgICAgICAgICBzY2FsZTogMCxcclxuICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbjogYDUwJSAke29yaWdpbll9cHhgXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29uc3QgbGFiZWwgPSBwaWxsLnF1ZXJ5U2VsZWN0b3IoJy5waWxsLWxhYmVsJyk7XHJcbiAgICAgICAgY29uc3Qgd2hpdGUgPSBwaWxsLnF1ZXJ5U2VsZWN0b3IoJy5waWxsLWxhYmVsLWhvdmVyJyk7XHJcbiAgICAgICAgaWYgKGxhYmVsKSBnc2FwLnNldChsYWJlbCwgeyB5OiAwIH0pO1xyXG4gICAgICAgIGlmICh3aGl0ZSkgZ3NhcC5zZXQod2hpdGUsIHsgeTogaCArIDEyLCBvcGFjaXR5OiAwIH0pO1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gY2lyY2xlUmVmcy5jdXJyZW50LmluZGV4T2YoY2lyY2xlKTtcclxuICAgICAgICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm47XHJcbiAgICAgICAgdGxSZWZzLmN1cnJlbnRbaW5kZXhdPy5raWxsKCk7XHJcbiAgICAgICAgY29uc3QgdGwgPSBnc2FwLnRpbWVsaW5lKHsgcGF1c2VkOiB0cnVlIH0pO1xyXG4gICAgICAgIHRsLnRvKGNpcmNsZSwgeyBzY2FsZTogMS4yLCB4UGVyY2VudDogLTUwLCBkdXJhdGlvbjogMiwgZWFzZSwgb3ZlcndyaXRlOiAnYXV0bycgfSwgMCk7XHJcbiAgICAgICAgaWYgKGxhYmVsKSB7XHJcbiAgICAgICAgICB0bC50byhsYWJlbCwgeyB5OiAtKGggKyA4KSwgZHVyYXRpb246IDIsIGVhc2UsIG92ZXJ3cml0ZTogJ2F1dG8nIH0sIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAod2hpdGUpIHtcclxuICAgICAgICAgIGdzYXAuc2V0KHdoaXRlLCB7IHk6IE1hdGguY2VpbChoICsgMTAwKSwgb3BhY2l0eTogMCB9KTtcclxuICAgICAgICAgIHRsLnRvKHdoaXRlLCB7IHk6IDAsIG9wYWNpdHk6IDEsIGR1cmF0aW9uOiAyLCBlYXNlLCBvdmVyd3JpdGU6ICdhdXRvJyB9LCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGxSZWZzLmN1cnJlbnRbaW5kZXhdID0gdGw7XHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBsYXlvdXQoKTtcclxuICAgIGNvbnN0IG9uUmVzaXplID0gKCkgPT4gbGF5b3V0KCk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25SZXNpemUpO1xyXG4gICAgaWYgKGRvY3VtZW50LmZvbnRzPy5yZWFkeSkge1xyXG4gICAgICBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKGxheW91dCkuY2F0Y2goKCkgPT4ge30pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbWVudSA9IG1vYmlsZU1lbnVSZWYuY3VycmVudDtcclxuICAgIGlmIChtZW51KSB7XHJcbiAgICAgIGdzYXAuc2V0KG1lbnUsIHsgdmlzaWJpbGl0eTogJ2hpZGRlbicsIG9wYWNpdHk6IDAsIHNjYWxlWTogMSB9KTtcclxuICAgIH1cclxuICAgIGlmIChpbml0aWFsTG9hZEFuaW1hdGlvbiAmJiAhaGFzQW5pbWF0ZWRSZWYuY3VycmVudCkge1xyXG4gICAgICBjb25zdCBsb2dvRWwgPSBsb2dvUmVmLmN1cnJlbnQ7XHJcbiAgICAgIGNvbnN0IG5hdkl0ZW1zID0gbmF2SXRlbXNSZWYuY3VycmVudDtcclxuICAgICAgaWYgKGxvZ29FbCkge1xyXG4gICAgICAgIGdzYXAuc2V0KGxvZ29FbCwgeyBzY2FsZTogMCB9KTtcclxuICAgICAgICBnc2FwLnRvKGxvZ29FbCwge1xyXG4gICAgICAgICAgc2NhbGU6IDEsXHJcbiAgICAgICAgICBkdXJhdGlvbjogMC42LFxyXG4gICAgICAgICAgZWFzZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChuYXZJdGVtcykge1xyXG4gICAgICAgIGdzYXAuc2V0KG5hdkl0ZW1zLCB7IHdpZHRoOiAwLCBvdmVyZmxvdzogJ2hpZGRlbicgfSk7XHJcbiAgICAgICAgZ3NhcC50byhuYXZJdGVtcywge1xyXG4gICAgICAgICAgd2lkdGg6ICdhdXRvJyxcclxuICAgICAgICAgIGR1cmF0aW9uOiAwLjYsXHJcbiAgICAgICAgICBlYXNlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaGFzQW5pbWF0ZWRSZWYuY3VycmVudCA9IHRydWU7XHJcbiAgICB9IGVsc2UgaWYgKG5hdkl0ZW1zUmVmLmN1cnJlbnQgJiYgIWhhc0FuaW1hdGVkUmVmLmN1cnJlbnQpIHtcclxuICAgICAgLy8gV2VubiBpbml0aWFsTG9hZEFuaW1hdGlvbiBmYWxzZSBpc3QsIHNldHplIGRpZSBJdGVtcyBzb2ZvcnQgYXVmIHNpY2h0YmFyXHJcbiAgICAgIGNvbnN0IG5hdkl0ZW1zID0gbmF2SXRlbXNSZWYuY3VycmVudDtcclxuICAgICAgZ3NhcC5zZXQobmF2SXRlbXMsIHsgd2lkdGg6ICdhdXRvJywgb3ZlcmZsb3c6ICd2aXNpYmxlJyB9KTtcclxuICAgICAgaWYgKGxvZ29SZWYuY3VycmVudCkge1xyXG4gICAgICAgIGdzYXAuc2V0KGxvZ29SZWYuY3VycmVudCwgeyBzY2FsZTogMSB9KTtcclxuICAgICAgfVxyXG4gICAgICBoYXNBbmltYXRlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiAoKSA9PiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25SZXNpemUpO1xyXG4gIH0sIFtpdGVtcywgZWFzZV0pOyAvLyBpbml0aWFsTG9hZEFuaW1hdGlvbiBlbnRmZXJudCwgZGFtaXQgZXMgbnVyIGVpbm1hbCBsw6R1ZnRcclxuXHJcbiAgY29uc3QgaGFuZGxlRW50ZXIgPSAoaTogbnVtYmVyKSA9PiB7XHJcbiAgICBjb25zdCB0bCA9IHRsUmVmcy5jdXJyZW50W2ldO1xyXG4gICAgaWYgKCF0bCkgcmV0dXJuO1xyXG4gICAgYWN0aXZlVHdlZW5SZWZzLmN1cnJlbnRbaV0/LmtpbGwoKTtcclxuICAgIGFjdGl2ZVR3ZWVuUmVmcy5jdXJyZW50W2ldID0gdGwudHdlZW5Ubyh0bC5kdXJhdGlvbigpLCB7XHJcbiAgICAgIGR1cmF0aW9uOiAwLjMsXHJcbiAgICAgIGVhc2UsXHJcbiAgICAgIG92ZXJ3cml0ZTogJ2F1dG8nXHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBjb25zdCBoYW5kbGVMZWF2ZSA9IChpOiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IHRsID0gdGxSZWZzLmN1cnJlbnRbaV07XHJcbiAgICBpZiAoIXRsKSByZXR1cm47XHJcbiAgICBhY3RpdmVUd2VlblJlZnMuY3VycmVudFtpXT8ua2lsbCgpO1xyXG4gICAgYWN0aXZlVHdlZW5SZWZzLmN1cnJlbnRbaV0gPSB0bC50d2VlblRvKDAsIHtcclxuICAgICAgZHVyYXRpb246IDAuMixcclxuICAgICAgZWFzZSxcclxuICAgICAgb3ZlcndyaXRlOiAnYXV0bydcclxuICAgIH0pO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0IGhhbmRsZUxvZ29FbnRlciA9ICgpID0+IHtcclxuICAgIGNvbnN0IGltZyA9IGxvZ29JbWdSZWYuY3VycmVudDtcclxuICAgIGlmICghaW1nKSByZXR1cm47XHJcbiAgICBsb2dvVHdlZW5SZWYuY3VycmVudD8ua2lsbCgpO1xyXG4gICAgZ3NhcC5zZXQoaW1nLCB7IHJvdGF0ZTogMCB9KTtcclxuICAgIGxvZ29Ud2VlblJlZi5jdXJyZW50ID0gZ3NhcC50byhpbWcsIHtcclxuICAgICAgcm90YXRlOiAzNjAsXHJcbiAgICAgIGR1cmF0aW9uOiAwLjIsXHJcbiAgICAgIGVhc2UsXHJcbiAgICAgIG92ZXJ3cml0ZTogJ2F1dG8nXHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBjb25zdCB0b2dnbGVNb2JpbGVNZW51ID0gKCkgPT4ge1xyXG4gICAgY29uc3QgbmV3U3RhdGUgPSAhaXNNb2JpbGVNZW51T3BlbjtcclxuICAgIHNldElzTW9iaWxlTWVudU9wZW4obmV3U3RhdGUpO1xyXG4gICAgY29uc3QgaGFtYnVyZ2VyID0gaGFtYnVyZ2VyUmVmLmN1cnJlbnQ7XHJcbiAgICBjb25zdCBtZW51ID0gbW9iaWxlTWVudVJlZi5jdXJyZW50O1xyXG4gICAgaWYgKGhhbWJ1cmdlcikge1xyXG4gICAgICBjb25zdCBsaW5lcyA9IGhhbWJ1cmdlci5xdWVyeVNlbGVjdG9yQWxsKCcuaGFtYnVyZ2VyLWxpbmUnKTtcclxuICAgICAgaWYgKG5ld1N0YXRlKSB7XHJcbiAgICAgICAgZ3NhcC50byhsaW5lc1swXSwgeyByb3RhdGlvbjogNDUsIHk6IDMsIGR1cmF0aW9uOiAwLjMsIGVhc2UgfSk7XHJcbiAgICAgICAgZ3NhcC50byhsaW5lc1sxXSwgeyByb3RhdGlvbjogLTQ1LCB5OiAtMywgZHVyYXRpb246IDAuMywgZWFzZSB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBnc2FwLnRvKGxpbmVzWzBdLCB7IHJvdGF0aW9uOiAwLCB5OiAwLCBkdXJhdGlvbjogMC4zLCBlYXNlIH0pO1xyXG4gICAgICAgIGdzYXAudG8obGluZXNbMV0sIHsgcm90YXRpb246IDAsIHk6IDAsIGR1cmF0aW9uOiAwLjMsIGVhc2UgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChtZW51KSB7XHJcbiAgICAgIGlmIChuZXdTdGF0ZSkge1xyXG4gICAgICAgIGdzYXAuc2V0KG1lbnUsIHsgdmlzaWJpbGl0eTogJ3Zpc2libGUnIH0pO1xyXG4gICAgICAgIGdzYXAuZnJvbVRvKFxyXG4gICAgICAgICAgbWVudSxcclxuICAgICAgICAgIHsgb3BhY2l0eTogMCwgeTogMTAsIHNjYWxlWTogMSB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxLFxyXG4gICAgICAgICAgICB5OiAwLFxyXG4gICAgICAgICAgICBzY2FsZVk6IDEsXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOiAwLjMsXHJcbiAgICAgICAgICAgIGVhc2UsXHJcbiAgICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbjogJ3RvcCBjZW50ZXInXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBnc2FwLnRvKG1lbnUsIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDAsXHJcbiAgICAgICAgICB5OiAxMCxcclxuICAgICAgICAgIHNjYWxlWTogMSxcclxuICAgICAgICAgIGR1cmF0aW9uOiAwLjIsXHJcbiAgICAgICAgICBlYXNlLFxyXG4gICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiAndG9wIGNlbnRlcicsXHJcbiAgICAgICAgICBvbkNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIGdzYXAuc2V0KG1lbnUsIHsgdmlzaWJpbGl0eTogJ2hpZGRlbicgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIG9uTW9iaWxlTWVudUNsaWNrPy4oKTtcclxuICB9O1xyXG5cclxuICBjb25zdCBpc0V4dGVybmFsTGluayA9IChocmVmOiBzdHJpbmcpID0+XHJcbiAgICBocmVmLnN0YXJ0c1dpdGgoJ2h0dHA6Ly8nKSB8fFxyXG4gICAgaHJlZi5zdGFydHNXaXRoKCdodHRwczovLycpIHx8XHJcbiAgICBocmVmLnN0YXJ0c1dpdGgoJy8vJykgfHxcclxuICAgIGhyZWYuc3RhcnRzV2l0aCgnbWFpbHRvOicpIHx8XHJcbiAgICBocmVmLnN0YXJ0c1dpdGgoJ3RlbDonKSB8fFxyXG4gICAgaHJlZi5zdGFydHNXaXRoKCcjJyk7XHJcblxyXG4gIGNvbnN0IGNzc1ZhcnMgPSB7XHJcbiAgICBbJy0tYmFzZSddOiBiYXNlQ29sb3IsXHJcbiAgICBbJy0tcGlsbC1iZyddOiBwaWxsQ29sb3IsXHJcbiAgICBbJy0taG92ZXItdGV4dCddOiBob3ZlcmVkUGlsbFRleHRDb2xvcixcclxuICAgIFsnLS1waWxsLXRleHQnXTogcmVzb2x2ZWRQaWxsVGV4dENvbG9yXHJcbiAgfSBhcyBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPGRpdiBjbGFzc05hbWU9XCJwaWxsLW5hdi1jb250YWluZXJcIj5cclxuICAgICAgPG5hdiBjbGFzc05hbWU9e2BwaWxsLW5hdiAke2NsYXNzTmFtZX1gfSBhcmlhLWxhYmVsPVwiUHJpbWFyeVwiIHN0eWxlPXtjc3NWYXJzfT5cclxuICAgICAgICB7bG9nbyAmJiAoXHJcbiAgICAgICAgICA8TGlua1xyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJwaWxsLWxvZ29cIlxyXG4gICAgICAgICAgICBocmVmPVwiI1wiXHJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJIb21lXCJcclxuICAgICAgICAgICAgb25Nb3VzZUVudGVyPXtoYW5kbGVMb2dvRW50ZXJ9XHJcbiAgICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXHJcbiAgICAgICAgICAgIHJlZj17bG9nb1JlZn1cclxuICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcclxuICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKHsgdG9wOiAwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpbWcgc3JjPXtsb2dvfSBhbHQ9e2xvZ29BbHR9IHJlZj17bG9nb0ltZ1JlZn0gLz5cclxuICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICApfVxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGlsbC1uYXYtaXRlbXMgZGVza3RvcC1vbmx5XCIgcmVmPXtuYXZJdGVtc1JlZn0+XHJcbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwicGlsbC1saXN0XCIgcm9sZT1cIm1lbnViYXJcIj5cclxuICAgICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaSkgPT4gKFxyXG4gICAgICAgICAgICAgIDxsaSBrZXk9e2l0ZW0uaHJlZiB8fCBgaXRlbS0ke2l9YH0gcm9sZT1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIHtpc0V4dGVybmFsTGluayhpdGVtLmhyZWYpID8gKFxyXG4gICAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YHBpbGwke2FjdGl2ZUhyZWYgPT09IGl0ZW0uaHJlZiA/ICcgaXMtYWN0aXZlJyA6ICcnfWB9XHJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17aXRlbS5hcmlhTGFiZWwgfHwgaXRlbS5sYWJlbH1cclxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9eygpID0+IGhhbmRsZUVudGVyKGkpfVxyXG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4gaGFuZGxlTGVhdmUoaSl9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaG92ZXItY2lyY2xlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICByZWY9e2VsID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2lyY2xlUmVmcy5jdXJyZW50W2ldID0gZWw7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibGFiZWwtc3RhY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInBpbGwtbGFiZWxcIj57aXRlbS5sYWJlbH08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJwaWxsLWxhYmVsLWhvdmVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgPExpbmtcclxuICAgICAgICAgICAgICAgICAgICByb2xlPVwibWVudWl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9e2l0ZW0uaHJlZn1cclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BwaWxsJHthY3RpdmVIcmVmID09PSBpdGVtLmhyZWYgPyAnIGlzLWFjdGl2ZScgOiAnJ31gfVxyXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2l0ZW0uYXJpYUxhYmVsIHx8IGl0ZW0ubGFiZWx9XHJcbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiBoYW5kbGVFbnRlcihpKX1cclxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlTGVhdmU9eygpID0+IGhhbmRsZUxlYXZlKGkpfVxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS5ocmVmLnN0YXJ0c1dpdGgoJyMnKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtLmhyZWYuc3Vic3RyaW5nKDEpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJob3Zlci1jaXJjbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHJlZj17ZWwgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjaXJjbGVSZWZzLmN1cnJlbnRbaV0gPSBlbDtcclxuICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJsYWJlbC1zdGFja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwicGlsbC1sYWJlbFwiPntpdGVtLmxhYmVsfTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInBpbGwtbGFiZWwtaG92ZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0ubGFiZWx9XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBjbGFzc05hbWU9XCJtb2JpbGUtbWVudS1idXR0b24gbW9iaWxlLW9ubHlcIlxyXG4gICAgICAgICAgb25DbGljaz17dG9nZ2xlTW9iaWxlTWVudX1cclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJUb2dnbGUgbWVudVwiXHJcbiAgICAgICAgICByZWY9e2hhbWJ1cmdlclJlZn1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJoYW1idXJnZXItbGluZVwiIC8+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJoYW1idXJnZXItbGluZVwiIC8+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbmF2PlxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vYmlsZS1tZW51LXBvcG92ZXIgbW9iaWxlLW9ubHlcIiByZWY9e21vYmlsZU1lbnVSZWZ9IHN0eWxlPXtjc3NWYXJzfT5cclxuICAgICAgICA8dWwgY2xhc3NOYW1lPVwibW9iaWxlLW1lbnUtbGlzdFwiPlxyXG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaSkgPT4gKFxyXG4gICAgICAgICAgICA8bGkga2V5PXtpdGVtLmhyZWYgfHwgYG1vYmlsZS1pdGVtLSR7aX1gfT5cclxuICAgICAgICAgICAgICB7aXNFeHRlcm5hbExpbmsoaXRlbS5ocmVmKSA/IChcclxuICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgIGhyZWY9e2l0ZW0uaHJlZn1cclxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbW9iaWxlLW1lbnUtbGluayR7YWN0aXZlSHJlZiA9PT0gaXRlbS5ocmVmID8gJyBpcy1hY3RpdmUnIDogJyd9YH1cclxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNNb2JpbGVNZW51T3BlbihmYWxzZSl9XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICA8TGlua1xyXG4gICAgICAgICAgICAgICAgICBocmVmPXtpdGVtLmhyZWZ9XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YG1vYmlsZS1tZW51LWxpbmske2FjdGl2ZUhyZWYgPT09IGl0ZW0uaHJlZiA/ICcgaXMtYWN0aXZlJyA6ICcnfWB9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXRJc01vYmlsZU1lbnVPcGVuKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS5ocmVmLnN0YXJ0c1dpdGgoJyMnKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGl0ZW0uaHJlZi5zdWJzdHJpbmcoMSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICApKX1cclxuICAgICAgICA8L3VsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICk7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBQaWxsTmF2O1xyXG5cclxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiTGluayIsImdzYXAiLCJQaWxsTmF2IiwibG9nbyIsImxvZ29BbHQiLCJpdGVtcyIsImFjdGl2ZUhyZWYiLCJjbGFzc05hbWUiLCJlYXNlIiwiYmFzZUNvbG9yIiwicGlsbENvbG9yIiwiaG92ZXJlZFBpbGxUZXh0Q29sb3IiLCJwaWxsVGV4dENvbG9yIiwib25Nb2JpbGVNZW51Q2xpY2siLCJpbml0aWFsTG9hZEFuaW1hdGlvbiIsInJlc29sdmVkUGlsbFRleHRDb2xvciIsImlzTW9iaWxlTWVudU9wZW4iLCJzZXRJc01vYmlsZU1lbnVPcGVuIiwiY2lyY2xlUmVmcyIsInRsUmVmcyIsImFjdGl2ZVR3ZWVuUmVmcyIsImxvZ29JbWdSZWYiLCJsb2dvVHdlZW5SZWYiLCJoYW1idXJnZXJSZWYiLCJtb2JpbGVNZW51UmVmIiwibmF2SXRlbXNSZWYiLCJsb2dvUmVmIiwiaGFzQW5pbWF0ZWRSZWYiLCJsYXlvdXQiLCJjdXJyZW50IiwiZm9yRWFjaCIsImNpcmNsZSIsInBhcmVudEVsZW1lbnQiLCJwaWxsIiwicmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIndpZHRoIiwidyIsImhlaWdodCIsImgiLCJSIiwiRCIsIk1hdGgiLCJjZWlsIiwiZGVsdGEiLCJzcXJ0IiwibWF4Iiwib3JpZ2luWSIsInN0eWxlIiwiYm90dG9tIiwic2V0IiwieFBlcmNlbnQiLCJzY2FsZSIsInRyYW5zZm9ybU9yaWdpbiIsImxhYmVsIiwicXVlcnlTZWxlY3RvciIsIndoaXRlIiwieSIsIm9wYWNpdHkiLCJpbmRleCIsImluZGV4T2YiLCJraWxsIiwidGwiLCJ0aW1lbGluZSIsInBhdXNlZCIsInRvIiwiZHVyYXRpb24iLCJvdmVyd3JpdGUiLCJvblJlc2l6ZSIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJkb2N1bWVudCIsImZvbnRzIiwicmVhZHkiLCJ0aGVuIiwiY2F0Y2giLCJtZW51IiwidmlzaWJpbGl0eSIsInNjYWxlWSIsImxvZ29FbCIsIm5hdkl0ZW1zIiwib3ZlcmZsb3ciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlRW50ZXIiLCJpIiwidHdlZW5UbyIsImhhbmRsZUxlYXZlIiwiaGFuZGxlTG9nb0VudGVyIiwiaW1nIiwicm90YXRlIiwidG9nZ2xlTW9iaWxlTWVudSIsIm5ld1N0YXRlIiwiaGFtYnVyZ2VyIiwibGluZXMiLCJxdWVyeVNlbGVjdG9yQWxsIiwicm90YXRpb24iLCJmcm9tVG8iLCJvbkNvbXBsZXRlIiwiaXNFeHRlcm5hbExpbmsiLCJocmVmIiwic3RhcnRzV2l0aCIsImNzc1ZhcnMiLCJkaXYiLCJuYXYiLCJhcmlhLWxhYmVsIiwib25Nb3VzZUVudGVyIiwicm9sZSIsInJlZiIsIm9uQ2xpY2siLCJlIiwicHJldmVudERlZmF1bHQiLCJzY3JvbGxUbyIsInRvcCIsImJlaGF2aW9yIiwic3JjIiwiYWx0IiwidWwiLCJtYXAiLCJpdGVtIiwibGkiLCJhIiwiYXJpYUxhYmVsIiwib25Nb3VzZUxlYXZlIiwic3BhbiIsImFyaWEtaGlkZGVuIiwiZWwiLCJlbGVtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJzdWJzdHJpbmciLCJzY3JvbGxJbnRvVmlldyIsImJ1dHRvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./components/PillNav.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/PriceCalculator.tsx": +/*!****************************************!*\ + !*** ./components/PriceCalculator.tsx ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ PriceCalculator)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./components/ui/button.tsx\");\n/* harmony import */ var _components_ui_checkbox__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/checkbox */ \"(ssr)/./components/ui/checkbox.tsx\");\n/* harmony import */ var _components_ui_textarea__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/textarea */ \"(ssr)/./components/ui/textarea.tsx\");\n/* harmony import */ var _components_ui_collapsible__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/collapsible */ \"(ssr)/./components/ui/collapsible.tsx\");\n/* harmony import */ var _components_ui_tooltip__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/tooltip */ \"(ssr)/./components/ui/tooltip.tsx\");\n/* harmony import */ var _barrel_optimize_names_Calculator_ChevronDown_ChevronUp_Loader2_Info_HelpCircle_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Calculator,ChevronDown,ChevronUp,Loader2,Info,HelpCircle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/calculator.js\");\n/* harmony import */ var _barrel_optimize_names_Calculator_ChevronDown_ChevronUp_Loader2_Info_HelpCircle_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Calculator,ChevronDown,ChevronUp,Loader2,Info,HelpCircle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-up.js\");\n/* harmony import */ var _barrel_optimize_names_Calculator_ChevronDown_ChevronUp_Loader2_Info_HelpCircle_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Calculator,ChevronDown,ChevronUp,Loader2,Info,HelpCircle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js\");\n/* harmony import */ var _barrel_optimize_names_Calculator_ChevronDown_ChevronUp_Loader2_Info_HelpCircle_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Calculator,ChevronDown,ChevronUp,Loader2,Info,HelpCircle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-help.js\");\n/* harmony import */ var _barrel_optimize_names_Calculator_ChevronDown_ChevronUp_Loader2_Info_HelpCircle_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Calculator,ChevronDown,ChevronUp,Loader2,Info,HelpCircle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/info.js\");\n/* harmony import */ var _barrel_optimize_names_Calculator_ChevronDown_ChevronUp_Loader2_Info_HelpCircle_lucide_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! __barrel_optimize__?names=Calculator,ChevronDown,ChevronUp,Loader2,Info,HelpCircle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* harmony import */ var _lib_colors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/lib/colors */ \"(ssr)/./lib/colors.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\n\nconst services = [\n {\n id: \"seo\",\n label: \"SEO-Optimierung\",\n tooltip: \"Suchmaschinenoptimierung f\\xfcr bessere Sichtbarkeit in Google & Co.\"\n },\n {\n id: \"database\",\n label: \"Datenbank-Anbindung\",\n tooltip: \"Verbindung zu bestehenden Datenbanken oder neue Datenbankstrukturen\"\n },\n {\n id: \"ai\",\n label: \"KI-Integration\",\n tooltip: \"K\\xfcnstliche Intelligenz f\\xfcr Chatbots, Empfehlungssysteme oder Automatisierung\"\n },\n {\n id: \"responsive\",\n label: \"Responsives Design\",\n tooltip: \"Optimale Darstellung auf allen Ger\\xe4ten: Desktop, Tablet, Smartphone\"\n },\n {\n id: \"social\",\n label: \"Social-Media-Verkn\\xfcpfung\",\n tooltip: \"Integration von Social Media Feeds und Sharing-Funktionen\"\n },\n {\n id: \"payment\",\n label: \"Zahlungsmethoden\",\n tooltip: \"Sichere Online-Zahlungen mit PayPal, Kreditkarte, SEPA & Co.\"\n },\n {\n id: \"analytics\",\n label: \"Nutzeranalyse & Tracking\",\n tooltip: \"Google Analytics, Conversion-Tracking und detaillierte Besucherstatistiken\"\n },\n {\n id: \"domain\",\n label: \"Domainverwaltung\",\n tooltip: \"Professionelle Domain-Einrichtung und DNS-Konfiguration\"\n },\n {\n id: \"strategy\",\n label: \"Strategieberatung\",\n tooltip: \"Digitale Strategie, Zielgruppenanalyse und Wettbewerbsanalyse\"\n },\n {\n id: \"app\",\n label: \"App-Entwicklung\",\n tooltip: \"Native oder Progressive Web Apps f\\xfcr iOS und Android\"\n }\n];\nconst subscriptionServices = [\n {\n id: \"content\",\n label: \"Content-Pflege\",\n tooltip: \"Regelm\\xe4\\xdfige Aktualisierung von Texten, Bildern und Inhalten\"\n },\n {\n id: \"newsletter\",\n label: \"Newsletter-Versand & Pflege\",\n tooltip: \"Professionelle Newsletter-Erstellung, Versand und Analyse\"\n },\n {\n id: \"landingpage\",\n label: \"Landingpage-Erstellung (1x/Monat)\",\n tooltip: \"Conversion-optimierte Landingpages f\\xfcr Kampagnen und Aktionen\"\n },\n {\n id: \"blog\",\n label: \"Blog-Pflege\",\n tooltip: \"Regelm\\xe4\\xdfige Blogartikel, SEO-Optimierung und Community-Management\"\n },\n {\n id: \"domain_redirects\",\n label: \"Domainverwaltung & Umleitungen\",\n tooltip: \"Professionelle Domain-Verwaltung, Weiterleitungen und DNS-Management\"\n }\n];\nfunction PriceCalculator({ onPriceCalculated }) {\n const [isOpen, setIsOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [isLoading, setIsLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [formData, setFormData] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n pages: 1,\n services: [],\n express: false,\n subscription: [],\n specialRequirements: \"\"\n });\n const [result, setResult] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const handleServiceChange = (serviceId, checked)=>{\n setFormData((prev)=>({\n ...prev,\n services: checked ? [\n ...prev.services,\n serviceId\n ] : prev.services.filter((id)=>id !== serviceId)\n }));\n };\n const handleSubscriptionChange = (serviceId, checked)=>{\n setFormData((prev)=>({\n ...prev,\n subscription: checked ? [\n ...prev.subscription,\n serviceId\n ] : prev.subscription.filter((id)=>id !== serviceId)\n }));\n };\n const generatePrompt = ()=>{\n const selectedServices = services.filter((service)=>formData.services.includes(service.id));\n const selectedSubscriptions = subscriptionServices.filter((service)=>formData.subscription.includes(service.id));\n const additionalServices = selectedServices.length > 0 ? selectedServices.map((s)=>s.label).join(\", \") : \"Keine zus\\xe4tzlichen Leistungen ausgew\\xe4hlt\";\n const ongoingServices = selectedSubscriptions.length > 0 ? selectedSubscriptions.map((s)=>s.label).join(\", \") : \"Keine laufenden Services ausgew\\xe4hlt\";\n return `Du bist eine intelligente Webprojekt-KI, die Kunden bei der Preisabschätzung für professionelle Websites unterstützt. Analysiere die vom Kunden angegebenen Wünsche und gib einen geschätzten Preisrahmen in Euro aus, basierend auf Komplexität, Umfang und Zusatzleistungen.\r\n\r\nWichtige Regeln:\r\n– Die Basiswebsite beginnt bei 300 €\r\n– Mehr Seiten erhöhen den Preis moderat\r\n– Express-Lieferung kostet +30 % Aufpreis\r\n– Je mehr Leistungen ausgewählt werden, desto effizienter kann gearbeitet werden ⇒ kleine Mengenrabatte möglich\r\n– Laufende Services bedeuten monatliche Zusatzkosten (nicht im Grundpreis enthalten)\r\n– Alle Preise sind unverbindliche Schätzungen\r\n\r\nZiel: Der Kunde soll eine ehrliche und transparente Einschätzung bekommen – nicht zu hoch, aber auch nicht unter Wert.\r\n\r\n⸻\r\n\r\nKundeneingaben\r\nSeitenanzahl: ${formData.pages}\r\n\r\nZusätzliche Leistungen:\r\n${additionalServices}\r\n\r\nLaufende Services:\r\n${ongoingServices}\r\n\r\nExpress-Lieferung gewünscht?\r\n${formData.express ? \"Ja\" : \"Nein\"}\r\n\r\nBesondere Wünsche / Anforderungen:\r\n${formData.specialRequirements || \"Keine besonderen W\\xfcnsche angegeben\"}\r\n\r\n⸻\r\n\r\nBitte liefere als Antwort:\r\n– Eine realistische Preisspanne in Euro (z. B. 750–950 €)\r\n– Eine kurze Begründung (1–2 Sätze)\r\n– Hinweis auf Beratungsgespräch für verbindliches Angebot`;\n };\n const calculateLocalPrice = ()=>{\n let basePrice = 300; // Basis-Website\n // Preis pro Seite (ab der 2. Seite)\n if (formData.pages > 1) {\n basePrice += (formData.pages - 1) * 50;\n }\n // Zusatzleistungen\n const selectedServices = services.filter((service)=>formData.services.includes(service.id));\n const servicePrices = {\n \"seo\": 150,\n \"database\": 200,\n \"ai\": 300,\n \"responsive\": 100,\n \"social\": 80,\n \"payment\": 120,\n \"analytics\": 90,\n \"domain\": 60,\n \"strategy\": 180,\n \"app\": 400\n };\n let servicesCost = 0;\n selectedServices.forEach((service)=>{\n servicesCost += servicePrices[service.id] || 0;\n });\n // Mengenrabatt für mehrere Leistungen\n if (selectedServices.length > 2) {\n servicesCost *= 0.9; // 10% Rabatt ab 3 Leistungen\n }\n // Express-Lieferung\n let totalPrice = basePrice + servicesCost;\n if (formData.express) {\n totalPrice *= 1.3; // +30% für Express\n }\n // Preisspanne (10% Variation)\n const variation = totalPrice * 0.1;\n const minPrice = Math.round(totalPrice - variation);\n const maxPrice = Math.round(totalPrice + variation);\n return {\n price: `${minPrice}–${maxPrice}€`,\n details: `Basierend auf ${formData.pages} Seiten und ${selectedServices.length} Zusatzleistungen. ${formData.express ? \"Express-Lieferung inklusive.\" : \"\"}`\n };\n };\n const calculatePrice = async ()=>{\n setIsLoading(true);\n try {\n const prompt = generatePrompt();\n console.log(\"Sending API request with prompt:\", prompt);\n const response = await fetch(\"/api/calculate-price\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n prompt: prompt\n })\n });\n console.log(\"Response status:\", response.status);\n if (!response.ok) {\n const errorText = await response.text();\n console.error(\"API Error Response:\", errorText);\n // Fallback zur lokalen Preisberechnung\n console.log(\"Using local price calculation as fallback\");\n const localResult = calculateLocalPrice();\n setResult(localResult);\n onPriceCalculated?.(localResult.price, localResult.details);\n return;\n }\n const data = await response.json();\n console.log(\"API Response data:\", data);\n const aiResponse = data.choices?.[0]?.message?.content || data.choices?.[0]?.text || \"Preis konnte nicht berechnet werden\";\n console.log(\"AI Response:\", aiResponse);\n // Extract price range and details\n const priceMatch = aiResponse.match(/(\\d+[-–]\\d+€)/);\n const price = priceMatch ? priceMatch[1] : \"Preis auf Anfrage\";\n const details = aiResponse.replace(priceMatch?.[0] || \"\", \"\").trim();\n const result = {\n price,\n details\n };\n setResult(result);\n onPriceCalculated?.(price, details);\n } catch (error) {\n console.error(\"Error calculating price:\", error);\n // Fallback zur lokalen Preisberechnung\n console.log(\"Using local price calculation as fallback due to error\");\n const localResult = calculateLocalPrice();\n setResult(localResult);\n onPriceCalculated?.(localResult.price, localResult.details);\n } finally{\n setIsLoading(false);\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full max-w-4xl mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_collapsible__WEBPACK_IMPORTED_MODULE_5__.Collapsible, {\n open: isOpen,\n onOpenChange: setIsOpen,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_collapsible__WEBPACK_IMPORTED_MODULE_5__.CollapsibleTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n size: \"lg\",\n className: \"w-full px-8 py-4 rounded-full text-lg font-semibold shadow-xl hover:scale-105 transition-all duration-300 flex items-center justify-center space-x-2\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.primary,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.background\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Calculator_ChevronDown_ChevronUp_Loader2_Info_HelpCircle_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 297,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Preis kalkulieren\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 298,\n columnNumber: 13\n }, this),\n isOpen ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Calculator_ChevronDown_ChevronUp_Loader2_Info_HelpCircle_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 299,\n columnNumber: 23\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Calculator_ChevronDown_ChevronUp_Loader2_Info_HelpCircle_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 299,\n columnNumber: 59\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 289,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 288,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_collapsible__WEBPACK_IMPORTED_MODULE_5__.CollapsibleContent, {\n className: \"mt-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative overflow-hidden rounded-3xl shadow-2xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-8 sm:p-12\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.background}F0`\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-2xl sm:text-3xl font-bold mb-8 text-center\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.primary\n },\n children: \"Kalkuliere deinen individuellen Preis mit wenigen Klicks\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 307,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block text-lg font-semibold mb-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.primary\n },\n children: [\n \"Anzahl der Seiten: \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-bold\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.secondary\n },\n children: formData.pages\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 315,\n columnNumber: 40\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 314,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center space-x-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"range\",\n min: \"1\",\n max: \"10\",\n value: formData.pages,\n onChange: (e)=>setFormData((prev)=>({\n ...prev,\n pages: parseInt(e.target.value)\n })),\n className: \"flex-1 h-3 rounded-lg appearance-none cursor-pointer\",\n style: {\n background: `linear-gradient(to right, ${_lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.secondary} 0%, ${_lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.secondary} ${(formData.pages - 1) * 11.11}%, ${_lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.tertiary} ${(formData.pages - 1) * 11.11}%, ${_lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.tertiary} 100%)`\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 318,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-lg font-bold min-w-[3rem] text-center\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.secondary\n },\n children: formData.pages\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 329,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 317,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between text-sm mt-2\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.primary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"1\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 334,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"10\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 335,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 333,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 313,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block text-lg font-semibold mb-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.primary\n },\n children: \"Zus\\xe4tzliche Leistungen\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 341,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-2 gap-4\",\n children: services.map((service)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tooltip__WEBPACK_IMPORTED_MODULE_6__.TooltipProvider, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tooltip__WEBPACK_IMPORTED_MODULE_6__.Tooltip, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tooltip__WEBPACK_IMPORTED_MODULE_6__.TooltipTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center space-x-3 p-3 rounded-lg hover:bg-white/20 transition-colors cursor-pointer\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_checkbox__WEBPACK_IMPORTED_MODULE_3__.Checkbox, {\n id: service.id,\n checked: formData.services.includes(service.id),\n onCheckedChange: (checked)=>handleServiceChange(service.id, checked),\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 350,\n columnNumber: 31\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: service.id,\n className: \"text-lg cursor-pointer flex-1\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.primary\n },\n children: service.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 356,\n columnNumber: 31\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Calculator_ChevronDown_ChevronUp_Loader2_Info_HelpCircle_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"w-4 h-4 opacity-60\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.secondary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 359,\n columnNumber: 31\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 349,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 348,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tooltip__WEBPACK_IMPORTED_MODULE_6__.TooltipContent, {\n className: \"max-w-xs\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: service.tooltip\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 363,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 362,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 347,\n columnNumber: 25\n }, this)\n }, service.id, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 346,\n columnNumber: 23\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 344,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 340,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center space-x-3 p-4 rounded-lg hover:bg-white/20 transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_checkbox__WEBPACK_IMPORTED_MODULE_3__.Checkbox, {\n id: \"express\",\n checked: formData.express,\n onCheckedChange: (checked)=>setFormData((prev)=>({\n ...prev,\n express: checked\n })),\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 373,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"express\",\n className: \"text-lg cursor-pointer\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.primary\n },\n children: \"Express-Lieferung\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 379,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 372,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block text-lg font-semibold mb-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.primary\n },\n children: \"Laufende Services (optional)\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 386,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3\",\n children: subscriptionServices.map((service)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tooltip__WEBPACK_IMPORTED_MODULE_6__.TooltipProvider, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tooltip__WEBPACK_IMPORTED_MODULE_6__.Tooltip, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tooltip__WEBPACK_IMPORTED_MODULE_6__.TooltipTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center space-x-3 p-3 rounded-lg hover:bg-white/20 transition-colors cursor-pointer\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_checkbox__WEBPACK_IMPORTED_MODULE_3__.Checkbox, {\n id: service.id,\n checked: formData.subscription.includes(service.id),\n onCheckedChange: (checked)=>handleSubscriptionChange(service.id, checked),\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 395,\n columnNumber: 31\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: service.id,\n className: \"text-lg cursor-pointer flex-1\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.primary\n },\n children: service.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 401,\n columnNumber: 31\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Calculator_ChevronDown_ChevronUp_Loader2_Info_HelpCircle_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"w-4 h-4 opacity-60\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.secondary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 404,\n columnNumber: 31\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 394,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 393,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tooltip__WEBPACK_IMPORTED_MODULE_6__.TooltipContent, {\n className: \"max-w-xs\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: service.tooltip\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 408,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 407,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 392,\n columnNumber: 25\n }, this)\n }, service.id, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 391,\n columnNumber: 23\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 389,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 385,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 311,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 306,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative h-8\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.background}F0`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"absolute bottom-0 w-full h-full\",\n viewBox: \"0 0 1200 120\",\n preserveAspectRatio: \"none\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.primary\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M0,0 C300,120 900,120 1200,0 L1200,120 L0,120 Z\",\n fill: \"currentColor\",\n fillOpacity: \"0.1\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 426,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 420,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 419,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-8 sm:p-12\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.primary}F0`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"block text-lg font-semibold mb-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.background\n },\n children: \"Haben Sie besondere W\\xfcnsche oder Anforderungen (optional, nicht verpflichtend)?\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 439,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_textarea__WEBPACK_IMPORTED_MODULE_4__.Textarea, {\n value: formData.specialRequirements,\n onChange: (e)=>setFormData((prev)=>({\n ...prev,\n specialRequirements: e.target.value\n })),\n placeholder: \"Welche Funktionen oder Strukturen sind Ihnen wichtig? Beispiele: Mitgliederbereich, Projektverwaltung, dynamischer Produktfilter, interne Datenbankpflege, mehrsprachige Inhalte.\",\n className: \"w-full p-4 text-lg resize-none\",\n rows: 4,\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.background}20`,\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.background,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.background\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 442,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 438,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4 rounded-lg\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.background}20`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Calculator_ChevronDown_ChevronUp_Loader2_Info_HelpCircle_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"w-5 h-5 mt-1 flex-shrink-0\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.tertiary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 459,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.background\n },\n children: \"Diese Leistungen sind bei jeder Website automatisch enthalten: Hosting, Wartung, technischer Support, SEO-Grundoptimierung, Performance-Check und eine pers\\xf6nliche Quartalsberatung.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 460,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 458,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 457,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n onClick: calculatePrice,\n disabled: isLoading,\n size: \"lg\",\n className: \"w-full px-8 py-4 rounded-full text-lg font-semibold shadow-xl hover:scale-105 transition-all duration-300 flex items-center justify-center space-x-2\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.tertiary,\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.primary\n },\n children: isLoading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Calculator_ChevronDown_ChevronUp_Loader2_Info_HelpCircle_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"w-5 h-5 animate-spin\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 479,\n columnNumber: 23\n }, this),\n \"Berechne Preis...\"\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Calculator_ChevronDown_ChevronUp_Loader2_Info_HelpCircle_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 484,\n columnNumber: 23\n }, this),\n \"Preis berechnen\"\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 467,\n columnNumber: 17\n }, this),\n result && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 p-6 rounded-xl border-2\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.tertiary}20`,\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.tertiary\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"text-xl font-semibold mb-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.tertiary\n },\n children: [\n \"Gesch\\xe4tzter Preis: \",\n result.price\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 497,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg mb-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.background\n },\n children: result.details\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 500,\n columnNumber: 21\n }, this),\n formData.subscription.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg font-medium mb-4\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.tertiary\n },\n children: \"+200€/Monat f\\xfcr laufende Services\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 504,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_7__.colors.background\n },\n children: \"Dies ist ein Richtwert. Im Beratungsgespr\\xe4ch kl\\xe4ren wir alle Details und finden eine L\\xf6sung, die zu Ihrem Budget passt.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 508,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 492,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 436,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 435,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 304,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 303,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 287,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\PriceCalculator.tsx\",\n lineNumber: 286,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Ozs7Ozs7Ozs7Ozs7Ozs7O0FBWWhGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vY29tcG9uZW50cy9QcmljZUNhbGN1bGF0b3IudHN4PzZmNmIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XHJcbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgQ2hlY2tib3ggfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBUZXh0YXJlYSB9IGZyb20gJ0AvY29tcG9uZW50cy91aS90ZXh0YXJlYSc7XHJcbmltcG9ydCB7IENvbGxhcHNpYmxlLCBDb2xsYXBzaWJsZUNvbnRlbnQsIENvbGxhcHNpYmxlVHJpZ2dlciB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9jb2xsYXBzaWJsZSc7XHJcbmltcG9ydCB7IFRvb2x0aXAsIFRvb2x0aXBDb250ZW50LCBUb29sdGlwUHJvdmlkZXIsIFRvb2x0aXBUcmlnZ2VyIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBDYWxjdWxhdG9yLCBDaGV2cm9uRG93biwgQ2hldnJvblVwLCBMb2FkZXIyLCBJbmZvLCBIZWxwQ2lyY2xlIH0gZnJvbSAnbHVjaWRlLXJlYWN0JztcclxuaW1wb3J0IHsgY29sb3JzIH0gZnJvbSAnQC9saWIvY29sb3JzJztcclxuXHJcbmludGVyZmFjZSBQcmljZUNhbGN1bGF0b3JQcm9wcyB7XHJcbiAgb25QcmljZUNhbGN1bGF0ZWQ/OiAocHJpY2U6IHN0cmluZywgZGV0YWlsczogc3RyaW5nKSA9PiB2b2lkO1xyXG59XHJcblxyXG5jb25zdCBzZXJ2aWNlcyA9IFtcclxuICB7IFxyXG4gICAgaWQ6ICdzZW8nLCBcclxuICAgIGxhYmVsOiAnU0VPLU9wdGltaWVydW5nJyxcclxuICAgIHRvb2x0aXA6ICdTdWNobWFzY2hpbmVub3B0aW1pZXJ1bmcgZsO8ciBiZXNzZXJlIFNpY2h0YmFya2VpdCBpbiBHb29nbGUgJiBDby4nXHJcbiAgfSxcclxuICB7IFxyXG4gICAgaWQ6ICdkYXRhYmFzZScsIFxyXG4gICAgbGFiZWw6ICdEYXRlbmJhbmstQW5iaW5kdW5nJyxcclxuICAgIHRvb2x0aXA6ICdWZXJiaW5kdW5nIHp1IGJlc3RlaGVuZGVuIERhdGVuYmFua2VuIG9kZXIgbmV1ZSBEYXRlbmJhbmtzdHJ1a3R1cmVuJ1xyXG4gIH0sXHJcbiAgeyBcclxuICAgIGlkOiAnYWknLCBcclxuICAgIGxhYmVsOiAnS0ktSW50ZWdyYXRpb24nLFxyXG4gICAgdG9vbHRpcDogJ0vDvG5zdGxpY2hlIEludGVsbGlnZW56IGbDvHIgQ2hhdGJvdHMsIEVtcGZlaGx1bmdzc3lzdGVtZSBvZGVyIEF1dG9tYXRpc2llcnVuZydcclxuICB9LFxyXG4gIHsgXHJcbiAgICBpZDogJ3Jlc3BvbnNpdmUnLCBcclxuICAgIGxhYmVsOiAnUmVzcG9uc2l2ZXMgRGVzaWduJyxcclxuICAgIHRvb2x0aXA6ICdPcHRpbWFsZSBEYXJzdGVsbHVuZyBhdWYgYWxsZW4gR2Vyw6R0ZW46IERlc2t0b3AsIFRhYmxldCwgU21hcnRwaG9uZSdcclxuICB9LFxyXG4gIHsgXHJcbiAgICBpZDogJ3NvY2lhbCcsIFxyXG4gICAgbGFiZWw6ICdTb2NpYWwtTWVkaWEtVmVya27DvHBmdW5nJyxcclxuICAgIHRvb2x0aXA6ICdJbnRlZ3JhdGlvbiB2b24gU29jaWFsIE1lZGlhIEZlZWRzIHVuZCBTaGFyaW5nLUZ1bmt0aW9uZW4nXHJcbiAgfSxcclxuICB7IFxyXG4gICAgaWQ6ICdwYXltZW50JywgXHJcbiAgICBsYWJlbDogJ1phaGx1bmdzbWV0aG9kZW4nLFxyXG4gICAgdG9vbHRpcDogJ1NpY2hlcmUgT25saW5lLVphaGx1bmdlbiBtaXQgUGF5UGFsLCBLcmVkaXRrYXJ0ZSwgU0VQQSAmIENvLidcclxuICB9LFxyXG4gIHsgXHJcbiAgICBpZDogJ2FuYWx5dGljcycsIFxyXG4gICAgbGFiZWw6ICdOdXR6ZXJhbmFseXNlICYgVHJhY2tpbmcnLFxyXG4gICAgdG9vbHRpcDogJ0dvb2dsZSBBbmFseXRpY3MsIENvbnZlcnNpb24tVHJhY2tpbmcgdW5kIGRldGFpbGxpZXJ0ZSBCZXN1Y2hlcnN0YXRpc3Rpa2VuJ1xyXG4gIH0sXHJcbiAgeyBcclxuICAgIGlkOiAnZG9tYWluJywgXHJcbiAgICBsYWJlbDogJ0RvbWFpbnZlcndhbHR1bmcnLFxyXG4gICAgdG9vbHRpcDogJ1Byb2Zlc3Npb25lbGxlIERvbWFpbi1FaW5yaWNodHVuZyB1bmQgRE5TLUtvbmZpZ3VyYXRpb24nXHJcbiAgfSxcclxuICB7IFxyXG4gICAgaWQ6ICdzdHJhdGVneScsIFxyXG4gICAgbGFiZWw6ICdTdHJhdGVnaWViZXJhdHVuZycsXHJcbiAgICB0b29sdGlwOiAnRGlnaXRhbGUgU3RyYXRlZ2llLCBaaWVsZ3J1cHBlbmFuYWx5c2UgdW5kIFdldHRiZXdlcmJzYW5hbHlzZSdcclxuICB9LFxyXG4gIHsgXHJcbiAgICBpZDogJ2FwcCcsIFxyXG4gICAgbGFiZWw6ICdBcHAtRW50d2lja2x1bmcnLFxyXG4gICAgdG9vbHRpcDogJ05hdGl2ZSBvZGVyIFByb2dyZXNzaXZlIFdlYiBBcHBzIGbDvHIgaU9TIHVuZCBBbmRyb2lkJ1xyXG4gIH1cclxuXTtcclxuXHJcbmNvbnN0IHN1YnNjcmlwdGlvblNlcnZpY2VzID0gW1xyXG4gIHsgXHJcbiAgICBpZDogJ2NvbnRlbnQnLCBcclxuICAgIGxhYmVsOiAnQ29udGVudC1QZmxlZ2UnLFxyXG4gICAgdG9vbHRpcDogJ1JlZ2VsbcOkw59pZ2UgQWt0dWFsaXNpZXJ1bmcgdm9uIFRleHRlbiwgQmlsZGVybiB1bmQgSW5oYWx0ZW4nXHJcbiAgfSxcclxuICB7IFxyXG4gICAgaWQ6ICduZXdzbGV0dGVyJywgXHJcbiAgICBsYWJlbDogJ05ld3NsZXR0ZXItVmVyc2FuZCAmIFBmbGVnZScsXHJcbiAgICB0b29sdGlwOiAnUHJvZmVzc2lvbmVsbGUgTmV3c2xldHRlci1FcnN0ZWxsdW5nLCBWZXJzYW5kIHVuZCBBbmFseXNlJ1xyXG4gIH0sXHJcbiAgeyBcclxuICAgIGlkOiAnbGFuZGluZ3BhZ2UnLCBcclxuICAgIGxhYmVsOiAnTGFuZGluZ3BhZ2UtRXJzdGVsbHVuZyAoMXgvTW9uYXQpJyxcclxuICAgIHRvb2x0aXA6ICdDb252ZXJzaW9uLW9wdGltaWVydGUgTGFuZGluZ3BhZ2VzIGbDvHIgS2FtcGFnbmVuIHVuZCBBa3Rpb25lbidcclxuICB9LFxyXG4gIHsgXHJcbiAgICBpZDogJ2Jsb2cnLCBcclxuICAgIGxhYmVsOiAnQmxvZy1QZmxlZ2UnLFxyXG4gICAgdG9vbHRpcDogJ1JlZ2VsbcOkw59pZ2UgQmxvZ2FydGlrZWwsIFNFTy1PcHRpbWllcnVuZyB1bmQgQ29tbXVuaXR5LU1hbmFnZW1lbnQnXHJcbiAgfSxcclxuICB7IFxyXG4gICAgaWQ6ICdkb21haW5fcmVkaXJlY3RzJywgXHJcbiAgICBsYWJlbDogJ0RvbWFpbnZlcndhbHR1bmcgJiBVbWxlaXR1bmdlbicsXHJcbiAgICB0b29sdGlwOiAnUHJvZmVzc2lvbmVsbGUgRG9tYWluLVZlcndhbHR1bmcsIFdlaXRlcmxlaXR1bmdlbiB1bmQgRE5TLU1hbmFnZW1lbnQnXHJcbiAgfVxyXG5dO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUHJpY2VDYWxjdWxhdG9yKHsgb25QcmljZUNhbGN1bGF0ZWQgfTogUHJpY2VDYWxjdWxhdG9yUHJvcHMpIHtcclxuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgY29uc3QgW2Zvcm1EYXRhLCBzZXRGb3JtRGF0YV0gPSB1c2VTdGF0ZSh7XHJcbiAgICBwYWdlczogMSxcclxuICAgIHNlcnZpY2VzOiBbXSBhcyBzdHJpbmdbXSxcclxuICAgIGV4cHJlc3M6IGZhbHNlLFxyXG4gICAgc3Vic2NyaXB0aW9uOiBbXSBhcyBzdHJpbmdbXSxcclxuICAgIHNwZWNpYWxSZXF1aXJlbWVudHM6ICcnXHJcbiAgfSk7XHJcbiAgY29uc3QgW3Jlc3VsdCwgc2V0UmVzdWx0XSA9IHVzZVN0YXRlPHsgcHJpY2U6IHN0cmluZzsgZGV0YWlsczogc3RyaW5nIH0gfCBudWxsPihudWxsKTtcclxuXHJcbiAgY29uc3QgaGFuZGxlU2VydmljZUNoYW5nZSA9IChzZXJ2aWNlSWQ6IHN0cmluZywgY2hlY2tlZDogYm9vbGVhbikgPT4ge1xyXG4gICAgc2V0Rm9ybURhdGEocHJldiA9PiAoe1xyXG4gICAgICAuLi5wcmV2LFxyXG4gICAgICBzZXJ2aWNlczogY2hlY2tlZCBcclxuICAgICAgICA/IFsuLi5wcmV2LnNlcnZpY2VzLCBzZXJ2aWNlSWRdXHJcbiAgICAgICAgOiBwcmV2LnNlcnZpY2VzLmZpbHRlcihpZCA9PiBpZCAhPT0gc2VydmljZUlkKVxyXG4gICAgfSkpO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0IGhhbmRsZVN1YnNjcmlwdGlvbkNoYW5nZSA9IChzZXJ2aWNlSWQ6IHN0cmluZywgY2hlY2tlZDogYm9vbGVhbikgPT4ge1xyXG4gICAgc2V0Rm9ybURhdGEocHJldiA9PiAoe1xyXG4gICAgICAuLi5wcmV2LFxyXG4gICAgICBzdWJzY3JpcHRpb246IGNoZWNrZWQgXHJcbiAgICAgICAgPyBbLi4ucHJldi5zdWJzY3JpcHRpb24sIHNlcnZpY2VJZF1cclxuICAgICAgICA6IHByZXYuc3Vic2NyaXB0aW9uLmZpbHRlcihpZCA9PiBpZCAhPT0gc2VydmljZUlkKVxyXG4gICAgfSkpO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0IGdlbmVyYXRlUHJvbXB0ID0gKCkgPT4ge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRTZXJ2aWNlcyA9IHNlcnZpY2VzLmZpbHRlcihzZXJ2aWNlID0+IGZvcm1EYXRhLnNlcnZpY2VzLmluY2x1ZGVzKHNlcnZpY2UuaWQpKTtcclxuICAgIGNvbnN0IHNlbGVjdGVkU3Vic2NyaXB0aW9ucyA9IHN1YnNjcmlwdGlvblNlcnZpY2VzLmZpbHRlcihzZXJ2aWNlID0+IGZvcm1EYXRhLnN1YnNjcmlwdGlvbi5pbmNsdWRlcyhzZXJ2aWNlLmlkKSk7XHJcbiAgICBcclxuICAgIGNvbnN0IGFkZGl0aW9uYWxTZXJ2aWNlcyA9IHNlbGVjdGVkU2VydmljZXMubGVuZ3RoID4gMCBcclxuICAgICAgPyBzZWxlY3RlZFNlcnZpY2VzLm1hcChzID0+IHMubGFiZWwpLmpvaW4oJywgJylcclxuICAgICAgOiAnS2VpbmUgenVzw6R0emxpY2hlbiBMZWlzdHVuZ2VuIGF1c2dld8OkaGx0JztcclxuICAgIFxyXG4gICAgY29uc3Qgb25nb2luZ1NlcnZpY2VzID0gc2VsZWN0ZWRTdWJzY3JpcHRpb25zLmxlbmd0aCA+IDBcclxuICAgICAgPyBzZWxlY3RlZFN1YnNjcmlwdGlvbnMubWFwKHMgPT4gcy5sYWJlbCkuam9pbignLCAnKVxyXG4gICAgICA6ICdLZWluZSBsYXVmZW5kZW4gU2VydmljZXMgYXVzZ2V3w6RobHQnO1xyXG5cclxuICAgIHJldHVybiBgRHUgYmlzdCBlaW5lIGludGVsbGlnZW50ZSBXZWJwcm9qZWt0LUtJLCBkaWUgS3VuZGVuIGJlaSBkZXIgUHJlaXNhYnNjaMOkdHp1bmcgZsO8ciBwcm9mZXNzaW9uZWxsZSBXZWJzaXRlcyB1bnRlcnN0w7x0enQuIEFuYWx5c2llcmUgZGllIHZvbSBLdW5kZW4gYW5nZWdlYmVuZW4gV8O8bnNjaGUgdW5kIGdpYiBlaW5lbiBnZXNjaMOkdHp0ZW4gUHJlaXNyYWhtZW4gaW4gRXVybyBhdXMsIGJhc2llcmVuZCBhdWYgS29tcGxleGl0w6R0LCBVbWZhbmcgdW5kIFp1c2F0emxlaXN0dW5nZW4uXHJcblxyXG5XaWNodGlnZSBSZWdlbG46XHJcbuKAkyBEaWUgQmFzaXN3ZWJzaXRlIGJlZ2lubnQgYmVpIDMwMCDigqxcclxu4oCTIE1laHIgU2VpdGVuIGVyaMO2aGVuIGRlbiBQcmVpcyBtb2RlcmF0XHJcbuKAkyBFeHByZXNzLUxpZWZlcnVuZyBrb3N0ZXQgKzMwICUgQXVmcHJlaXNcclxu4oCTIEplIG1laHIgTGVpc3R1bmdlbiBhdXNnZXfDpGhsdCB3ZXJkZW4sIGRlc3RvIGVmZml6aWVudGVyIGthbm4gZ2VhcmJlaXRldCB3ZXJkZW4g4oeSIGtsZWluZSBNZW5nZW5yYWJhdHRlIG3DtmdsaWNoXHJcbuKAkyBMYXVmZW5kZSBTZXJ2aWNlcyBiZWRldXRlbiBtb25hdGxpY2hlIFp1c2F0emtvc3RlbiAobmljaHQgaW0gR3J1bmRwcmVpcyBlbnRoYWx0ZW4pXHJcbuKAkyBBbGxlIFByZWlzZSBzaW5kIHVudmVyYmluZGxpY2hlIFNjaMOkdHp1bmdlblxyXG5cclxuWmllbDogRGVyIEt1bmRlIHNvbGwgZWluZSBlaHJsaWNoZSB1bmQgdHJhbnNwYXJlbnRlIEVpbnNjaMOkdHp1bmcgYmVrb21tZW4g4oCTIG5pY2h0IHp1IGhvY2gsIGFiZXIgYXVjaCBuaWNodCB1bnRlciBXZXJ0LlxyXG5cclxu4ri7XHJcblxyXG5LdW5kZW5laW5nYWJlblxyXG5TZWl0ZW5hbnphaGw6ICR7Zm9ybURhdGEucGFnZXN9XHJcblxyXG5adXPDpHR6bGljaGUgTGVpc3R1bmdlbjpcclxuJHthZGRpdGlvbmFsU2VydmljZXN9XHJcblxyXG5MYXVmZW5kZSBTZXJ2aWNlczpcclxuJHtvbmdvaW5nU2VydmljZXN9XHJcblxyXG5FeHByZXNzLUxpZWZlcnVuZyBnZXfDvG5zY2h0P1xyXG4ke2Zvcm1EYXRhLmV4cHJlc3MgPyAnSmEnIDogJ05laW4nfVxyXG5cclxuQmVzb25kZXJlIFfDvG5zY2hlIC8gQW5mb3JkZXJ1bmdlbjpcclxuJHtmb3JtRGF0YS5zcGVjaWFsUmVxdWlyZW1lbnRzIHx8ICdLZWluZSBiZXNvbmRlcmVuIFfDvG5zY2hlIGFuZ2VnZWJlbid9XHJcblxyXG7iuLtcclxuXHJcbkJpdHRlIGxpZWZlcmUgYWxzIEFudHdvcnQ6XHJcbuKAkyBFaW5lIHJlYWxpc3Rpc2NoZSBQcmVpc3NwYW5uZSBpbiBFdXJvICh6LiBCLiA3NTDigJM5NTAg4oKsKVxyXG7igJMgRWluZSBrdXJ6ZSBCZWdyw7xuZHVuZyAoMeKAkzIgU8OkdHplKVxyXG7igJMgSGlud2VpcyBhdWYgQmVyYXR1bmdzZ2VzcHLDpGNoIGbDvHIgdmVyYmluZGxpY2hlcyBBbmdlYm90YDtcclxuICB9O1xyXG5cclxuICBjb25zdCBjYWxjdWxhdGVMb2NhbFByaWNlID0gKCkgPT4ge1xyXG4gICAgbGV0IGJhc2VQcmljZSA9IDMwMDsgLy8gQmFzaXMtV2Vic2l0ZVxyXG4gICAgXHJcbiAgICAvLyBQcmVpcyBwcm8gU2VpdGUgKGFiIGRlciAyLiBTZWl0ZSlcclxuICAgIGlmIChmb3JtRGF0YS5wYWdlcyA+IDEpIHtcclxuICAgICAgYmFzZVByaWNlICs9IChmb3JtRGF0YS5wYWdlcyAtIDEpICogNTA7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIFp1c2F0emxlaXN0dW5nZW5cclxuICAgIGNvbnN0IHNlbGVjdGVkU2VydmljZXMgPSBzZXJ2aWNlcy5maWx0ZXIoc2VydmljZSA9PiBmb3JtRGF0YS5zZXJ2aWNlcy5pbmNsdWRlcyhzZXJ2aWNlLmlkKSk7XHJcbiAgICBjb25zdCBzZXJ2aWNlUHJpY2VzID0ge1xyXG4gICAgICAnc2VvJzogMTUwLFxyXG4gICAgICAnZGF0YWJhc2UnOiAyMDAsXHJcbiAgICAgICdhaSc6IDMwMCxcclxuICAgICAgJ3Jlc3BvbnNpdmUnOiAxMDAsXHJcbiAgICAgICdzb2NpYWwnOiA4MCxcclxuICAgICAgJ3BheW1lbnQnOiAxMjAsXHJcbiAgICAgICdhbmFseXRpY3MnOiA5MCxcclxuICAgICAgJ2RvbWFpbic6IDYwLFxyXG4gICAgICAnc3RyYXRlZ3knOiAxODAsXHJcbiAgICAgICdhcHAnOiA0MDBcclxuICAgIH07XHJcbiAgICBcclxuICAgIGxldCBzZXJ2aWNlc0Nvc3QgPSAwO1xyXG4gICAgc2VsZWN0ZWRTZXJ2aWNlcy5mb3JFYWNoKHNlcnZpY2UgPT4ge1xyXG4gICAgICBzZXJ2aWNlc0Nvc3QgKz0gc2VydmljZVByaWNlc1tzZXJ2aWNlLmlkIGFzIGtleW9mIHR5cGVvZiBzZXJ2aWNlUHJpY2VzXSB8fCAwO1xyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIC8vIE1lbmdlbnJhYmF0dCBmw7xyIG1laHJlcmUgTGVpc3R1bmdlblxyXG4gICAgaWYgKHNlbGVjdGVkU2VydmljZXMubGVuZ3RoID4gMikge1xyXG4gICAgICBzZXJ2aWNlc0Nvc3QgKj0gMC45OyAvLyAxMCUgUmFiYXR0IGFiIDMgTGVpc3R1bmdlblxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBFeHByZXNzLUxpZWZlcnVuZ1xyXG4gICAgbGV0IHRvdGFsUHJpY2UgPSBiYXNlUHJpY2UgKyBzZXJ2aWNlc0Nvc3Q7XHJcbiAgICBpZiAoZm9ybURhdGEuZXhwcmVzcykge1xyXG4gICAgICB0b3RhbFByaWNlICo9IDEuMzsgLy8gKzMwJSBmw7xyIEV4cHJlc3NcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gUHJlaXNzcGFubmUgKDEwJSBWYXJpYXRpb24pXHJcbiAgICBjb25zdCB2YXJpYXRpb24gPSB0b3RhbFByaWNlICogMC4xO1xyXG4gICAgY29uc3QgbWluUHJpY2UgPSBNYXRoLnJvdW5kKHRvdGFsUHJpY2UgLSB2YXJpYXRpb24pO1xyXG4gICAgY29uc3QgbWF4UHJpY2UgPSBNYXRoLnJvdW5kKHRvdGFsUHJpY2UgKyB2YXJpYXRpb24pO1xyXG4gICAgXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBwcmljZTogYCR7bWluUHJpY2V94oCTJHttYXhQcmljZX3igqxgLFxyXG4gICAgICBkZXRhaWxzOiBgQmFzaWVyZW5kIGF1ZiAke2Zvcm1EYXRhLnBhZ2VzfSBTZWl0ZW4gdW5kICR7c2VsZWN0ZWRTZXJ2aWNlcy5sZW5ndGh9IFp1c2F0emxlaXN0dW5nZW4uICR7Zm9ybURhdGEuZXhwcmVzcyA/ICdFeHByZXNzLUxpZWZlcnVuZyBpbmtsdXNpdmUuJyA6ICcnfWBcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgY2FsY3VsYXRlUHJpY2UgPSBhc3luYyAoKSA9PiB7XHJcbiAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XHJcbiAgICBcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHByb21wdCA9IGdlbmVyYXRlUHJvbXB0KCk7XHJcbiAgICAgIFxyXG4gICAgICBjb25zb2xlLmxvZygnU2VuZGluZyBBUEkgcmVxdWVzdCB3aXRoIHByb21wdDonLCBwcm9tcHQpO1xyXG4gICAgICBcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgnL2FwaS9jYWxjdWxhdGUtcHJpY2UnLCB7XHJcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgcHJvbXB0OiBwcm9tcHRcclxuICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGNvbnNvbGUubG9nKCdSZXNwb25zZSBzdGF0dXM6JywgcmVzcG9uc2Uuc3RhdHVzKTtcclxuXHJcbiAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcclxuICAgICAgICBjb25zdCBlcnJvclRleHQgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignQVBJIEVycm9yIFJlc3BvbnNlOicsIGVycm9yVGV4dCk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gRmFsbGJhY2sgenVyIGxva2FsZW4gUHJlaXNiZXJlY2hudW5nXHJcbiAgICAgICAgY29uc29sZS5sb2coJ1VzaW5nIGxvY2FsIHByaWNlIGNhbGN1bGF0aW9uIGFzIGZhbGxiYWNrJyk7XHJcbiAgICAgICAgY29uc3QgbG9jYWxSZXN1bHQgPSBjYWxjdWxhdGVMb2NhbFByaWNlKCk7XHJcbiAgICAgICAgc2V0UmVzdWx0KGxvY2FsUmVzdWx0KTtcclxuICAgICAgICBvblByaWNlQ2FsY3VsYXRlZD8uKGxvY2FsUmVzdWx0LnByaWNlLCBsb2NhbFJlc3VsdC5kZXRhaWxzKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdBUEkgUmVzcG9uc2UgZGF0YTonLCBkYXRhKTtcclxuICAgICAgXHJcbiAgICAgIGNvbnN0IGFpUmVzcG9uc2UgPSBkYXRhLmNob2ljZXM/LlswXT8ubWVzc2FnZT8uY29udGVudCB8fCBkYXRhLmNob2ljZXM/LlswXT8udGV4dCB8fCAnUHJlaXMga29ubnRlIG5pY2h0IGJlcmVjaG5ldCB3ZXJkZW4nO1xyXG4gICAgICBjb25zb2xlLmxvZygnQUkgUmVzcG9uc2U6JywgYWlSZXNwb25zZSk7XHJcbiAgICAgIFxyXG4gICAgICAvLyBFeHRyYWN0IHByaWNlIHJhbmdlIGFuZCBkZXRhaWxzXHJcbiAgICAgIGNvbnN0IHByaWNlTWF0Y2ggPSBhaVJlc3BvbnNlLm1hdGNoKC8oXFxkK1st4oCTXVxcZCvigqwpLyk7XHJcbiAgICAgIGNvbnN0IHByaWNlID0gcHJpY2VNYXRjaCA/IHByaWNlTWF0Y2hbMV0gOiAnUHJlaXMgYXVmIEFuZnJhZ2UnO1xyXG4gICAgICBjb25zdCBkZXRhaWxzID0gYWlSZXNwb25zZS5yZXBsYWNlKHByaWNlTWF0Y2g/LlswXSB8fCAnJywgJycpLnRyaW0oKTtcclxuICAgICAgXHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHsgcHJpY2UsIGRldGFpbHMgfTtcclxuICAgICAgc2V0UmVzdWx0KHJlc3VsdCk7XHJcbiAgICAgIG9uUHJpY2VDYWxjdWxhdGVkPy4ocHJpY2UsIGRldGFpbHMpO1xyXG4gICAgICBcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGNhbGN1bGF0aW5nIHByaWNlOicsIGVycm9yKTtcclxuICAgICAgXHJcbiAgICAgIC8vIEZhbGxiYWNrIHp1ciBsb2thbGVuIFByZWlzYmVyZWNobnVuZ1xyXG4gICAgICBjb25zb2xlLmxvZygnVXNpbmcgbG9jYWwgcHJpY2UgY2FsY3VsYXRpb24gYXMgZmFsbGJhY2sgZHVlIHRvIGVycm9yJyk7XHJcbiAgICAgIGNvbnN0IGxvY2FsUmVzdWx0ID0gY2FsY3VsYXRlTG9jYWxQcmljZSgpO1xyXG4gICAgICBzZXRSZXN1bHQobG9jYWxSZXN1bHQpO1xyXG4gICAgICBvblByaWNlQ2FsY3VsYXRlZD8uKGxvY2FsUmVzdWx0LnByaWNlLCBsb2NhbFJlc3VsdC5kZXRhaWxzKTtcclxuICAgIH0gZmluYWxseSB7XHJcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsIG1heC13LTR4bCBteC1hdXRvXCI+XHJcbiAgICAgIDxDb2xsYXBzaWJsZSBvcGVuPXtpc09wZW59IG9uT3BlbkNoYW5nZT17c2V0SXNPcGVufT5cclxuICAgICAgICA8Q29sbGFwc2libGVUcmlnZ2VyIGFzQ2hpbGQ+XHJcbiAgICAgICAgICA8QnV0dG9uIFxyXG4gICAgICAgICAgICBzaXplPVwibGdcIlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgcHgtOCBweS00IHJvdW5kZWQtZnVsbCB0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgc2hhZG93LXhsIGhvdmVyOnNjYWxlLTEwNSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgc3BhY2UteC0yXCJcclxuICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMucHJpbWFyeSxcclxuICAgICAgICAgICAgICBjb2xvcjogY29sb3JzLmJhY2tncm91bmRcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPENhbGN1bGF0b3IgY2xhc3NOYW1lPVwidy01IGgtNVwiIC8+XHJcbiAgICAgICAgICAgIDxzcGFuPlByZWlzIGthbGt1bGllcmVuPC9zcGFuPlxyXG4gICAgICAgICAgICB7aXNPcGVuID8gPENoZXZyb25VcCBjbGFzc05hbWU9XCJ3LTUgaC01XCIgLz4gOiA8Q2hldnJvbkRvd24gY2xhc3NOYW1lPVwidy01IGgtNVwiIC8+fVxyXG4gICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgPC9Db2xsYXBzaWJsZVRyaWdnZXI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPENvbGxhcHNpYmxlQ29udGVudCBjbGFzc05hbWU9XCJtdC04XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLTN4bCBzaGFkb3ctMnhsXCI+XHJcbiAgICAgICAgICAgIHsvKiBVcHBlciBzZWN0aW9uIHdpdGggbGlnaHQgYmFja2dyb3VuZCAqL31cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTggc206cC0xMlwiIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogYCR7Y29sb3JzLmJhY2tncm91bmR9RjBgIH19PlxyXG4gICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBzbTp0ZXh0LTN4bCBmb250LWJvbGQgbWItOCB0ZXh0LWNlbnRlclwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMucHJpbWFyeSB9fT5cclxuICAgICAgICAgICAgICAgIEthbGt1bGllcmUgZGVpbmVuIGluZGl2aWR1ZWxsZW4gUHJlaXMgbWl0IHdlbmlnZW4gS2xpY2tzXHJcbiAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktOFwiPlxyXG4gICAgICAgICAgICAgICAgey8qIEFuemFobCBTZWl0ZW4gLSBTbGlkZXIgKi99XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiYmxvY2sgdGV4dC1sZyBmb250LXNlbWlib2xkIG1iLTRcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgQW56YWhsIGRlciBTZWl0ZW46IDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtYm9sZFwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19Pntmb3JtRGF0YS5wYWdlc308L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFuZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWluPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXg9XCIxMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybURhdGEucGFnZXN9XHJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldEZvcm1EYXRhKHByZXYgPT4gKHsgLi4ucHJldiwgcGFnZXM6IHBhcnNlSW50KGUudGFyZ2V0LnZhbHVlKSB9KSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4LTEgaC0zIHJvdW5kZWQtbGcgYXBwZWFyYW5jZS1ub25lIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICR7Y29sb3JzLnNlY29uZGFyeX0gMCUsICR7Y29sb3JzLnNlY29uZGFyeX0gJHsoZm9ybURhdGEucGFnZXMgLSAxKSAqIDExLjExfSUsICR7Y29sb3JzLnRlcnRpYXJ5fSAkeyhmb3JtRGF0YS5wYWdlcyAtIDEpICogMTEuMTF9JSwgJHtjb2xvcnMudGVydGlhcnl9IDEwMCUpYFxyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1ib2xkIG1pbi13LVszcmVtXSB0ZXh0LWNlbnRlclwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19PlxyXG4gICAgICAgICAgICAgICAgICAgICAge2Zvcm1EYXRhLnBhZ2VzfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1zbSBtdC0yXCIgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5wcmltYXJ5IH19PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjE8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+MTA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgey8qIExlaXN0dW5nZW4gKi99XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiYmxvY2sgdGV4dC1sZyBmb250LXNlbWlib2xkIG1iLTRcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgWnVzw6R0emxpY2hlIExlaXN0dW5nZW5cclxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIGdhcC00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3NlcnZpY2VzLm1hcCgoc2VydmljZSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXBQcm92aWRlciBrZXk9e3NlcnZpY2UuaWR9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8VG9vbHRpcFRyaWdnZXIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0zIHAtMyByb3VuZGVkLWxnIGhvdmVyOmJnLXdoaXRlLzIwIHRyYW5zaXRpb24tY29sb3JzIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXtzZXJ2aWNlLmlkfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2Zvcm1EYXRhLnNlcnZpY2VzLmluY2x1ZGVzKHNlcnZpY2UuaWQpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZT17KGNoZWNrZWQpID0+IGhhbmRsZVNlcnZpY2VDaGFuZ2Uoc2VydmljZS5pZCwgY2hlY2tlZCBhcyBib29sZWFuKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LTUgaC01XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGh0bWxGb3I9e3NlcnZpY2UuaWR9IGNsYXNzTmFtZT1cInRleHQtbGcgY3Vyc29yLXBvaW50ZXIgZmxleC0xXCIgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5wcmltYXJ5IH19PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzZXJ2aWNlLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGVscENpcmNsZSBjbGFzc05hbWU9XCJ3LTQgaC00IG9wYWNpdHktNjBcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnNlY29uZGFyeSB9fSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwVHJpZ2dlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8VG9vbHRpcENvbnRlbnQgY2xhc3NOYW1lPVwibWF4LXcteHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPntzZXJ2aWNlLnRvb2x0aXB9PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcFByb3ZpZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIHsvKiBFeHByZXNzLUxpZWZlcnVuZyAqL31cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0zIHAtNCByb3VuZGVkLWxnIGhvdmVyOmJnLXdoaXRlLzIwIHRyYW5zaXRpb24tY29sb3JzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxDaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiZXhwcmVzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZD17Zm9ybURhdGEuZXhwcmVzc31cclxuICAgICAgICAgICAgICAgICAgICBvbkNoZWNrZWRDaGFuZ2U9eyhjaGVja2VkKSA9PiBzZXRGb3JtRGF0YShwcmV2ID0+ICh7IC4uLnByZXYsIGV4cHJlc3M6IGNoZWNrZWQgYXMgYm9vbGVhbiB9KSl9XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy01IGgtNVwiXHJcbiAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBodG1sRm9yPVwiZXhwcmVzc1wiIGNsYXNzTmFtZT1cInRleHQtbGcgY3Vyc29yLXBvaW50ZXJcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgRXhwcmVzcy1MaWVmZXJ1bmdcclxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIHsvKiBMYXVmZW5kZSBTZXJ2aWNlcyAqL31cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJibG9jayB0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgbWItNFwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMucHJpbWFyeSB9fT5cclxuICAgICAgICAgICAgICAgICAgICBMYXVmZW5kZSBTZXJ2aWNlcyAob3B0aW9uYWwpXHJcbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3N1YnNjcmlwdGlvblNlcnZpY2VzLm1hcCgoc2VydmljZSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXBQcm92aWRlciBrZXk9e3NlcnZpY2UuaWR9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8VG9vbHRpcFRyaWdnZXIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0zIHAtMyByb3VuZGVkLWxnIGhvdmVyOmJnLXdoaXRlLzIwIHRyYW5zaXRpb24tY29sb3JzIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXtzZXJ2aWNlLmlkfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2Zvcm1EYXRhLnN1YnNjcmlwdGlvbi5pbmNsdWRlcyhzZXJ2aWNlLmlkKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoZWNrZWRDaGFuZ2U9eyhjaGVja2VkKSA9PiBoYW5kbGVTdWJzY3JpcHRpb25DaGFuZ2Uoc2VydmljZS5pZCwgY2hlY2tlZCBhcyBib29sZWFuKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LTUgaC01XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGh0bWxGb3I9e3NlcnZpY2UuaWR9IGNsYXNzTmFtZT1cInRleHQtbGcgY3Vyc29yLXBvaW50ZXIgZmxleC0xXCIgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5wcmltYXJ5IH19PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzZXJ2aWNlLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGVscENpcmNsZSBjbGFzc05hbWU9XCJ3LTQgaC00IG9wYWNpdHktNjBcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnNlY29uZGFyeSB9fSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwVHJpZ2dlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8VG9vbHRpcENvbnRlbnQgY2xhc3NOYW1lPVwibWF4LXcteHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPntzZXJ2aWNlLnRvb2x0aXB9PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcFByb3ZpZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIHsvKiBXYXZlIHRyYW5zaXRpb24gKi99XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgaC04XCIgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiBgJHtjb2xvcnMuYmFja2dyb3VuZH1GMGAgfX0+XHJcbiAgICAgICAgICAgICAgPHN2Z1xyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLTAgdy1mdWxsIGgtZnVsbFwiXHJcbiAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyMDAgMTIwXCJcclxuICAgICAgICAgICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMucHJpbWFyeSB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgIGQ9XCJNMCwwIEMzMDAsMTIwIDkwMCwxMjAgMTIwMCwwIEwxMjAwLDEyMCBMMCwxMjAgWlwiXHJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT1cIjAuMVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIHsvKiBMb3dlciBzZWN0aW9uIHdpdGggZGFya2VyIGJhY2tncm91bmQgKi99XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicC04IHNtOnAtMTJcIiBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IGAke2NvbG9ycy5wcmltYXJ5fUYwYCB9fT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktOFwiPlxyXG4gICAgICAgICAgICAgICAgey8qIEluZGl2aWR1ZWxsZSBXw7xuc2NoZSAqL31cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJibG9jayB0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgbWItNFwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCB9fT5cclxuICAgICAgICAgICAgICAgICAgICBIYWJlbiBTaWUgYmVzb25kZXJlIFfDvG5zY2hlIG9kZXIgQW5mb3JkZXJ1bmdlbiAob3B0aW9uYWwsIG5pY2h0IHZlcnBmbGljaHRlbmQpP1xyXG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8VGV4dGFyZWFcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybURhdGEuc3BlY2lhbFJlcXVpcmVtZW50c31cclxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldEZvcm1EYXRhKHByZXYgPT4gKHsgLi4ucHJldiwgc3BlY2lhbFJlcXVpcmVtZW50czogZS50YXJnZXQudmFsdWUgfSkpfVxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiV2VsY2hlIEZ1bmt0aW9uZW4gb2RlciBTdHJ1a3R1cmVuIHNpbmQgSWhuZW4gd2ljaHRpZz8gQmVpc3BpZWxlOiBNaXRnbGllZGVyYmVyZWljaCwgUHJvamVrdHZlcndhbHR1bmcsIGR5bmFtaXNjaGVyIFByb2R1a3RmaWx0ZXIsIGludGVybmUgRGF0ZW5iYW5rcGZsZWdlLCBtZWhyc3ByYWNoaWdlIEluaGFsdGUuXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgcC00IHRleHQtbGcgcmVzaXplLW5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIHJvd3M9ezR9XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGAke2NvbG9ycy5iYWNrZ3JvdW5kfTIwYCxcclxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCxcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZFxyXG4gICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICB7LyogU3RhbmRhcmQtTGVpc3R1bmdlbiBJbmZvICovfVxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTQgcm91bmRlZC1sZ1wiIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogYCR7Y29sb3JzLmJhY2tncm91bmR9MjBgIH19PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtc3RhcnQgc3BhY2UteC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPEluZm8gY2xhc3NOYW1lPVwidy01IGgtNSBtdC0xIGZsZXgtc2hyaW5rLTBcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnRlcnRpYXJ5IH19IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbVwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuYmFja2dyb3VuZCB9fT5cclxuICAgICAgICAgICAgICAgICAgICAgIERpZXNlIExlaXN0dW5nZW4gc2luZCBiZWkgamVkZXIgV2Vic2l0ZSBhdXRvbWF0aXNjaCBlbnRoYWx0ZW46IEhvc3RpbmcsIFdhcnR1bmcsIHRlY2huaXNjaGVyIFN1cHBvcnQsIFNFTy1HcnVuZG9wdGltaWVydW5nLCBQZXJmb3JtYW5jZS1DaGVjayB1bmQgZWluZSBwZXJzw7ZubGljaGUgUXVhcnRhbHNiZXJhdHVuZy5cclxuICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgey8qIEJlcmVjaG5lbiBCdXR0b24gKi99XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2NhbGN1bGF0ZVByaWNlfVxyXG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNMb2FkaW5nfVxyXG4gICAgICAgICAgICAgICAgICBzaXplPVwibGdcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgcHgtOCBweS00IHJvdW5kZWQtZnVsbCB0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgc2hhZG93LXhsIGhvdmVyOnNjYWxlLTEwNSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgc3BhY2UteC0yXCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMudGVydGlhcnksXHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy5wcmltYXJ5XHJcbiAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmcgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxMb2FkZXIyIGNsYXNzTmFtZT1cInctNSBoLTUgYW5pbWF0ZS1zcGluXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIEJlcmVjaG5lIFByZWlzLi4uXHJcbiAgICAgICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxDYWxjdWxhdG9yIGNsYXNzTmFtZT1cInctNSBoLTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgUHJlaXMgYmVyZWNobmVuXHJcbiAgICAgICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICB7LyogRXJnZWJuaXMgKi99XHJcbiAgICAgICAgICAgICAgICB7cmVzdWx0ICYmIChcclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC04IHAtNiByb3VuZGVkLXhsIGJvcmRlci0yXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGAke2NvbG9ycy50ZXJ0aWFyeX0yMGAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogY29sb3JzLnRlcnRpYXJ5IFxyXG4gICAgICAgICAgICAgICAgICAgICAgIH19PlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtc2VtaWJvbGQgbWItNFwiIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMudGVydGlhcnkgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICBHZXNjaMOkdHp0ZXIgUHJlaXM6IHtyZXN1bHQucHJpY2V9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9oND5cclxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWxnIG1iLTRcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLmJhY2tncm91bmQgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7cmVzdWx0LmRldGFpbHN9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIHtmb3JtRGF0YS5zdWJzY3JpcHRpb24ubGVuZ3RoID4gMCAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtbWVkaXVtIG1iLTRcIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLnRlcnRpYXJ5IH19PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICArMjAw4oKsL01vbmF0IGbDvHIgbGF1ZmVuZGUgU2VydmljZXNcclxuICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc21cIiBzdHlsZT17eyBjb2xvcjogY29sb3JzLmJhY2tncm91bmQgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICBEaWVzIGlzdCBlaW4gUmljaHR3ZXJ0LiBJbSBCZXJhdHVuZ3NnZXNwcsOkY2gga2zDpHJlbiB3aXIgYWxsZSBEZXRhaWxzIHVuZCBmaW5kZW4gZWluZSBMw7ZzdW5nLCBkaWUgenUgSWhyZW0gQnVkZ2V0IHBhc3N0LlxyXG4gICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvQ29sbGFwc2libGVDb250ZW50PlxyXG4gICAgICA8L0NvbGxhcHNpYmxlPlxyXG4gICAgPC9kaXY+XHJcbiAgKTtcclxufSAiXSwibmFtZXMiOlsidXNlU3RhdGUiLCJCdXR0b24iLCJDaGVja2JveCIsIlRleHRhcmVhIiwiQ29sbGFwc2libGUiLCJDb2xsYXBzaWJsZUNvbnRlbnQiLCJDb2xsYXBzaWJsZVRyaWdnZXIiLCJUb29sdGlwIiwiVG9vbHRpcENvbnRlbnQiLCJUb29sdGlwUHJvdmlkZXIiLCJUb29sdGlwVHJpZ2dlciIsIkNhbGN1bGF0b3IiLCJDaGV2cm9uRG93biIsIkNoZXZyb25VcCIsIkxvYWRlcjIiLCJJbmZvIiwiSGVscENpcmNsZSIsImNvbG9ycyIsInNlcnZpY2VzIiwiaWQiLCJsYWJlbCIsInRvb2x0aXAiLCJzdWJzY3JpcHRpb25TZXJ2aWNlcyIsIlByaWNlQ2FsY3VsYXRvciIsIm9uUHJpY2VDYWxjdWxhdGVkIiwiaXNPcGVuIiwic2V0SXNPcGVuIiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiZm9ybURhdGEiLCJzZXRGb3JtRGF0YSIsInBhZ2VzIiwiZXhwcmVzcyIsInN1YnNjcmlwdGlvbiIsInNwZWNpYWxSZXF1aXJlbWVudHMiLCJyZXN1bHQiLCJzZXRSZXN1bHQiLCJoYW5kbGVTZXJ2aWNlQ2hhbmdlIiwic2VydmljZUlkIiwiY2hlY2tlZCIsInByZXYiLCJmaWx0ZXIiLCJoYW5kbGVTdWJzY3JpcHRpb25DaGFuZ2UiLCJnZW5lcmF0ZVByb21wdCIsInNlbGVjdGVkU2VydmljZXMiLCJzZXJ2aWNlIiwiaW5jbHVkZXMiLCJzZWxlY3RlZFN1YnNjcmlwdGlvbnMiLCJhZGRpdGlvbmFsU2VydmljZXMiLCJsZW5ndGgiLCJtYXAiLCJzIiwiam9pbiIsIm9uZ29pbmdTZXJ2aWNlcyIsImNhbGN1bGF0ZUxvY2FsUHJpY2UiLCJiYXNlUHJpY2UiLCJzZXJ2aWNlUHJpY2VzIiwic2VydmljZXNDb3N0IiwiZm9yRWFjaCIsInRvdGFsUHJpY2UiLCJ2YXJpYXRpb24iLCJtaW5QcmljZSIsIk1hdGgiLCJyb3VuZCIsIm1heFByaWNlIiwicHJpY2UiLCJkZXRhaWxzIiwiY2FsY3VsYXRlUHJpY2UiLCJwcm9tcHQiLCJjb25zb2xlIiwibG9nIiwicmVzcG9uc2UiLCJmZXRjaCIsIm1ldGhvZCIsImhlYWRlcnMiLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXR1cyIsIm9rIiwiZXJyb3JUZXh0IiwidGV4dCIsImVycm9yIiwibG9jYWxSZXN1bHQiLCJkYXRhIiwianNvbiIsImFpUmVzcG9uc2UiLCJjaG9pY2VzIiwibWVzc2FnZSIsImNvbnRlbnQiLCJwcmljZU1hdGNoIiwibWF0Y2giLCJyZXBsYWNlIiwidHJpbSIsImRpdiIsImNsYXNzTmFtZSIsIm9wZW4iLCJvbk9wZW5DaGFuZ2UiLCJhc0NoaWxkIiwic2l6ZSIsInN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwicHJpbWFyeSIsImNvbG9yIiwiYmFja2dyb3VuZCIsInNwYW4iLCJoMyIsInNlY29uZGFyeSIsImlucHV0IiwidHlwZSIsIm1pbiIsIm1heCIsInZhbHVlIiwib25DaGFuZ2UiLCJlIiwicGFyc2VJbnQiLCJ0YXJnZXQiLCJ0ZXJ0aWFyeSIsIm9uQ2hlY2tlZENoYW5nZSIsImh0bWxGb3IiLCJwIiwic3ZnIiwidmlld0JveCIsInByZXNlcnZlQXNwZWN0UmF0aW8iLCJwYXRoIiwiZCIsImZpbGwiLCJmaWxsT3BhY2l0eSIsInBsYWNlaG9sZGVyIiwicm93cyIsImJvcmRlckNvbG9yIiwib25DbGljayIsImRpc2FibGVkIiwiaDQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/PriceCalculator.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/ProtectedAppointmentBooking.tsx": +/*!****************************************************!*\ + !*** ./components/ProtectedAppointmentBooking.tsx ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ProtectedAppointmentBooking)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hooks_useAuth__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/hooks/useAuth */ \"(ssr)/./hooks/useAuth.ts\");\n/* harmony import */ var _AppointmentBooking__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppointmentBooking */ \"(ssr)/./components/AppointmentBooking.tsx\");\n/* harmony import */ var _lib_colors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/colors */ \"(ssr)/./lib/colors.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\nfunction ProtectedAppointmentBooking() {\n const { user, loading } = (0,_hooks_useAuth__WEBPACK_IMPORTED_MODULE_1__.useAuth)();\n if (loading) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full max-w-md mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6 sm:p-8 rounded-3xl shadow-lg backdrop-blur-sm text-center\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}F0`\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"animate-spin rounded-full h-8 w-8 border-b-2 mx-auto mb-4\",\n style: {\n borderColor: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ProtectedAppointmentBooking.tsx\",\n lineNumber: 19,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: \"Lade...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ProtectedAppointmentBooking.tsx\",\n lineNumber: 21,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ProtectedAppointmentBooking.tsx\",\n lineNumber: 15,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ProtectedAppointmentBooking.tsx\",\n lineNumber: 14,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full max-w-4xl mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_AppointmentBooking__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ProtectedAppointmentBooking.tsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ProtectedAppointmentBooking.tsx\",\n lineNumber: 28,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL1Byb3RlY3RlZEFwcG9pbnRtZW50Qm9va2luZy50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUV5QztBQUNZO0FBRWhCO0FBR3RCLFNBQVNHO0lBQ3RCLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxPQUFPLEVBQUUsR0FBR0wsdURBQU9BO0lBRWpDLElBQUlLLFNBQVM7UUFDWCxxQkFDRSw4REFBQ0M7WUFBSUMsV0FBVTtzQkFDYiw0RUFBQ0Q7Z0JBQ0NDLFdBQVU7Z0JBQ1ZDLE9BQU87b0JBQUVDLGlCQUFpQixDQUFDLEVBQUVQLCtDQUFNQSxDQUFDUSxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUFDOztrQ0FFbkQsOERBQUNKO3dCQUFJQyxXQUFVO3dCQUNWQyxPQUFPOzRCQUFFRyxhQUFhVCwrQ0FBTUEsQ0FBQ1UsT0FBTzt3QkFBQzs7Ozs7O2tDQUMxQyw4REFBQ0M7d0JBQUVMLE9BQU87NEJBQUVNLE9BQU9aLCtDQUFNQSxDQUFDYSxTQUFTO3dCQUFDO2tDQUFHOzs7Ozs7Ozs7Ozs7Ozs7OztJQUkvQztJQUVBLHFCQUNFLDhEQUFDVDtRQUFJQyxXQUFVO2tCQUViLDRFQUFDTiwyREFBa0JBOzs7Ozs7Ozs7O0FBR3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vY29tcG9uZW50cy9Qcm90ZWN0ZWRBcHBvaW50bWVudEJvb2tpbmcudHN4PzU1OGQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tICdAL2hvb2tzL3VzZUF1dGgnXHJcbmltcG9ydCBBcHBvaW50bWVudEJvb2tpbmcgZnJvbSAnLi9BcHBvaW50bWVudEJvb2tpbmcnXHJcbmltcG9ydCBNYWdpY0xpbmtBdXRoIGZyb20gJy4vTWFnaWNMaW5rQXV0aCdcclxuaW1wb3J0IHsgY29sb3JzIH0gZnJvbSAnQC9saWIvY29sb3JzJ1xyXG5pbXBvcnQgeyBVc2VyLCBTaGllbGQsIEluZm8gfSBmcm9tICdsdWNpZGUtcmVhY3QnXHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBQcm90ZWN0ZWRBcHBvaW50bWVudEJvb2tpbmcoKSB7XHJcbiAgY29uc3QgeyB1c2VyLCBsb2FkaW5nIH0gPSB1c2VBdXRoKClcclxuXHJcbiAgaWYgKGxvYWRpbmcpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsIG1heC13LW1kIG14LWF1dG9cIj5cclxuICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgY2xhc3NOYW1lPVwicC02IHNtOnAtOCByb3VuZGVkLTN4bCBzaGFkb3ctbGcgYmFja2Ryb3AtYmx1ci1zbSB0ZXh0LWNlbnRlclwiXHJcbiAgICAgICAgICBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IGAke2NvbG9ycy5iYWNrZ3JvdW5kfUYwYCB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYW5pbWF0ZS1zcGluIHJvdW5kZWQtZnVsbCBoLTggdy04IGJvcmRlci1iLTIgbXgtYXV0byBtYi00XCIgXHJcbiAgICAgICAgICAgICAgIHN0eWxlPXt7IGJvcmRlckNvbG9yOiBjb2xvcnMucHJpbWFyeSB9fT48L2Rpdj5cclxuICAgICAgICAgIDxwIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19PkxhZGUuLi48L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsIG1heC13LTR4bCBteC1hdXRvXCI+XHJcbiAgICAgIHsvKiBBcHBvaW50bWVudCBCb29raW5nICovfVxyXG4gICAgICA8QXBwb2ludG1lbnRCb29raW5nIC8+XHJcbiAgICA8L2Rpdj5cclxuICApXHJcbn0gIl0sIm5hbWVzIjpbInVzZUF1dGgiLCJBcHBvaW50bWVudEJvb2tpbmciLCJjb2xvcnMiLCJQcm90ZWN0ZWRBcHBvaW50bWVudEJvb2tpbmciLCJ1c2VyIiwibG9hZGluZyIsImRpdiIsImNsYXNzTmFtZSIsInN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwiYmFja2dyb3VuZCIsImJvcmRlckNvbG9yIiwicHJpbWFyeSIsInAiLCJjb2xvciIsInNlY29uZGFyeSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./components/ProtectedAppointmentBooking.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/SpinningNumbers.tsx": +/*!****************************************!*\ + !*** ./components/SpinningNumbers.tsx ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SpinningNumbers)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lib_colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/colors */ \"(ssr)/./lib/colors.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\nfunction lerp(a, b, t) {\n return (b - a) * t + a;\n}\n// Convert hex to RGB\nfunction hexToRgb(hex) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : {\n r: 0,\n g: 0,\n b: 0\n };\n}\n// Interpolate between two hex colors\nfunction interpolateColor(color1, color2, t) {\n const rgb1 = hexToRgb(color1);\n const rgb2 = hexToRgb(color2);\n const r = Math.round(lerp(rgb1.r, rgb2.r, t));\n const g = Math.round(lerp(rgb1.g, rgb2.g, t));\n const b = Math.round(lerp(rgb1.b, rgb2.b, t));\n return `rgb(${r}, ${g}, ${b})`;\n}\nfunction color(i, total) {\n const t = i / total;\n // Interpolate between Webklar colors: primary (dark green) -> secondary (medium green) -> tertiary (light green-beige)\n if (t < 0.5) {\n return interpolateColor(_lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.primary, _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary, t * 2);\n } else {\n return interpolateColor(_lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary, _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.tertiary, (t - 0.5) * 2);\n }\n}\nfunction createWheel(i, total) {\n const distance = i + 3.5; // Slightly increased distance\n const charWidth = 0.85;\n const speed = 1;\n const circum = distance * 2 * Math.PI;\n const numbers = Math.floor(circum / charWidth);\n const time = speed * numbers;\n const t = i / total;\n return {\n time,\n numbers,\n distance,\n color: color(i, total),\n scale: lerp(1, 0.25, t * t * 0.5)\n };\n}\nfunction SpinningNumbers() {\n const containerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (!containerRef.current) return;\n const container = containerRef.current;\n const total = 13;\n const wheels = Array.from({\n length: total\n }, (_, i)=>createWheel(i, total));\n wheels.forEach((wheel)=>{\n const { time, numbers, distance, color: wheelColor, scale } = wheel;\n const angleDiff = Math.PI * 2 / numbers;\n const divs = [];\n for(let i = 0; i < numbers; i++){\n divs.push(angleDiff * i);\n }\n const wheelDiv = document.createElement(\"div\");\n wheelDiv.className = \"wheel\";\n wheelDiv.style.color = wheelColor;\n wheelDiv.style.setProperty(\"--l\", `${distance}em`);\n wheelDiv.style.setProperty(\"--m\", `${numbers}`);\n wheelDiv.style.setProperty(\"--t\", `${time}s`);\n wheelDiv.style.setProperty(\"--r1\", Math.random() < 0.5 ? \"reverse\" : \"normal\");\n wheelDiv.style.setProperty(\"--s\", `${scale}`);\n divs.forEach((angle, i)=>{\n if (Math.sqrt(Math.random()) < scale) {\n const numberDiv = document.createElement(\"div\");\n numberDiv.className = \"number\";\n numberDiv.style.setProperty(\"--a\", `${angle * 180 / Math.PI}deg`);\n numberDiv.style.setProperty(\"--i\", `${i}`);\n numberDiv.style.setProperty(\"--r\", Math.random() < 0.5 ? \"reverse\" : \"normal\");\n wheelDiv.appendChild(numberDiv);\n }\n });\n container.appendChild(wheelDiv);\n });\n // Cleanup function\n return ()=>{\n if (container) {\n container.innerHTML = \"\";\n }\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"spinning-number\",\n ref: containerRef\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\SpinningNumbers.tsx\",\n lineNumber: 112,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL1NwaW5uaW5nTnVtYmVycy50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUUwQztBQUNKO0FBRXRDLFNBQVNHLEtBQUtDLENBQVMsRUFBRUMsQ0FBUyxFQUFFQyxDQUFTO0lBQzNDLE9BQU8sQ0FBQ0QsSUFBSUQsQ0FBQUEsSUFBS0UsSUFBSUY7QUFDdkI7QUFFQSxxQkFBcUI7QUFDckIsU0FBU0csU0FBU0MsR0FBVztJQUMzQixNQUFNQyxTQUFTLDRDQUE0Q0MsSUFBSSxDQUFDRjtJQUNoRSxPQUFPQyxTQUNIO1FBQ0VFLEdBQUdDLFNBQVNILE1BQU0sQ0FBQyxFQUFFLEVBQUU7UUFDdkJJLEdBQUdELFNBQVNILE1BQU0sQ0FBQyxFQUFFLEVBQUU7UUFDdkJKLEdBQUdPLFNBQVNILE1BQU0sQ0FBQyxFQUFFLEVBQUU7SUFDekIsSUFDQTtRQUFFRSxHQUFHO1FBQUdFLEdBQUc7UUFBR1IsR0FBRztJQUFFO0FBQ3pCO0FBRUEscUNBQXFDO0FBQ3JDLFNBQVNTLGlCQUFpQkMsTUFBYyxFQUFFQyxNQUFjLEVBQUVWLENBQVM7SUFDakUsTUFBTVcsT0FBT1YsU0FBU1E7SUFDdEIsTUFBTUcsT0FBT1gsU0FBU1M7SUFDdEIsTUFBTUwsSUFBSVEsS0FBS0MsS0FBSyxDQUFDakIsS0FBS2MsS0FBS04sQ0FBQyxFQUFFTyxLQUFLUCxDQUFDLEVBQUVMO0lBQzFDLE1BQU1PLElBQUlNLEtBQUtDLEtBQUssQ0FBQ2pCLEtBQUtjLEtBQUtKLENBQUMsRUFBRUssS0FBS0wsQ0FBQyxFQUFFUDtJQUMxQyxNQUFNRCxJQUFJYyxLQUFLQyxLQUFLLENBQUNqQixLQUFLYyxLQUFLWixDQUFDLEVBQUVhLEtBQUtiLENBQUMsRUFBRUM7SUFDMUMsT0FBTyxDQUFDLElBQUksRUFBRUssRUFBRSxFQUFFLEVBQUVFLEVBQUUsRUFBRSxFQUFFUixFQUFFLENBQUMsQ0FBQztBQUNoQztBQUVBLFNBQVNnQixNQUFNQyxDQUFTLEVBQUVDLEtBQWE7SUFDckMsTUFBTWpCLElBQUlnQixJQUFJQztJQUNkLHVIQUF1SDtJQUN2SCxJQUFJakIsSUFBSSxLQUFLO1FBQ1gsT0FBT1EsaUJBQWlCWiwrQ0FBTUEsQ0FBQ3NCLE9BQU8sRUFBRXRCLCtDQUFNQSxDQUFDdUIsU0FBUyxFQUFFbkIsSUFBSTtJQUNoRSxPQUFPO1FBQ0wsT0FBT1EsaUJBQWlCWiwrQ0FBTUEsQ0FBQ3VCLFNBQVMsRUFBRXZCLCtDQUFNQSxDQUFDd0IsUUFBUSxFQUFFLENBQUNwQixJQUFJLEdBQUUsSUFBSztJQUN6RTtBQUNGO0FBRUEsU0FBU3FCLFlBQVlMLENBQVMsRUFBRUMsS0FBYTtJQUMzQyxNQUFNSyxXQUFXTixJQUFJLEtBQUssOEJBQThCO0lBQ3hELE1BQU1PLFlBQVk7SUFDbEIsTUFBTUMsUUFBUTtJQUNkLE1BQU1DLFNBQVNILFdBQVcsSUFBSVQsS0FBS2EsRUFBRTtJQUNyQyxNQUFNQyxVQUFVZCxLQUFLZSxLQUFLLENBQUNILFNBQVNGO0lBQ3BDLE1BQU1NLE9BQU9MLFFBQVFHO0lBQ3JCLE1BQU0zQixJQUFJZ0IsSUFBSUM7SUFFZCxPQUFPO1FBQ0xZO1FBQ0FGO1FBQ0FMO1FBQ0FQLE9BQU9BLE1BQU1DLEdBQUdDO1FBQ2hCYSxPQUFPakMsS0FBSyxHQUFHLE1BQU1HLElBQUlBLElBQUk7SUFDL0I7QUFDRjtBQUVlLFNBQVMrQjtJQUN0QixNQUFNQyxlQUFlckMsNkNBQU1BLENBQWlCO0lBRTVDRCxnREFBU0EsQ0FBQztRQUNSLElBQUksQ0FBQ3NDLGFBQWFDLE9BQU8sRUFBRTtRQUUzQixNQUFNQyxZQUFZRixhQUFhQyxPQUFPO1FBQ3RDLE1BQU1oQixRQUFRO1FBQ2QsTUFBTWtCLFNBQVNDLE1BQU1DLElBQUksQ0FBQztZQUFFQyxRQUFRckI7UUFBTSxHQUFHLENBQUNzQixHQUFHdkIsSUFBTUssWUFBWUwsR0FBR0M7UUFFdEVrQixPQUFPSyxPQUFPLENBQUMsQ0FBQ0M7WUFDZCxNQUFNLEVBQUVaLElBQUksRUFBRUYsT0FBTyxFQUFFTCxRQUFRLEVBQUVQLE9BQU8yQixVQUFVLEVBQUVaLEtBQUssRUFBRSxHQUFHVztZQUM5RCxNQUFNRSxZQUFZLEtBQU1qQixFQUFFLEdBQUcsSUFBS0M7WUFDbEMsTUFBTWlCLE9BQU8sRUFBRTtZQUVmLElBQUssSUFBSTVCLElBQUksR0FBR0EsSUFBSVcsU0FBU1gsSUFBSztnQkFDaEM0QixLQUFLQyxJQUFJLENBQUNGLFlBQVkzQjtZQUN4QjtZQUVBLE1BQU04QixXQUFXQyxTQUFTQyxhQUFhLENBQUM7WUFDeENGLFNBQVNHLFNBQVMsR0FBRztZQUNyQkgsU0FBU0ksS0FBSyxDQUFDbkMsS0FBSyxHQUFHMkI7WUFDdkJJLFNBQVNJLEtBQUssQ0FBQ0MsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFN0IsU0FBUyxFQUFFLENBQUM7WUFDakR3QixTQUFTSSxLQUFLLENBQUNDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRXhCLFFBQVEsQ0FBQztZQUM5Q21CLFNBQVNJLEtBQUssQ0FBQ0MsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFdEIsS0FBSyxDQUFDLENBQUM7WUFDNUNpQixTQUFTSSxLQUFLLENBQUNDLFdBQVcsQ0FBQyxRQUFRdEMsS0FBS3VDLE1BQU0sS0FBSyxNQUFNLFlBQVk7WUFDckVOLFNBQVNJLEtBQUssQ0FBQ0MsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFckIsTUFBTSxDQUFDO1lBRTVDYyxLQUFLSixPQUFPLENBQUMsQ0FBQ2EsT0FBT3JDO2dCQUNuQixJQUFJSCxLQUFLeUMsSUFBSSxDQUFDekMsS0FBS3VDLE1BQU0sTUFBTXRCLE9BQU87b0JBQ3BDLE1BQU15QixZQUFZUixTQUFTQyxhQUFhLENBQUM7b0JBQ3pDTyxVQUFVTixTQUFTLEdBQUc7b0JBQ3RCTSxVQUFVTCxLQUFLLENBQUNDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFTLE1BQU90QyxLQUFLYSxFQUFFLENBQUMsR0FBRyxDQUFDO29CQUNsRTZCLFVBQVVMLEtBQUssQ0FBQ0MsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFbkMsRUFBRSxDQUFDO29CQUN6Q3VDLFVBQVVMLEtBQUssQ0FBQ0MsV0FBVyxDQUFDLE9BQU90QyxLQUFLdUMsTUFBTSxLQUFLLE1BQU0sWUFBWTtvQkFFckVOLFNBQVNVLFdBQVcsQ0FBQ0Q7Z0JBQ3ZCO1lBQ0Y7WUFFQXJCLFVBQVVzQixXQUFXLENBQUNWO1FBQ3hCO1FBRUEsbUJBQW1CO1FBQ25CLE9BQU87WUFDTCxJQUFJWixXQUFXO2dCQUNiQSxVQUFVdUIsU0FBUyxHQUFHO1lBQ3hCO1FBQ0Y7SUFDRixHQUFHLEVBQUU7SUFFTCxxQkFDRSw4REFBQ0M7UUFBSVQsV0FBVTtRQUFrQlUsS0FBSzNCOzs7Ozs7QUFFMUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9jb21wb25lbnRzL1NwaW5uaW5nTnVtYmVycy50c3g/N2NjNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcclxuXHJcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjb2xvcnMgfSBmcm9tICdAL2xpYi9jb2xvcnMnO1xyXG5cclxuZnVuY3Rpb24gbGVycChhOiBudW1iZXIsIGI6IG51bWJlciwgdDogbnVtYmVyKSB7XHJcbiAgcmV0dXJuIChiIC0gYSkgKiB0ICsgYTtcclxufVxyXG5cclxuLy8gQ29udmVydCBoZXggdG8gUkdCXHJcbmZ1bmN0aW9uIGhleFRvUmdiKGhleDogc3RyaW5nKTogeyByOiBudW1iZXI7IGc6IG51bWJlcjsgYjogbnVtYmVyIH0ge1xyXG4gIGNvbnN0IHJlc3VsdCA9IC9eIz8oW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkkL2kuZXhlYyhoZXgpO1xyXG4gIHJldHVybiByZXN1bHRcclxuICAgID8ge1xyXG4gICAgICAgIHI6IHBhcnNlSW50KHJlc3VsdFsxXSwgMTYpLFxyXG4gICAgICAgIGc6IHBhcnNlSW50KHJlc3VsdFsyXSwgMTYpLFxyXG4gICAgICAgIGI6IHBhcnNlSW50KHJlc3VsdFszXSwgMTYpLFxyXG4gICAgICB9XHJcbiAgICA6IHsgcjogMCwgZzogMCwgYjogMCB9O1xyXG59XHJcblxyXG4vLyBJbnRlcnBvbGF0ZSBiZXR3ZWVuIHR3byBoZXggY29sb3JzXHJcbmZ1bmN0aW9uIGludGVycG9sYXRlQ29sb3IoY29sb3IxOiBzdHJpbmcsIGNvbG9yMjogc3RyaW5nLCB0OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gIGNvbnN0IHJnYjEgPSBoZXhUb1JnYihjb2xvcjEpO1xyXG4gIGNvbnN0IHJnYjIgPSBoZXhUb1JnYihjb2xvcjIpO1xyXG4gIGNvbnN0IHIgPSBNYXRoLnJvdW5kKGxlcnAocmdiMS5yLCByZ2IyLnIsIHQpKTtcclxuICBjb25zdCBnID0gTWF0aC5yb3VuZChsZXJwKHJnYjEuZywgcmdiMi5nLCB0KSk7XHJcbiAgY29uc3QgYiA9IE1hdGgucm91bmQobGVycChyZ2IxLmIsIHJnYjIuYiwgdCkpO1xyXG4gIHJldHVybiBgcmdiKCR7cn0sICR7Z30sICR7Yn0pYDtcclxufVxyXG5cclxuZnVuY3Rpb24gY29sb3IoaTogbnVtYmVyLCB0b3RhbDogbnVtYmVyKSB7XHJcbiAgY29uc3QgdCA9IGkgLyB0b3RhbDtcclxuICAvLyBJbnRlcnBvbGF0ZSBiZXR3ZWVuIFdlYmtsYXIgY29sb3JzOiBwcmltYXJ5IChkYXJrIGdyZWVuKSAtPiBzZWNvbmRhcnkgKG1lZGl1bSBncmVlbikgLT4gdGVydGlhcnkgKGxpZ2h0IGdyZWVuLWJlaWdlKVxyXG4gIGlmICh0IDwgMC41KSB7XHJcbiAgICByZXR1cm4gaW50ZXJwb2xhdGVDb2xvcihjb2xvcnMucHJpbWFyeSwgY29sb3JzLnNlY29uZGFyeSwgdCAqIDIpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gaW50ZXJwb2xhdGVDb2xvcihjb2xvcnMuc2Vjb25kYXJ5LCBjb2xvcnMudGVydGlhcnksICh0IC0gMC41KSAqIDIpO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlV2hlZWwoaTogbnVtYmVyLCB0b3RhbDogbnVtYmVyKSB7XHJcbiAgY29uc3QgZGlzdGFuY2UgPSBpICsgMy41OyAvLyBTbGlnaHRseSBpbmNyZWFzZWQgZGlzdGFuY2VcclxuICBjb25zdCBjaGFyV2lkdGggPSAwLjg1O1xyXG4gIGNvbnN0IHNwZWVkID0gMTtcclxuICBjb25zdCBjaXJjdW0gPSBkaXN0YW5jZSAqIDIgKiBNYXRoLlBJO1xyXG4gIGNvbnN0IG51bWJlcnMgPSBNYXRoLmZsb29yKGNpcmN1bSAvIGNoYXJXaWR0aCk7XHJcbiAgY29uc3QgdGltZSA9IHNwZWVkICogbnVtYmVycztcclxuICBjb25zdCB0ID0gaSAvIHRvdGFsO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgdGltZSxcclxuICAgIG51bWJlcnMsXHJcbiAgICBkaXN0YW5jZSxcclxuICAgIGNvbG9yOiBjb2xvcihpLCB0b3RhbCksXHJcbiAgICBzY2FsZTogbGVycCgxLCAwLjI1LCB0ICogdCAqIDAuNSksIC8vIE1lZGl1bSBzY2FsZVxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNwaW5uaW5nTnVtYmVycygpIHtcclxuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgaWYgKCFjb250YWluZXJSZWYuY3VycmVudCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xyXG4gICAgY29uc3QgdG90YWwgPSAxMztcclxuICAgIGNvbnN0IHdoZWVscyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IHRvdGFsIH0sIChfLCBpKSA9PiBjcmVhdGVXaGVlbChpLCB0b3RhbCkpO1xyXG5cclxuICAgIHdoZWVscy5mb3JFYWNoKCh3aGVlbCkgPT4ge1xyXG4gICAgICBjb25zdCB7IHRpbWUsIG51bWJlcnMsIGRpc3RhbmNlLCBjb2xvcjogd2hlZWxDb2xvciwgc2NhbGUgfSA9IHdoZWVsO1xyXG4gICAgICBjb25zdCBhbmdsZURpZmYgPSAoTWF0aC5QSSAqIDIpIC8gbnVtYmVycztcclxuICAgICAgY29uc3QgZGl2cyA9IFtdO1xyXG5cclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1iZXJzOyBpKyspIHtcclxuICAgICAgICBkaXZzLnB1c2goYW5nbGVEaWZmICogaSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHdoZWVsRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIHdoZWVsRGl2LmNsYXNzTmFtZSA9ICd3aGVlbCc7XHJcbiAgICAgIHdoZWVsRGl2LnN0eWxlLmNvbG9yID0gd2hlZWxDb2xvcjtcclxuICAgICAgd2hlZWxEaXYuc3R5bGUuc2V0UHJvcGVydHkoJy0tbCcsIGAke2Rpc3RhbmNlfWVtYCk7XHJcbiAgICAgIHdoZWVsRGl2LnN0eWxlLnNldFByb3BlcnR5KCctLW0nLCBgJHtudW1iZXJzfWApO1xyXG4gICAgICB3aGVlbERpdi5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10JywgYCR7dGltZX1zYCk7XHJcbiAgICAgIHdoZWVsRGl2LnN0eWxlLnNldFByb3BlcnR5KCctLXIxJywgTWF0aC5yYW5kb20oKSA8IDAuNSA/ICdyZXZlcnNlJyA6ICdub3JtYWwnKTtcclxuICAgICAgd2hlZWxEaXYuc3R5bGUuc2V0UHJvcGVydHkoJy0tcycsIGAke3NjYWxlfWApO1xyXG5cclxuICAgICAgZGl2cy5mb3JFYWNoKChhbmdsZSwgaSkgPT4ge1xyXG4gICAgICAgIGlmIChNYXRoLnNxcnQoTWF0aC5yYW5kb20oKSkgPCBzY2FsZSkge1xyXG4gICAgICAgICAgY29uc3QgbnVtYmVyRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBudW1iZXJEaXYuY2xhc3NOYW1lID0gJ251bWJlcic7XHJcbiAgICAgICAgICBudW1iZXJEaXYuc3R5bGUuc2V0UHJvcGVydHkoJy0tYScsIGAkeyhhbmdsZSAqIDE4MCkgLyBNYXRoLlBJfWRlZ2ApO1xyXG4gICAgICAgICAgbnVtYmVyRGl2LnN0eWxlLnNldFByb3BlcnR5KCctLWknLCBgJHtpfWApO1xyXG4gICAgICAgICAgbnVtYmVyRGl2LnN0eWxlLnNldFByb3BlcnR5KCctLXInLCBNYXRoLnJhbmRvbSgpIDwgMC41ID8gJ3JldmVyc2UnIDogJ25vcm1hbCcpO1xyXG5cclxuICAgICAgICAgIHdoZWVsRGl2LmFwcGVuZENoaWxkKG51bWJlckRpdik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh3aGVlbERpdik7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBDbGVhbnVwIGZ1bmN0aW9uXHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICBpZiAoY29udGFpbmVyKSB7XHJcbiAgICAgICAgY29udGFpbmVyLmlubmVySFRNTCA9ICcnO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH0sIFtdKTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgY2xhc3NOYW1lPVwic3Bpbm5pbmctbnVtYmVyXCIgcmVmPXtjb250YWluZXJSZWZ9IC8+XHJcbiAgKTtcclxufVxyXG5cclxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZVJlZiIsImNvbG9ycyIsImxlcnAiLCJhIiwiYiIsInQiLCJoZXhUb1JnYiIsImhleCIsInJlc3VsdCIsImV4ZWMiLCJyIiwicGFyc2VJbnQiLCJnIiwiaW50ZXJwb2xhdGVDb2xvciIsImNvbG9yMSIsImNvbG9yMiIsInJnYjEiLCJyZ2IyIiwiTWF0aCIsInJvdW5kIiwiY29sb3IiLCJpIiwidG90YWwiLCJwcmltYXJ5Iiwic2Vjb25kYXJ5IiwidGVydGlhcnkiLCJjcmVhdGVXaGVlbCIsImRpc3RhbmNlIiwiY2hhcldpZHRoIiwic3BlZWQiLCJjaXJjdW0iLCJQSSIsIm51bWJlcnMiLCJmbG9vciIsInRpbWUiLCJzY2FsZSIsIlNwaW5uaW5nTnVtYmVycyIsImNvbnRhaW5lclJlZiIsImN1cnJlbnQiLCJjb250YWluZXIiLCJ3aGVlbHMiLCJBcnJheSIsImZyb20iLCJsZW5ndGgiLCJfIiwiZm9yRWFjaCIsIndoZWVsIiwid2hlZWxDb2xvciIsImFuZ2xlRGlmZiIsImRpdnMiLCJwdXNoIiwid2hlZWxEaXYiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsInNldFByb3BlcnR5IiwicmFuZG9tIiwiYW5nbGUiLCJzcXJ0IiwibnVtYmVyRGl2IiwiYXBwZW5kQ2hpbGQiLCJpbm5lckhUTUwiLCJkaXYiLCJyZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/SpinningNumbers.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/ui/background-beams.tsx": +/*!********************************************!*\ + !*** ./components/ui/background-beams.tsx ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundBeams: () => (/* binding */ BackgroundBeams)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var motion_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! motion/react */ \"(ssr)/./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ BackgroundBeams auto */ \n\n\n\nconst BackgroundBeams = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ className })=>{\n const paths = [\n \"M-380 -189C-380 -189 -312 216 152 343C616 470 684 875 684 875\",\n \"M-373 -197C-373 -197 -305 208 159 335C623 462 691 867 691 867\",\n \"M-366 -205C-366 -205 -298 200 166 327C630 454 698 859 698 859\",\n \"M-359 -213C-359 -213 -291 192 173 319C637 446 705 851 705 851\",\n \"M-352 -221C-352 -221 -284 184 180 311C644 438 712 843 712 843\",\n \"M-345 -229C-345 -229 -277 176 187 303C651 430 719 835 719 835\",\n \"M-338 -237C-338 -237 -270 168 194 295C658 422 726 827 726 827\",\n \"M-331 -245C-331 -245 -263 160 201 287C665 414 733 819 733 819\",\n \"M-324 -253C-324 -253 -256 152 208 279C672 406 740 811 740 811\",\n \"M-317 -261C-317 -261 -249 144 215 271C679 398 747 803 747 803\",\n \"M-310 -269C-310 -269 -242 136 222 263C686 390 754 795 754 795\",\n \"M-303 -277C-303 -277 -235 128 229 255C693 382 761 787 761 787\",\n \"M-296 -285C-296 -285 -228 120 236 247C700 374 768 779 768 779\",\n \"M-289 -293C-289 -293 -221 112 243 239C707 366 775 771 775 771\",\n \"M-282 -301C-282 -301 -214 104 250 231C714 358 782 763 782 763\",\n \"M-275 -309C-275 -309 -207 96 257 223C721 350 789 755 789 755\",\n \"M-268 -317C-268 -317 -200 88 264 215C728 342 796 747 796 747\",\n \"M-261 -325C-261 -325 -193 80 271 207C735 334 803 739 803 739\",\n \"M-254 -333C-254 -333 -186 72 278 199C742 326 810 731 810 731\",\n \"M-247 -341C-247 -341 -179 64 285 191C749 318 817 723 817 723\",\n \"M-240 -349C-240 -349 -172 56 292 183C756 310 824 715 824 715\",\n \"M-233 -357C-233 -357 -165 48 299 175C763 302 831 707 831 707\",\n \"M-226 -365C-226 -365 -158 40 306 167C770 294 838 699 838 699\",\n \"M-219 -373C-219 -373 -151 32 313 159C777 286 845 691 845 691\",\n \"M-212 -381C-212 -381 -144 24 320 151C784 278 852 683 852 683\",\n \"M-205 -389C-205 -389 -137 16 327 143C791 270 859 675 859 675\",\n \"M-198 -397C-198 -397 -130 8 334 135C798 262 866 667 866 667\",\n \"M-191 -405C-191 -405 -123 0 341 127C805 254 873 659 873 659\",\n \"M-184 -413C-184 -413 -116 -8 348 119C812 246 880 651 880 651\",\n \"M-177 -421C-177 -421 -109 -16 355 111C819 238 887 643 887 643\",\n \"M-170 -429C-170 -429 -102 -24 362 103C826 230 894 635 894 635\",\n \"M-163 -437C-163 -437 -95 -32 369 95C833 222 901 627 901 627\",\n \"M-156 -445C-156 -445 -88 -40 376 87C840 214 908 619 908 619\",\n \"M-149 -453C-149 -453 -81 -48 383 79C847 206 915 611 915 611\",\n \"M-142 -461C-142 -461 -74 -56 390 71C854 198 922 603 922 603\",\n \"M-135 -469C-135 -469 -67 -64 397 63C861 190 929 595 929 595\",\n \"M-128 -477C-128 -477 -60 -72 404 55C868 182 936 587 936 587\",\n \"M-121 -485C-121 -485 -53 -80 411 47C875 174 943 579 943 579\",\n \"M-114 -493C-114 -493 -46 -88 418 39C882 166 950 571 950 571\",\n \"M-107 -501C-107 -501 -39 -96 425 31C889 158 957 563 957 563\",\n \"M-100 -509C-100 -509 -32 -104 432 23C896 150 964 555 964 555\",\n \"M-93 -517C-93 -517 -25 -112 439 15C903 142 971 547 971 547\",\n \"M-86 -525C-86 -525 -18 -120 446 7C910 134 978 539 978 539\",\n \"M-79 -533C-79 -533 -11 -128 453 -1C917 126 985 531 985 531\",\n \"M-72 -541C-72 -541 -4 -136 460 -9C924 118 992 523 992 523\",\n \"M-65 -549C-65 -549 3 -144 467 -17C931 110 999 515 999 515\",\n \"M-58 -557C-58 -557 10 -152 474 -25C938 102 1006 507 1006 507\",\n \"M-51 -565C-51 -565 17 -160 481 -33C945 94 1013 499 1013 499\",\n \"M-44 -573C-44 -573 24 -168 488 -41C952 86 1020 491 1020 491\",\n \"M-37 -581C-37 -581 31 -176 495 -49C959 78 1027 483 1027 483\"\n ];\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"absolute inset-0 flex h-full w-full items-center justify-center [mask-repeat:no-repeat] [mask-size:40px]\", className),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"pointer-events-none absolute z-0 h-full w-full\",\n width: \"100%\",\n height: \"100%\",\n viewBox: \"0 0 696 316\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M-380 -189C-380 -189 -312 216 152 343C616 470 684 875 684 875M-373 -197C-373 -197 -305 208 159 335C623 462 691 867 691 867M-366 -205C-366 -205 -298 200 166 327C630 454 698 859 698 859M-359 -213C-359 -213 -291 192 173 319C637 446 705 851 705 851M-352 -221C-352 -221 -284 184 180 311C644 438 712 843 712 843M-345 -229C-345 -229 -277 176 187 303C651 430 719 835 719 835M-338 -237C-338 -237 -270 168 194 295C658 422 726 827 726 827M-331 -245C-331 -245 -263 160 201 287C665 414 733 819 733 819M-324 -253C-324 -253 -256 152 208 279C672 406 740 811 740 811M-317 -261C-317 -261 -249 144 215 271C679 398 747 803 747 803M-310 -269C-310 -269 -242 136 222 263C686 390 754 795 754 795M-303 -277C-303 -277 -235 128 229 255C693 382 761 787 761 787M-296 -285C-296 -285 -228 120 236 247C700 374 768 779 768 779M-289 -293C-289 -293 -221 112 243 239C707 366 775 771 775 771M-282 -301C-282 -301 -214 104 250 231C714 358 782 763 782 763M-275 -309C-275 -309 -207 96 257 223C721 350 789 755 789 755M-268 -317C-268 -317 -200 88 264 215C728 342 796 747 796 747M-261 -325C-261 -325 -193 80 271 207C735 334 803 739 803 739M-254 -333C-254 -333 -186 72 278 199C742 326 810 731 810 731M-247 -341C-247 -341 -179 64 285 191C749 318 817 723 817 723M-240 -349C-240 -349 -172 56 292 183C756 310 824 715 824 715M-233 -357C-233 -357 -165 48 299 175C763 302 831 707 831 707M-226 -365C-226 -365 -158 40 306 167C770 294 838 699 838 699M-219 -373C-219 -373 -151 32 313 159C777 286 845 691 845 691M-212 -381C-212 -381 -144 24 320 151C784 278 852 683 852 683M-205 -389C-205 -389 -137 16 327 143C791 270 859 675 859 675M-198 -397C-198 -397 -130 8 334 135C798 262 866 667 866 667M-191 -405C-191 -405 -123 0 341 127C805 254 873 659 873 659M-184 -413C-184 -413 -116 -8 348 119C812 246 880 651 880 651M-177 -421C-177 -421 -109 -16 355 111C819 238 887 643 887 643M-170 -429C-170 -429 -102 -24 362 103C826 230 894 635 894 635M-163 -437C-163 -437 -95 -32 369 95C833 222 901 627 901 627M-156 -445C-156 -445 -88 -40 376 87C840 214 908 619 908 619M-149 -453C-149 -453 -81 -48 383 79C847 206 915 611 915 611M-142 -461C-142 -461 -74 -56 390 71C854 198 922 603 922 603M-135 -469C-135 -469 -67 -64 397 63C861 190 929 595 929 595M-128 -477C-128 -477 -60 -72 404 55C868 182 936 587 936 587M-121 -485C-121 -485 -53 -80 411 47C875 174 943 579 943 579M-114 -493C-114 -493 -46 -88 418 39C882 166 950 571 950 571M-107 -501C-107 -501 -39 -96 425 31C889 158 957 563 957 563M-100 -509C-100 -509 -32 -104 432 23C896 150 964 555 964 555M-93 -517C-93 -517 -25 -112 439 15C903 142 971 547 971 547M-86 -525C-86 -525 -18 -120 446 7C910 134 978 539 978 539M-79 -533C-79 -533 -11 -128 453 -1C917 126 985 531 985 531M-72 -541C-72 -541 -4 -136 460 -9C924 118 992 523 992 523M-65 -549C-65 -549 3 -144 467 -17C931 110 999 515 999 515M-58 -557C-58 -557 10 -152 474 -25C938 102 1006 507 1006 507M-51 -565C-51 -565 17 -160 481 -33C945 94 1013 499 1013 499M-44 -573C-44 -573 24 -168 488 -41C952 86 1020 491 1020 491M-37 -581C-37 -581 31 -176 495 -49C959 78 1027 483 1027 483M-30 -589C-30 -589 38 -184 502 -57C966 70 1034 475 1034 475M-23 -597C-23 -597 45 -192 509 -65C973 62 1041 467 1041 467M-16 -605C-16 -605 52 -200 516 -73C980 54 1048 459 1048 459M-9 -613C-9 -613 59 -208 523 -81C987 46 1055 451 1055 451M-2 -621C-2 -621 66 -216 530 -89C994 38 1062 443 1062 443M5 -629C5 -629 73 -224 537 -97C1001 30 1069 435 1069 435M12 -637C12 -637 80 -232 544 -105C1008 22 1076 427 1076 427M19 -645C19 -645 87 -240 551 -113C1015 14 1083 419 1083 419\",\n stroke: \"url(#paint0_radial_242_278)\",\n strokeOpacity: \"0.05\",\n strokeWidth: \"0.5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\background-beams.tsx\",\n lineNumber: 75,\n columnNumber: 11\n }, undefined),\n paths.map((path, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(motion_react__WEBPACK_IMPORTED_MODULE_3__.motion.path, {\n d: path,\n stroke: `url(#linearGradient-${index})`,\n strokeOpacity: \"0.4\",\n strokeWidth: \"0.5\"\n }, `path-` + index, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\background-beams.tsx\",\n lineNumber: 83,\n columnNumber: 13\n }, undefined)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n paths.map((path, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(motion_react__WEBPACK_IMPORTED_MODULE_3__.motion.linearGradient, {\n id: `linearGradient-${index}`,\n initial: {\n x1: \"0%\",\n x2: \"0%\",\n y1: \"0%\",\n y2: \"0%\"\n },\n animate: {\n x1: [\n \"0%\",\n \"100%\"\n ],\n x2: [\n \"0%\",\n \"95%\"\n ],\n y1: [\n \"0%\",\n \"100%\"\n ],\n y2: [\n \"0%\",\n `${93 + Math.random() * 8}%`\n ]\n },\n transition: {\n duration: Math.random() * 10 + 10,\n ease: \"easeInOut\",\n repeat: Infinity,\n delay: Math.random() * 10\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n stopColor: \"#18CCFC\",\n stopOpacity: \"0\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\background-beams.tsx\",\n lineNumber: 115,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n stopColor: \"#18CCFC\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\background-beams.tsx\",\n lineNumber: 116,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"32.5%\",\n stopColor: \"#6344F5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\background-beams.tsx\",\n lineNumber: 117,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"100%\",\n stopColor: \"#AE48FF\",\n stopOpacity: \"0\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\background-beams.tsx\",\n lineNumber: 118,\n columnNumber: 17\n }, undefined)\n ]\n }, `gradient-${index}`, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\background-beams.tsx\",\n lineNumber: 93,\n columnNumber: 15\n }, undefined)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"radialGradient\", {\n id: \"paint0_radial_242_278\",\n cx: \"0\",\n cy: \"0\",\n r: \"1\",\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(352 34) rotate(90) scale(555 1560.62)\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.0666667\",\n stopColor: \"#d4d4d4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\background-beams.tsx\",\n lineNumber: 130,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.243243\",\n stopColor: \"#d4d4d4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\background-beams.tsx\",\n lineNumber: 131,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"stop\", {\n offset: \"0.43594\",\n stopColor: \"white\",\n stopOpacity: \"0\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\background-beams.tsx\",\n lineNumber: 132,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\background-beams.tsx\",\n lineNumber: 122,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\background-beams.tsx\",\n lineNumber: 91,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\background-beams.tsx\",\n lineNumber: 67,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\background-beams.tsx\",\n lineNumber: 61,\n columnNumber: 7\n }, undefined);\n});\nBackgroundBeams.displayName = \"BackgroundBeams\";\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL3VpL2JhY2tncm91bmQtYmVhbXMudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQzBCO0FBQ1k7QUFDTDtBQUUxQixNQUFNRyxnQ0FBa0JILGlEQUFVLENBQ3ZDLENBQUMsRUFBRUssU0FBUyxFQUEwQjtJQUNwQyxNQUFNQyxRQUFRO1FBQ1o7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtLQUNEO0lBQ0QscUJBQ0UsOERBQUNDO1FBQ0NGLFdBQVdILDhDQUFFQSxDQUNYLDRHQUNBRztrQkFHRiw0RUFBQ0c7WUFDQ0gsV0FBVTtZQUNWSSxPQUFNO1lBQ05DLFFBQU87WUFDUEMsU0FBUTtZQUNSQyxNQUFLO1lBQ0xDLE9BQU07OzhCQUVOLDhEQUFDQztvQkFDQ0MsR0FBRTtvQkFDRkMsUUFBTztvQkFDUEMsZUFBYztvQkFDZEMsYUFBWTs7Ozs7O2dCQUdiWixNQUFNYSxHQUFHLENBQUMsQ0FBQ0wsTUFBTU0sc0JBQ2hCLDhEQUFDbkIsZ0RBQU1BLENBQUNhLElBQUk7d0JBRVZDLEdBQUdEO3dCQUNIRSxRQUFRLENBQUMsb0JBQW9CLEVBQUVJLE1BQU0sQ0FBQyxDQUFDO3dCQUN2Q0gsZUFBYzt3QkFDZEMsYUFBWTt1QkFKUCxDQUFDLEtBQUssQ0FBQyxHQUFHRTs7Ozs7OEJBT25CLDhEQUFDQzs7d0JBQ0VmLE1BQU1hLEdBQUcsQ0FBQyxDQUFDTCxNQUFNTSxzQkFDaEIsOERBQUNuQixnREFBTUEsQ0FBQ3FCLGNBQWM7Z0NBQ3BCQyxJQUFJLENBQUMsZUFBZSxFQUFFSCxNQUFNLENBQUM7Z0NBRTdCSSxTQUFTO29DQUNQQyxJQUFJO29DQUNKQyxJQUFJO29DQUNKQyxJQUFJO29DQUNKQyxJQUFJO2dDQUNOO2dDQUNBQyxTQUFTO29DQUNQSixJQUFJO3dDQUFDO3dDQUFNO3FDQUFPO29DQUNsQkMsSUFBSTt3Q0FBQzt3Q0FBTTtxQ0FBTTtvQ0FDakJDLElBQUk7d0NBQUM7d0NBQU07cUNBQU87b0NBQ2xCQyxJQUFJO3dDQUFDO3dDQUFNLENBQUMsRUFBRSxLQUFLRSxLQUFLQyxNQUFNLEtBQUssRUFBRSxDQUFDLENBQUM7cUNBQUM7Z0NBQzFDO2dDQUNBQyxZQUFZO29DQUNWQyxVQUFVSCxLQUFLQyxNQUFNLEtBQUssS0FBSztvQ0FDL0JHLE1BQU07b0NBQ05DLFFBQVFDO29DQUNSQyxPQUFPUCxLQUFLQyxNQUFNLEtBQUs7Z0NBQ3pCOztrREFFQSw4REFBQ087d0NBQUtDLFdBQVU7d0NBQVVDLGFBQVk7Ozs7OztrREFDdEMsOERBQUNGO3dDQUFLQyxXQUFVOzs7Ozs7a0RBQ2hCLDhEQUFDRDt3Q0FBS0csUUFBTzt3Q0FBUUYsV0FBVTs7Ozs7O2tEQUMvQiw4REFBQ0Q7d0NBQUtHLFFBQU87d0NBQU9GLFdBQVU7d0NBQVVDLGFBQVk7Ozs7Ozs7K0JBdkIvQyxDQUFDLFNBQVMsRUFBRXBCLE1BQU0sQ0FBQzs7Ozs7c0NBMkI1Qiw4REFBQ3NCOzRCQUNDbkIsSUFBRzs0QkFDSG9CLElBQUc7NEJBQ0hDLElBQUc7NEJBQ0hDLEdBQUU7NEJBQ0ZDLGVBQWM7NEJBQ2RDLG1CQUFrQjs7OENBRWxCLDhEQUFDVDtvQ0FBS0csUUFBTztvQ0FBWUYsV0FBVTs7Ozs7OzhDQUNuQyw4REFBQ0Q7b0NBQUtHLFFBQU87b0NBQVdGLFdBQVU7Ozs7Ozs4Q0FDbEMsOERBQUNEO29DQUFLRyxRQUFPO29DQUFVRixXQUFVO29DQUFRQyxhQUFZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1qRSxHQUNBO0FBRUZyQyxnQkFBZ0I2QyxXQUFXLEdBQUciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9jb21wb25lbnRzL3VpL2JhY2tncm91bmQtYmVhbXMudHN4PzFjYmQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XHJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgbW90aW9uIH0gZnJvbSBcIm1vdGlvbi9yZWFjdFwiO1xyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL2xpYi91dGlsc1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IEJhY2tncm91bmRCZWFtcyA9IFJlYWN0Lm1lbW8oXHJcbiAgKHsgY2xhc3NOYW1lIH06IHsgY2xhc3NOYW1lPzogc3RyaW5nIH0pID0+IHtcclxuICAgIGNvbnN0IHBhdGhzID0gW1xyXG4gICAgICBcIk0tMzgwIC0xODlDLTM4MCAtMTg5IC0zMTIgMjE2IDE1MiAzNDNDNjE2IDQ3MCA2ODQgODc1IDY4NCA4NzVcIixcclxuICAgICAgXCJNLTM3MyAtMTk3Qy0zNzMgLTE5NyAtMzA1IDIwOCAxNTkgMzM1QzYyMyA0NjIgNjkxIDg2NyA2OTEgODY3XCIsXHJcbiAgICAgIFwiTS0zNjYgLTIwNUMtMzY2IC0yMDUgLTI5OCAyMDAgMTY2IDMyN0M2MzAgNDU0IDY5OCA4NTkgNjk4IDg1OVwiLFxyXG4gICAgICBcIk0tMzU5IC0yMTNDLTM1OSAtMjEzIC0yOTEgMTkyIDE3MyAzMTlDNjM3IDQ0NiA3MDUgODUxIDcwNSA4NTFcIixcclxuICAgICAgXCJNLTM1MiAtMjIxQy0zNTIgLTIyMSAtMjg0IDE4NCAxODAgMzExQzY0NCA0MzggNzEyIDg0MyA3MTIgODQzXCIsXHJcbiAgICAgIFwiTS0zNDUgLTIyOUMtMzQ1IC0yMjkgLTI3NyAxNzYgMTg3IDMwM0M2NTEgNDMwIDcxOSA4MzUgNzE5IDgzNVwiLFxyXG4gICAgICBcIk0tMzM4IC0yMzdDLTMzOCAtMjM3IC0yNzAgMTY4IDE5NCAyOTVDNjU4IDQyMiA3MjYgODI3IDcyNiA4MjdcIixcclxuICAgICAgXCJNLTMzMSAtMjQ1Qy0zMzEgLTI0NSAtMjYzIDE2MCAyMDEgMjg3QzY2NSA0MTQgNzMzIDgxOSA3MzMgODE5XCIsXHJcbiAgICAgIFwiTS0zMjQgLTI1M0MtMzI0IC0yNTMgLTI1NiAxNTIgMjA4IDI3OUM2NzIgNDA2IDc0MCA4MTEgNzQwIDgxMVwiLFxyXG4gICAgICBcIk0tMzE3IC0yNjFDLTMxNyAtMjYxIC0yNDkgMTQ0IDIxNSAyNzFDNjc5IDM5OCA3NDcgODAzIDc0NyA4MDNcIixcclxuICAgICAgXCJNLTMxMCAtMjY5Qy0zMTAgLTI2OSAtMjQyIDEzNiAyMjIgMjYzQzY4NiAzOTAgNzU0IDc5NSA3NTQgNzk1XCIsXHJcbiAgICAgIFwiTS0zMDMgLTI3N0MtMzAzIC0yNzcgLTIzNSAxMjggMjI5IDI1NUM2OTMgMzgyIDc2MSA3ODcgNzYxIDc4N1wiLFxyXG4gICAgICBcIk0tMjk2IC0yODVDLTI5NiAtMjg1IC0yMjggMTIwIDIzNiAyNDdDNzAwIDM3NCA3NjggNzc5IDc2OCA3NzlcIixcclxuICAgICAgXCJNLTI4OSAtMjkzQy0yODkgLTI5MyAtMjIxIDExMiAyNDMgMjM5QzcwNyAzNjYgNzc1IDc3MSA3NzUgNzcxXCIsXHJcbiAgICAgIFwiTS0yODIgLTMwMUMtMjgyIC0zMDEgLTIxNCAxMDQgMjUwIDIzMUM3MTQgMzU4IDc4MiA3NjMgNzgyIDc2M1wiLFxyXG4gICAgICBcIk0tMjc1IC0zMDlDLTI3NSAtMzA5IC0yMDcgOTYgMjU3IDIyM0M3MjEgMzUwIDc4OSA3NTUgNzg5IDc1NVwiLFxyXG4gICAgICBcIk0tMjY4IC0zMTdDLTI2OCAtMzE3IC0yMDAgODggMjY0IDIxNUM3MjggMzQyIDc5NiA3NDcgNzk2IDc0N1wiLFxyXG4gICAgICBcIk0tMjYxIC0zMjVDLTI2MSAtMzI1IC0xOTMgODAgMjcxIDIwN0M3MzUgMzM0IDgwMyA3MzkgODAzIDczOVwiLFxyXG4gICAgICBcIk0tMjU0IC0zMzNDLTI1NCAtMzMzIC0xODYgNzIgMjc4IDE5OUM3NDIgMzI2IDgxMCA3MzEgODEwIDczMVwiLFxyXG4gICAgICBcIk0tMjQ3IC0zNDFDLTI0NyAtMzQxIC0xNzkgNjQgMjg1IDE5MUM3NDkgMzE4IDgxNyA3MjMgODE3IDcyM1wiLFxyXG4gICAgICBcIk0tMjQwIC0zNDlDLTI0MCAtMzQ5IC0xNzIgNTYgMjkyIDE4M0M3NTYgMzEwIDgyNCA3MTUgODI0IDcxNVwiLFxyXG4gICAgICBcIk0tMjMzIC0zNTdDLTIzMyAtMzU3IC0xNjUgNDggMjk5IDE3NUM3NjMgMzAyIDgzMSA3MDcgODMxIDcwN1wiLFxyXG4gICAgICBcIk0tMjI2IC0zNjVDLTIyNiAtMzY1IC0xNTggNDAgMzA2IDE2N0M3NzAgMjk0IDgzOCA2OTkgODM4IDY5OVwiLFxyXG4gICAgICBcIk0tMjE5IC0zNzNDLTIxOSAtMzczIC0xNTEgMzIgMzEzIDE1OUM3NzcgMjg2IDg0NSA2OTEgODQ1IDY5MVwiLFxyXG4gICAgICBcIk0tMjEyIC0zODFDLTIxMiAtMzgxIC0xNDQgMjQgMzIwIDE1MUM3ODQgMjc4IDg1MiA2ODMgODUyIDY4M1wiLFxyXG4gICAgICBcIk0tMjA1IC0zODlDLTIwNSAtMzg5IC0xMzcgMTYgMzI3IDE0M0M3OTEgMjcwIDg1OSA2NzUgODU5IDY3NVwiLFxyXG4gICAgICBcIk0tMTk4IC0zOTdDLTE5OCAtMzk3IC0xMzAgOCAzMzQgMTM1Qzc5OCAyNjIgODY2IDY2NyA4NjYgNjY3XCIsXHJcbiAgICAgIFwiTS0xOTEgLTQwNUMtMTkxIC00MDUgLTEyMyAwIDM0MSAxMjdDODA1IDI1NCA4NzMgNjU5IDg3MyA2NTlcIixcclxuICAgICAgXCJNLTE4NCAtNDEzQy0xODQgLTQxMyAtMTE2IC04IDM0OCAxMTlDODEyIDI0NiA4ODAgNjUxIDg4MCA2NTFcIixcclxuICAgICAgXCJNLTE3NyAtNDIxQy0xNzcgLTQyMSAtMTA5IC0xNiAzNTUgMTExQzgxOSAyMzggODg3IDY0MyA4ODcgNjQzXCIsXHJcbiAgICAgIFwiTS0xNzAgLTQyOUMtMTcwIC00MjkgLTEwMiAtMjQgMzYyIDEwM0M4MjYgMjMwIDg5NCA2MzUgODk0IDYzNVwiLFxyXG4gICAgICBcIk0tMTYzIC00MzdDLTE2MyAtNDM3IC05NSAtMzIgMzY5IDk1QzgzMyAyMjIgOTAxIDYyNyA5MDEgNjI3XCIsXHJcbiAgICAgIFwiTS0xNTYgLTQ0NUMtMTU2IC00NDUgLTg4IC00MCAzNzYgODdDODQwIDIxNCA5MDggNjE5IDkwOCA2MTlcIixcclxuICAgICAgXCJNLTE0OSAtNDUzQy0xNDkgLTQ1MyAtODEgLTQ4IDM4MyA3OUM4NDcgMjA2IDkxNSA2MTEgOTE1IDYxMVwiLFxyXG4gICAgICBcIk0tMTQyIC00NjFDLTE0MiAtNDYxIC03NCAtNTYgMzkwIDcxQzg1NCAxOTggOTIyIDYwMyA5MjIgNjAzXCIsXHJcbiAgICAgIFwiTS0xMzUgLTQ2OUMtMTM1IC00NjkgLTY3IC02NCAzOTcgNjNDODYxIDE5MCA5MjkgNTk1IDkyOSA1OTVcIixcclxuICAgICAgXCJNLTEyOCAtNDc3Qy0xMjggLTQ3NyAtNjAgLTcyIDQwNCA1NUM4NjggMTgyIDkzNiA1ODcgOTM2IDU4N1wiLFxyXG4gICAgICBcIk0tMTIxIC00ODVDLTEyMSAtNDg1IC01MyAtODAgNDExIDQ3Qzg3NSAxNzQgOTQzIDU3OSA5NDMgNTc5XCIsXHJcbiAgICAgIFwiTS0xMTQgLTQ5M0MtMTE0IC00OTMgLTQ2IC04OCA0MTggMzlDODgyIDE2NiA5NTAgNTcxIDk1MCA1NzFcIixcclxuICAgICAgXCJNLTEwNyAtNTAxQy0xMDcgLTUwMSAtMzkgLTk2IDQyNSAzMUM4ODkgMTU4IDk1NyA1NjMgOTU3IDU2M1wiLFxyXG4gICAgICBcIk0tMTAwIC01MDlDLTEwMCAtNTA5IC0zMiAtMTA0IDQzMiAyM0M4OTYgMTUwIDk2NCA1NTUgOTY0IDU1NVwiLFxyXG4gICAgICBcIk0tOTMgLTUxN0MtOTMgLTUxNyAtMjUgLTExMiA0MzkgMTVDOTAzIDE0MiA5NzEgNTQ3IDk3MSA1NDdcIixcclxuICAgICAgXCJNLTg2IC01MjVDLTg2IC01MjUgLTE4IC0xMjAgNDQ2IDdDOTEwIDEzNCA5NzggNTM5IDk3OCA1MzlcIixcclxuICAgICAgXCJNLTc5IC01MzNDLTc5IC01MzMgLTExIC0xMjggNDUzIC0xQzkxNyAxMjYgOTg1IDUzMSA5ODUgNTMxXCIsXHJcbiAgICAgIFwiTS03MiAtNTQxQy03MiAtNTQxIC00IC0xMzYgNDYwIC05QzkyNCAxMTggOTkyIDUyMyA5OTIgNTIzXCIsXHJcbiAgICAgIFwiTS02NSAtNTQ5Qy02NSAtNTQ5IDMgLTE0NCA0NjcgLTE3QzkzMSAxMTAgOTk5IDUxNSA5OTkgNTE1XCIsXHJcbiAgICAgIFwiTS01OCAtNTU3Qy01OCAtNTU3IDEwIC0xNTIgNDc0IC0yNUM5MzggMTAyIDEwMDYgNTA3IDEwMDYgNTA3XCIsXHJcbiAgICAgIFwiTS01MSAtNTY1Qy01MSAtNTY1IDE3IC0xNjAgNDgxIC0zM0M5NDUgOTQgMTAxMyA0OTkgMTAxMyA0OTlcIixcclxuICAgICAgXCJNLTQ0IC01NzNDLTQ0IC01NzMgMjQgLTE2OCA0ODggLTQxQzk1MiA4NiAxMDIwIDQ5MSAxMDIwIDQ5MVwiLFxyXG4gICAgICBcIk0tMzcgLTU4MUMtMzcgLTU4MSAzMSAtMTc2IDQ5NSAtNDlDOTU5IDc4IDEwMjcgNDgzIDEwMjcgNDgzXCIsXHJcbiAgICBdO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICBcImFic29sdXRlIGluc2V0LTAgZmxleCBoLWZ1bGwgdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBbbWFzay1yZXBlYXQ6bm8tcmVwZWF0XSBbbWFzay1zaXplOjQwcHhdXCIsXHJcbiAgICAgICAgICBjbGFzc05hbWUsXHJcbiAgICAgICAgKX1cclxuICAgICAgPlxyXG4gICAgICAgIDxzdmdcclxuICAgICAgICAgIGNsYXNzTmFtZT1cInBvaW50ZXItZXZlbnRzLW5vbmUgYWJzb2x1dGUgei0wIGgtZnVsbCB3LWZ1bGxcIlxyXG4gICAgICAgICAgd2lkdGg9XCIxMDAlXCJcclxuICAgICAgICAgIGhlaWdodD1cIjEwMCVcIlxyXG4gICAgICAgICAgdmlld0JveD1cIjAgMCA2OTYgMzE2XCJcclxuICAgICAgICAgIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgIGQ9XCJNLTM4MCAtMTg5Qy0zODAgLTE4OSAtMzEyIDIxNiAxNTIgMzQzQzYxNiA0NzAgNjg0IDg3NSA2ODQgODc1TS0zNzMgLTE5N0MtMzczIC0xOTcgLTMwNSAyMDggMTU5IDMzNUM2MjMgNDYyIDY5MSA4NjcgNjkxIDg2N00tMzY2IC0yMDVDLTM2NiAtMjA1IC0yOTggMjAwIDE2NiAzMjdDNjMwIDQ1NCA2OTggODU5IDY5OCA4NTlNLTM1OSAtMjEzQy0zNTkgLTIxMyAtMjkxIDE5MiAxNzMgMzE5QzYzNyA0NDYgNzA1IDg1MSA3MDUgODUxTS0zNTIgLTIyMUMtMzUyIC0yMjEgLTI4NCAxODQgMTgwIDMxMUM2NDQgNDM4IDcxMiA4NDMgNzEyIDg0M00tMzQ1IC0yMjlDLTM0NSAtMjI5IC0yNzcgMTc2IDE4NyAzMDNDNjUxIDQzMCA3MTkgODM1IDcxOSA4MzVNLTMzOCAtMjM3Qy0zMzggLTIzNyAtMjcwIDE2OCAxOTQgMjk1QzY1OCA0MjIgNzI2IDgyNyA3MjYgODI3TS0zMzEgLTI0NUMtMzMxIC0yNDUgLTI2MyAxNjAgMjAxIDI4N0M2NjUgNDE0IDczMyA4MTkgNzMzIDgxOU0tMzI0IC0yNTNDLTMyNCAtMjUzIC0yNTYgMTUyIDIwOCAyNzlDNjcyIDQwNiA3NDAgODExIDc0MCA4MTFNLTMxNyAtMjYxQy0zMTcgLTI2MSAtMjQ5IDE0NCAyMTUgMjcxQzY3OSAzOTggNzQ3IDgwMyA3NDcgODAzTS0zMTAgLTI2OUMtMzEwIC0yNjkgLTI0MiAxMzYgMjIyIDI2M0M2ODYgMzkwIDc1NCA3OTUgNzU0IDc5NU0tMzAzIC0yNzdDLTMwMyAtMjc3IC0yMzUgMTI4IDIyOSAyNTVDNjkzIDM4MiA3NjEgNzg3IDc2MSA3ODdNLTI5NiAtMjg1Qy0yOTYgLTI4NSAtMjI4IDEyMCAyMzYgMjQ3QzcwMCAzNzQgNzY4IDc3OSA3NjggNzc5TS0yODkgLTI5M0MtMjg5IC0yOTMgLTIyMSAxMTIgMjQzIDIzOUM3MDcgMzY2IDc3NSA3NzEgNzc1IDc3MU0tMjgyIC0zMDFDLTI4MiAtMzAxIC0yMTQgMTA0IDI1MCAyMzFDNzE0IDM1OCA3ODIgNzYzIDc4MiA3NjNNLTI3NSAtMzA5Qy0yNzUgLTMwOSAtMjA3IDk2IDI1NyAyMjNDNzIxIDM1MCA3ODkgNzU1IDc4OSA3NTVNLTI2OCAtMzE3Qy0yNjggLTMxNyAtMjAwIDg4IDI2NCAyMTVDNzI4IDM0MiA3OTYgNzQ3IDc5NiA3NDdNLTI2MSAtMzI1Qy0yNjEgLTMyNSAtMTkzIDgwIDI3MSAyMDdDNzM1IDMzNCA4MDMgNzM5IDgwMyA3MzlNLTI1NCAtMzMzQy0yNTQgLTMzMyAtMTg2IDcyIDI3OCAxOTlDNzQyIDMyNiA4MTAgNzMxIDgxMCA3MzFNLTI0NyAtMzQxQy0yNDcgLTM0MSAtMTc5IDY0IDI4NSAxOTFDNzQ5IDMxOCA4MTcgNzIzIDgxNyA3MjNNLTI0MCAtMzQ5Qy0yNDAgLTM0OSAtMTcyIDU2IDI5MiAxODNDNzU2IDMxMCA4MjQgNzE1IDgyNCA3MTVNLTIzMyAtMzU3Qy0yMzMgLTM1NyAtMTY1IDQ4IDI5OSAxNzVDNzYzIDMwMiA4MzEgNzA3IDgzMSA3MDdNLTIyNiAtMzY1Qy0yMjYgLTM2NSAtMTU4IDQwIDMwNiAxNjdDNzcwIDI5NCA4MzggNjk5IDgzOCA2OTlNLTIxOSAtMzczQy0yMTkgLTM3MyAtMTUxIDMyIDMxMyAxNTlDNzc3IDI4NiA4NDUgNjkxIDg0NSA2OTFNLTIxMiAtMzgxQy0yMTIgLTM4MSAtMTQ0IDI0IDMyMCAxNTFDNzg0IDI3OCA4NTIgNjgzIDg1MiA2ODNNLTIwNSAtMzg5Qy0yMDUgLTM4OSAtMTM3IDE2IDMyNyAxNDNDNzkxIDI3MCA4NTkgNjc1IDg1OSA2NzVNLTE5OCAtMzk3Qy0xOTggLTM5NyAtMTMwIDggMzM0IDEzNUM3OTggMjYyIDg2NiA2NjcgODY2IDY2N00tMTkxIC00MDVDLTE5MSAtNDA1IC0xMjMgMCAzNDEgMTI3QzgwNSAyNTQgODczIDY1OSA4NzMgNjU5TS0xODQgLTQxM0MtMTg0IC00MTMgLTExNiAtOCAzNDggMTE5QzgxMiAyNDYgODgwIDY1MSA4ODAgNjUxTS0xNzcgLTQyMUMtMTc3IC00MjEgLTEwOSAtMTYgMzU1IDExMUM4MTkgMjM4IDg4NyA2NDMgODg3IDY0M00tMTcwIC00MjlDLTE3MCAtNDI5IC0xMDIgLTI0IDM2MiAxMDNDODI2IDIzMCA4OTQgNjM1IDg5NCA2MzVNLTE2MyAtNDM3Qy0xNjMgLTQzNyAtOTUgLTMyIDM2OSA5NUM4MzMgMjIyIDkwMSA2MjcgOTAxIDYyN00tMTU2IC00NDVDLTE1NiAtNDQ1IC04OCAtNDAgMzc2IDg3Qzg0MCAyMTQgOTA4IDYxOSA5MDggNjE5TS0xNDkgLTQ1M0MtMTQ5IC00NTMgLTgxIC00OCAzODMgNzlDODQ3IDIwNiA5MTUgNjExIDkxNSA2MTFNLTE0MiAtNDYxQy0xNDIgLTQ2MSAtNzQgLTU2IDM5MCA3MUM4NTQgMTk4IDkyMiA2MDMgOTIyIDYwM00tMTM1IC00NjlDLTEzNSAtNDY5IC02NyAtNjQgMzk3IDYzQzg2MSAxOTAgOTI5IDU5NSA5MjkgNTk1TS0xMjggLTQ3N0MtMTI4IC00NzcgLTYwIC03MiA0MDQgNTVDODY4IDE4MiA5MzYgNTg3IDkzNiA1ODdNLTEyMSAtNDg1Qy0xMjEgLTQ4NSAtNTMgLTgwIDQxMSA0N0M4NzUgMTc0IDk0MyA1NzkgOTQzIDU3OU0tMTE0IC00OTNDLTExNCAtNDkzIC00NiAtODggNDE4IDM5Qzg4MiAxNjYgOTUwIDU3MSA5NTAgNTcxTS0xMDcgLTUwMUMtMTA3IC01MDEgLTM5IC05NiA0MjUgMzFDODg5IDE1OCA5NTcgNTYzIDk1NyA1NjNNLTEwMCAtNTA5Qy0xMDAgLTUwOSAtMzIgLTEwNCA0MzIgMjNDODk2IDE1MCA5NjQgNTU1IDk2NCA1NTVNLTkzIC01MTdDLTkzIC01MTcgLTI1IC0xMTIgNDM5IDE1QzkwMyAxNDIgOTcxIDU0NyA5NzEgNTQ3TS04NiAtNTI1Qy04NiAtNTI1IC0xOCAtMTIwIDQ0NiA3QzkxMCAxMzQgOTc4IDUzOSA5NzggNTM5TS03OSAtNTMzQy03OSAtNTMzIC0xMSAtMTI4IDQ1MyAtMUM5MTcgMTI2IDk4NSA1MzEgOTg1IDUzMU0tNzIgLTU0MUMtNzIgLTU0MSAtNCAtMTM2IDQ2MCAtOUM5MjQgMTE4IDk5MiA1MjMgOTkyIDUyM00tNjUgLTU0OUMtNjUgLTU0OSAzIC0xNDQgNDY3IC0xN0M5MzEgMTEwIDk5OSA1MTUgOTk5IDUxNU0tNTggLTU1N0MtNTggLTU1NyAxMCAtMTUyIDQ3NCAtMjVDOTM4IDEwMiAxMDA2IDUwNyAxMDA2IDUwN00tNTEgLTU2NUMtNTEgLTU2NSAxNyAtMTYwIDQ4MSAtMzNDOTQ1IDk0IDEwMTMgNDk5IDEwMTMgNDk5TS00NCAtNTczQy00NCAtNTczIDI0IC0xNjggNDg4IC00MUM5NTIgODYgMTAyMCA0OTEgMTAyMCA0OTFNLTM3IC01ODFDLTM3IC01ODEgMzEgLTE3NiA0OTUgLTQ5Qzk1OSA3OCAxMDI3IDQ4MyAxMDI3IDQ4M00tMzAgLTU4OUMtMzAgLTU4OSAzOCAtMTg0IDUwMiAtNTdDOTY2IDcwIDEwMzQgNDc1IDEwMzQgNDc1TS0yMyAtNTk3Qy0yMyAtNTk3IDQ1IC0xOTIgNTA5IC02NUM5NzMgNjIgMTA0MSA0NjcgMTA0MSA0NjdNLTE2IC02MDVDLTE2IC02MDUgNTIgLTIwMCA1MTYgLTczQzk4MCA1NCAxMDQ4IDQ1OSAxMDQ4IDQ1OU0tOSAtNjEzQy05IC02MTMgNTkgLTIwOCA1MjMgLTgxQzk4NyA0NiAxMDU1IDQ1MSAxMDU1IDQ1MU0tMiAtNjIxQy0yIC02MjEgNjYgLTIxNiA1MzAgLTg5Qzk5NCAzOCAxMDYyIDQ0MyAxMDYyIDQ0M001IC02MjlDNSAtNjI5IDczIC0yMjQgNTM3IC05N0MxMDAxIDMwIDEwNjkgNDM1IDEwNjkgNDM1TTEyIC02MzdDMTIgLTYzNyA4MCAtMjMyIDU0NCAtMTA1QzEwMDggMjIgMTA3NiA0MjcgMTA3NiA0MjdNMTkgLTY0NUMxOSAtNjQ1IDg3IC0yNDAgNTUxIC0xMTNDMTAxNSAxNCAxMDgzIDQxOSAxMDgzIDQxOVwiXHJcbiAgICAgICAgICAgIHN0cm9rZT1cInVybCgjcGFpbnQwX3JhZGlhbF8yNDJfMjc4KVwiXHJcbiAgICAgICAgICAgIHN0cm9rZU9wYWNpdHk9XCIwLjA1XCJcclxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCIwLjVcIlxyXG4gICAgICAgICAgPjwvcGF0aD5cclxuXHJcbiAgICAgICAgICB7cGF0aHMubWFwKChwYXRoLCBpbmRleCkgPT4gKFxyXG4gICAgICAgICAgICA8bW90aW9uLnBhdGhcclxuICAgICAgICAgICAgICBrZXk9e2BwYXRoLWAgKyBpbmRleH1cclxuICAgICAgICAgICAgICBkPXtwYXRofVxyXG4gICAgICAgICAgICAgIHN0cm9rZT17YHVybCgjbGluZWFyR3JhZGllbnQtJHtpbmRleH0pYH1cclxuICAgICAgICAgICAgICBzdHJva2VPcGFjaXR5PVwiMC40XCJcclxuICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjAuNVwiXHJcbiAgICAgICAgICAgID48L21vdGlvbi5wYXRoPlxyXG4gICAgICAgICAgKSl9XHJcbiAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAge3BhdGhzLm1hcCgocGF0aCwgaW5kZXgpID0+IChcclxuICAgICAgICAgICAgICA8bW90aW9uLmxpbmVhckdyYWRpZW50XHJcbiAgICAgICAgICAgICAgICBpZD17YGxpbmVhckdyYWRpZW50LSR7aW5kZXh9YH1cclxuICAgICAgICAgICAgICAgIGtleT17YGdyYWRpZW50LSR7aW5kZXh9YH1cclxuICAgICAgICAgICAgICAgIGluaXRpYWw9e3tcclxuICAgICAgICAgICAgICAgICAgeDE6IFwiMCVcIixcclxuICAgICAgICAgICAgICAgICAgeDI6IFwiMCVcIixcclxuICAgICAgICAgICAgICAgICAgeTE6IFwiMCVcIixcclxuICAgICAgICAgICAgICAgICAgeTI6IFwiMCVcIixcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICBhbmltYXRlPXt7XHJcbiAgICAgICAgICAgICAgICAgIHgxOiBbXCIwJVwiLCBcIjEwMCVcIl0sXHJcbiAgICAgICAgICAgICAgICAgIHgyOiBbXCIwJVwiLCBcIjk1JVwiXSxcclxuICAgICAgICAgICAgICAgICAgeTE6IFtcIjAlXCIsIFwiMTAwJVwiXSxcclxuICAgICAgICAgICAgICAgICAgeTI6IFtcIjAlXCIsIGAkezkzICsgTWF0aC5yYW5kb20oKSAqIDh9JWBdLFxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb249e3tcclxuICAgICAgICAgICAgICAgICAgZHVyYXRpb246IE1hdGgucmFuZG9tKCkgKiAxMCArIDEwLFxyXG4gICAgICAgICAgICAgICAgICBlYXNlOiBcImVhc2VJbk91dFwiLFxyXG4gICAgICAgICAgICAgICAgICByZXBlYXQ6IEluZmluaXR5LFxyXG4gICAgICAgICAgICAgICAgICBkZWxheTogTWF0aC5yYW5kb20oKSAqIDEwLFxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3RvcCBzdG9wQ29sb3I9XCIjMThDQ0ZDXCIgc3RvcE9wYWNpdHk9XCIwXCI+PC9zdG9wPlxyXG4gICAgICAgICAgICAgICAgPHN0b3Agc3RvcENvbG9yPVwiIzE4Q0NGQ1wiPjwvc3RvcD5cclxuICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjMyLjUlXCIgc3RvcENvbG9yPVwiIzYzNDRGNVwiPjwvc3RvcD5cclxuICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjEwMCVcIiBzdG9wQ29sb3I9XCIjQUU0OEZGXCIgc3RvcE9wYWNpdHk9XCIwXCI+PC9zdG9wPlxyXG4gICAgICAgICAgICAgIDwvbW90aW9uLmxpbmVhckdyYWRpZW50PlxyXG4gICAgICAgICAgICApKX1cclxuXHJcbiAgICAgICAgICAgIDxyYWRpYWxHcmFkaWVudFxyXG4gICAgICAgICAgICAgIGlkPVwicGFpbnQwX3JhZGlhbF8yNDJfMjc4XCJcclxuICAgICAgICAgICAgICBjeD1cIjBcIlxyXG4gICAgICAgICAgICAgIGN5PVwiMFwiXHJcbiAgICAgICAgICAgICAgcj1cIjFcIlxyXG4gICAgICAgICAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXHJcbiAgICAgICAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09XCJ0cmFuc2xhdGUoMzUyIDM0KSByb3RhdGUoOTApIHNjYWxlKDU1NSAxNTYwLjYyKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjA2NjY2NjdcIiBzdG9wQ29sb3I9XCIjZDRkNGQ0XCI+PC9zdG9wPlxyXG4gICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMjQzMjQzXCIgc3RvcENvbG9yPVwiI2Q0ZDRkNFwiPjwvc3RvcD5cclxuICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjQzNTk0XCIgc3RvcENvbG9yPVwid2hpdGVcIiBzdG9wT3BhY2l0eT1cIjBcIj48L3N0b3A+XHJcbiAgICAgICAgICAgIDwvcmFkaWFsR3JhZGllbnQ+XHJcbiAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9LFxyXG4pO1xyXG5cclxuQmFja2dyb3VuZEJlYW1zLmRpc3BsYXlOYW1lID0gXCJCYWNrZ3JvdW5kQmVhbXNcIjtcclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwibW90aW9uIiwiY24iLCJCYWNrZ3JvdW5kQmVhbXMiLCJtZW1vIiwiY2xhc3NOYW1lIiwicGF0aHMiLCJkaXYiLCJzdmciLCJ3aWR0aCIsImhlaWdodCIsInZpZXdCb3giLCJmaWxsIiwieG1sbnMiLCJwYXRoIiwiZCIsInN0cm9rZSIsInN0cm9rZU9wYWNpdHkiLCJzdHJva2VXaWR0aCIsIm1hcCIsImluZGV4IiwiZGVmcyIsImxpbmVhckdyYWRpZW50IiwiaWQiLCJpbml0aWFsIiwieDEiLCJ4MiIsInkxIiwieTIiLCJhbmltYXRlIiwiTWF0aCIsInJhbmRvbSIsInRyYW5zaXRpb24iLCJkdXJhdGlvbiIsImVhc2UiLCJyZXBlYXQiLCJJbmZpbml0eSIsImRlbGF5Iiwic3RvcCIsInN0b3BDb2xvciIsInN0b3BPcGFjaXR5Iiwib2Zmc2V0IiwicmFkaWFsR3JhZGllbnQiLCJjeCIsImN5IiwiciIsImdyYWRpZW50VW5pdHMiLCJncmFkaWVudFRyYW5zZm9ybSIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./components/ui/background-beams.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/ui/button.tsx": +/*!**********************************!*\ + !*** ./components/ui/button.tsx ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button),\n/* harmony export */ buttonVariants: () => (/* binding */ buttonVariants)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var class_variance_authority__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! class-variance-authority */ \"(ssr)/./node_modules/class-variance-authority/dist/index.mjs\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./lib/utils.ts\");\n\n\n\n\n\nconst buttonVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)(\"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\", {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n});\nconst Button = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, variant, size, asChild = false, ...props }, ref)=>{\n const Comp = asChild ? _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__.Slot : \"button\";\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Comp, {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(buttonVariants({\n variant,\n size,\n className\n })),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\button.tsx\",\n lineNumber: 46,\n columnNumber: 7\n }, undefined);\n});\nButton.displayName = \"Button\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL3VpL2J1dHRvbi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUErQjtBQUNhO0FBQ3NCO0FBRWpDO0FBRWpDLE1BQU1JLGlCQUFpQkYsNkRBQUdBLENBQ3hCLDBSQUNBO0lBQ0VHLFVBQVU7UUFDUkMsU0FBUztZQUNQQyxTQUFTO1lBQ1RDLGFBQ0U7WUFDRkMsU0FDRTtZQUNGQyxXQUNFO1lBQ0ZDLE9BQU87WUFDUEMsTUFBTTtRQUNSO1FBQ0FDLE1BQU07WUFDSk4sU0FBUztZQUNUTyxJQUFJO1lBQ0pDLElBQUk7WUFDSkMsTUFBTTtRQUNSO0lBQ0Y7SUFDQUMsaUJBQWlCO1FBQ2ZYLFNBQVM7UUFDVE8sTUFBTTtJQUNSO0FBQ0Y7QUFTRixNQUFNSyx1QkFBU2xCLDZDQUFnQixDQUM3QixDQUFDLEVBQUVvQixTQUFTLEVBQUVkLE9BQU8sRUFBRU8sSUFBSSxFQUFFUSxVQUFVLEtBQUssRUFBRSxHQUFHQyxPQUFPLEVBQUVDO0lBQ3hELE1BQU1DLE9BQU9ILFVBQVVwQixzREFBSUEsR0FBRztJQUM5QixxQkFDRSw4REFBQ3VCO1FBQ0NKLFdBQVdqQiw4Q0FBRUEsQ0FBQ0MsZUFBZTtZQUFFRTtZQUFTTztZQUFNTztRQUFVO1FBQ3hERyxLQUFLQTtRQUNKLEdBQUdELEtBQUs7Ozs7OztBQUdmO0FBRUZKLE9BQU9PLFdBQVcsR0FBRztBQUVhIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vY29tcG9uZW50cy91aS9idXR0b24udHN4Pzg5NDQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBTbG90IH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXNsb3QnO1xyXG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSAnY2xhc3MtdmFyaWFuY2UtYXV0aG9yaXR5JztcclxuXHJcbmltcG9ydCB7IGNuIH0gZnJvbSAnQC9saWIvdXRpbHMnO1xyXG5cclxuY29uc3QgYnV0dG9uVmFyaWFudHMgPSBjdmEoXHJcbiAgJ2lubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3aGl0ZXNwYWNlLW5vd3JhcCByb3VuZGVkLW1kIHRleHQtc20gZm9udC1tZWRpdW0gcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwJyxcclxuICB7XHJcbiAgICB2YXJpYW50czoge1xyXG4gICAgICB2YXJpYW50OiB7XHJcbiAgICAgICAgZGVmYXVsdDogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgaG92ZXI6YmctcHJpbWFyeS85MCcsXHJcbiAgICAgICAgZGVzdHJ1Y3RpdmU6XHJcbiAgICAgICAgICAnYmctZGVzdHJ1Y3RpdmUgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kIGhvdmVyOmJnLWRlc3RydWN0aXZlLzkwJyxcclxuICAgICAgICBvdXRsaW5lOlxyXG4gICAgICAgICAgJ2JvcmRlciBib3JkZXItaW5wdXQgYmctYmFja2dyb3VuZCBob3ZlcjpiZy1hY2NlbnQgaG92ZXI6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCcsXHJcbiAgICAgICAgc2Vjb25kYXJ5OlxyXG4gICAgICAgICAgJ2JnLXNlY29uZGFyeSB0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXNlY29uZGFyeS84MCcsXHJcbiAgICAgICAgZ2hvc3Q6ICdob3ZlcjpiZy1hY2NlbnQgaG92ZXI6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCcsXHJcbiAgICAgICAgbGluazogJ3RleHQtcHJpbWFyeSB1bmRlcmxpbmUtb2Zmc2V0LTQgaG92ZXI6dW5kZXJsaW5lJyxcclxuICAgICAgfSxcclxuICAgICAgc2l6ZToge1xyXG4gICAgICAgIGRlZmF1bHQ6ICdoLTEwIHB4LTQgcHktMicsXHJcbiAgICAgICAgc206ICdoLTkgcm91bmRlZC1tZCBweC0zJyxcclxuICAgICAgICBsZzogJ2gtMTEgcm91bmRlZC1tZCBweC04JyxcclxuICAgICAgICBpY29uOiAnaC0xMCB3LTEwJyxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICBkZWZhdWx0VmFyaWFudHM6IHtcclxuICAgICAgdmFyaWFudDogJ2RlZmF1bHQnLFxyXG4gICAgICBzaXplOiAnZGVmYXVsdCcsXHJcbiAgICB9LFxyXG4gIH1cclxuKTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9uUHJvcHNcclxuICBleHRlbmRzIFJlYWN0LkJ1dHRvbkhUTUxBdHRyaWJ1dGVzPEhUTUxCdXR0b25FbGVtZW50PixcclxuICAgIFZhcmlhbnRQcm9wczx0eXBlb2YgYnV0dG9uVmFyaWFudHM+IHtcclxuICBhc0NoaWxkPzogYm9vbGVhbjtcclxufVxyXG5cclxuY29uc3QgQnV0dG9uID0gUmVhY3QuZm9yd2FyZFJlZjxIVE1MQnV0dG9uRWxlbWVudCwgQnV0dG9uUHJvcHM+KFxyXG4gICh7IGNsYXNzTmFtZSwgdmFyaWFudCwgc2l6ZSwgYXNDaGlsZCA9IGZhbHNlLCAuLi5wcm9wcyB9LCByZWYpID0+IHtcclxuICAgIGNvbnN0IENvbXAgPSBhc0NoaWxkID8gU2xvdCA6ICdidXR0b24nO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPENvbXBcclxuICAgICAgICBjbGFzc05hbWU9e2NuKGJ1dHRvblZhcmlhbnRzKHsgdmFyaWFudCwgc2l6ZSwgY2xhc3NOYW1lIH0pKX1cclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgIC8+XHJcbiAgICApO1xyXG4gIH1cclxuKTtcclxuQnV0dG9uLmRpc3BsYXlOYW1lID0gJ0J1dHRvbic7XHJcblxyXG5leHBvcnQgeyBCdXR0b24sIGJ1dHRvblZhcmlhbnRzIH07XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlNsb3QiLCJjdmEiLCJjbiIsImJ1dHRvblZhcmlhbnRzIiwidmFyaWFudHMiLCJ2YXJpYW50IiwiZGVmYXVsdCIsImRlc3RydWN0aXZlIiwib3V0bGluZSIsInNlY29uZGFyeSIsImdob3N0IiwibGluayIsInNpemUiLCJzbSIsImxnIiwiaWNvbiIsImRlZmF1bHRWYXJpYW50cyIsIkJ1dHRvbiIsImZvcndhcmRSZWYiLCJjbGFzc05hbWUiLCJhc0NoaWxkIiwicHJvcHMiLCJyZWYiLCJDb21wIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/ui/button.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/ui/card-hover-effect.tsx": +/*!*********************************************!*\ + !*** ./components/ui/card-hover-effect.tsx ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Card: () => (/* binding */ Card),\n/* harmony export */ CardDescription: () => (/* binding */ CardDescription),\n/* harmony export */ CardTitle: () => (/* binding */ CardTitle),\n/* harmony export */ HoverEffect: () => (/* binding */ HoverEffect)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./lib/utils.ts\");\n/* harmony import */ var motion_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! motion/react */ \"(ssr)/./node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs\");\n/* harmony import */ var motion_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! motion/react */ \"(ssr)/./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lib_colors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/colors */ \"(ssr)/./lib/colors.ts\");\n\n\n\n\n\nconst HoverEffect = ({ items, className })=>{\n let [hoveredIndex, setHoveredIndex] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(null);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_1__.cn)(\"grid grid-cols-1 md:grid-cols-2 gap-6\", className),\n children: items.map((item, idx)=>{\n const key = item?.link ?? item.title ?? idx;\n const cardContent = /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(motion_react__WEBPACK_IMPORTED_MODULE_4__.AnimatePresence, {\n children: hoveredIndex === idx && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(motion_react__WEBPACK_IMPORTED_MODULE_5__.motion.span, {\n className: \"absolute inset-0 h-full w-full block rounded-3xl\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary}33`\n },\n layoutId: \"hoverBackground\",\n initial: {\n opacity: 0\n },\n animate: {\n opacity: 1,\n transition: {\n duration: 0.15\n }\n },\n exit: {\n opacity: 0,\n transition: {\n duration: 0.15,\n delay: 0.2\n }\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\card-hover-effect.tsx\",\n lineNumber: 33,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\card-hover-effect.tsx\",\n lineNumber: 31,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(CardTitle, {\n children: item.title\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\card-hover-effect.tsx\",\n lineNumber: 50,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(CardDescription, {\n children: item.description\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\card-hover-effect.tsx\",\n lineNumber: 51,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\card-hover-effect.tsx\",\n lineNumber: 49,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true);\n if (item?.link) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: item.link,\n className: \"relative group block p-2 h-full w-full\",\n onMouseEnter: ()=>setHoveredIndex(idx),\n onMouseLeave: ()=>setHoveredIndex(null),\n children: cardContent\n }, key, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\card-hover-effect.tsx\",\n lineNumber: 58,\n columnNumber: 13\n }, undefined);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative group block p-2 h-full w-full\",\n onMouseEnter: ()=>setHoveredIndex(idx),\n onMouseLeave: ()=>setHoveredIndex(null),\n children: cardContent\n }, key, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\card-hover-effect.tsx\",\n lineNumber: 71,\n columnNumber: 11\n }, undefined);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\card-hover-effect.tsx\",\n lineNumber: 21,\n columnNumber: 5\n }, undefined);\n};\nconst Card = ({ className, children })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_1__.cn)(\"rounded-3xl h-full w-full overflow-hidden border backdrop-blur-sm transition-all duration-300 group-hover:-translate-y-1 group-hover:shadow-lg relative z-20\", className),\n style: {\n background: `linear-gradient(135deg, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}F2, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary}26)`,\n borderColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary}55`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative z-50 p-6\",\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\card-hover-effect.tsx\",\n lineNumber: 103,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\card-hover-effect.tsx\",\n lineNumber: 93,\n columnNumber: 5\n }, undefined);\n};\nconst CardTitle = ({ className, children })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_1__.cn)(\"text-xl font-semibold tracking-wide\", className),\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\card-hover-effect.tsx\",\n lineNumber: 117,\n columnNumber: 5\n }, undefined);\n};\nconst CardDescription = ({ className, children })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_1__.cn)(\"mt-3 leading-relaxed text-base\", className),\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\card-hover-effect.tsx\",\n lineNumber: 133,\n columnNumber: 5\n }, undefined);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL3VpL2NhcmQtaG92ZXItZWZmZWN0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQWlDO0FBQ3NCO0FBRXRCO0FBQ0s7QUFFL0IsTUFBTUssY0FBYyxDQUFDLEVBQzFCQyxLQUFLLEVBQ0xDLFNBQVMsRUFRVjtJQUNDLElBQUksQ0FBQ0MsY0FBY0MsZ0JBQWdCLEdBQUdOLCtDQUFRQSxDQUFnQjtJQUU5RCxxQkFDRSw4REFBQ087UUFDQ0gsV0FBV1AsOENBQUVBLENBQ1gseUNBQ0FPO2tCQUdERCxNQUFNSyxHQUFHLENBQUMsQ0FBQ0MsTUFBTUM7WUFDaEIsTUFBTUMsTUFBTUYsTUFBTUcsUUFBUUgsS0FBS0ksS0FBSyxJQUFJSDtZQUN4QyxNQUFNSSw0QkFDSjs7a0NBQ0UsOERBQUNoQix5REFBZUE7a0NBQ2JPLGlCQUFpQksscUJBQ2hCLDhEQUFDWCxnREFBTUEsQ0FBQ2dCLElBQUk7NEJBQ1ZYLFdBQVU7NEJBQ1ZZLE9BQU87Z0NBQUVDLGlCQUFpQixDQUFDLEVBQUVoQiwrQ0FBTUEsQ0FBQ2lCLFNBQVMsQ0FBQyxFQUFFLENBQUM7NEJBQUM7NEJBQ2xEQyxVQUFTOzRCQUNUQyxTQUFTO2dDQUFFQyxTQUFTOzRCQUFFOzRCQUN0QkMsU0FBUztnQ0FDUEQsU0FBUztnQ0FDVEUsWUFBWTtvQ0FBRUMsVUFBVTtnQ0FBSzs0QkFDL0I7NEJBQ0FDLE1BQU07Z0NBQ0pKLFNBQVM7Z0NBQ1RFLFlBQVk7b0NBQUVDLFVBQVU7b0NBQU1FLE9BQU87Z0NBQUk7NEJBQzNDOzs7Ozs7Ozs7OztrQ0FJTiw4REFBQ0M7OzBDQUNDLDhEQUFDQzswQ0FBV25CLEtBQUtJLEtBQUs7Ozs7OzswQ0FDdEIsOERBQUNnQjswQ0FBaUJwQixLQUFLcUIsV0FBVzs7Ozs7Ozs7Ozs7Ozs7WUFLeEMsSUFBSXJCLE1BQU1HLE1BQU07Z0JBQ2QscUJBQ0UsOERBQUNtQjtvQkFFQ0MsTUFBTXZCLEtBQUtHLElBQUk7b0JBQ2ZSLFdBQVU7b0JBQ1Y2QixjQUFjLElBQU0zQixnQkFBZ0JJO29CQUNwQ3dCLGNBQWMsSUFBTTVCLGdCQUFnQjs4QkFFbkNRO21CQU5JSDs7Ozs7WUFTWDtZQUVBLHFCQUNFLDhEQUFDSjtnQkFFQ0gsV0FBVTtnQkFDVjZCLGNBQWMsSUFBTTNCLGdCQUFnQkk7Z0JBQ3BDd0IsY0FBYyxJQUFNNUIsZ0JBQWdCOzBCQUVuQ1E7ZUFMSUg7Ozs7O1FBUVg7Ozs7OztBQUdOLEVBQUU7QUFFSyxNQUFNZ0IsT0FBTyxDQUFDLEVBQ25CdkIsU0FBUyxFQUNUK0IsUUFBUSxFQUlUO0lBQ0MscUJBQ0UsOERBQUM1QjtRQUNDSCxXQUFXUCw4Q0FBRUEsQ0FDWCxnS0FDQU87UUFFRlksT0FBTztZQUNMb0IsWUFBWSxDQUFDLHdCQUF3QixFQUFFbkMsK0NBQU1BLENBQUNtQyxVQUFVLENBQUMsSUFBSSxFQUFFbkMsK0NBQU1BLENBQUNpQixTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ3BGbUIsYUFBYSxDQUFDLEVBQUVwQywrQ0FBTUEsQ0FBQ2lCLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDdEM7a0JBRUEsNEVBQUNYO1lBQUlILFdBQVU7c0JBQ1orQjs7Ozs7Ozs7Ozs7QUFJVCxFQUFFO0FBQ0ssTUFBTVAsWUFBWSxDQUFDLEVBQ3hCeEIsU0FBUyxFQUNUK0IsUUFBUSxFQUlUO0lBQ0MscUJBQ0UsOERBQUNHO1FBQ0NsQyxXQUFXUCw4Q0FBRUEsQ0FBQyx1Q0FBdUNPO1FBQ3JEWSxPQUFPO1lBQUV1QixPQUFPdEMsK0NBQU1BLENBQUN1QyxPQUFPO1FBQUM7a0JBRTlCTDs7Ozs7O0FBR1AsRUFBRTtBQUNLLE1BQU1OLGtCQUFrQixDQUFDLEVBQzlCekIsU0FBUyxFQUNUK0IsUUFBUSxFQUlUO0lBQ0MscUJBQ0UsOERBQUNNO1FBQ0NyQyxXQUFXUCw4Q0FBRUEsQ0FDWCxrQ0FDQU87UUFFRlksT0FBTztZQUFFdUIsT0FBT3RDLCtDQUFNQSxDQUFDaUIsU0FBUztRQUFDO2tCQUVoQ2lCOzs7Ozs7QUFHUCxFQUFFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vY29tcG9uZW50cy91aS9jYXJkLWhvdmVyLWVmZmVjdC50c3g/MmZhMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbiB9IGZyb20gXCJAL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgeyBBbmltYXRlUHJlc2VuY2UsIG1vdGlvbiB9IGZyb20gXCJtb3Rpb24vcmVhY3RcIjtcclxuXHJcbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IGNvbG9ycyB9IGZyb20gXCJAL2xpYi9jb2xvcnNcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBIb3ZlckVmZmVjdCA9ICh7XHJcbiAgaXRlbXMsXHJcbiAgY2xhc3NOYW1lLFxyXG59OiB7XHJcbiAgaXRlbXM6IHtcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgbGluaz86IHN0cmluZztcclxuICB9W107XHJcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xyXG59KSA9PiB7XHJcbiAgbGV0IFtob3ZlcmVkSW5kZXgsIHNldEhvdmVyZWRJbmRleF0gPSB1c2VTdGF0ZTxudW1iZXIgfCBudWxsPihudWxsKTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXZcclxuICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICBcImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTZcIixcclxuICAgICAgICBjbGFzc05hbWVcclxuICAgICAgKX1cclxuICAgID5cclxuICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaWR4KSA9PiB7XHJcbiAgICAgICAgY29uc3Qga2V5ID0gaXRlbT8ubGluayA/PyBpdGVtLnRpdGxlID8/IGlkeDtcclxuICAgICAgICBjb25zdCBjYXJkQ29udGVudCA9IChcclxuICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgIDxBbmltYXRlUHJlc2VuY2U+XHJcbiAgICAgICAgICAgICAge2hvdmVyZWRJbmRleCA9PT0gaWR4ICYmIChcclxuICAgICAgICAgICAgICAgIDxtb3Rpb24uc3BhblxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGgtZnVsbCB3LWZ1bGwgYmxvY2sgcm91bmRlZC0zeGxcIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IGAke2NvbG9ycy5zZWNvbmRhcnl9MzNgIH19XHJcbiAgICAgICAgICAgICAgICAgIGxheW91dElkPVwiaG92ZXJCYWNrZ3JvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgaW5pdGlhbD17eyBvcGFjaXR5OiAwIH19XHJcbiAgICAgICAgICAgICAgICAgIGFuaW1hdGU9e3tcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLFxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHsgZHVyYXRpb246IDAuMTUgfSxcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgZXhpdD17e1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogeyBkdXJhdGlvbjogMC4xNSwgZGVsYXk6IDAuMiB9LFxyXG4gICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICA8L0FuaW1hdGVQcmVzZW5jZT5cclxuICAgICAgICAgICAgPENhcmQ+XHJcbiAgICAgICAgICAgICAgPENhcmRUaXRsZT57aXRlbS50aXRsZX08L0NhcmRUaXRsZT5cclxuICAgICAgICAgICAgICA8Q2FyZERlc2NyaXB0aW9uPntpdGVtLmRlc2NyaXB0aW9ufTwvQ2FyZERlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICA8L0NhcmQ+XHJcbiAgICAgICAgICA8Lz5cclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBpZiAoaXRlbT8ubGluaykge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICBrZXk9e2tleX1cclxuICAgICAgICAgICAgICBocmVmPXtpdGVtLmxpbmt9XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicmVsYXRpdmUgZ3JvdXAgYmxvY2sgcC0yIGgtZnVsbCB3LWZ1bGxcIlxyXG4gICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4gc2V0SG92ZXJlZEluZGV4KGlkeCl9XHJcbiAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXsoKSA9PiBzZXRIb3ZlcmVkSW5kZXgobnVsbCl9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7Y2FyZENvbnRlbnR9XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBrZXk9e2tleX1cclxuICAgICAgICAgICAgY2xhc3NOYW1lPVwicmVsYXRpdmUgZ3JvdXAgYmxvY2sgcC0yIGgtZnVsbCB3LWZ1bGxcIlxyXG4gICAgICAgICAgICBvbk1vdXNlRW50ZXI9eygpID0+IHNldEhvdmVyZWRJbmRleChpZHgpfVxyXG4gICAgICAgICAgICBvbk1vdXNlTGVhdmU9eygpID0+IHNldEhvdmVyZWRJbmRleChudWxsKX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge2NhcmRDb250ZW50fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfSl9XHJcbiAgICA8L2Rpdj5cclxuICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IENhcmQgPSAoe1xyXG4gIGNsYXNzTmFtZSxcclxuICBjaGlsZHJlbixcclxufToge1xyXG4gIGNsYXNzTmFtZT86IHN0cmluZztcclxuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xyXG59KSA9PiB7XHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXZcclxuICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICBcInJvdW5kZWQtM3hsIGgtZnVsbCB3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIGJvcmRlciBiYWNrZHJvcC1ibHVyLXNtIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjotdHJhbnNsYXRlLXktMSBncm91cC1ob3ZlcjpzaGFkb3ctbGcgcmVsYXRpdmUgei0yMFwiLFxyXG4gICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICApfVxyXG4gICAgICBzdHlsZT17e1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAke2NvbG9ycy5iYWNrZ3JvdW5kfUYyLCAke2NvbG9ycy5zZWNvbmRhcnl9MjYpYCxcclxuICAgICAgICBib3JkZXJDb2xvcjogYCR7Y29sb3JzLnNlY29uZGFyeX01NWAsXHJcbiAgICAgIH19XHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgei01MCBwLTZcIj5cclxuICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgKTtcclxufTtcclxuZXhwb3J0IGNvbnN0IENhcmRUaXRsZSA9ICh7XHJcbiAgY2xhc3NOYW1lLFxyXG4gIGNoaWxkcmVuLFxyXG59OiB7XHJcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xyXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XHJcbn0pID0+IHtcclxuICByZXR1cm4gKFxyXG4gICAgPGg0XHJcbiAgICAgIGNsYXNzTmFtZT17Y24oXCJ0ZXh0LXhsIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctd2lkZVwiLCBjbGFzc05hbWUpfVxyXG4gICAgICBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX1cclxuICAgID5cclxuICAgICAge2NoaWxkcmVufVxyXG4gICAgPC9oND5cclxuICApO1xyXG59O1xyXG5leHBvcnQgY29uc3QgQ2FyZERlc2NyaXB0aW9uID0gKHtcclxuICBjbGFzc05hbWUsXHJcbiAgY2hpbGRyZW4sXHJcbn06IHtcclxuICBjbGFzc05hbWU/OiBzdHJpbmc7XHJcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcclxufSkgPT4ge1xyXG4gIHJldHVybiAoXHJcbiAgICA8cFxyXG4gICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgIFwibXQtMyBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1iYXNlXCIsXHJcbiAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICl9XHJcbiAgICAgIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19XHJcbiAgICA+XHJcbiAgICAgIHtjaGlsZHJlbn1cclxuICAgIDwvcD5cclxuICApO1xyXG59O1xyXG4iXSwibmFtZXMiOlsiY24iLCJBbmltYXRlUHJlc2VuY2UiLCJtb3Rpb24iLCJ1c2VTdGF0ZSIsImNvbG9ycyIsIkhvdmVyRWZmZWN0IiwiaXRlbXMiLCJjbGFzc05hbWUiLCJob3ZlcmVkSW5kZXgiLCJzZXRIb3ZlcmVkSW5kZXgiLCJkaXYiLCJtYXAiLCJpdGVtIiwiaWR4Iiwia2V5IiwibGluayIsInRpdGxlIiwiY2FyZENvbnRlbnQiLCJzcGFuIiwic3R5bGUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJzZWNvbmRhcnkiLCJsYXlvdXRJZCIsImluaXRpYWwiLCJvcGFjaXR5IiwiYW5pbWF0ZSIsInRyYW5zaXRpb24iLCJkdXJhdGlvbiIsImV4aXQiLCJkZWxheSIsIkNhcmQiLCJDYXJkVGl0bGUiLCJDYXJkRGVzY3JpcHRpb24iLCJkZXNjcmlwdGlvbiIsImEiLCJocmVmIiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwiY2hpbGRyZW4iLCJiYWNrZ3JvdW5kIiwiYm9yZGVyQ29sb3IiLCJoNCIsImNvbG9yIiwicHJpbWFyeSIsInAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/ui/card-hover-effect.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/ui/checkbox.tsx": +/*!************************************!*\ + !*** ./components/ui/checkbox.tsx ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Checkbox: () => (/* binding */ Checkbox)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-checkbox */ \"(ssr)/./node_modules/@radix-ui/react-checkbox/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Check_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Check!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Checkbox auto */ \n\n\n\n\nconst Checkbox = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_3__.Root, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_3__.Indicator, {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex items-center justify-center text-current\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\checkbox.tsx\",\n lineNumber: 24,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\checkbox.tsx\",\n lineNumber: 21,\n columnNumber: 5\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\checkbox.tsx\",\n lineNumber: 13,\n columnNumber: 3\n }, undefined));\nCheckbox.displayName = _radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_3__.Root.displayName;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL3VpL2NoZWNrYm94LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFFK0I7QUFDK0I7QUFDekI7QUFFSjtBQUVqQyxNQUFNSSx5QkFBV0osNkNBQWdCLENBRy9CLENBQUMsRUFBRU0sU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQzFCLDhEQUFDUCwwREFBc0I7UUFDckJPLEtBQUtBO1FBQ0xGLFdBQVdILDhDQUFFQSxDQUNYLGtUQUNBRztRQUVELEdBQUdDLEtBQUs7a0JBRVQsNEVBQUNOLCtEQUEyQjtZQUMxQkssV0FBV0gsOENBQUVBLENBQUM7c0JBRWQsNEVBQUNELGlGQUFLQTtnQkFBQ0ksV0FBVTs7Ozs7Ozs7Ozs7Ozs7OztBQUl2QkYsU0FBU08sV0FBVyxHQUFHViwwREFBc0IsQ0FBQ1UsV0FBVztBQUVyQyIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL2NvbXBvbmVudHMvdWkvY2hlY2tib3gudHN4PzQxZTIiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xyXG5cclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgKiBhcyBDaGVja2JveFByaW1pdGl2ZSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBDaGVjayB9IGZyb20gJ2x1Y2lkZS1yZWFjdCc7XHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gJ0AvbGliL3V0aWxzJztcclxuXHJcbmNvbnN0IENoZWNrYm94ID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBDaGVja2JveFByaW1pdGl2ZS5Sb290PixcclxuICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIENoZWNrYm94UHJpbWl0aXZlLlJvb3Q+XHJcbj4oKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICA8Q2hlY2tib3hQcmltaXRpdmUuUm9vdFxyXG4gICAgcmVmPXtyZWZ9XHJcbiAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAncGVlciBoLTQgdy00IHNocmluay0wIHJvdW5kZWQtc20gYm9yZGVyIGJvcmRlci1wcmltYXJ5IHJpbmctb2Zmc2V0LWJhY2tncm91bmQgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpyaW5nLTIgZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcgZm9jdXMtdmlzaWJsZTpyaW5nLW9mZnNldC0yIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwIGRhdGEtW3N0YXRlPWNoZWNrZWRdOmJnLXByaW1hcnkgZGF0YS1bc3RhdGU9Y2hlY2tlZF06dGV4dC1wcmltYXJ5LWZvcmVncm91bmQnLFxyXG4gICAgICBjbGFzc05hbWVcclxuICAgICl9XHJcbiAgICB7Li4ucHJvcHN9XHJcbiAgPlxyXG4gICAgPENoZWNrYm94UHJpbWl0aXZlLkluZGljYXRvclxyXG4gICAgICBjbGFzc05hbWU9e2NuKCdmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LWN1cnJlbnQnKX1cclxuICAgID5cclxuICAgICAgPENoZWNrIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgPC9DaGVja2JveFByaW1pdGl2ZS5JbmRpY2F0b3I+XHJcbiAgPC9DaGVja2JveFByaW1pdGl2ZS5Sb290PlxyXG4pKTtcclxuQ2hlY2tib3guZGlzcGxheU5hbWUgPSBDaGVja2JveFByaW1pdGl2ZS5Sb290LmRpc3BsYXlOYW1lO1xyXG5cclxuZXhwb3J0IHsgQ2hlY2tib3ggfTtcclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiQ2hlY2tib3hQcmltaXRpdmUiLCJDaGVjayIsImNuIiwiQ2hlY2tib3giLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJyZWYiLCJSb290IiwiSW5kaWNhdG9yIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/ui/checkbox.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/ui/collapsible.tsx": +/*!***************************************!*\ + !*** ./components/ui/collapsible.tsx ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Collapsible: () => (/* binding */ Collapsible),\n/* harmony export */ CollapsibleContent: () => (/* binding */ CollapsibleContent),\n/* harmony export */ CollapsibleTrigger: () => (/* binding */ CollapsibleTrigger)\n/* harmony export */ });\n/* harmony import */ var _radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @radix-ui/react-collapsible */ \"(ssr)/./node_modules/@radix-ui/react-collapsible/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ Collapsible,CollapsibleTrigger,CollapsibleContent auto */ \nconst Collapsible = _radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_0__.Root;\nconst CollapsibleTrigger = _radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_0__.CollapsibleTrigger;\nconst CollapsibleContent = _radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_0__.CollapsibleContent;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL3VpL2NvbGxhcHNpYmxlLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7O3VHQUVvRTtBQUVwRSxNQUFNQyxjQUFjRCw2REFBeUI7QUFFN0MsTUFBTUcscUJBQXFCSCwyRUFBdUM7QUFFbEUsTUFBTUkscUJBQXFCSiwyRUFBdUM7QUFFSCIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL2NvbXBvbmVudHMvdWkvY29sbGFwc2libGUudHN4PzE0YzEiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xyXG5cclxuaW1wb3J0ICogYXMgQ29sbGFwc2libGVQcmltaXRpdmUgZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWNvbGxhcHNpYmxlJztcclxuXHJcbmNvbnN0IENvbGxhcHNpYmxlID0gQ29sbGFwc2libGVQcmltaXRpdmUuUm9vdDtcclxuXHJcbmNvbnN0IENvbGxhcHNpYmxlVHJpZ2dlciA9IENvbGxhcHNpYmxlUHJpbWl0aXZlLkNvbGxhcHNpYmxlVHJpZ2dlcjtcclxuXHJcbmNvbnN0IENvbGxhcHNpYmxlQ29udGVudCA9IENvbGxhcHNpYmxlUHJpbWl0aXZlLkNvbGxhcHNpYmxlQ29udGVudDtcclxuXHJcbmV4cG9ydCB7IENvbGxhcHNpYmxlLCBDb2xsYXBzaWJsZVRyaWdnZXIsIENvbGxhcHNpYmxlQ29udGVudCB9O1xyXG4iXSwibmFtZXMiOlsiQ29sbGFwc2libGVQcmltaXRpdmUiLCJDb2xsYXBzaWJsZSIsIlJvb3QiLCJDb2xsYXBzaWJsZVRyaWdnZXIiLCJDb2xsYXBzaWJsZUNvbnRlbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/ui/collapsible.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/ui/container-scroll-animation-demo.tsx": +/*!***********************************************************!*\ + !*** ./components/ui/container-scroll-animation-demo.tsx ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ HeroScrollDemo)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_ui_container_scroll_animation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/ui/container-scroll-animation */ \"(ssr)/./components/ui/container-scroll-animation.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\nfunction HeroScrollDemo() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col overflow-hidden\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_container_scroll_animation__WEBPACK_IMPORTED_MODULE_1__.ContainerScroll, {\n titleComponent: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-base font-medium uppercase tracking-[0.3em] text-neutral-500 dark:text-neutral-400\",\n children: \"Strategieberatung & Konzeption\"\n }, void 0, false, void 0, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-4xl font-semibold text-black dark:text-white\",\n children: \"Gemeinsam entwickeln wir die richtige digitale Strategie f\\xfcr Ihr Unternehmen\"\n }, void 0, false, void 0, void 0)\n ]\n }, void 0, true),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: \"/Domain-Einrichtung%20%26%20Verwaltung.gif\",\n alt: \"Domain-Einrichtung und Verwaltung\",\n height: 720,\n width: 1400,\n className: \"mx-auto h-full max-h-[540px] w-full rounded-2xl object-cover object-center\",\n draggable: false\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\container-scroll-animation-demo.tsx\",\n lineNumber: 20,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\container-scroll-animation-demo.tsx\",\n lineNumber: 8,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\container-scroll-animation-demo.tsx\",\n lineNumber: 7,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL3VpL2NvbnRhaW5lci1zY3JvbGwtYW5pbWF0aW9uLWRlbW8udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRTZFO0FBRTlELFNBQVNDO0lBQ3RCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDSCxzRkFBZUE7WUFDZEksOEJBQ0U7O2tDQUNFLDhEQUFDQzt3QkFBRUYsV0FBVTtrQ0FBMEY7O2tDQUd2Ryw4REFBQ0c7d0JBQUdILFdBQVU7a0NBQW9EOzs7O3NCQU10RSw0RUFBQ0k7Z0JBQ0NDLEtBQUk7Z0JBQ0pDLEtBQUk7Z0JBQ0pDLFFBQVE7Z0JBQ1JDLE9BQU87Z0JBQ1BSLFdBQVU7Z0JBQ1ZTLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLckIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9jb21wb25lbnRzL3VpL2NvbnRhaW5lci1zY3JvbGwtYW5pbWF0aW9uLWRlbW8udHN4PzJmMTIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XHJcblxyXG5pbXBvcnQgeyBDb250YWluZXJTY3JvbGwgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2NvbnRhaW5lci1zY3JvbGwtYW5pbWF0aW9uXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBIZXJvU2Nyb2xsRGVtbygpIHtcclxuICByZXR1cm4gKFxyXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICA8Q29udGFpbmVyU2Nyb2xsXHJcbiAgICAgICAgdGl0bGVDb21wb25lbnQ9e1xyXG4gICAgICAgICAgPD5cclxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1iYXNlIGZvbnQtbWVkaXVtIHVwcGVyY2FzZSB0cmFja2luZy1bMC4zZW1dIHRleHQtbmV1dHJhbC01MDAgZGFyazp0ZXh0LW5ldXRyYWwtNDAwXCI+XHJcbiAgICAgICAgICAgICAgU3RyYXRlZ2llYmVyYXR1bmcgJiBLb256ZXB0aW9uXHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtNHhsIGZvbnQtc2VtaWJvbGQgdGV4dC1ibGFjayBkYXJrOnRleHQtd2hpdGVcIj5cclxuICAgICAgICAgICAgICBHZW1laW5zYW0gZW50d2lja2VsbiB3aXIgZGllIHJpY2h0aWdlIGRpZ2l0YWxlIFN0cmF0ZWdpZSBmw7xyIElociBVbnRlcm5laG1lblxyXG4gICAgICAgICAgICA8L2gxPlxyXG4gICAgICAgICAgPC8+XHJcbiAgICAgICAgfVxyXG4gICAgICA+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgc3JjPVwiL0RvbWFpbi1FaW5yaWNodHVuZyUyMCUyNiUyMFZlcndhbHR1bmcuZ2lmXCJcclxuICAgICAgICAgIGFsdD1cIkRvbWFpbi1FaW5yaWNodHVuZyB1bmQgVmVyd2FsdHVuZ1wiXHJcbiAgICAgICAgICBoZWlnaHQ9ezcyMH1cclxuICAgICAgICAgIHdpZHRoPXsxNDAwfVxyXG4gICAgICAgICAgY2xhc3NOYW1lPVwibXgtYXV0byBoLWZ1bGwgbWF4LWgtWzU0MHB4XSB3LWZ1bGwgcm91bmRlZC0yeGwgb2JqZWN0LWNvdmVyIG9iamVjdC1jZW50ZXJcIlxyXG4gICAgICAgICAgZHJhZ2dhYmxlPXtmYWxzZX1cclxuICAgICAgICAvPlxyXG4gICAgICA8L0NvbnRhaW5lclNjcm9sbD5cclxuICAgIDwvZGl2PlxyXG4gICk7XHJcbn1cclxuXHJcbiJdLCJuYW1lcyI6WyJDb250YWluZXJTY3JvbGwiLCJIZXJvU2Nyb2xsRGVtbyIsImRpdiIsImNsYXNzTmFtZSIsInRpdGxlQ29tcG9uZW50IiwicCIsImgxIiwiaW1nIiwic3JjIiwiYWx0IiwiaGVpZ2h0Iiwid2lkdGgiLCJkcmFnZ2FibGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/ui/container-scroll-animation-demo.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/ui/container-scroll-animation.tsx": +/*!******************************************************!*\ + !*** ./components/ui/container-scroll-animation.tsx ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Card: () => (/* binding */ Card),\n/* harmony export */ ContainerScroll: () => (/* binding */ ContainerScroll),\n/* harmony export */ Header: () => (/* binding */ Header)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var motion_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! motion/react */ \"(ssr)/./node_modules/framer-motion/dist/es/value/use-scroll.mjs\");\n/* harmony import */ var motion_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! motion/react */ \"(ssr)/./node_modules/framer-motion/dist/es/value/use-transform.mjs\");\n/* harmony import */ var motion_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! motion/react */ \"(ssr)/./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs\");\n/* __next_internal_client_entry_do_not_use__ ContainerScroll,Header,Card auto */ \n\n\nconst ContainerScroll = ({ titleComponent, children })=>{\n const containerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const { scrollYProgress } = (0,motion_react__WEBPACK_IMPORTED_MODULE_2__.useScroll)({\n target: containerRef\n });\n const [isMobile, setIsMobile] = react__WEBPACK_IMPORTED_MODULE_1___default().useState(false);\n react__WEBPACK_IMPORTED_MODULE_1___default().useEffect(()=>{\n const checkMobile = ()=>{\n setIsMobile(window.innerWidth <= 768);\n };\n checkMobile();\n window.addEventListener(\"resize\", checkMobile);\n return ()=>{\n window.removeEventListener(\"resize\", checkMobile);\n };\n }, []);\n const scaleDimensions = ()=>{\n return isMobile ? [\n 0.7,\n 0.9\n ] : [\n 1.05,\n 1\n ];\n };\n const rotate = (0,motion_react__WEBPACK_IMPORTED_MODULE_3__.useTransform)(scrollYProgress, [\n 0,\n 1\n ], [\n 20,\n 0\n ]);\n const scale = (0,motion_react__WEBPACK_IMPORTED_MODULE_3__.useTransform)(scrollYProgress, [\n 0,\n 1\n ], scaleDimensions());\n const translate = (0,motion_react__WEBPACK_IMPORTED_MODULE_3__.useTransform)(scrollYProgress, [\n 0,\n 1\n ], [\n 0,\n -100\n ]);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex h-[60rem] items-center justify-center p-2 md:h-[80rem] md:p-20\",\n ref: containerRef,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative w-full py-10 md:py-40\",\n style: {\n perspective: \"1000px\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Header, {\n translate: translate,\n titleComponent: titleComponent\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\container-scroll-animation.tsx\",\n lineNumber: 49,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Card, {\n rotate: rotate,\n translate: translate,\n scale: scale,\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\container-scroll-animation.tsx\",\n lineNumber: 50,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\container-scroll-animation.tsx\",\n lineNumber: 43,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\container-scroll-animation.tsx\",\n lineNumber: 39,\n columnNumber: 5\n }, undefined);\n};\nconst Header = ({ translate, titleComponent })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(motion_react__WEBPACK_IMPORTED_MODULE_4__.motion.div, {\n style: {\n translateY: translate\n },\n className: \"div mx-auto max-w-5xl text-center\",\n children: titleComponent\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\container-scroll-animation.tsx\",\n lineNumber: 60,\n columnNumber: 5\n }, undefined);\n};\nconst Card = ({ rotate, scale, children })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(motion_react__WEBPACK_IMPORTED_MODULE_4__.motion.div, {\n style: {\n rotateX: rotate,\n scale,\n boxShadow: \"0 0 #0000004d, 0 9px 20px #0000004a, 0 37px 37px #00000042, 0 84px 50px #00000026, 0 149px 60px #0000000a, 0 233px 65px #00000003\"\n },\n className: \"mx-auto -mt-12 h-[30rem] w-full max-w-5xl rounded-[30px] border-4 border-[#6C6C6C] bg-[#222222] p-2 shadow-2xl md:h-[40rem] md:p-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \" h-full w-full overflow-hidden rounded-2xl bg-gray-100 p-3 dark:bg-zinc-900 md:rounded-2xl md:p-4 \",\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\container-scroll-animation.tsx\",\n lineNumber: 91,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\container-scroll-animation.tsx\",\n lineNumber: 82,\n columnNumber: 5\n }, undefined);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL3VpL2NvbnRhaW5lci1zY3JvbGwtYW5pbWF0aW9uLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUVzQztBQUNzQztBQUVyRSxNQUFNSyxrQkFBa0IsQ0FBQyxFQUM5QkMsY0FBYyxFQUNkQyxRQUFRLEVBSVQ7SUFDQyxNQUFNQyxlQUFlUCw2Q0FBTUEsQ0FBaUI7SUFDNUMsTUFBTSxFQUFFUSxlQUFlLEVBQUUsR0FBR04sdURBQVNBLENBQUM7UUFDcENPLFFBQVFGO0lBQ1Y7SUFDQSxNQUFNLENBQUNHLFVBQVVDLFlBQVksR0FBR1oscURBQWMsQ0FBQztJQUUvQ0Esc0RBQWUsQ0FBQztRQUNkLE1BQU1lLGNBQWM7WUFDbEJILFlBQVlJLE9BQU9DLFVBQVUsSUFBSTtRQUNuQztRQUNBRjtRQUNBQyxPQUFPRSxnQkFBZ0IsQ0FBQyxVQUFVSDtRQUNsQyxPQUFPO1lBQ0xDLE9BQU9HLG1CQUFtQixDQUFDLFVBQVVKO1FBQ3ZDO0lBQ0YsR0FBRyxFQUFFO0lBRUwsTUFBTUssa0JBQWtCO1FBQ3RCLE9BQU9ULFdBQVc7WUFBQztZQUFLO1NBQUksR0FBRztZQUFDO1lBQU07U0FBRTtJQUMxQztJQUVBLE1BQU1VLFNBQVNqQiwwREFBWUEsQ0FBQ0ssaUJBQWlCO1FBQUM7UUFBRztLQUFFLEVBQUU7UUFBQztRQUFJO0tBQUU7SUFDNUQsTUFBTWEsUUFBUWxCLDBEQUFZQSxDQUFDSyxpQkFBaUI7UUFBQztRQUFHO0tBQUUsRUFBRVc7SUFDcEQsTUFBTUcsWUFBWW5CLDBEQUFZQSxDQUFDSyxpQkFBaUI7UUFBQztRQUFHO0tBQUUsRUFBRTtRQUFDO1FBQUcsQ0FBQztLQUFJO0lBRWpFLHFCQUNFLDhEQUFDZTtRQUNDQyxXQUFVO1FBQ1ZDLEtBQUtsQjtrQkFFTCw0RUFBQ2dCO1lBQ0NDLFdBQVU7WUFDVkUsT0FBTztnQkFDTEMsYUFBYTtZQUNmOzs4QkFFQSw4REFBQ0M7b0JBQU9OLFdBQVdBO29CQUFXakIsZ0JBQWdCQTs7Ozs7OzhCQUM5Qyw4REFBQ3dCO29CQUFLVCxRQUFRQTtvQkFBUUUsV0FBV0E7b0JBQVdELE9BQU9BOzhCQUNoRGY7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS1gsRUFBRTtBQUVLLE1BQU1zQixTQUFTLENBQUMsRUFBRU4sU0FBUyxFQUFFakIsY0FBYyxFQUFPO0lBQ3ZELHFCQUNFLDhEQUFDSixnREFBTUEsQ0FBQ3NCLEdBQUc7UUFDVEcsT0FBTztZQUNMSSxZQUFZUjtRQUNkO1FBQ0FFLFdBQVU7a0JBRVRuQjs7Ozs7O0FBR1AsRUFBRTtBQUVLLE1BQU13QixPQUFPLENBQUMsRUFDbkJULE1BQU0sRUFDTkMsS0FBSyxFQUNMZixRQUFRLEVBTVQ7SUFDQyxxQkFDRSw4REFBQ0wsZ0RBQU1BLENBQUNzQixHQUFHO1FBQ1RHLE9BQU87WUFDTEssU0FBU1g7WUFDVEM7WUFDQVcsV0FDRTtRQUNKO1FBQ0FSLFdBQVU7a0JBRVYsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ1psQjs7Ozs7Ozs7Ozs7QUFJVCxFQUFFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vY29tcG9uZW50cy91aS9jb250YWluZXItc2Nyb2xsLWFuaW1hdGlvbi50c3g/N2I2NCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcclxuXHJcbmltcG9ydCBSZWFjdCwgeyB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgbW90aW9uLCBNb3Rpb25WYWx1ZSwgdXNlU2Nyb2xsLCB1c2VUcmFuc2Zvcm0gfSBmcm9tIFwibW90aW9uL3JlYWN0XCI7XHJcblxyXG5leHBvcnQgY29uc3QgQ29udGFpbmVyU2Nyb2xsID0gKHtcclxuICB0aXRsZUNvbXBvbmVudCxcclxuICBjaGlsZHJlbixcclxufToge1xyXG4gIHRpdGxlQ29tcG9uZW50OiBzdHJpbmcgfCBSZWFjdC5SZWFjdE5vZGU7XHJcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcclxufSkgPT4ge1xyXG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XHJcbiAgY29uc3QgeyBzY3JvbGxZUHJvZ3Jlc3MgfSA9IHVzZVNjcm9sbCh7XHJcbiAgICB0YXJnZXQ6IGNvbnRhaW5lclJlZixcclxuICB9KTtcclxuICBjb25zdCBbaXNNb2JpbGUsIHNldElzTW9iaWxlXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcclxuXHJcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGNvbnN0IGNoZWNrTW9iaWxlID0gKCkgPT4ge1xyXG4gICAgICBzZXRJc01vYmlsZSh3aW5kb3cuaW5uZXJXaWR0aCA8PSA3NjgpO1xyXG4gICAgfTtcclxuICAgIGNoZWNrTW9iaWxlKCk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjaGVja01vYmlsZSk7XHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjaGVja01vYmlsZSk7XHJcbiAgICB9O1xyXG4gIH0sIFtdKTtcclxuXHJcbiAgY29uc3Qgc2NhbGVEaW1lbnNpb25zID0gKCkgPT4ge1xyXG4gICAgcmV0dXJuIGlzTW9iaWxlID8gWzAuNywgMC45XSA6IFsxLjA1LCAxXTtcclxuICB9O1xyXG5cclxuICBjb25zdCByb3RhdGUgPSB1c2VUcmFuc2Zvcm0oc2Nyb2xsWVByb2dyZXNzLCBbMCwgMV0sIFsyMCwgMF0pO1xyXG4gIGNvbnN0IHNjYWxlID0gdXNlVHJhbnNmb3JtKHNjcm9sbFlQcm9ncmVzcywgWzAsIDFdLCBzY2FsZURpbWVuc2lvbnMoKSk7XHJcbiAgY29uc3QgdHJhbnNsYXRlID0gdXNlVHJhbnNmb3JtKHNjcm9sbFlQcm9ncmVzcywgWzAsIDFdLCBbMCwgLTEwMF0pO1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzc05hbWU9XCJyZWxhdGl2ZSBmbGV4IGgtWzYwcmVtXSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcC0yIG1kOmgtWzgwcmVtXSBtZDpwLTIwXCJcclxuICAgICAgcmVmPXtjb250YWluZXJSZWZ9XHJcbiAgICA+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzc05hbWU9XCJyZWxhdGl2ZSB3LWZ1bGwgcHktMTAgbWQ6cHktNDBcIlxyXG4gICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICBwZXJzcGVjdGl2ZTogXCIxMDAwcHhcIixcclxuICAgICAgICB9fVxyXG4gICAgICA+XHJcbiAgICAgICAgPEhlYWRlciB0cmFuc2xhdGU9e3RyYW5zbGF0ZX0gdGl0bGVDb21wb25lbnQ9e3RpdGxlQ29tcG9uZW50fSAvPlxyXG4gICAgICAgIDxDYXJkIHJvdGF0ZT17cm90YXRlfSB0cmFuc2xhdGU9e3RyYW5zbGF0ZX0gc2NhbGU9e3NjYWxlfT5cclxuICAgICAgICAgIHtjaGlsZHJlbn1cclxuICAgICAgICA8L0NhcmQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBIZWFkZXIgPSAoeyB0cmFuc2xhdGUsIHRpdGxlQ29tcG9uZW50IH06IGFueSkgPT4ge1xyXG4gIHJldHVybiAoXHJcbiAgICA8bW90aW9uLmRpdlxyXG4gICAgICBzdHlsZT17e1xyXG4gICAgICAgIHRyYW5zbGF0ZVk6IHRyYW5zbGF0ZSxcclxuICAgICAgfX1cclxuICAgICAgY2xhc3NOYW1lPVwiZGl2IG14LWF1dG8gbWF4LXctNXhsIHRleHQtY2VudGVyXCJcclxuICAgID5cclxuICAgICAge3RpdGxlQ29tcG9uZW50fVxyXG4gICAgPC9tb3Rpb24uZGl2PlxyXG4gICk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgQ2FyZCA9ICh7XHJcbiAgcm90YXRlLFxyXG4gIHNjYWxlLFxyXG4gIGNoaWxkcmVuLFxyXG59OiB7XHJcbiAgcm90YXRlOiBNb3Rpb25WYWx1ZTxudW1iZXI+O1xyXG4gIHNjYWxlOiBNb3Rpb25WYWx1ZTxudW1iZXI+O1xyXG4gIHRyYW5zbGF0ZTogTW90aW9uVmFsdWU8bnVtYmVyPjtcclxuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xyXG59KSA9PiB7XHJcbiAgcmV0dXJuIChcclxuICAgIDxtb3Rpb24uZGl2XHJcbiAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgcm90YXRlWDogcm90YXRlLFxyXG4gICAgICAgIHNjYWxlLFxyXG4gICAgICAgIGJveFNoYWRvdzpcclxuICAgICAgICAgIFwiMCAwICMwMDAwMDA0ZCwgMCA5cHggMjBweCAjMDAwMDAwNGEsIDAgMzdweCAzN3B4ICMwMDAwMDA0MiwgMCA4NHB4IDUwcHggIzAwMDAwMDI2LCAwIDE0OXB4IDYwcHggIzAwMDAwMDBhLCAwIDIzM3B4IDY1cHggIzAwMDAwMDAzXCIsXHJcbiAgICAgIH19XHJcbiAgICAgIGNsYXNzTmFtZT1cIm14LWF1dG8gLW10LTEyIGgtWzMwcmVtXSB3LWZ1bGwgbWF4LXctNXhsIHJvdW5kZWQtWzMwcHhdIGJvcmRlci00IGJvcmRlci1bIzZDNkM2Q10gYmctWyMyMjIyMjJdIHAtMiBzaGFkb3ctMnhsIG1kOmgtWzQwcmVtXSBtZDpwLTZcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIiBoLWZ1bGwgdy1mdWxsIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLTJ4bCBiZy1ncmF5LTEwMCBwLTMgZGFyazpiZy16aW5jLTkwMCBtZDpyb3VuZGVkLTJ4bCBtZDpwLTQgXCI+XHJcbiAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbW90aW9uLmRpdj5cclxuICApO1xyXG59O1xyXG5cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlUmVmIiwibW90aW9uIiwidXNlU2Nyb2xsIiwidXNlVHJhbnNmb3JtIiwiQ29udGFpbmVyU2Nyb2xsIiwidGl0bGVDb21wb25lbnQiLCJjaGlsZHJlbiIsImNvbnRhaW5lclJlZiIsInNjcm9sbFlQcm9ncmVzcyIsInRhcmdldCIsImlzTW9iaWxlIiwic2V0SXNNb2JpbGUiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsImNoZWNrTW9iaWxlIiwid2luZG93IiwiaW5uZXJXaWR0aCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2NhbGVEaW1lbnNpb25zIiwicm90YXRlIiwic2NhbGUiLCJ0cmFuc2xhdGUiLCJkaXYiLCJjbGFzc05hbWUiLCJyZWYiLCJzdHlsZSIsInBlcnNwZWN0aXZlIiwiSGVhZGVyIiwiQ2FyZCIsInRyYW5zbGF0ZVkiLCJyb3RhdGVYIiwiYm94U2hhZG93Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./components/ui/container-scroll-animation.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/ui/input.tsx": +/*!*********************************!*\ + !*** ./components/ui/input.tsx ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Input: () => (/* binding */ Input)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./lib/utils.ts\");\n\n\n\nconst Input = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, type, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: type,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\", className),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\input.tsx\",\n lineNumber: 11,\n columnNumber: 7\n }, undefined);\n});\nInput.displayName = \"Input\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL3VpL2lucHV0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQStCO0FBRUU7QUFLakMsTUFBTUUsc0JBQVFGLDZDQUFnQixDQUM1QixDQUFDLEVBQUVJLFNBQVMsRUFBRUMsSUFBSSxFQUFFLEdBQUdDLE9BQU8sRUFBRUM7SUFDOUIscUJBQ0UsOERBQUNDO1FBQ0NILE1BQU1BO1FBQ05ELFdBQVdILDhDQUFFQSxDQUNYLHFYQUNBRztRQUVGRyxLQUFLQTtRQUNKLEdBQUdELEtBQUs7Ozs7OztBQUdmO0FBRUZKLE1BQU1PLFdBQVcsR0FBRztBQUVIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vY29tcG9uZW50cy91aS9pbnB1dC50c3g/ZGE3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gJ0AvbGliL3V0aWxzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW5wdXRQcm9wc1xyXG4gIGV4dGVuZHMgUmVhY3QuSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiB7fVxyXG5cclxuY29uc3QgSW5wdXQgPSBSZWFjdC5mb3J3YXJkUmVmPEhUTUxJbnB1dEVsZW1lbnQsIElucHV0UHJvcHM+KFxyXG4gICh7IGNsYXNzTmFtZSwgdHlwZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICB0eXBlPXt0eXBlfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAnZmxleCBoLTEwIHctZnVsbCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItaW5wdXQgYmctYmFja2dyb3VuZCBweC0zIHB5LTIgdGV4dC1zbSByaW5nLW9mZnNldC1iYWNrZ3JvdW5kIGZpbGU6Ym9yZGVyLTAgZmlsZTpiZy10cmFuc3BhcmVudCBmaWxlOnRleHQtc20gZmlsZTpmb250LW1lZGl1bSBmaWxlOnRleHQtZm9yZWdyb3VuZCBwbGFjZWhvbGRlcjp0ZXh0LW11dGVkLWZvcmVncm91bmQgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpyaW5nLTIgZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcgZm9jdXMtdmlzaWJsZTpyaW5nLW9mZnNldC0yIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwJyxcclxuICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAvPlxyXG4gICAgKTtcclxuICB9XHJcbik7XHJcbklucHV0LmRpc3BsYXlOYW1lID0gJ0lucHV0JztcclxuXHJcbmV4cG9ydCB7IElucHV0IH07XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiSW5wdXQiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwidHlwZSIsInByb3BzIiwicmVmIiwiaW5wdXQiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./components/ui/input.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/ui/textarea.tsx": +/*!************************************!*\ + !*** ./components/ui/textarea.tsx ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Textarea: () => (/* binding */ Textarea)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./lib/utils.ts\");\n\n\n\nconst Textarea = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\", className),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\textarea.tsx\",\n lineNumber: 11,\n columnNumber: 7\n }, undefined);\n});\nTextarea.displayName = \"Textarea\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL3VpL3RleHRhcmVhLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQStCO0FBRUU7QUFLakMsTUFBTUUseUJBQVdGLDZDQUFnQixDQUMvQixDQUFDLEVBQUVJLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEVBQUVDO0lBQ3hCLHFCQUNFLDhEQUFDQztRQUNDSCxXQUFXSCw4Q0FBRUEsQ0FDWCx3U0FDQUc7UUFFRkUsS0FBS0E7UUFDSixHQUFHRCxLQUFLOzs7Ozs7QUFHZjtBQUVGSCxTQUFTTSxXQUFXLEdBQUc7QUFFSCIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL2NvbXBvbmVudHMvdWkvdGV4dGFyZWEudHN4P2I4MDIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5cclxuaW1wb3J0IHsgY24gfSBmcm9tICdAL2xpYi91dGlscyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRhcmVhUHJvcHNcclxuICBleHRlbmRzIFJlYWN0LlRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD4ge31cclxuXHJcbmNvbnN0IFRleHRhcmVhID0gUmVhY3QuZm9yd2FyZFJlZjxIVE1MVGV4dEFyZWFFbGVtZW50LCBUZXh0YXJlYVByb3BzPihcclxuICAoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICdmbGV4IG1pbi1oLVs4MHB4XSB3LWZ1bGwgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWlucHV0IGJnLWJhY2tncm91bmQgcHgtMyBweS0yIHRleHQtc20gcmluZy1vZmZzZXQtYmFja2dyb3VuZCBwbGFjZWhvbGRlcjp0ZXh0LW11dGVkLWZvcmVncm91bmQgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpyaW5nLTIgZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcgZm9jdXMtdmlzaWJsZTpyaW5nLW9mZnNldC0yIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwJyxcclxuICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAvPlxyXG4gICAgKTtcclxuICB9XHJcbik7XHJcblRleHRhcmVhLmRpc3BsYXlOYW1lID0gJ1RleHRhcmVhJztcclxuXHJcbmV4cG9ydCB7IFRleHRhcmVhIH07XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiVGV4dGFyZWEiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJyZWYiLCJ0ZXh0YXJlYSIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./components/ui/textarea.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/ui/timeline-demo.tsx": +/*!*****************************************!*\ + !*** ./components/ui/timeline-demo.tsx ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ TimelineDemo)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_ui_timeline__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/timeline */ \"(ssr)/./components/ui/timeline.tsx\");\n/* harmony import */ var _lib_colors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/colors */ \"(ssr)/./lib/colors.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\nfunction TimelineDemo() {\n const data = [\n {\n title: \"01\",\n content: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-2xl p-6 transition-transform duration-300 hover:-translate-y-1\",\n style: {\n background: `linear-gradient(135deg, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}F5, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}E0)`,\n minHeight: \"260px\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: \"Kennenlernen & Beratung\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 19,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 text-sm leading-relaxed\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: \"Wir lernen Sie und Ihr Unternehmen kennen, sprechen \\xfcber Ziele und W\\xfcnsche und schaffen eine klare Basis f\\xfcr das gemeinsame Projekt.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 25,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 12,\n columnNumber: 9\n }, this)\n },\n {\n title: \"02\",\n content: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-2xl p-6 transition-transform duration-300 hover:-translate-y-1\",\n style: {\n background: `linear-gradient(135deg, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}F5, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}E0)`,\n minHeight: \"260px\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: \"Konzept & Struktur\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 45,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 text-sm leading-relaxed\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: \"Wir entwickeln Struktur, Sitemap und Content-Plan, damit jede Seite logisch aufgebaut ist und Nutzer:innen schnell die passenden Informationen finden.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 51,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this)\n },\n {\n title: \"03\",\n content: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-2xl p-6 transition-transform duration-300 hover:-translate-y-1\",\n style: {\n background: `linear-gradient(135deg, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}F5, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}E0)`,\n minHeight: \"260px\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: \"Design & Umsetzung\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 71,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 text-sm leading-relaxed\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: \"Wir gestalten Ihr digitales Erscheinungsbild und setzen das technische Fundament um – ganz nach Ihren Vorstellungen und abgestimmt auf Ihre Marke.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 77,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, this)\n },\n {\n title: \"04\",\n content: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-2xl p-6 transition-transform duration-300 hover:-translate-y-1\",\n style: {\n background: `linear-gradient(135deg, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}F5, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}E0)`,\n minHeight: \"260px\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: \"Feinschliff & Go-Live\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 97,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 text-sm leading-relaxed\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: \"Wir finalisieren Inhalte, testen Performance und Sicherheit und begleiten Sie beim Launch, damit alles reibungslos l\\xe4uft.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 103,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 90,\n columnNumber: 9\n }, this)\n },\n {\n title: \"05\",\n content: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-2xl p-6 transition-transform duration-300 hover:-translate-y-1\",\n style: {\n background: `linear-gradient(135deg, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}F5, ${_lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.background}E0)`,\n minHeight: \"260px\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.primary\n },\n children: \"Support & Pflege\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 123,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 text-sm leading-relaxed\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_3__.colors.secondary\n },\n children: \"Auch nach dem Launch bleiben wir an Ihrer Seite und k\\xfcmmern uns um Updates, Wartung und Optimierungen – f\\xfcr nachhaltigen Erfolg.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 129,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 116,\n columnNumber: 9\n }, this)\n }\n ];\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative w-full overflow-clip\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_timeline__WEBPACK_IMPORTED_MODULE_2__.Timeline, {\n data: data\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 143,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline-demo.tsx\",\n lineNumber: 142,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL3VpL3RpbWVsaW5lLWRlbW8udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRTBCO0FBQzBCO0FBQ2Q7QUFFdkIsU0FBU0c7SUFDdEIsTUFBTUMsT0FBTztRQUNYO1lBQ0VDLE9BQU87WUFDUEMsdUJBQ0UsOERBQUNDO2dCQUNDQyxXQUFVO2dCQUNWQyxPQUFPO29CQUNMQyxZQUFZLENBQUMsd0JBQXdCLEVBQUVSLCtDQUFNQSxDQUFDUSxVQUFVLENBQUMsSUFBSSxFQUFFUiwrQ0FBTUEsQ0FBQ1EsVUFBVSxDQUFDLEdBQUcsQ0FBQztvQkFDckZDLFdBQVc7Z0JBQ2I7O2tDQUVBLDhEQUFDQzt3QkFDQ0osV0FBVTt3QkFDVkMsT0FBTzs0QkFBRUksT0FBT1gsK0NBQU1BLENBQUNZLE9BQU87d0JBQUM7a0NBQ2hDOzs7Ozs7a0NBR0QsOERBQUNDO3dCQUNDUCxXQUFVO3dCQUNWQyxPQUFPOzRCQUFFSSxPQUFPWCwrQ0FBTUEsQ0FBQ2MsU0FBUzt3QkFBQztrQ0FDbEM7Ozs7Ozs7Ozs7OztRQU1QO1FBQ0E7WUFDRVgsT0FBTztZQUNQQyx1QkFDRSw4REFBQ0M7Z0JBQ0NDLFdBQVU7Z0JBQ1ZDLE9BQU87b0JBQ0xDLFlBQVksQ0FBQyx3QkFBd0IsRUFBRVIsK0NBQU1BLENBQUNRLFVBQVUsQ0FBQyxJQUFJLEVBQUVSLCtDQUFNQSxDQUFDUSxVQUFVLENBQUMsR0FBRyxDQUFDO29CQUNyRkMsV0FBVztnQkFDYjs7a0NBRUEsOERBQUNDO3dCQUNDSixXQUFVO3dCQUNWQyxPQUFPOzRCQUFFSSxPQUFPWCwrQ0FBTUEsQ0FBQ1ksT0FBTzt3QkFBQztrQ0FDaEM7Ozs7OztrQ0FHRCw4REFBQ0M7d0JBQ0NQLFdBQVU7d0JBQ1ZDLE9BQU87NEJBQUVJLE9BQU9YLCtDQUFNQSxDQUFDYyxTQUFTO3dCQUFDO2tDQUNsQzs7Ozs7Ozs7Ozs7O1FBTVA7UUFDQTtZQUNFWCxPQUFPO1lBQ1BDLHVCQUNFLDhEQUFDQztnQkFDQ0MsV0FBVTtnQkFDVkMsT0FBTztvQkFDTEMsWUFBWSxDQUFDLHdCQUF3QixFQUFFUiwrQ0FBTUEsQ0FBQ1EsVUFBVSxDQUFDLElBQUksRUFBRVIsK0NBQU1BLENBQUNRLFVBQVUsQ0FBQyxHQUFHLENBQUM7b0JBQ3JGQyxXQUFXO2dCQUNiOztrQ0FFQSw4REFBQ0M7d0JBQ0NKLFdBQVU7d0JBQ1ZDLE9BQU87NEJBQUVJLE9BQU9YLCtDQUFNQSxDQUFDWSxPQUFPO3dCQUFDO2tDQUNoQzs7Ozs7O2tDQUdELDhEQUFDQzt3QkFDQ1AsV0FBVTt3QkFDVkMsT0FBTzs0QkFBRUksT0FBT1gsK0NBQU1BLENBQUNjLFNBQVM7d0JBQUM7a0NBQ2xDOzs7Ozs7Ozs7Ozs7UUFNUDtRQUNBO1lBQ0VYLE9BQU87WUFDUEMsdUJBQ0UsOERBQUNDO2dCQUNDQyxXQUFVO2dCQUNWQyxPQUFPO29CQUNMQyxZQUFZLENBQUMsd0JBQXdCLEVBQUVSLCtDQUFNQSxDQUFDUSxVQUFVLENBQUMsSUFBSSxFQUFFUiwrQ0FBTUEsQ0FBQ1EsVUFBVSxDQUFDLEdBQUcsQ0FBQztvQkFDckZDLFdBQVc7Z0JBQ2I7O2tDQUVBLDhEQUFDQzt3QkFDQ0osV0FBVTt3QkFDVkMsT0FBTzs0QkFBRUksT0FBT1gsK0NBQU1BLENBQUNZLE9BQU87d0JBQUM7a0NBQ2hDOzs7Ozs7a0NBR0QsOERBQUNDO3dCQUNDUCxXQUFVO3dCQUNWQyxPQUFPOzRCQUFFSSxPQUFPWCwrQ0FBTUEsQ0FBQ2MsU0FBUzt3QkFBQztrQ0FDbEM7Ozs7Ozs7Ozs7OztRQU1QO1FBQ0E7WUFDRVgsT0FBTztZQUNQQyx1QkFDRSw4REFBQ0M7Z0JBQ0NDLFdBQVU7Z0JBQ1ZDLE9BQU87b0JBQ0xDLFlBQVksQ0FBQyx3QkFBd0IsRUFBRVIsK0NBQU1BLENBQUNRLFVBQVUsQ0FBQyxJQUFJLEVBQUVSLCtDQUFNQSxDQUFDUSxVQUFVLENBQUMsR0FBRyxDQUFDO29CQUNyRkMsV0FBVztnQkFDYjs7a0NBRUEsOERBQUNDO3dCQUNDSixXQUFVO3dCQUNWQyxPQUFPOzRCQUFFSSxPQUFPWCwrQ0FBTUEsQ0FBQ1ksT0FBTzt3QkFBQztrQ0FDaEM7Ozs7OztrQ0FHRCw4REFBQ0M7d0JBQ0NQLFdBQVU7d0JBQ1ZDLE9BQU87NEJBQUVJLE9BQU9YLCtDQUFNQSxDQUFDYyxTQUFTO3dCQUFDO2tDQUNsQzs7Ozs7Ozs7Ozs7O1FBTVA7S0FDRDtJQUVELHFCQUNFLDhEQUFDVDtRQUFJQyxXQUFVO2tCQUNiLDRFQUFDUCw2REFBUUE7WUFBQ0csTUFBTUE7Ozs7Ozs7Ozs7O0FBR3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vY29tcG9uZW50cy91aS90aW1lbGluZS1kZW1vLnRzeD80NjViIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xyXG5cclxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBUaW1lbGluZSB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvdGltZWxpbmVcIjtcclxuaW1wb3J0IHsgY29sb3JzIH0gZnJvbSBcIkAvbGliL2NvbG9yc1wiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gVGltZWxpbmVEZW1vKCkge1xyXG4gIGNvbnN0IGRhdGEgPSBbXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiBcIjAxXCIsXHJcbiAgICAgIGNvbnRlbnQ6IChcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLTJ4bCBwLTYgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIGhvdmVyOi10cmFuc2xhdGUteS0xXCJcclxuICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAke2NvbG9ycy5iYWNrZ3JvdW5kfUY1LCAke2NvbG9ycy5iYWNrZ3JvdW5kfUUwKWAsXHJcbiAgICAgICAgICAgIG1pbkhlaWdodDogXCIyNjBweFwiLFxyXG4gICAgICAgICAgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8aDNcclxuICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1sZyBmb250LXNlbWlib2xkXCJcclxuICAgICAgICAgICAgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5wcmltYXJ5IH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIEtlbm5lbmxlcm5lbiAmIEJlcmF0dW5nXHJcbiAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgPHBcclxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibXQtNCB0ZXh0LXNtIGxlYWRpbmctcmVsYXhlZFwiXHJcbiAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIFdpciBsZXJuZW4gU2llIHVuZCBJaHIgVW50ZXJuZWhtZW4ga2VubmVuLCBzcHJlY2hlbiDDvGJlciBaaWVsZSB1bmQgV8O8bnNjaGUgdW5kIHNjaGFmZmVuXHJcbiAgICAgICAgICAgIGVpbmUga2xhcmUgQmFzaXMgZsO8ciBkYXMgZ2VtZWluc2FtZSBQcm9qZWt0LlxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6IFwiMDJcIixcclxuICAgICAgY29udGVudDogKFxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtMnhsIHAtNiB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDAgaG92ZXI6LXRyYW5zbGF0ZS15LTFcIlxyXG4gICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogYGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICR7Y29sb3JzLmJhY2tncm91bmR9RjUsICR7Y29sb3JzLmJhY2tncm91bmR9RTApYCxcclxuICAgICAgICAgICAgbWluSGVpZ2h0OiBcIjI2MHB4XCIsXHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxoM1xyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGRcIlxyXG4gICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgS29uemVwdCAmIFN0cnVrdHVyXHJcbiAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgPHBcclxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibXQtNCB0ZXh0LXNtIGxlYWRpbmctcmVsYXhlZFwiXHJcbiAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIFdpciBlbnR3aWNrZWxuIFN0cnVrdHVyLCBTaXRlbWFwIHVuZCBDb250ZW50LVBsYW4sIGRhbWl0IGplZGUgU2VpdGUgbG9naXNjaCBhdWZnZWJhdXQgaXN0XHJcbiAgICAgICAgICAgIHVuZCBOdXR6ZXI6aW5uZW4gc2NobmVsbCBkaWUgcGFzc2VuZGVuIEluZm9ybWF0aW9uZW4gZmluZGVuLlxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6IFwiMDNcIixcclxuICAgICAgY29udGVudDogKFxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtMnhsIHAtNiB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDAgaG92ZXI6LXRyYW5zbGF0ZS15LTFcIlxyXG4gICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogYGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICR7Y29sb3JzLmJhY2tncm91bmR9RjUsICR7Y29sb3JzLmJhY2tncm91bmR9RTApYCxcclxuICAgICAgICAgICAgbWluSGVpZ2h0OiBcIjI2MHB4XCIsXHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxoM1xyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGRcIlxyXG4gICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgRGVzaWduICYgVW1zZXR6dW5nXHJcbiAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgPHBcclxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibXQtNCB0ZXh0LXNtIGxlYWRpbmctcmVsYXhlZFwiXHJcbiAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMuc2Vjb25kYXJ5IH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIFdpciBnZXN0YWx0ZW4gSWhyIGRpZ2l0YWxlcyBFcnNjaGVpbnVuZ3NiaWxkIHVuZCBzZXR6ZW4gZGFzIHRlY2huaXNjaGUgRnVuZGFtZW50IHVtIOKAkyBnYW56XHJcbiAgICAgICAgICAgIG5hY2ggSWhyZW4gVm9yc3RlbGx1bmdlbiB1bmQgYWJnZXN0aW1tdCBhdWYgSWhyZSBNYXJrZS5cclxuICAgICAgICAgIDwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiBcIjA0XCIsXHJcbiAgICAgIGNvbnRlbnQ6IChcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLTJ4bCBwLTYgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIGhvdmVyOi10cmFuc2xhdGUteS0xXCJcclxuICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAke2NvbG9ycy5iYWNrZ3JvdW5kfUY1LCAke2NvbG9ycy5iYWNrZ3JvdW5kfUUwKWAsXHJcbiAgICAgICAgICAgIG1pbkhlaWdodDogXCIyNjBweFwiLFxyXG4gICAgICAgICAgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8aDNcclxuICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1sZyBmb250LXNlbWlib2xkXCJcclxuICAgICAgICAgICAgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5wcmltYXJ5IH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIEZlaW5zY2hsaWZmICYgR28tTGl2ZVxyXG4gICAgICAgICAgPC9oMz5cclxuICAgICAgICAgIDxwXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTQgdGV4dC1zbSBsZWFkaW5nLXJlbGF4ZWRcIlxyXG4gICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogY29sb3JzLnNlY29uZGFyeSB9fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICBXaXIgZmluYWxpc2llcmVuIEluaGFsdGUsIHRlc3RlbiBQZXJmb3JtYW5jZSB1bmQgU2ljaGVyaGVpdCB1bmQgYmVnbGVpdGVuIFNpZSBiZWltIExhdW5jaCxcclxuICAgICAgICAgICAgZGFtaXQgYWxsZXMgcmVpYnVuZ3Nsb3MgbMOkdWZ0LlxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6IFwiMDVcIixcclxuICAgICAgY29udGVudDogKFxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtMnhsIHAtNiB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDAgaG92ZXI6LXRyYW5zbGF0ZS15LTFcIlxyXG4gICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogYGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICR7Y29sb3JzLmJhY2tncm91bmR9RjUsICR7Y29sb3JzLmJhY2tncm91bmR9RTApYCxcclxuICAgICAgICAgICAgbWluSGVpZ2h0OiBcIjI2MHB4XCIsXHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxoM1xyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGRcIlxyXG4gICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogY29sb3JzLnByaW1hcnkgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgU3VwcG9ydCAmIFBmbGVnZVxyXG4gICAgICAgICAgPC9oMz5cclxuICAgICAgICAgIDxwXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTQgdGV4dC1zbSBsZWFkaW5nLXJlbGF4ZWRcIlxyXG4gICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogY29sb3JzLnNlY29uZGFyeSB9fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICBBdWNoIG5hY2ggZGVtIExhdW5jaCBibGVpYmVuIHdpciBhbiBJaHJlciBTZWl0ZSB1bmQga8O8bW1lcm4gdW5zIHVtIFVwZGF0ZXMsIFdhcnR1bmcgdW5kXHJcbiAgICAgICAgICAgIE9wdGltaWVydW5nZW4g4oCTIGbDvHIgbmFjaGhhbHRpZ2VuIEVyZm9sZy5cclxuICAgICAgICAgIDwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKSxcclxuICAgIH0sXHJcbiAgXTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgdy1mdWxsIG92ZXJmbG93LWNsaXBcIj5cclxuICAgICAgPFRpbWVsaW5lIGRhdGE9e2RhdGF9IC8+XHJcbiAgICA8L2Rpdj5cclxuICApO1xyXG59XHJcblxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJUaW1lbGluZSIsImNvbG9ycyIsIlRpbWVsaW5lRGVtbyIsImRhdGEiLCJ0aXRsZSIsImNvbnRlbnQiLCJkaXYiLCJjbGFzc05hbWUiLCJzdHlsZSIsImJhY2tncm91bmQiLCJtaW5IZWlnaHQiLCJoMyIsImNvbG9yIiwicHJpbWFyeSIsInAiLCJzZWNvbmRhcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/ui/timeline-demo.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/ui/timeline.tsx": +/*!************************************!*\ + !*** ./components/ui/timeline.tsx ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Timeline: () => (/* binding */ Timeline)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var motion_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! motion/react */ \"(ssr)/./node_modules/framer-motion/dist/es/value/use-scroll.mjs\");\n/* harmony import */ var motion_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! motion/react */ \"(ssr)/./node_modules/framer-motion/dist/es/value/use-transform.mjs\");\n/* harmony import */ var motion_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! motion/react */ \"(ssr)/./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lib_colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/colors */ \"(ssr)/./lib/colors.ts\");\n/* __next_internal_client_entry_do_not_use__ Timeline auto */ \n\n\n\nconst Timeline = ({ data })=>{\n const ref = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const containerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const [height, setHeight] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (ref.current) {\n const rect = ref.current.getBoundingClientRect();\n setHeight(rect.height);\n }\n }, [\n ref\n ]);\n const { scrollYProgress } = (0,motion_react__WEBPACK_IMPORTED_MODULE_3__.useScroll)({\n target: containerRef,\n offset: [\n \"start 10%\",\n \"end 50%\"\n ]\n });\n const heightTransform = (0,motion_react__WEBPACK_IMPORTED_MODULE_4__.useTransform)(scrollYProgress, [\n 0,\n 1\n ], [\n 0,\n height\n ]);\n const opacityTransform = (0,motion_react__WEBPACK_IMPORTED_MODULE_4__.useTransform)(scrollYProgress, [\n 0,\n 0.1\n ], [\n 0,\n 1\n ]);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full font-sans md:px-10\",\n ref: containerRef,\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.background\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-7xl mx-auto py-20 px-4 md:px-8 lg:px-10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-lg md:text-4xl mb-4 max-w-4xl\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.primary\n },\n children: \"Unser Projektfahrplan im \\xdcberblick\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline.tsx\",\n lineNumber: 39,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm md:text-base max-w-sm\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary\n },\n children: \"Schritt f\\xfcr Schritt zur erfolgreichen Website – transparent, strukturiert und begleitet von unserem Team.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline.tsx\",\n lineNumber: 45,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline.tsx\",\n lineNumber: 38,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: \"relative max-w-7xl mx-auto pb-20\",\n children: [\n data.map((item, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-start pt-10 md:pt-40 md:gap-10 min-h-[320px]\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"sticky flex flex-col md:flex-row z-40 items-center top-40 self-start max-w-xs lg:max-w-sm md:w-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-10 absolute left-3 md:left-3 w-10 rounded-full flex items-center justify-center\",\n style: {\n backgroundColor: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.background\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-4 w-4 rounded-full border\",\n style: {\n backgroundColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary}4D`,\n borderColor: `${_lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.secondary}66`\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline.tsx\",\n lineNumber: 65,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline.tsx\",\n lineNumber: 61,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"hidden md:block text-xl md:pl-20 md:text-5xl font-bold\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.primary\n },\n children: item.title\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline.tsx\",\n lineNumber: 73,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline.tsx\",\n lineNumber: 60,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative pl-20 pr-4 md:pl-4 w-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"md:hidden block text-2xl mb-4 text-left font-bold\",\n style: {\n color: _lib_colors__WEBPACK_IMPORTED_MODULE_2__.colors.primary\n },\n children: item.title\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline.tsx\",\n lineNumber: 82,\n columnNumber: 15\n }, undefined),\n item.content,\n \" \"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline.tsx\",\n lineNumber: 81,\n columnNumber: 13\n }, undefined)\n ]\n }, index, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline.tsx\",\n lineNumber: 56,\n columnNumber: 11\n }, undefined)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n height: height + \"px\"\n },\n className: \"absolute md:left-8 left-8 top-0 overflow-hidden w-[2px] bg-[linear-gradient(to_bottom,var(--tw-gradient-stops))] from-transparent from-[0%] via-neutral-200 dark:via-neutral-700 to-transparent to-[99%] [mask-image:linear-gradient(to_bottom,transparent_0%,black_10%,black_90%,transparent_100%)] \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(motion_react__WEBPACK_IMPORTED_MODULE_5__.motion.div, {\n style: {\n height: heightTransform,\n opacity: opacityTransform\n },\n className: \"absolute inset-x-0 top-0 w-[2px] bg-gradient-to-t from-purple-500 via-blue-500 to-transparent from-[0%] via-[10%] rounded-full\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline.tsx\",\n lineNumber: 98,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline.tsx\",\n lineNumber: 92,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline.tsx\",\n lineNumber: 54,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\timeline.tsx\",\n lineNumber: 33,\n columnNumber: 5\n }, undefined);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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anMvLi9jb21wb25lbnRzL3VpL3RpbWVsaW5lLnRzeD84YzEzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xyXG5cclxuaW1wb3J0IHsgdXNlU2Nyb2xsLCB1c2VUcmFuc2Zvcm0sIG1vdGlvbiB9IGZyb20gXCJtb3Rpb24vcmVhY3RcIjtcclxuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBjb2xvcnMgfSBmcm9tIFwiQC9saWIvY29sb3JzXCI7XHJcblxyXG5pbnRlcmZhY2UgVGltZWxpbmVFbnRyeSB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBjb250ZW50OiBSZWFjdC5SZWFjdE5vZGU7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBUaW1lbGluZSA9ICh7IGRhdGEgfTogeyBkYXRhOiBUaW1lbGluZUVudHJ5W10gfSkgPT4ge1xyXG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XHJcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcclxuICBjb25zdCBbaGVpZ2h0LCBzZXRIZWlnaHRdID0gdXNlU3RhdGUoMCk7XHJcblxyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAocmVmLmN1cnJlbnQpIHtcclxuICAgICAgY29uc3QgcmVjdCA9IHJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBzZXRIZWlnaHQocmVjdC5oZWlnaHQpO1xyXG4gICAgfVxyXG4gIH0sIFtyZWZdKTtcclxuXHJcbiAgY29uc3QgeyBzY3JvbGxZUHJvZ3Jlc3MgfSA9IHVzZVNjcm9sbCh7XHJcbiAgICB0YXJnZXQ6IGNvbnRhaW5lclJlZixcclxuICAgIG9mZnNldDogW1wic3RhcnQgMTAlXCIsIFwiZW5kIDUwJVwiXSxcclxuICB9KTtcclxuXHJcbiAgY29uc3QgaGVpZ2h0VHJhbnNmb3JtID0gdXNlVHJhbnNmb3JtKHNjcm9sbFlQcm9ncmVzcywgWzAsIDFdLCBbMCwgaGVpZ2h0XSk7XHJcbiAgY29uc3Qgb3BhY2l0eVRyYW5zZm9ybSA9IHVzZVRyYW5zZm9ybShzY3JvbGxZUHJvZ3Jlc3MsIFswLCAwLjFdLCBbMCwgMV0pO1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgZm9udC1zYW5zIG1kOnB4LTEwXCJcclxuICAgICAgcmVmPXtjb250YWluZXJSZWZ9XHJcbiAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogY29sb3JzLmJhY2tncm91bmQgfX1cclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy03eGwgbXgtYXV0byBweS0yMCBweC00IG1kOnB4LTggbGc6cHgtMTBcIj5cclxuICAgICAgICA8aDJcclxuICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtbGcgbWQ6dGV4dC00eGwgbWItNCBtYXgtdy00eGxcIlxyXG4gICAgICAgICAgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy5wcmltYXJ5IH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgVW5zZXIgUHJvamVrdGZhaHJwbGFuIGltIMOcYmVyYmxpY2tcclxuICAgICAgICA8L2gyPlxyXG4gICAgICAgIDxwXHJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXNtIG1kOnRleHQtYmFzZSBtYXgtdy1zbVwiXHJcbiAgICAgICAgICBzdHlsZT17eyBjb2xvcjogY29sb3JzLnNlY29uZGFyeSB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIFNjaHJpdHQgZsO8ciBTY2hyaXR0IHp1ciBlcmZvbGdyZWljaGVuIFdlYnNpdGUg4oCTIHRyYW5zcGFyZW50LFxyXG4gICAgICAgICAgc3RydWt0dXJpZXJ0IHVuZCBiZWdsZWl0ZXQgdm9uIHVuc2VyZW0gVGVhbS5cclxuICAgICAgICA8L3A+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiByZWY9e3JlZn0gY2xhc3NOYW1lPVwicmVsYXRpdmUgbWF4LXctN3hsIG14LWF1dG8gcGItMjBcIj5cclxuICAgICAgICB7ZGF0YS5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1zdGFydCBwdC0xMCBtZDpwdC00MCBtZDpnYXAtMTAgbWluLWgtWzMyMHB4XVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RpY2t5IGZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgei00MCBpdGVtcy1jZW50ZXIgdG9wLTQwIHNlbGYtc3RhcnQgbWF4LXcteHMgbGc6bWF4LXctc20gbWQ6dy1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC0xMCBhYnNvbHV0ZSBsZWZ0LTMgbWQ6bGVmdC0zIHctMTAgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogY29sb3JzLmJhY2tncm91bmQgfX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtNCB3LTQgcm91bmRlZC1mdWxsIGJvcmRlclwiXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBgJHtjb2xvcnMuc2Vjb25kYXJ5fTREYCxcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogYCR7Y29sb3JzLnNlY29uZGFyeX02NmAsXHJcbiAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxoM1xyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaGlkZGVuIG1kOmJsb2NrIHRleHQteGwgbWQ6cGwtMjAgbWQ6dGV4dC01eGwgZm9udC1ib2xkXCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMucHJpbWFyeSB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHtpdGVtLnRpdGxlfVxyXG4gICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBwbC0yMCBwci00IG1kOnBsLTQgdy1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgPGgzXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtZDpoaWRkZW4gYmxvY2sgdGV4dC0yeGwgbWItNCB0ZXh0LWxlZnQgZm9udC1ib2xkXCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMucHJpbWFyeSB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHtpdGVtLnRpdGxlfVxyXG4gICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAge2l0ZW0uY29udGVudH17XCIgXCJ9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKSl9XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgaGVpZ2h0OiBoZWlnaHQgKyBcInB4XCIsXHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgbWQ6bGVmdC04IGxlZnQtOCB0b3AtMCBvdmVyZmxvdy1oaWRkZW4gdy1bMnB4XSBiZy1bbGluZWFyLWdyYWRpZW50KHRvX2JvdHRvbSx2YXIoLS10dy1ncmFkaWVudC1zdG9wcykpXSBmcm9tLXRyYW5zcGFyZW50IGZyb20tWzAlXSB2aWEtbmV1dHJhbC0yMDAgZGFyazp2aWEtbmV1dHJhbC03MDAgdG8tdHJhbnNwYXJlbnQgdG8tWzk5JV0gIFttYXNrLWltYWdlOmxpbmVhci1ncmFkaWVudCh0b19ib3R0b20sdHJhbnNwYXJlbnRfMCUsYmxhY2tfMTAlLGJsYWNrXzkwJSx0cmFuc3BhcmVudF8xMDAlKV0gXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bW90aW9uLmRpdlxyXG4gICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgIGhlaWdodDogaGVpZ2h0VHJhbnNmb3JtLFxyXG4gICAgICAgICAgICAgIG9wYWNpdHk6IG9wYWNpdHlUcmFuc2Zvcm0sXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LXgtMCB0b3AtMCAgdy1bMnB4XSBiZy1ncmFkaWVudC10by10IGZyb20tcHVycGxlLTUwMCB2aWEtYmx1ZS01MDAgdG8tdHJhbnNwYXJlbnQgZnJvbS1bMCVdIHZpYS1bMTAlXSByb3VuZGVkLWZ1bGxcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICApO1xyXG59O1xyXG5cclxuIl0sIm5hbWVzIjpbInVzZVNjcm9sbCIsInVzZVRyYW5zZm9ybSIsIm1vdGlvbiIsIlJlYWN0IiwidXNlRWZmZWN0IiwidXNlUmVmIiwidXNlU3RhdGUiLCJjb2xvcnMiLCJUaW1lbGluZSIsImRhdGEiLCJyZWYiLCJjb250YWluZXJSZWYiLCJoZWlnaHQiLCJzZXRIZWlnaHQiLCJjdXJyZW50IiwicmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInNjcm9sbFlQcm9ncmVzcyIsInRhcmdldCIsIm9mZnNldCIsImhlaWdodFRyYW5zZm9ybSIsIm9wYWNpdHlUcmFuc2Zvcm0iLCJkaXYiLCJjbGFzc05hbWUiLCJzdHlsZSIsImJhY2tncm91bmRDb2xvciIsImJhY2tncm91bmQiLCJoMiIsImNvbG9yIiwicHJpbWFyeSIsInAiLCJzZWNvbmRhcnkiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJib3JkZXJDb2xvciIsImgzIiwidGl0bGUiLCJjb250ZW50Iiwib3BhY2l0eSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./components/ui/timeline.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./components/ui/tooltip.tsx": +/*!***********************************!*\ + !*** ./components/ui/tooltip.tsx ***! + \***********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Tooltip: () => (/* binding */ Tooltip),\n/* harmony export */ TooltipContent: () => (/* binding */ TooltipContent),\n/* harmony export */ TooltipProvider: () => (/* binding */ TooltipProvider),\n/* harmony export */ TooltipTrigger: () => (/* binding */ TooltipTrigger)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-tooltip */ \"(ssr)/./node_modules/@radix-ui/react-tooltip/dist/index.mjs\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Tooltip,TooltipTrigger,TooltipContent,TooltipProvider auto */ \n\n\n\nconst TooltipProvider = _radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_3__.Provider;\nconst Tooltip = _radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_3__.Root;\nconst TooltipTrigger = _radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_3__.Trigger;\nconst TooltipContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, sideOffset = 4, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_3__.Content, {\n ref: ref,\n sideOffset: sideOffset,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\components\\\\ui\\\\tooltip.tsx\",\n lineNumber: 18,\n columnNumber: 3\n }, undefined));\nTooltipContent.displayName = _radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_3__.Content.displayName;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL3VpL3Rvb2x0aXAudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBRStCO0FBQzZCO0FBRTNCO0FBRWpDLE1BQU1HLGtCQUFrQkYsNkRBQXlCO0FBRWpELE1BQU1JLFVBQVVKLHlEQUFxQjtBQUVyQyxNQUFNTSxpQkFBaUJOLDREQUF3QjtBQUUvQyxNQUFNUSwrQkFBaUJULDZDQUFnQixDQUdyQyxDQUFDLEVBQUVXLFNBQVMsRUFBRUMsYUFBYSxDQUFDLEVBQUUsR0FBR0MsT0FBTyxFQUFFQyxvQkFDMUMsOERBQUNiLDREQUF3QjtRQUN2QmEsS0FBS0E7UUFDTEYsWUFBWUE7UUFDWkQsV0FBV1QsOENBQUVBLENBQ1gsc1lBQ0FTO1FBRUQsR0FBR0UsS0FBSzs7Ozs7O0FBR2JKLGVBQWVPLFdBQVcsR0FBR2YsNERBQXdCLENBQUNlLFdBQVc7QUFFRyIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL2NvbXBvbmVudHMvdWkvdG9vbHRpcC50c3g/OWZjOSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCAqIGFzIFRvb2x0aXBQcmltaXRpdmUgZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXRvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgY24gfSBmcm9tICdAL2xpYi91dGlscyc7XHJcblxyXG5jb25zdCBUb29sdGlwUHJvdmlkZXIgPSBUb29sdGlwUHJpbWl0aXZlLlByb3ZpZGVyO1xyXG5cclxuY29uc3QgVG9vbHRpcCA9IFRvb2x0aXBQcmltaXRpdmUuUm9vdDtcclxuXHJcbmNvbnN0IFRvb2x0aXBUcmlnZ2VyID0gVG9vbHRpcFByaW1pdGl2ZS5UcmlnZ2VyO1xyXG5cclxuY29uc3QgVG9vbHRpcENvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFRvb2x0aXBQcmltaXRpdmUuQ29udGVudD4sXHJcbiAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBUb29sdGlwUHJpbWl0aXZlLkNvbnRlbnQ+XHJcbj4oKHsgY2xhc3NOYW1lLCBzaWRlT2Zmc2V0ID0gNCwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgPFRvb2x0aXBQcmltaXRpdmUuQ29udGVudFxyXG4gICAgcmVmPXtyZWZ9XHJcbiAgICBzaWRlT2Zmc2V0PXtzaWRlT2Zmc2V0fVxyXG4gICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgJ3otNTAgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJnLXBvcG92ZXIgcHgtMyBweS0xLjUgdGV4dC1zbSB0ZXh0LXBvcG92ZXItZm9yZWdyb3VuZCBzaGFkb3ctbWQgYW5pbWF0ZS1pbiBmYWRlLWluLTAgem9vbS1pbi05NSBkYXRhLVtzdGF0ZT1jbG9zZWRdOmFuaW1hdGUtb3V0IGRhdGEtW3N0YXRlPWNsb3NlZF06ZmFkZS1vdXQtMCBkYXRhLVtzdGF0ZT1jbG9zZWRdOnpvb20tb3V0LTk1IGRhdGEtW3NpZGU9Ym90dG9tXTpzbGlkZS1pbi1mcm9tLXRvcC0yIGRhdGEtW3NpZGU9bGVmdF06c2xpZGUtaW4tZnJvbS1yaWdodC0yIGRhdGEtW3NpZGU9cmlnaHRdOnNsaWRlLWluLWZyb20tbGVmdC0yIGRhdGEtW3NpZGU9dG9wXTpzbGlkZS1pbi1mcm9tLWJvdHRvbS0yJyxcclxuICAgICAgY2xhc3NOYW1lXHJcbiAgICApfVxyXG4gICAgey4uLnByb3BzfVxyXG4gIC8+XHJcbikpO1xyXG5Ub29sdGlwQ29udGVudC5kaXNwbGF5TmFtZSA9IFRvb2x0aXBQcmltaXRpdmUuQ29udGVudC5kaXNwbGF5TmFtZTtcclxuXHJcbmV4cG9ydCB7IFRvb2x0aXAsIFRvb2x0aXBUcmlnZ2VyLCBUb29sdGlwQ29udGVudCwgVG9vbHRpcFByb3ZpZGVyIH07XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlRvb2x0aXBQcmltaXRpdmUiLCJjbiIsIlRvb2x0aXBQcm92aWRlciIsIlByb3ZpZGVyIiwiVG9vbHRpcCIsIlJvb3QiLCJUb29sdGlwVHJpZ2dlciIsIlRyaWdnZXIiLCJUb29sdGlwQ29udGVudCIsImZvcndhcmRSZWYiLCJjbGFzc05hbWUiLCJzaWRlT2Zmc2V0IiwicHJvcHMiLCJyZWYiLCJDb250ZW50IiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/ui/tooltip.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./hooks/useAuth.ts": +/*!**************************!*\ + !*** ./hooks/useAuth.ts ***! + \**************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useAuth: () => (/* binding */ useAuth)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lib_supabase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/lib/supabase */ \"(ssr)/./lib/supabase.ts\");\n/* __next_internal_client_entry_do_not_use__ useAuth auto */ \n\nfunction useAuth() {\n const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n // Get initial session\n _lib_supabase__WEBPACK_IMPORTED_MODULE_1__.supabase.auth.getSession().then(({ data: { session } })=>{\n setUser(session?.user ?? null);\n setLoading(false);\n });\n // Listen for auth changes\n const { data: { subscription } } = _lib_supabase__WEBPACK_IMPORTED_MODULE_1__.supabase.auth.onAuthStateChange((_event, session)=>{\n setUser(session?.user ?? null);\n setLoading(false);\n });\n return ()=>subscription.unsubscribe();\n }, []);\n return {\n user,\n loading\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ob29rcy91c2VBdXRoLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7NkRBRTJDO0FBQ0Y7QUFHbEMsU0FBU0c7SUFDZCxNQUFNLENBQUNDLE1BQU1DLFFBQVEsR0FBR0wsK0NBQVFBLENBQWM7SUFDOUMsTUFBTSxDQUFDTSxTQUFTQyxXQUFXLEdBQUdQLCtDQUFRQSxDQUFDO0lBRXZDQyxnREFBU0EsQ0FBQztRQUNSLHNCQUFzQjtRQUN0QkMsbURBQVFBLENBQUNNLElBQUksQ0FBQ0MsVUFBVSxHQUFHQyxJQUFJLENBQUMsQ0FBQyxFQUFFQyxNQUFNLEVBQUVDLE9BQU8sRUFBRSxFQUFFO1lBQ3BEUCxRQUFRTyxTQUFTUixRQUFRO1lBQ3pCRyxXQUFXO1FBQ2I7UUFFQSwwQkFBMEI7UUFDMUIsTUFBTSxFQUFFSSxNQUFNLEVBQUVFLFlBQVksRUFBRSxFQUFFLEdBQUdYLG1EQUFRQSxDQUFDTSxJQUFJLENBQUNNLGlCQUFpQixDQUFDLENBQUNDLFFBQVFIO1lBQzFFUCxRQUFRTyxTQUFTUixRQUFRO1lBQ3pCRyxXQUFXO1FBQ2I7UUFFQSxPQUFPLElBQU1NLGFBQWFHLFdBQVc7SUFDdkMsR0FBRyxFQUFFO0lBRUwsT0FBTztRQUFFWjtRQUFNRTtJQUFRO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vaG9va3MvdXNlQXV0aC50cz85Yzc2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXHJcbmltcG9ydCB7IHN1cGFiYXNlIH0gZnJvbSAnQC9saWIvc3VwYWJhc2UnXHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICdAc3VwYWJhc2Uvc3VwYWJhc2UtanMnXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXNlQXV0aCgpIHtcclxuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZTxVc2VyIHwgbnVsbD4obnVsbClcclxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKVxyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgLy8gR2V0IGluaXRpYWwgc2Vzc2lvblxyXG4gICAgc3VwYWJhc2UuYXV0aC5nZXRTZXNzaW9uKCkudGhlbigoeyBkYXRhOiB7IHNlc3Npb24gfSB9KSA9PiB7XHJcbiAgICAgIHNldFVzZXIoc2Vzc2lvbj8udXNlciA/PyBudWxsKVxyXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxyXG4gICAgfSlcclxuXHJcbiAgICAvLyBMaXN0ZW4gZm9yIGF1dGggY2hhbmdlc1xyXG4gICAgY29uc3QgeyBkYXRhOiB7IHN1YnNjcmlwdGlvbiB9IH0gPSBzdXBhYmFzZS5hdXRoLm9uQXV0aFN0YXRlQ2hhbmdlKChfZXZlbnQsIHNlc3Npb24pID0+IHtcclxuICAgICAgc2V0VXNlcihzZXNzaW9uPy51c2VyID8/IG51bGwpXHJcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXHJcbiAgICB9KVxyXG5cclxuICAgIHJldHVybiAoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxyXG4gIH0sIFtdKVxyXG5cclxuICByZXR1cm4geyB1c2VyLCBsb2FkaW5nIH1cclxufSAiXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJzdXBhYmFzZSIsInVzZUF1dGgiLCJ1c2VyIiwic2V0VXNlciIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiYXV0aCIsImdldFNlc3Npb24iLCJ0aGVuIiwiZGF0YSIsInNlc3Npb24iLCJzdWJzY3JpcHRpb24iLCJvbkF1dGhTdGF0ZUNoYW5nZSIsIl9ldmVudCIsInVuc3Vic2NyaWJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./hooks/useAuth.ts\n"); + +/***/ }), + +/***/ "(ssr)/./lib/colors.ts": +/*!***********************!*\ + !*** ./lib/colors.ts ***! + \***********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ colors: () => (/* binding */ colors)\n/* harmony export */ });\n// Centralized color system\nconst colors = {\n // Main brand colors\n primary: \"#0A400C\",\n secondary: \"#819067\",\n tertiary: \"#B1AB86\",\n background: \"#FEFAE0\",\n // Derived colors for better contrast\n primaryLight: \"#0F5010\",\n primaryDark: \"#052006\",\n secondaryLight: \"#9AA67F\",\n secondaryDark: \"#6B7A58\",\n // Neutral colors\n white: \"#FFFFFF\",\n black: \"#000000\",\n gray: {\n 100: \"#F5F5F5\",\n 200: \"#E5E5E5\",\n 300: \"#D4D4D4\",\n 400: \"#A3A3A3\",\n 500: \"#737373\",\n 600: \"#525252\",\n 700: \"#404040\",\n 800: \"#262626\",\n 900: \"#171717\"\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9saWIvY29sb3JzLnRzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSwyQkFBMkI7QUFDcEIsTUFBTUEsU0FBUztJQUNwQixvQkFBb0I7SUFDcEJDLFNBQVM7SUFDVEMsV0FBVztJQUNYQyxVQUFVO0lBQ1ZDLFlBQVk7SUFFWixxQ0FBcUM7SUFDckNDLGNBQWM7SUFDZEMsYUFBYTtJQUNiQyxnQkFBZ0I7SUFDaEJDLGVBQWU7SUFFZixpQkFBaUI7SUFDakJDLE9BQU87SUFDUEMsT0FBTztJQUNQQyxNQUFNO1FBQ0osS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBQ1A7QUFDRixFQUFXIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vbGliL2NvbG9ycy50cz9jMzJhIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENlbnRyYWxpemVkIGNvbG9yIHN5c3RlbVxyXG5leHBvcnQgY29uc3QgY29sb3JzID0ge1xyXG4gIC8vIE1haW4gYnJhbmQgY29sb3JzXHJcbiAgcHJpbWFyeTogJyMwQTQwMEMnLCAgICAgIC8vIERhcmsgZ3JlZW5cclxuICBzZWNvbmRhcnk6ICcjODE5MDY3JywgICAgLy8gTWVkaXVtIGdyZWVuICBcclxuICB0ZXJ0aWFyeTogJyNCMUFCODYnLCAgICAgLy8gTGlnaHQgZ3JlZW4tYmVpZ2VcclxuICBiYWNrZ3JvdW5kOiAnI0ZFRkFFMCcsICAgLy8gQ3JlYW0gYmFja2dyb3VuZFxyXG4gIFxyXG4gIC8vIERlcml2ZWQgY29sb3JzIGZvciBiZXR0ZXIgY29udHJhc3RcclxuICBwcmltYXJ5TGlnaHQ6ICcjMEY1MDEwJyxcclxuICBwcmltYXJ5RGFyazogJyMwNTIwMDYnLFxyXG4gIHNlY29uZGFyeUxpZ2h0OiAnIzlBQTY3RicsXHJcbiAgc2Vjb25kYXJ5RGFyazogJyM2QjdBNTgnLFxyXG4gIFxyXG4gIC8vIE5ldXRyYWwgY29sb3JzXHJcbiAgd2hpdGU6ICcjRkZGRkZGJyxcclxuICBibGFjazogJyMwMDAwMDAnLFxyXG4gIGdyYXk6IHtcclxuICAgIDEwMDogJyNGNUY1RjUnLFxyXG4gICAgMjAwOiAnI0U1RTVFNScsXHJcbiAgICAzMDA6ICcjRDRENEQ0JyxcclxuICAgIDQwMDogJyNBM0EzQTMnLFxyXG4gICAgNTAwOiAnIzczNzM3MycsXHJcbiAgICA2MDA6ICcjNTI1MjUyJyxcclxuICAgIDcwMDogJyM0MDQwNDAnLFxyXG4gICAgODAwOiAnIzI2MjYyNicsXHJcbiAgICA5MDA6ICcjMTcxNzE3JyxcclxuICB9XHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgdHlwZSBDb2xvcktleSA9IGtleW9mIHR5cGVvZiBjb2xvcnM7Il0sIm5hbWVzIjpbImNvbG9ycyIsInByaW1hcnkiLCJzZWNvbmRhcnkiLCJ0ZXJ0aWFyeSIsImJhY2tncm91bmQiLCJwcmltYXJ5TGlnaHQiLCJwcmltYXJ5RGFyayIsInNlY29uZGFyeUxpZ2h0Iiwic2Vjb25kYXJ5RGFyayIsIndoaXRlIiwiYmxhY2siLCJncmF5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./lib/colors.ts\n"); + +/***/ }), + +/***/ "(ssr)/./lib/supabase.ts": +/*!*************************!*\ + !*** ./lib/supabase.ts ***! + \*************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ supabase: () => (/* binding */ supabase)\n/* harmony export */ });\n/* harmony import */ var _supabase_supabase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @supabase/supabase-js */ \"(ssr)/./node_modules/@supabase/supabase-js/dist/main/index.js\");\n/* harmony import */ var _supabase_supabase_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_supabase_supabase_js__WEBPACK_IMPORTED_MODULE_0__);\n\nconst supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL || \"https://pkaijflgerfyspupyoex.supabase.co\";\nconst supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY || \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InBrYWlqZmxnZXJmeXNwdXB5b2V4Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTM5MTQwOTgsImV4cCI6MjA2OTQ5MDA5OH0.WuxgIsfJ4Fffkv7NaMRV4do7G_uy7S5m46632ploB58\";\nconst supabase = (0,_supabase_supabase_js__WEBPACK_IMPORTED_MODULE_0__.createClient)(supabaseUrl, supabaseAnonKey, {\n auth: {\n autoRefreshToken: true,\n persistSession: true,\n detectSessionInUrl: true\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9saWIvc3VwYWJhc2UudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQW9EO0FBRXBELE1BQU1DLGNBQWNDLFFBQVFDLEdBQUcsQ0FBQ0Msd0JBQXdCLElBQUk7QUFDNUQsTUFBTUMsa0JBQWtCSCxRQUFRQyxHQUFHLENBQUNHLDZCQUE2QixJQUFJO0FBRTlELE1BQU1DLFdBQVdQLG1FQUFZQSxDQUFDQyxhQUFhSSxpQkFBaUI7SUFDakVHLE1BQU07UUFDSkMsa0JBQWtCO1FBQ2xCQyxnQkFBZ0I7UUFDaEJDLG9CQUFvQjtJQUN0QjtBQUNGLEdBQUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9saWIvc3VwYWJhc2UudHM/Yzk5ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVDbGllbnQgfSBmcm9tICdAc3VwYWJhc2Uvc3VwYWJhc2UtanMnXHJcblxyXG5jb25zdCBzdXBhYmFzZVVybCA9IHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX1NVUEFCQVNFX1VSTCB8fCAnaHR0cHM6Ly9wa2FpamZsZ2VyZnlzcHVweW9leC5zdXBhYmFzZS5jbydcclxuY29uc3Qgc3VwYWJhc2VBbm9uS2V5ID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfU1VQQUJBU0VfQU5PTl9LRVkgfHwgJ2V5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUpwYzNNaU9pSnpkWEJoWW1GelpTSXNJbkpsWmlJNkluQnJZV2xxWm14blpYSm1lWE53ZFhCNWIyVjRJaXdpY205c1pTSTZJbUZ1YjI0aUxDSnBZWFFpT2pFM05UTTVNVFF3T1Rnc0ltVjRjQ0k2TWpBMk9UUTVNREE1T0gwLld1eGdJc2ZKNEZmZmt2N05hTVJWNGRvN0dfdXk3UzVtNDY2MzJwbG9CNTgnXHJcblxyXG5leHBvcnQgY29uc3Qgc3VwYWJhc2UgPSBjcmVhdGVDbGllbnQoc3VwYWJhc2VVcmwsIHN1cGFiYXNlQW5vbktleSwge1xyXG4gIGF1dGg6IHtcclxuICAgIGF1dG9SZWZyZXNoVG9rZW46IHRydWUsXHJcbiAgICBwZXJzaXN0U2Vzc2lvbjogdHJ1ZSxcclxuICAgIGRldGVjdFNlc3Npb25JblVybDogdHJ1ZVxyXG4gIH1cclxufSkgIl0sIm5hbWVzIjpbImNyZWF0ZUNsaWVudCIsInN1cGFiYXNlVXJsIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUFVCTElDX1NVUEFCQVNFX1VSTCIsInN1cGFiYXNlQW5vbktleSIsIk5FWFRfUFVCTElDX1NVUEFCQVNFX0FOT05fS0VZIiwic3VwYWJhc2UiLCJhdXRoIiwiYXV0b1JlZnJlc2hUb2tlbiIsInBlcnNpc3RTZXNzaW9uIiwiZGV0ZWN0U2Vzc2lvbkluVXJsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./lib/supabase.ts\n"); + +/***/ }), + +/***/ "(ssr)/./lib/supabaseClient.ts": +/*!*******************************!*\ + !*** ./lib/supabaseClient.ts ***! + \*******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ supabase: () => (/* binding */ supabase)\n/* harmony export */ });\n/* harmony import */ var _supabase_supabase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @supabase/supabase-js */ \"(ssr)/./node_modules/@supabase/supabase-js/dist/main/index.js\");\n/* harmony import */ var _supabase_supabase_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_supabase_supabase_js__WEBPACK_IMPORTED_MODULE_0__);\n\nconst supabaseUrl = \"https://pkaijflgerfyspupyoex.supabase.co\";\nconst supabaseAnonKey = \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InBrYWlqZmxnZXJmeXNwdXB5b2V4Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTM5MTQwOTgsImV4cCI6MjA2OTQ5MDA5OH0.WuxgIsfJ4Fffkv7NaMRV4do7G_uy7S5m46632ploB58\";\nconst supabase = (0,_supabase_supabase_js__WEBPACK_IMPORTED_MODULE_0__.createClient)(supabaseUrl, supabaseAnonKey);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9saWIvc3VwYWJhc2VDbGllbnQudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXFEO0FBRXJELE1BQU1DLGNBQWM7QUFDbkIsTUFBTUMsa0JBQWtCO0FBRWxCLE1BQU1DLFdBQVdILG1FQUFZQSxDQUFDQyxhQUFhQyxpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9saWIvc3VwYWJhc2VDbGllbnQudHM/M2E3ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVDbGllbnQgfSBmcm9tICdAc3VwYWJhc2Uvc3VwYWJhc2UtanMnO1xyXG5cclxuY29uc3Qgc3VwYWJhc2VVcmwgPSAnaHR0cHM6Ly9wa2FpamZsZ2VyZnlzcHVweW9leC5zdXBhYmFzZS5jbyc7XHJcbiBjb25zdCBzdXBhYmFzZUFub25LZXkgPSAnZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnBjM01pT2lKemRYQmhZbUZ6WlNJc0luSmxaaUk2SW5CcllXbHFabXhuWlhKbWVYTndkWEI1YjJWNElpd2ljbTlzWlNJNkltRnViMjRpTENKcFlYUWlPakUzTlRNNU1UUXdPVGdzSW1WNGNDSTZNakEyT1RRNU1EQTVPSDAuV3V4Z0lzZko0RmZma3Y3TmFNUlY0ZG83R191eTdTNW00NjYzMnBsb0I1OCc7XHJcblxyXG5leHBvcnQgY29uc3Qgc3VwYWJhc2UgPSBjcmVhdGVDbGllbnQoc3VwYWJhc2VVcmwsIHN1cGFiYXNlQW5vbktleSk7ICJdLCJuYW1lcyI6WyJjcmVhdGVDbGllbnQiLCJzdXBhYmFzZVVybCIsInN1cGFiYXNlQW5vbktleSIsInN1cGFiYXNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./lib/supabaseClient.ts\n"); + +/***/ }), + +/***/ "(ssr)/./lib/utils.ts": +/*!**********************!*\ + !*** ./lib/utils.ts ***! + \**********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(ssr)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9saWIvdXRpbHMudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQTZDO0FBQ0o7QUFFbEMsU0FBU0UsR0FBRyxHQUFHQyxNQUFvQjtJQUN4QyxPQUFPRix1REFBT0EsQ0FBQ0QsMENBQUlBLENBQUNHO0FBQ3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vbGliL3V0aWxzLnRzP2Y3NDUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2xzeCwgdHlwZSBDbGFzc1ZhbHVlIH0gZnJvbSAnY2xzeCc7XHJcbmltcG9ydCB7IHR3TWVyZ2UgfSBmcm9tICd0YWlsd2luZC1tZXJnZSc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY24oLi4uaW5wdXRzOiBDbGFzc1ZhbHVlW10pIHtcclxuICByZXR1cm4gdHdNZXJnZShjbHN4KGlucHV0cykpO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJjbHN4IiwidHdNZXJnZSIsImNuIiwiaW5wdXRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./lib/utils.ts\n"); + +/***/ }), + +/***/ "(rsc)/./app/globals.css": +/*!*************************!*\ + !*** ./app/globals.css ***! + \*************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"66339856ea0e\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9hcHAvZ2xvYmFscy5jc3M/ZDA3NCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcIjY2MzM5ODU2ZWEwZVwiXG5pZiAobW9kdWxlLmhvdCkgeyBtb2R1bGUuaG90LmFjY2VwdCgpIH1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./app/globals.css\n"); + +/***/ }), + +/***/ "(ssr)/./components/GlassSurface.css": +/*!*************************************!*\ + !*** ./components/GlassSurface.css ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"1ef09a2cdb02\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL0dsYXNzU3VyZmFjZS5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9jb21wb25lbnRzL0dsYXNzU3VyZmFjZS5jc3M/YzhhZSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcIjFlZjA5YTJjZGIwMlwiXG5pZiAobW9kdWxlLmhvdCkgeyBtb2R1bGUuaG90LmFjY2VwdCgpIH1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./components/GlassSurface.css\n"); + +/***/ }), + +/***/ "(ssr)/./components/HandyAnsicht.css": +/*!*************************************!*\ + !*** ./components/HandyAnsicht.css ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"82353546e170\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL0hhbmR5QW5zaWNodC5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9jb21wb25lbnRzL0hhbmR5QW5zaWNodC5jc3M/NDBkNiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcIjgyMzUzNTQ2ZTE3MFwiXG5pZiAobW9kdWxlLmhvdCkgeyBtb2R1bGUuaG90LmFjY2VwdCgpIH1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./components/HandyAnsicht.css\n"); + +/***/ }), + +/***/ "(ssr)/./components/LogoLoop.css": +/*!*********************************!*\ + !*** ./components/LogoLoop.css ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"dc86adf5e1f1\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL0xvZ29Mb29wLmNzcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWUsY0FBYztBQUM3QixJQUFJLEtBQVUsRUFBRSxFQUF1QiIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL2NvbXBvbmVudHMvTG9nb0xvb3AuY3NzPzY5MmEiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCJkYzg2YWRmNWUxZjFcIlxuaWYgKG1vZHVsZS5ob3QpIHsgbW9kdWxlLmhvdC5hY2NlcHQoKSB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./components/LogoLoop.css\n"); + +/***/ }), + +/***/ "(ssr)/./components/PillNav.css": +/*!********************************!*\ + !*** ./components/PillNav.css ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"c5b3cfce2894\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL1BpbGxOYXYuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vY29tcG9uZW50cy9QaWxsTmF2LmNzcz9kYWMyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiYzViM2NmY2UyODk0XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/PillNav.css\n"); + +/***/ }), + +/***/ "(rsc)/./app/layout.tsx": +/*!************************!*\ + !*** ./app/layout.tsx ***! + \************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"app\\\\\\\\layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./app/globals.css\");\n/* harmony import */ var _components_HandyAnsicht__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/HandyAnsicht */ \"(rsc)/./components/HandyAnsicht.tsx\");\n\n\n\n\nconst metadata = {\n title: \"Webklar – Klarheit im Webdesign\",\n description: \"Wir gestalten moderne, schnelle Websites f\\xfcr Ihr Business.\",\n openGraph: {\n title: \"Webklar – Klarheit im Webdesign\",\n description: \"Wir gestalten moderne, schnelle Websites f\\xfcr Ihr Business.\",\n url: \"https://webklar.com\",\n type: \"website\"\n }\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"de\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: (next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_3___default().className),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_HandyAnsicht__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\layout.tsx\",\n lineNumber: 27,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\layout.tsx\",\n lineNumber: 26,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\andre\\\\Documents\\\\GitHub\\\\Webklar.com\\\\app\\\\layout.tsx\",\n lineNumber: 25,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvbGF5b3V0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFLTUE7QUFMaUI7QUFHOEI7QUFJOUMsTUFBTUUsV0FBcUI7SUFDaENDLE9BQU87SUFDUEMsYUFBYTtJQUNiQyxXQUFXO1FBQ1RGLE9BQU87UUFDUEMsYUFBYTtRQUNiRSxLQUFLO1FBQ0xDLE1BQU07SUFDUjtBQUNGLEVBQUU7QUFFYSxTQUFTQyxXQUFXLEVBQ2pDQyxRQUFRLEVBR1Q7SUFDQyxxQkFDRSw4REFBQ0M7UUFBS0MsTUFBSztrQkFDVCw0RUFBQ0M7WUFBS0MsV0FBV2IsMkpBQWU7c0JBQzlCLDRFQUFDQyxnRUFBWUE7MEJBQ1ZROzs7Ozs7Ozs7Ozs7Ozs7O0FBS1giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9hcHAvbGF5b3V0LnRzeD85OTg4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnLi9nbG9iYWxzLmNzcyc7XHJcbmltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tICduZXh0JztcclxuaW1wb3J0IHsgSW50ZXIgfSBmcm9tICduZXh0L2ZvbnQvZ29vZ2xlJztcclxuaW1wb3J0IEhhbmR5QW5zaWNodCBmcm9tICdAL2NvbXBvbmVudHMvSGFuZHlBbnNpY2h0JztcclxuXHJcbmNvbnN0IGludGVyID0gSW50ZXIoeyBzdWJzZXRzOiBbJ2xhdGluJ10gfSk7XHJcblxyXG5leHBvcnQgY29uc3QgbWV0YWRhdGE6IE1ldGFkYXRhID0ge1xyXG4gIHRpdGxlOiAnV2Via2xhciDigJMgS2xhcmhlaXQgaW0gV2ViZGVzaWduJyxcclxuICBkZXNjcmlwdGlvbjogJ1dpciBnZXN0YWx0ZW4gbW9kZXJuZSwgc2NobmVsbGUgV2Vic2l0ZXMgZsO8ciBJaHIgQnVzaW5lc3MuJyxcclxuICBvcGVuR3JhcGg6IHtcclxuICAgIHRpdGxlOiAnV2Via2xhciDigJMgS2xhcmhlaXQgaW0gV2ViZGVzaWduJyxcclxuICAgIGRlc2NyaXB0aW9uOiAnV2lyIGdlc3RhbHRlbiBtb2Rlcm5lLCBzY2huZWxsZSBXZWJzaXRlcyBmw7xyIElociBCdXNpbmVzcy4nLFxyXG4gICAgdXJsOiAnaHR0cHM6Ly93ZWJrbGFyLmNvbScsXHJcbiAgICB0eXBlOiAnd2Vic2l0ZScsXHJcbiAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJvb3RMYXlvdXQoe1xyXG4gIGNoaWxkcmVuLFxyXG59OiB7XHJcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcclxufSkge1xyXG4gIHJldHVybiAoXHJcbiAgICA8aHRtbCBsYW5nPVwiZGVcIj5cclxuICAgICAgPGJvZHkgY2xhc3NOYW1lPXtpbnRlci5jbGFzc05hbWV9PlxyXG4gICAgICAgIDxIYW5keUFuc2ljaHQ+XHJcbiAgICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICAgICAgPC9IYW5keUFuc2ljaHQ+XHJcbiAgICAgIDwvYm9keT5cclxuICAgIDwvaHRtbD5cclxuICApO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJpbnRlciIsIkhhbmR5QW5zaWNodCIsIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm9wZW5HcmFwaCIsInVybCIsInR5cGUiLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJodG1sIiwibGFuZyIsImJvZHkiLCJjbGFzc05hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./app/layout.tsx\n"); + +/***/ }), + +/***/ "(rsc)/./app/page.tsx": +/*!**********************!*\ + !*** ./app/page.tsx ***! + \**********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ $$typeof: () => (/* binding */ $$typeof), +/* harmony export */ __esModule: () => (/* binding */ __esModule), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); + +const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`C:\Users\andre\Documents\GitHub\Webklar.com\app\page.tsx`) + +// Accessing the __esModule property and exporting $$typeof are required here. +// The __esModule getter forces the proxy target to create the default export +// and the $$typeof value is for rendering logic to determine if the module +// is a client boundary. +const { __esModule, $$typeof } = proxy; +const __default__ = proxy.default; + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__default__); + +/***/ }), + +/***/ "(rsc)/./components/HandyAnsicht.tsx": +/*!*************************************!*\ + !*** ./components/HandyAnsicht.tsx ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ $$typeof: () => (/* binding */ $$typeof), +/* harmony export */ __esModule: () => (/* binding */ __esModule), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); + +const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`C:\Users\andre\Documents\GitHub\Webklar.com\components\HandyAnsicht.tsx`) + +// Accessing the __esModule property and exporting $$typeof are required here. +// The __esModule getter forces the proxy target to create the default export +// and the $$typeof value is for rendering logic to determine if the module +// is a client boundary. +const { __esModule, $$typeof } = proxy; +const __default__ = proxy.default; + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__default__); + +/***/ }), + +/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./app/favicon.ico?__next_metadata__": +/*!**********************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./app/favicon.ico?__next_metadata__ ***! + \**********************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/lib/metadata/get-metadata-route */ \"(rsc)/./node_modules/next/dist/lib/metadata/get-metadata-route.js\");\n/* harmony import */ var next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__);\n \n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((props) => {\n const imageData = {\"type\":\"image/x-icon\",\"sizes\":\"32x32\"}\n const imageUrl = (0,next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__.fillMetadataSegment)(\".\", props.params, \"favicon.ico\")\n\n return [{\n ...imageData,\n url: imageUrl + \"\",\n }]\n });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LW1ldGFkYXRhLWltYWdlLWxvYWRlci5qcz90eXBlPWZhdmljb24mc2VnbWVudD0mYmFzZVBhdGg9JnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMhLi9hcHAvZmF2aWNvbi5pY28/X19uZXh0X21ldGFkYXRhX18iLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsRUFBaUY7O0FBRWpGLEVBQUUsaUVBQWU7QUFDakIsdUJBQXVCO0FBQ3ZCLHFCQUFxQiw4RkFBbUI7O0FBRXhDO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL2FwcC9mYXZpY29uLmljbz81NjFmIl0sInNvdXJjZXNDb250ZW50IjpbIiAgaW1wb3J0IHsgZmlsbE1ldGFkYXRhU2VnbWVudCB9IGZyb20gJ25leHQvZGlzdC9saWIvbWV0YWRhdGEvZ2V0LW1ldGFkYXRhLXJvdXRlJ1xuXG4gIGV4cG9ydCBkZWZhdWx0IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IGltYWdlRGF0YSA9IHtcInR5cGVcIjpcImltYWdlL3gtaWNvblwiLFwic2l6ZXNcIjpcIjMyeDMyXCJ9XG4gICAgY29uc3QgaW1hZ2VVcmwgPSBmaWxsTWV0YWRhdGFTZWdtZW50KFwiLlwiLCBwcm9wcy5wYXJhbXMsIFwiZmF2aWNvbi5pY29cIilcblxuICAgIHJldHVybiBbe1xuICAgICAgLi4uaW1hZ2VEYXRhLFxuICAgICAgdXJsOiBpbWFnZVVybCArIFwiXCIsXG4gICAgfV1cbiAgfSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=favicon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./app/favicon.ico?__next_metadata__\n"); + +/***/ }) + +}; +; + +// load runtime +var __webpack_require__ = require("../webpack-runtime.js"); +__webpack_require__.C(exports); +var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) +var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/lucide-react","vendor-chunks/@swc","vendor-chunks/framer-motion","vendor-chunks/motion-dom","vendor-chunks/@supabase","vendor-chunks/motion-utils","vendor-chunks/@radix-ui","vendor-chunks/ws","vendor-chunks/@floating-ui","vendor-chunks/whatwg-url","vendor-chunks/class-variance-authority","vendor-chunks/isows","vendor-chunks/tr46","vendor-chunks/tailwind-merge","vendor-chunks/clsx","vendor-chunks/webidl-conversions","vendor-chunks/gsap"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5Candre%5CDocuments%5CGitHub%5CWebklar.com&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); +module.exports = __webpack_exports__; + +})(); \ No newline at end of file diff --git a/.next/server/app/page_client-reference-manifest.js b/.next/server/app/page_client-reference-manifest.js new file mode 100644 index 00000000..3b99f8c6 --- /dev/null +++ b/.next/server/app/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./components/HandyAnsicht.tsx":{"*":{"id":"(ssr)/./components/HandyAnsicht.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/page.tsx":{"*":{"id":"(ssr)/./app/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\client\\components\\static-generation-searchparams-bailout-provider.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\dist\\esm\\client\\components\\static-generation-searchparams-bailout-provider.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js","name":"*","chunks":["app-pages-internals:static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\components\\HandyAnsicht.tsx":{"id":"(app-pages-browser)/./components/HandyAnsicht.tsx","name":"*","chunks":["app/layout:static/chunks/app/layout.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\node_modules\\next\\font\\google\\target.css?{\"path\":\"app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout:static/chunks/app/layout.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\globals.css":{"id":"(app-pages-browser)/./app/globals.css","name":"*","chunks":["app/layout:static/chunks/app/layout.js"],"async":false},"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\page.tsx":{"id":"(app-pages-browser)/./app/page.tsx","name":"*","chunks":["app/page:static/chunks/app/page.js"],"async":false}},"entryCSSFiles":{"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\layout":["static/css/app/layout.css"],"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\page":["static/css/app/page.css"],"C:\\Users\\andre\\Documents\\GitHub\\Webklar.com\\app\\not-found":[]}} \ No newline at end of file diff --git a/.next/server/middleware-build-manifest.js b/.next/server/middleware-build-manifest.js new file mode 100644 index 00000000..c7ad6213 --- /dev/null +++ b/.next/server/middleware-build-manifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST={"polyfillFiles":["static/chunks/polyfills.js"],"devFiles":[],"ampDevFiles":[],"lowPriorityFiles":["static/development/_buildManifest.js","static/development/_ssgManifest.js"],"rootMainFiles":["static/chunks/webpack.js","static/chunks/main-app.js"],"pages":{"/_app":[]},"ampFirstPages":[]} \ No newline at end of file diff --git a/.next/server/middleware-manifest.json b/.next/server/middleware-manifest.json new file mode 100644 index 00000000..57712aad --- /dev/null +++ b/.next/server/middleware-manifest.json @@ -0,0 +1,6 @@ +{ + "sortedMiddleware": [], + "middleware": {}, + "functions": {}, + "version": 2 +} \ No newline at end of file diff --git a/.next/server/middleware-react-loadable-manifest.js b/.next/server/middleware-react-loadable-manifest.js new file mode 100644 index 00000000..ca34f09f --- /dev/null +++ b/.next/server/middleware-react-loadable-manifest.js @@ -0,0 +1 @@ +self.__REACT_LOADABLE_MANIFEST="{}" \ No newline at end of file diff --git a/.next/server/next-font-manifest.js b/.next/server/next-font-manifest.js new file mode 100644 index 00000000..5cc97ebd --- /dev/null +++ b/.next/server/next-font-manifest.js @@ -0,0 +1 @@ +self.__NEXT_FONT_MANIFEST="{\"pages\":{},\"app\":{},\"appUsingSizeAdjust\":false,\"pagesUsingSizeAdjust\":false}" \ No newline at end of file diff --git a/.next/server/next-font-manifest.json b/.next/server/next-font-manifest.json new file mode 100644 index 00000000..25f78e72 --- /dev/null +++ b/.next/server/next-font-manifest.json @@ -0,0 +1 @@ +{"pages":{},"app":{},"appUsingSizeAdjust":false,"pagesUsingSizeAdjust":false} \ No newline at end of file diff --git a/.next/server/pages-manifest.json b/.next/server/pages-manifest.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/.next/server/pages-manifest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/.next/server/server-reference-manifest.js b/.next/server/server-reference-manifest.js new file mode 100644 index 00000000..4dbb0b3f --- /dev/null +++ b/.next/server/server-reference-manifest.js @@ -0,0 +1 @@ +self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {}\n}" \ No newline at end of file diff --git a/.next/server/server-reference-manifest.json b/.next/server/server-reference-manifest.json new file mode 100644 index 00000000..27a92af5 --- /dev/null +++ b/.next/server/server-reference-manifest.json @@ -0,0 +1,4 @@ +{ + "node": {}, + "edge": {} +} \ No newline at end of file diff --git a/.next/server/vendor-chunks/@floating-ui.js b/.next/server/vendor-chunks/@floating-ui.js new file mode 100644 index 00000000..a225d4eb --- /dev/null +++ b/.next/server/vendor-chunks/@floating-ui.js @@ -0,0 +1,65 @@ +"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/). + */ +exports.id = "vendor-chunks/@floating-ui"; +exports.ids = ["vendor-chunks/@floating-ui"]; +exports.modules = { + +/***/ "(ssr)/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs": +/*!******************************************************************!*\ + !*** ./node_modules/@floating-ui/core/dist/floating-ui.core.mjs ***! + \******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arrow: () => (/* binding */ arrow),\n/* harmony export */ autoPlacement: () => (/* binding */ autoPlacement),\n/* harmony export */ computePosition: () => (/* binding */ computePosition),\n/* harmony export */ detectOverflow: () => (/* binding */ detectOverflow),\n/* harmony export */ flip: () => (/* binding */ flip),\n/* harmony export */ hide: () => (/* binding */ hide),\n/* harmony export */ inline: () => (/* binding */ inline),\n/* harmony export */ limitShift: () => (/* binding */ limitShift),\n/* harmony export */ offset: () => (/* binding */ offset),\n/* harmony export */ rectToClientRect: () => (/* reexport safe */ _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.rectToClientRect),\n/* harmony export */ shift: () => (/* binding */ shift),\n/* harmony export */ size: () => (/* binding */ size)\n/* harmony export */ });\n/* harmony import */ var _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/utils */ \"(ssr)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\");\n\r\n\r\n\r\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\r\n let {\r\n reference,\r\n floating\r\n } = _ref;\r\n const sideAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement);\r\n const alignmentAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignmentAxis)(placement);\r\n const alignLength = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAxisLength)(alignmentAxis);\r\n const side = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement);\r\n const isVertical = sideAxis === 'y';\r\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\r\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\r\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\r\n let coords;\r\n switch (side) {\r\n case 'top':\r\n coords = {\r\n x: commonX,\r\n y: reference.y - floating.height\r\n };\r\n break;\r\n case 'bottom':\r\n coords = {\r\n x: commonX,\r\n y: reference.y + reference.height\r\n };\r\n break;\r\n case 'right':\r\n coords = {\r\n x: reference.x + reference.width,\r\n y: commonY\r\n };\r\n break;\r\n case 'left':\r\n coords = {\r\n x: reference.x - floating.width,\r\n y: commonY\r\n };\r\n break;\r\n default:\r\n coords = {\r\n x: reference.x,\r\n y: reference.y\r\n };\r\n }\r\n switch ((0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement)) {\r\n case 'start':\r\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\r\n break;\r\n case 'end':\r\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\r\n break;\r\n }\r\n return coords;\r\n}\r\n\r\n/**\r\n * Computes the `x` and `y` coordinates that will place the floating element\r\n * next to a given reference element.\r\n *\r\n * This export does not have any `platform` interface logic. You will need to\r\n * write one for the platform you are using Floating UI with.\r\n */\r\nconst computePosition = async (reference, floating, config) => {\r\n const {\r\n placement = 'bottom',\r\n strategy = 'absolute',\r\n middleware = [],\r\n platform\r\n } = config;\r\n const validMiddleware = middleware.filter(Boolean);\r\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\r\n let rects = await platform.getElementRects({\r\n reference,\r\n floating,\r\n strategy\r\n });\r\n let {\r\n x,\r\n y\r\n } = computeCoordsFromPlacement(rects, placement, rtl);\r\n let statefulPlacement = placement;\r\n let middlewareData = {};\r\n let resetCount = 0;\r\n for (let i = 0; i < validMiddleware.length; i++) {\r\n const {\r\n name,\r\n fn\r\n } = validMiddleware[i];\r\n const {\r\n x: nextX,\r\n y: nextY,\r\n data,\r\n reset\r\n } = await fn({\r\n x,\r\n y,\r\n initialPlacement: placement,\r\n placement: statefulPlacement,\r\n strategy,\r\n middlewareData,\r\n rects,\r\n platform,\r\n elements: {\r\n reference,\r\n floating\r\n }\r\n });\r\n x = nextX != null ? nextX : x;\r\n y = nextY != null ? nextY : y;\r\n middlewareData = {\r\n ...middlewareData,\r\n [name]: {\r\n ...middlewareData[name],\r\n ...data\r\n }\r\n };\r\n if (reset && resetCount <= 50) {\r\n resetCount++;\r\n if (typeof reset === 'object') {\r\n if (reset.placement) {\r\n statefulPlacement = reset.placement;\r\n }\r\n if (reset.rects) {\r\n rects = reset.rects === true ? await platform.getElementRects({\r\n reference,\r\n floating,\r\n strategy\r\n }) : reset.rects;\r\n }\r\n ({\r\n x,\r\n y\r\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\r\n }\r\n i = -1;\r\n }\r\n }\r\n return {\r\n x,\r\n y,\r\n placement: statefulPlacement,\r\n strategy,\r\n middlewareData\r\n };\r\n};\r\n\r\n/**\r\n * Resolves with an object of overflow side offsets that determine how much the\r\n * element is overflowing a given clipping boundary on each side.\r\n * - positive = overflowing the boundary by that number of pixels\r\n * - negative = how many pixels left before it will overflow\r\n * - 0 = lies flush with the boundary\r\n * @see https://floating-ui.com/docs/detectOverflow\r\n */\r\nasync function detectOverflow(state, options) {\r\n var _await$platform$isEle;\r\n if (options === void 0) {\r\n options = {};\r\n }\r\n const {\r\n x,\r\n y,\r\n platform,\r\n rects,\r\n elements,\r\n strategy\r\n } = state;\r\n const {\r\n boundary = 'clippingAncestors',\r\n rootBoundary = 'viewport',\r\n elementContext = 'floating',\r\n altBoundary = false,\r\n padding = 0\r\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\r\n const paddingObject = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getPaddingObject)(padding);\r\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\r\n const element = elements[altBoundary ? altContext : elementContext];\r\n const clippingClientRect = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.rectToClientRect)(await platform.getClippingRect({\r\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\r\n boundary,\r\n rootBoundary,\r\n strategy\r\n }));\r\n const rect = elementContext === 'floating' ? {\r\n x,\r\n y,\r\n width: rects.floating.width,\r\n height: rects.floating.height\r\n } : rects.reference;\r\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\r\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\r\n x: 1,\r\n y: 1\r\n } : {\r\n x: 1,\r\n y: 1\r\n };\r\n const elementClientRect = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.rectToClientRect)(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\r\n elements,\r\n rect,\r\n offsetParent,\r\n strategy\r\n }) : rect);\r\n return {\r\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\r\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\r\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\r\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\r\n };\r\n}\r\n\r\n/**\r\n * Provides data to position an inner element of the floating element so that it\r\n * appears centered to the reference element.\r\n * @see https://floating-ui.com/docs/arrow\r\n */\r\nconst arrow = options => ({\r\n name: 'arrow',\r\n options,\r\n async fn(state) {\r\n const {\r\n x,\r\n y,\r\n placement,\r\n rects,\r\n platform,\r\n elements,\r\n middlewareData\r\n } = state;\r\n // Since `element` is required, we don't Partial<> the type.\r\n const {\r\n element,\r\n padding = 0\r\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state) || {};\r\n if (element == null) {\r\n return {};\r\n }\r\n const paddingObject = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getPaddingObject)(padding);\r\n const coords = {\r\n x,\r\n y\r\n };\r\n const axis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignmentAxis)(placement);\r\n const length = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAxisLength)(axis);\r\n const arrowDimensions = await platform.getDimensions(element);\r\n const isYAxis = axis === 'y';\r\n const minProp = isYAxis ? 'top' : 'left';\r\n const maxProp = isYAxis ? 'bottom' : 'right';\r\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\r\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\r\n const startDiff = coords[axis] - rects.reference[axis];\r\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\r\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\r\n\r\n // DOM platform can return `window` as the `offsetParent`.\r\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\r\n clientSize = elements.floating[clientProp] || rects.floating[length];\r\n }\r\n const centerToReference = endDiff / 2 - startDiff / 2;\r\n\r\n // If the padding is large enough that it causes the arrow to no longer be\r\n // centered, modify the padding so that it is centered.\r\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\r\n const minPadding = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(paddingObject[minProp], largestPossiblePadding);\r\n const maxPadding = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(paddingObject[maxProp], largestPossiblePadding);\r\n\r\n // Make sure the arrow doesn't overflow the floating element if the center\r\n // point is outside the floating element's bounds.\r\n const min$1 = minPadding;\r\n const max = clientSize - arrowDimensions[length] - maxPadding;\r\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\r\n const offset = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.clamp)(min$1, center, max);\r\n\r\n // If the reference is small enough that the arrow's padding causes it to\r\n // to point to nothing for an aligned placement, adjust the offset of the\r\n // floating element itself. To ensure `shift()` continues to take action,\r\n // a single reset is performed when this is true.\r\n const shouldAddOffset = !middlewareData.arrow && (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\r\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\r\n return {\r\n [axis]: coords[axis] + alignmentOffset,\r\n data: {\r\n [axis]: offset,\r\n centerOffset: center - offset - alignmentOffset,\r\n ...(shouldAddOffset && {\r\n alignmentOffset\r\n })\r\n },\r\n reset: shouldAddOffset\r\n };\r\n }\r\n});\r\n\r\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\r\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement) === alignment), ...allowedPlacements.filter(placement => (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement) !== alignment)] : allowedPlacements.filter(placement => (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement) === placement);\r\n return allowedPlacementsSortedByAlignment.filter(placement => {\r\n if (alignment) {\r\n return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement) === alignment || (autoAlignment ? (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositeAlignmentPlacement)(placement) !== placement : false);\r\n }\r\n return true;\r\n });\r\n}\r\n/**\r\n * Optimizes the visibility of the floating element by choosing the placement\r\n * that has the most space available automatically, without needing to specify a\r\n * preferred placement. Alternative to `flip`.\r\n * @see https://floating-ui.com/docs/autoPlacement\r\n */\r\nconst autoPlacement = function (options) {\r\n if (options === void 0) {\r\n options = {};\r\n }\r\n return {\r\n name: 'autoPlacement',\r\n options,\r\n async fn(state) {\r\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\r\n const {\r\n rects,\r\n middlewareData,\r\n placement,\r\n platform,\r\n elements\r\n } = state;\r\n const {\r\n crossAxis = false,\r\n alignment,\r\n allowedPlacements = _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.placements,\r\n autoAlignment = true,\r\n ...detectOverflowOptions\r\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\r\n const placements$1 = alignment !== undefined || allowedPlacements === _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\r\n const overflow = await detectOverflow(state, detectOverflowOptions);\r\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\r\n const currentPlacement = placements$1[currentIndex];\r\n if (currentPlacement == null) {\r\n return {};\r\n }\r\n const alignmentSides = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignmentSides)(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\r\n\r\n // Make `computeCoords` start from the right place.\r\n if (placement !== currentPlacement) {\r\n return {\r\n reset: {\r\n placement: placements$1[0]\r\n }\r\n };\r\n }\r\n const currentOverflows = [overflow[(0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\r\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\r\n placement: currentPlacement,\r\n overflows: currentOverflows\r\n }];\r\n const nextPlacement = placements$1[currentIndex + 1];\r\n\r\n // There are more placements to check.\r\n if (nextPlacement) {\r\n return {\r\n data: {\r\n index: currentIndex + 1,\r\n overflows: allOverflows\r\n },\r\n reset: {\r\n placement: nextPlacement\r\n }\r\n };\r\n }\r\n const placementsSortedByMostSpace = allOverflows.map(d => {\r\n const alignment = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(d.placement);\r\n return [d.placement, alignment && crossAxis ?\r\n // Check along the mainAxis and main crossAxis side.\r\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\r\n // Check only the mainAxis.\r\n d.overflows[0], d.overflows];\r\n }).sort((a, b) => a[1] - b[1]);\r\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\r\n // Aligned placements should not check their opposite crossAxis\r\n // side.\r\n (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(d[0]) ? 2 : 3).every(v => v <= 0));\r\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\r\n if (resetPlacement !== placement) {\r\n return {\r\n data: {\r\n index: currentIndex + 1,\r\n overflows: allOverflows\r\n },\r\n reset: {\r\n placement: resetPlacement\r\n }\r\n };\r\n }\r\n return {};\r\n }\r\n };\r\n};\r\n\r\n/**\r\n * Optimizes the visibility of the floating element by flipping the `placement`\r\n * in order to keep it in view when the preferred placement(s) will overflow the\r\n * clipping boundary. Alternative to `autoPlacement`.\r\n * @see https://floating-ui.com/docs/flip\r\n */\r\nconst flip = function (options) {\r\n if (options === void 0) {\r\n options = {};\r\n }\r\n return {\r\n name: 'flip',\r\n options,\r\n async fn(state) {\r\n var _middlewareData$arrow, _middlewareData$flip;\r\n const {\r\n placement,\r\n middlewareData,\r\n rects,\r\n initialPlacement,\r\n platform,\r\n elements\r\n } = state;\r\n const {\r\n mainAxis: checkMainAxis = true,\r\n crossAxis: checkCrossAxis = true,\r\n fallbackPlacements: specifiedFallbackPlacements,\r\n fallbackStrategy = 'bestFit',\r\n fallbackAxisSideDirection = 'none',\r\n flipAlignment = true,\r\n ...detectOverflowOptions\r\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\r\n\r\n // If a reset by the arrow was caused due to an alignment offset being\r\n // added, we should skip any logic now since `flip()` has already done its\r\n // work.\r\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\r\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\r\n return {};\r\n }\r\n const side = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement);\r\n const initialSideAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(initialPlacement);\r\n const isBasePlacement = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(initialPlacement) === initialPlacement;\r\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\r\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [(0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositePlacement)(initialPlacement)] : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getExpandedPlacements)(initialPlacement));\r\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\r\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\r\n fallbackPlacements.push(...(0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositeAxisPlacements)(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\r\n }\r\n const placements = [initialPlacement, ...fallbackPlacements];\r\n const overflow = await detectOverflow(state, detectOverflowOptions);\r\n const overflows = [];\r\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\r\n if (checkMainAxis) {\r\n overflows.push(overflow[side]);\r\n }\r\n if (checkCrossAxis) {\r\n const sides = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignmentSides)(placement, rects, rtl);\r\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\r\n }\r\n overflowsData = [...overflowsData, {\r\n placement,\r\n overflows\r\n }];\r\n\r\n // One or more sides is overflowing.\r\n if (!overflows.every(side => side <= 0)) {\r\n var _middlewareData$flip2, _overflowsData$filter;\r\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\r\n const nextPlacement = placements[nextIndex];\r\n if (nextPlacement) {\r\n // Try next placement and re-run the lifecycle.\r\n return {\r\n data: {\r\n index: nextIndex,\r\n overflows: overflowsData\r\n },\r\n reset: {\r\n placement: nextPlacement\r\n }\r\n };\r\n }\r\n\r\n // First, find the candidates that fit on the mainAxis side of overflow,\r\n // then find the placement that fits the best on the main crossAxis side.\r\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\r\n\r\n // Otherwise fallback.\r\n if (!resetPlacement) {\r\n switch (fallbackStrategy) {\r\n case 'bestFit':\r\n {\r\n var _overflowsData$filter2;\r\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\r\n if (hasFallbackAxisSideDirection) {\r\n const currentSideAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(d.placement);\r\n return currentSideAxis === initialSideAxis ||\r\n // Create a bias to the `y` side axis due to horizontal\r\n // reading directions favoring greater width.\r\n currentSideAxis === 'y';\r\n }\r\n return true;\r\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\r\n if (placement) {\r\n resetPlacement = placement;\r\n }\r\n break;\r\n }\r\n case 'initialPlacement':\r\n resetPlacement = initialPlacement;\r\n break;\r\n }\r\n }\r\n if (placement !== resetPlacement) {\r\n return {\r\n reset: {\r\n placement: resetPlacement\r\n }\r\n };\r\n }\r\n }\r\n return {};\r\n }\r\n };\r\n};\r\n\r\nfunction getSideOffsets(overflow, rect) {\r\n return {\r\n top: overflow.top - rect.height,\r\n right: overflow.right - rect.width,\r\n bottom: overflow.bottom - rect.height,\r\n left: overflow.left - rect.width\r\n };\r\n}\r\nfunction isAnySideFullyClipped(overflow) {\r\n return _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.sides.some(side => overflow[side] >= 0);\r\n}\r\n/**\r\n * Provides data to hide the floating element in applicable situations, such as\r\n * when it is not in the same clipping context as the reference element.\r\n * @see https://floating-ui.com/docs/hide\r\n */\r\nconst hide = function (options) {\r\n if (options === void 0) {\r\n options = {};\r\n }\r\n return {\r\n name: 'hide',\r\n options,\r\n async fn(state) {\r\n const {\r\n rects\r\n } = state;\r\n const {\r\n strategy = 'referenceHidden',\r\n ...detectOverflowOptions\r\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\r\n switch (strategy) {\r\n case 'referenceHidden':\r\n {\r\n const overflow = await detectOverflow(state, {\r\n ...detectOverflowOptions,\r\n elementContext: 'reference'\r\n });\r\n const offsets = getSideOffsets(overflow, rects.reference);\r\n return {\r\n data: {\r\n referenceHiddenOffsets: offsets,\r\n referenceHidden: isAnySideFullyClipped(offsets)\r\n }\r\n };\r\n }\r\n case 'escaped':\r\n {\r\n const overflow = await detectOverflow(state, {\r\n ...detectOverflowOptions,\r\n altBoundary: true\r\n });\r\n const offsets = getSideOffsets(overflow, rects.floating);\r\n return {\r\n data: {\r\n escapedOffsets: offsets,\r\n escaped: isAnySideFullyClipped(offsets)\r\n }\r\n };\r\n }\r\n default:\r\n {\r\n return {};\r\n }\r\n }\r\n }\r\n };\r\n};\r\n\r\nfunction getBoundingRect(rects) {\r\n const minX = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(...rects.map(rect => rect.left));\r\n const minY = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(...rects.map(rect => rect.top));\r\n const maxX = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(...rects.map(rect => rect.right));\r\n const maxY = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(...rects.map(rect => rect.bottom));\r\n return {\r\n x: minX,\r\n y: minY,\r\n width: maxX - minX,\r\n height: maxY - minY\r\n };\r\n}\r\nfunction getRectsByLine(rects) {\r\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\r\n const groups = [];\r\n let prevRect = null;\r\n for (let i = 0; i < sortedRects.length; i++) {\r\n const rect = sortedRects[i];\r\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\r\n groups.push([rect]);\r\n } else {\r\n groups[groups.length - 1].push(rect);\r\n }\r\n prevRect = rect;\r\n }\r\n return groups.map(rect => (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.rectToClientRect)(getBoundingRect(rect)));\r\n}\r\n/**\r\n * Provides improved positioning for inline reference elements that can span\r\n * over multiple lines, such as hyperlinks or range selections.\r\n * @see https://floating-ui.com/docs/inline\r\n */\r\nconst inline = function (options) {\r\n if (options === void 0) {\r\n options = {};\r\n }\r\n return {\r\n name: 'inline',\r\n options,\r\n async fn(state) {\r\n const {\r\n placement,\r\n elements,\r\n rects,\r\n platform,\r\n strategy\r\n } = state;\r\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\r\n // ClientRect's bounds, despite the event listener being triggered. A\r\n // padding of 2 seems to handle this issue.\r\n const {\r\n padding = 2,\r\n x,\r\n y\r\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\r\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\r\n const clientRects = getRectsByLine(nativeClientRects);\r\n const fallback = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.rectToClientRect)(getBoundingRect(nativeClientRects));\r\n const paddingObject = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getPaddingObject)(padding);\r\n function getBoundingClientRect() {\r\n // There are two rects and they are disjoined.\r\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\r\n // Find the first rect in which the point is fully inside.\r\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\r\n }\r\n\r\n // There are 2 or more connected rects.\r\n if (clientRects.length >= 2) {\r\n if ((0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement) === 'y') {\r\n const firstRect = clientRects[0];\r\n const lastRect = clientRects[clientRects.length - 1];\r\n const isTop = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement) === 'top';\r\n const top = firstRect.top;\r\n const bottom = lastRect.bottom;\r\n const left = isTop ? firstRect.left : lastRect.left;\r\n const right = isTop ? firstRect.right : lastRect.right;\r\n const width = right - left;\r\n const height = bottom - top;\r\n return {\r\n top,\r\n bottom,\r\n left,\r\n right,\r\n width,\r\n height,\r\n x: left,\r\n y: top\r\n };\r\n }\r\n const isLeftSide = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement) === 'left';\r\n const maxRight = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(...clientRects.map(rect => rect.right));\r\n const minLeft = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(...clientRects.map(rect => rect.left));\r\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\r\n const top = measureRects[0].top;\r\n const bottom = measureRects[measureRects.length - 1].bottom;\r\n const left = minLeft;\r\n const right = maxRight;\r\n const width = right - left;\r\n const height = bottom - top;\r\n return {\r\n top,\r\n bottom,\r\n left,\r\n right,\r\n width,\r\n height,\r\n x: left,\r\n y: top\r\n };\r\n }\r\n return fallback;\r\n }\r\n const resetRects = await platform.getElementRects({\r\n reference: {\r\n getBoundingClientRect\r\n },\r\n floating: elements.floating,\r\n strategy\r\n });\r\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\r\n return {\r\n reset: {\r\n rects: resetRects\r\n }\r\n };\r\n }\r\n return {};\r\n }\r\n };\r\n};\r\n\r\n// For type backwards-compatibility, the `OffsetOptions` type was also\r\n// Derivable.\r\n\r\nasync function convertValueToCoords(state, options) {\r\n const {\r\n placement,\r\n platform,\r\n elements\r\n } = state;\r\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\r\n const side = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement);\r\n const alignment = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement);\r\n const isVertical = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement) === 'y';\r\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\r\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\r\n const rawValue = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\r\n\r\n // eslint-disable-next-line prefer-const\r\n let {\r\n mainAxis,\r\n crossAxis,\r\n alignmentAxis\r\n } = typeof rawValue === 'number' ? {\r\n mainAxis: rawValue,\r\n crossAxis: 0,\r\n alignmentAxis: null\r\n } : {\r\n mainAxis: rawValue.mainAxis || 0,\r\n crossAxis: rawValue.crossAxis || 0,\r\n alignmentAxis: rawValue.alignmentAxis\r\n };\r\n if (alignment && typeof alignmentAxis === 'number') {\r\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\r\n }\r\n return isVertical ? {\r\n x: crossAxis * crossAxisMulti,\r\n y: mainAxis * mainAxisMulti\r\n } : {\r\n x: mainAxis * mainAxisMulti,\r\n y: crossAxis * crossAxisMulti\r\n };\r\n}\r\n\r\n/**\r\n * Modifies the placement by translating the floating element along the\r\n * specified axes.\r\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\r\n * object may be passed.\r\n * @see https://floating-ui.com/docs/offset\r\n */\r\nconst offset = function (options) {\r\n if (options === void 0) {\r\n options = 0;\r\n }\r\n return {\r\n name: 'offset',\r\n options,\r\n async fn(state) {\r\n var _middlewareData$offse, _middlewareData$arrow;\r\n const {\r\n x,\r\n y,\r\n placement,\r\n middlewareData\r\n } = state;\r\n const diffCoords = await convertValueToCoords(state, options);\r\n\r\n // If the placement is the same and the arrow caused an alignment offset\r\n // then we don't need to change the positioning coordinates.\r\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\r\n return {};\r\n }\r\n return {\r\n x: x + diffCoords.x,\r\n y: y + diffCoords.y,\r\n data: {\r\n ...diffCoords,\r\n placement\r\n }\r\n };\r\n }\r\n };\r\n};\r\n\r\n/**\r\n * Optimizes the visibility of the floating element by shifting it in order to\r\n * keep it in view when it will overflow the clipping boundary.\r\n * @see https://floating-ui.com/docs/shift\r\n */\r\nconst shift = function (options) {\r\n if (options === void 0) {\r\n options = {};\r\n }\r\n return {\r\n name: 'shift',\r\n options,\r\n async fn(state) {\r\n const {\r\n x,\r\n y,\r\n placement\r\n } = state;\r\n const {\r\n mainAxis: checkMainAxis = true,\r\n crossAxis: checkCrossAxis = false,\r\n limiter = {\r\n fn: _ref => {\r\n let {\r\n x,\r\n y\r\n } = _ref;\r\n return {\r\n x,\r\n y\r\n };\r\n }\r\n },\r\n ...detectOverflowOptions\r\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\r\n const coords = {\r\n x,\r\n y\r\n };\r\n const overflow = await detectOverflow(state, detectOverflowOptions);\r\n const crossAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)((0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement));\r\n const mainAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositeAxis)(crossAxis);\r\n let mainAxisCoord = coords[mainAxis];\r\n let crossAxisCoord = coords[crossAxis];\r\n if (checkMainAxis) {\r\n const minSide = mainAxis === 'y' ? 'top' : 'left';\r\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\r\n const min = mainAxisCoord + overflow[minSide];\r\n const max = mainAxisCoord - overflow[maxSide];\r\n mainAxisCoord = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.clamp)(min, mainAxisCoord, max);\r\n }\r\n if (checkCrossAxis) {\r\n const minSide = crossAxis === 'y' ? 'top' : 'left';\r\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\r\n const min = crossAxisCoord + overflow[minSide];\r\n const max = crossAxisCoord - overflow[maxSide];\r\n crossAxisCoord = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.clamp)(min, crossAxisCoord, max);\r\n }\r\n const limitedCoords = limiter.fn({\r\n ...state,\r\n [mainAxis]: mainAxisCoord,\r\n [crossAxis]: crossAxisCoord\r\n });\r\n return {\r\n ...limitedCoords,\r\n data: {\r\n x: limitedCoords.x - x,\r\n y: limitedCoords.y - y,\r\n enabled: {\r\n [mainAxis]: checkMainAxis,\r\n [crossAxis]: checkCrossAxis\r\n }\r\n }\r\n };\r\n }\r\n };\r\n};\r\n/**\r\n * Built-in `limiter` that will stop `shift()` at a certain point.\r\n */\r\nconst limitShift = function (options) {\r\n if (options === void 0) {\r\n options = {};\r\n }\r\n return {\r\n options,\r\n fn(state) {\r\n const {\r\n x,\r\n y,\r\n placement,\r\n rects,\r\n middlewareData\r\n } = state;\r\n const {\r\n offset = 0,\r\n mainAxis: checkMainAxis = true,\r\n crossAxis: checkCrossAxis = true\r\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\r\n const coords = {\r\n x,\r\n y\r\n };\r\n const crossAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement);\r\n const mainAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getOppositeAxis)(crossAxis);\r\n let mainAxisCoord = coords[mainAxis];\r\n let crossAxisCoord = coords[crossAxis];\r\n const rawOffset = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(offset, state);\r\n const computedOffset = typeof rawOffset === 'number' ? {\r\n mainAxis: rawOffset,\r\n crossAxis: 0\r\n } : {\r\n mainAxis: 0,\r\n crossAxis: 0,\r\n ...rawOffset\r\n };\r\n if (checkMainAxis) {\r\n const len = mainAxis === 'y' ? 'height' : 'width';\r\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\r\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\r\n if (mainAxisCoord < limitMin) {\r\n mainAxisCoord = limitMin;\r\n } else if (mainAxisCoord > limitMax) {\r\n mainAxisCoord = limitMax;\r\n }\r\n }\r\n if (checkCrossAxis) {\r\n var _middlewareData$offse, _middlewareData$offse2;\r\n const len = mainAxis === 'y' ? 'width' : 'height';\r\n const isOriginSide = ['top', 'left'].includes((0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement));\r\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\r\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\r\n if (crossAxisCoord < limitMin) {\r\n crossAxisCoord = limitMin;\r\n } else if (crossAxisCoord > limitMax) {\r\n crossAxisCoord = limitMax;\r\n }\r\n }\r\n return {\r\n [mainAxis]: mainAxisCoord,\r\n [crossAxis]: crossAxisCoord\r\n };\r\n }\r\n };\r\n};\r\n\r\n/**\r\n * Provides data that allows you to change the size of the floating element —\r\n * for instance, prevent it from overflowing the clipping boundary or match the\r\n * width of the reference element.\r\n * @see https://floating-ui.com/docs/size\r\n */\r\nconst size = function (options) {\r\n if (options === void 0) {\r\n options = {};\r\n }\r\n return {\r\n name: 'size',\r\n options,\r\n async fn(state) {\r\n var _state$middlewareData, _state$middlewareData2;\r\n const {\r\n placement,\r\n rects,\r\n platform,\r\n elements\r\n } = state;\r\n const {\r\n apply = () => {},\r\n ...detectOverflowOptions\r\n } = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.evaluate)(options, state);\r\n const overflow = await detectOverflow(state, detectOverflowOptions);\r\n const side = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSide)(placement);\r\n const alignment = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getAlignment)(placement);\r\n const isYAxis = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.getSideAxis)(placement) === 'y';\r\n const {\r\n width,\r\n height\r\n } = rects.floating;\r\n let heightSide;\r\n let widthSide;\r\n if (side === 'top' || side === 'bottom') {\r\n heightSide = side;\r\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\r\n } else {\r\n widthSide = side;\r\n heightSide = alignment === 'end' ? 'top' : 'bottom';\r\n }\r\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\r\n const maximumClippingWidth = width - overflow.left - overflow.right;\r\n const overflowAvailableHeight = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(height - overflow[heightSide], maximumClippingHeight);\r\n const overflowAvailableWidth = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.min)(width - overflow[widthSide], maximumClippingWidth);\r\n const noShift = !state.middlewareData.shift;\r\n let availableHeight = overflowAvailableHeight;\r\n let availableWidth = overflowAvailableWidth;\r\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\r\n availableWidth = maximumClippingWidth;\r\n }\r\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\r\n availableHeight = maximumClippingHeight;\r\n }\r\n if (noShift && !alignment) {\r\n const xMin = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.left, 0);\r\n const xMax = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.right, 0);\r\n const yMin = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.top, 0);\r\n const yMax = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.bottom, 0);\r\n if (isYAxis) {\r\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.left, overflow.right));\r\n } else {\r\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__.max)(overflow.top, overflow.bottom));\r\n }\r\n }\r\n await apply({\r\n ...state,\r\n availableWidth,\r\n availableHeight\r\n });\r\n const nextDimensions = await platform.getDimensions(elements.floating);\r\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\r\n return {\r\n reset: {\r\n rects: true\r\n }\r\n };\r\n }\r\n return {};\r\n }\r\n };\r\n};\r\n\r\n\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGZsb2F0aW5nLXVpL2NvcmUvZGlzdC9mbG9hdGluZy11aS5jb3JlLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQXNVO0FBQ2hSO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osbUJBQW1CLCtEQUFXO0FBQzlCLHdCQUF3QixvRUFBZ0I7QUFDeEMsc0JBQXNCLGlFQUFhO0FBQ25DLGVBQWUsMkRBQU87QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxnRUFBWTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLDRCQUE0QjtBQUM5QztBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7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Q2xCO0FBQ0EsbUJBQW1CLDJEQUFPO0FBQzFCLHdCQUF3QixnRUFBWTtBQUNwQyxzQkFBc0IsK0RBQVc7QUFDakM7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQyx1REFBRztBQUN6QyxxQ0FBcUMsdURBQUc7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsdURBQUc7QUFDeEIscUJBQXFCLHVEQUFHO0FBQ3hCLHFCQUFxQix1REFBRztBQUN4QixxQkFBcUIsdURBQUc7QUFDeEI7QUFDQSxpRkFBaUYsdURBQUc7QUFDcEYsVUFBVTtBQUNWLG1GQUFtRix1REFBRztBQUN0RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDc0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvQGZsb2F0aW5nLXVpL2NvcmUvZGlzdC9mbG9hdGluZy11aS5jb3JlLm1qcz81MGIyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFNpZGVBeGlzLCBnZXRBbGlnbm1lbnRBeGlzLCBnZXRBeGlzTGVuZ3RoLCBnZXRTaWRlLCBnZXRBbGlnbm1lbnQsIGV2YWx1YXRlLCBnZXRQYWRkaW5nT2JqZWN0LCByZWN0VG9DbGllbnRSZWN0LCBtaW4sIGNsYW1wLCBwbGFjZW1lbnRzLCBnZXRBbGlnbm1lbnRTaWRlcywgZ2V0T3Bwb3NpdGVBbGlnbm1lbnRQbGFjZW1lbnQsIGdldE9wcG9zaXRlUGxhY2VtZW50LCBnZXRFeHBhbmRlZFBsYWNlbWVudHMsIGdldE9wcG9zaXRlQXhpc1BsYWNlbWVudHMsIHNpZGVzLCBtYXgsIGdldE9wcG9zaXRlQXhpcyB9IGZyb20gJ0BmbG9hdGluZy11aS91dGlscyc7XHJcbmV4cG9ydCB7IHJlY3RUb0NsaWVudFJlY3QgfSBmcm9tICdAZmxvYXRpbmctdWkvdXRpbHMnO1xyXG5cclxuZnVuY3Rpb24gY29tcHV0ZUNvb3Jkc0Zyb21QbGFjZW1lbnQoX3JlZiwgcGxhY2VtZW50LCBydGwpIHtcclxuICBsZXQge1xyXG4gICAgcmVmZXJlbmNlLFxyXG4gICAgZmxvYXRpbmdcclxuICB9ID0gX3JlZjtcclxuICBjb25zdCBzaWRlQXhpcyA9IGdldFNpZGVBeGlzKHBsYWNlbWVudCk7XHJcbiAgY29uc3QgYWxpZ25tZW50QXhpcyA9IGdldEFsaWdubWVudEF4aXMocGxhY2VtZW50KTtcclxuICBjb25zdCBhbGlnbkxlbmd0aCA9IGdldEF4aXNMZW5ndGgoYWxpZ25tZW50QXhpcyk7XHJcbiAgY29uc3Qgc2lkZSA9IGdldFNpZGUocGxhY2VtZW50KTtcclxuICBjb25zdCBpc1ZlcnRpY2FsID0gc2lkZUF4aXMgPT09ICd5JztcclxuICBjb25zdCBjb21tb25YID0gcmVmZXJlbmNlLnggKyByZWZlcmVuY2Uud2lkdGggLyAyIC0gZmxvYXRpbmcud2lkdGggLyAyO1xyXG4gIGNvbnN0IGNvbW1vblkgPSByZWZlcmVuY2UueSArIHJlZmVyZW5jZS5oZWlnaHQgLyAyIC0gZmxvYXRpbmcuaGVpZ2h0IC8gMjtcclxuICBjb25zdCBjb21tb25BbGlnbiA9IHJlZmVyZW5jZVthbGlnbkxlbmd0aF0gLyAyIC0gZmxvYXRpbmdbYWxpZ25MZW5ndGhdIC8gMjtcclxuICBsZXQgY29vcmRzO1xyXG4gIHN3aXRjaCAoc2lkZSkge1xyXG4gICAgY2FzZSAndG9wJzpcclxuICAgICAgY29vcmRzID0ge1xyXG4gICAgICAgIHg6IGNvbW1vblgsXHJcbiAgICAgICAgeTogcmVmZXJlbmNlLnkgLSBmbG9hdGluZy5oZWlnaHRcclxuICAgICAgfTtcclxuICAgICAgYnJlYWs7XHJcbiAgICBjYXNlICdib3R0b20nOlxyXG4gICAgICBjb29yZHMgPSB7XHJcbiAgICAgICAgeDogY29tbW9uWCxcclxuICAgICAgICB5OiByZWZlcmVuY2UueSArIHJlZmVyZW5jZS5oZWlnaHRcclxuICAgICAgfTtcclxuICAgICAgYnJlYWs7XHJcbiAgICBjYXNlICdyaWdodCc6XHJcbiAgICAgIGNvb3JkcyA9IHtcclxuICAgICAgICB4OiByZWZlcmVuY2UueCArIHJlZmVyZW5jZS53aWR0aCxcclxuICAgICAgICB5OiBjb21tb25ZXHJcbiAgICAgIH07XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgIGNvb3JkcyA9IHtcclxuICAgICAgICB4OiByZWZlcmVuY2UueCAtIGZsb2F0aW5nLndpZHRoLFxyXG4gICAgICAgIHk6IGNvbW1vbllcclxuICAgICAgfTtcclxuICAgICAgYnJlYWs7XHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICBjb29yZHMgPSB7XHJcbiAgICAgICAgeDogcmVmZXJlbmNlLngsXHJcbiAgICAgICAgeTogcmVmZXJlbmNlLnlcclxuICAgICAgfTtcclxuICB9XHJcbiAgc3dpdGNoIChnZXRBbGlnbm1lbnQocGxhY2VtZW50KSkge1xyXG4gICAgY2FzZSAnc3RhcnQnOlxyXG4gICAgICBjb29yZHNbYWxpZ25tZW50QXhpc10gLT0gY29tbW9uQWxpZ24gKiAocnRsICYmIGlzVmVydGljYWwgPyAtMSA6IDEpO1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgJ2VuZCc6XHJcbiAgICAgIGNvb3Jkc1thbGlnbm1lbnRBeGlzXSArPSBjb21tb25BbGlnbiAqIChydGwgJiYgaXNWZXJ0aWNhbCA/IC0xIDogMSk7XHJcbiAgICAgIGJyZWFrO1xyXG4gIH1cclxuICByZXR1cm4gY29vcmRzO1xyXG59XHJcblxyXG4vKipcclxuICogQ29tcHV0ZXMgdGhlIGB4YCBhbmQgYHlgIGNvb3JkaW5hdGVzIHRoYXQgd2lsbCBwbGFjZSB0aGUgZmxvYXRpbmcgZWxlbWVudFxyXG4gKiBuZXh0IHRvIGEgZ2l2ZW4gcmVmZXJlbmNlIGVsZW1lbnQuXHJcbiAqXHJcbiAqIFRoaXMgZXhwb3J0IGRvZXMgbm90IGhhdmUgYW55IGBwbGF0Zm9ybWAgaW50ZXJmYWNlIGxvZ2ljLiBZb3Ugd2lsbCBuZWVkIHRvXHJcbiAqIHdyaXRlIG9uZSBmb3IgdGhlIHBsYXRmb3JtIHlvdSBhcmUgdXNpbmcgRmxvYXRpbmcgVUkgd2l0aC5cclxuICovXHJcbmNvbnN0IGNvbXB1dGVQb3NpdGlvbiA9IGFzeW5jIChyZWZlcmVuY2UsIGZsb2F0aW5nLCBjb25maWcpID0+IHtcclxuICBjb25zdCB7XHJcbiAgICBwbGFjZW1lbnQgPSAnYm90dG9tJyxcclxuICAgIHN0cmF0ZWd5ID0gJ2Fic29sdXRlJyxcclxuICAgIG1pZGRsZXdhcmUgPSBbXSxcclxuICAgIHBsYXRmb3JtXHJcbiAgfSA9IGNvbmZpZztcclxuICBjb25zdCB2YWxpZE1pZGRsZXdhcmUgPSBtaWRkbGV3YXJlLmZpbHRlcihCb29sZWFuKTtcclxuICBjb25zdCBydGwgPSBhd2FpdCAocGxhdGZvcm0uaXNSVEwgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmlzUlRMKGZsb2F0aW5nKSk7XHJcbiAgbGV0IHJlY3RzID0gYXdhaXQgcGxhdGZvcm0uZ2V0RWxlbWVudFJlY3RzKHtcclxuICAgIHJlZmVyZW5jZSxcclxuICAgIGZsb2F0aW5nLFxyXG4gICAgc3RyYXRlZ3lcclxuICB9KTtcclxuICBsZXQge1xyXG4gICAgeCxcclxuICAgIHlcclxuICB9ID0gY29tcHV0ZUNvb3Jkc0Zyb21QbGFjZW1lbnQocmVjdHMsIHBsYWNlbWVudCwgcnRsKTtcclxuICBsZXQgc3RhdGVmdWxQbGFjZW1lbnQgPSBwbGFjZW1lbnQ7XHJcbiAgbGV0IG1pZGRsZXdhcmVEYXRhID0ge307XHJcbiAgbGV0IHJlc2V0Q291bnQgPSAwO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsaWRNaWRkbGV3YXJlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIG5hbWUsXHJcbiAgICAgIGZuXHJcbiAgICB9ID0gdmFsaWRNaWRkbGV3YXJlW2ldO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICB4OiBuZXh0WCxcclxuICAgICAgeTogbmV4dFksXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIHJlc2V0XHJcbiAgICB9ID0gYXdhaXQgZm4oe1xyXG4gICAgICB4LFxyXG4gICAgICB5LFxyXG4gICAgICBpbml0aWFsUGxhY2VtZW50OiBwbGFjZW1lbnQsXHJcbiAgICAgIHBsYWNlbWVudDogc3RhdGVmdWxQbGFjZW1lbnQsXHJcbiAgICAgIHN0cmF0ZWd5LFxyXG4gICAgICBtaWRkbGV3YXJlRGF0YSxcclxuICAgICAgcmVjdHMsXHJcbiAgICAgIHBsYXRmb3JtLFxyXG4gICAgICBlbGVtZW50czoge1xyXG4gICAgICAgIHJlZmVyZW5jZSxcclxuICAgICAgICBmbG9hdGluZ1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHggPSBuZXh0WCAhPSBudWxsID8gbmV4dFggOiB4O1xyXG4gICAgeSA9IG5leHRZICE9IG51bGwgPyBuZXh0WSA6IHk7XHJcbiAgICBtaWRkbGV3YXJlRGF0YSA9IHtcclxuICAgICAgLi4ubWlkZGxld2FyZURhdGEsXHJcbiAgICAgIFtuYW1lXToge1xyXG4gICAgICAgIC4uLm1pZGRsZXdhcmVEYXRhW25hbWVdLFxyXG4gICAgICAgIC4uLmRhdGFcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGlmIChyZXNldCAmJiByZXNldENvdW50IDw9IDUwKSB7XHJcbiAgICAgIHJlc2V0Q291bnQrKztcclxuICAgICAgaWYgKHR5cGVvZiByZXNldCA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICBpZiAocmVzZXQucGxhY2VtZW50KSB7XHJcbiAgICAgICAgICBzdGF0ZWZ1bFBsYWNlbWVudCA9IHJlc2V0LnBsYWNlbWVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHJlc2V0LnJlY3RzKSB7XHJcbiAgICAgICAgICByZWN0cyA9IHJlc2V0LnJlY3RzID09PSB0cnVlID8gYXdhaXQgcGxhdGZvcm0uZ2V0RWxlbWVudFJlY3RzKHtcclxuICAgICAgICAgICAgcmVmZXJlbmNlLFxyXG4gICAgICAgICAgICBmbG9hdGluZyxcclxuICAgICAgICAgICAgc3RyYXRlZ3lcclxuICAgICAgICAgIH0pIDogcmVzZXQucmVjdHM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICh7XHJcbiAgICAgICAgICB4LFxyXG4gICAgICAgICAgeVxyXG4gICAgICAgIH0gPSBjb21wdXRlQ29vcmRzRnJvbVBsYWNlbWVudChyZWN0cywgc3RhdGVmdWxQbGFjZW1lbnQsIHJ0bCkpO1xyXG4gICAgICB9XHJcbiAgICAgIGkgPSAtMTtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIHtcclxuICAgIHgsXHJcbiAgICB5LFxyXG4gICAgcGxhY2VtZW50OiBzdGF0ZWZ1bFBsYWNlbWVudCxcclxuICAgIHN0cmF0ZWd5LFxyXG4gICAgbWlkZGxld2FyZURhdGFcclxuICB9O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJlc29sdmVzIHdpdGggYW4gb2JqZWN0IG9mIG92ZXJmbG93IHNpZGUgb2Zmc2V0cyB0aGF0IGRldGVybWluZSBob3cgbXVjaCB0aGVcclxuICogZWxlbWVudCBpcyBvdmVyZmxvd2luZyBhIGdpdmVuIGNsaXBwaW5nIGJvdW5kYXJ5IG9uIGVhY2ggc2lkZS5cclxuICogLSBwb3NpdGl2ZSA9IG92ZXJmbG93aW5nIHRoZSBib3VuZGFyeSBieSB0aGF0IG51bWJlciBvZiBwaXhlbHNcclxuICogLSBuZWdhdGl2ZSA9IGhvdyBtYW55IHBpeGVscyBsZWZ0IGJlZm9yZSBpdCB3aWxsIG92ZXJmbG93XHJcbiAqIC0gMCA9IGxpZXMgZmx1c2ggd2l0aCB0aGUgYm91bmRhcnlcclxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2RldGVjdE92ZXJmbG93XHJcbiAqL1xyXG5hc3luYyBmdW5jdGlvbiBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwgb3B0aW9ucykge1xyXG4gIHZhciBfYXdhaXQkcGxhdGZvcm0kaXNFbGU7XHJcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xyXG4gICAgb3B0aW9ucyA9IHt9O1xyXG4gIH1cclxuICBjb25zdCB7XHJcbiAgICB4LFxyXG4gICAgeSxcclxuICAgIHBsYXRmb3JtLFxyXG4gICAgcmVjdHMsXHJcbiAgICBlbGVtZW50cyxcclxuICAgIHN0cmF0ZWd5XHJcbiAgfSA9IHN0YXRlO1xyXG4gIGNvbnN0IHtcclxuICAgIGJvdW5kYXJ5ID0gJ2NsaXBwaW5nQW5jZXN0b3JzJyxcclxuICAgIHJvb3RCb3VuZGFyeSA9ICd2aWV3cG9ydCcsXHJcbiAgICBlbGVtZW50Q29udGV4dCA9ICdmbG9hdGluZycsXHJcbiAgICBhbHRCb3VuZGFyeSA9IGZhbHNlLFxyXG4gICAgcGFkZGluZyA9IDBcclxuICB9ID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpO1xyXG4gIGNvbnN0IHBhZGRpbmdPYmplY3QgPSBnZXRQYWRkaW5nT2JqZWN0KHBhZGRpbmcpO1xyXG4gIGNvbnN0IGFsdENvbnRleHQgPSBlbGVtZW50Q29udGV4dCA9PT0gJ2Zsb2F0aW5nJyA/ICdyZWZlcmVuY2UnIDogJ2Zsb2F0aW5nJztcclxuICBjb25zdCBlbGVtZW50ID0gZWxlbWVudHNbYWx0Qm91bmRhcnkgPyBhbHRDb250ZXh0IDogZWxlbWVudENvbnRleHRdO1xyXG4gIGNvbnN0IGNsaXBwaW5nQ2xpZW50UmVjdCA9IHJlY3RUb0NsaWVudFJlY3QoYXdhaXQgcGxhdGZvcm0uZ2V0Q2xpcHBpbmdSZWN0KHtcclxuICAgIGVsZW1lbnQ6ICgoX2F3YWl0JHBsYXRmb3JtJGlzRWxlID0gYXdhaXQgKHBsYXRmb3JtLmlzRWxlbWVudCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uaXNFbGVtZW50KGVsZW1lbnQpKSkgIT0gbnVsbCA/IF9hd2FpdCRwbGF0Zm9ybSRpc0VsZSA6IHRydWUpID8gZWxlbWVudCA6IGVsZW1lbnQuY29udGV4dEVsZW1lbnQgfHwgKGF3YWl0IChwbGF0Zm9ybS5nZXREb2N1bWVudEVsZW1lbnQgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmdldERvY3VtZW50RWxlbWVudChlbGVtZW50cy5mbG9hdGluZykpKSxcclxuICAgIGJvdW5kYXJ5LFxyXG4gICAgcm9vdEJvdW5kYXJ5LFxyXG4gICAgc3RyYXRlZ3lcclxuICB9KSk7XHJcbiAgY29uc3QgcmVjdCA9IGVsZW1lbnRDb250ZXh0ID09PSAnZmxvYXRpbmcnID8ge1xyXG4gICAgeCxcclxuICAgIHksXHJcbiAgICB3aWR0aDogcmVjdHMuZmxvYXRpbmcud2lkdGgsXHJcbiAgICBoZWlnaHQ6IHJlY3RzLmZsb2F0aW5nLmhlaWdodFxyXG4gIH0gOiByZWN0cy5yZWZlcmVuY2U7XHJcbiAgY29uc3Qgb2Zmc2V0UGFyZW50ID0gYXdhaXQgKHBsYXRmb3JtLmdldE9mZnNldFBhcmVudCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uZ2V0T2Zmc2V0UGFyZW50KGVsZW1lbnRzLmZsb2F0aW5nKSk7XHJcbiAgY29uc3Qgb2Zmc2V0U2NhbGUgPSAoYXdhaXQgKHBsYXRmb3JtLmlzRWxlbWVudCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uaXNFbGVtZW50KG9mZnNldFBhcmVudCkpKSA/IChhd2FpdCAocGxhdGZvcm0uZ2V0U2NhbGUgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmdldFNjYWxlKG9mZnNldFBhcmVudCkpKSB8fCB7XHJcbiAgICB4OiAxLFxyXG4gICAgeTogMVxyXG4gIH0gOiB7XHJcbiAgICB4OiAxLFxyXG4gICAgeTogMVxyXG4gIH07XHJcbiAgY29uc3QgZWxlbWVudENsaWVudFJlY3QgPSByZWN0VG9DbGllbnRSZWN0KHBsYXRmb3JtLmNvbnZlcnRPZmZzZXRQYXJlbnRSZWxhdGl2ZVJlY3RUb1ZpZXdwb3J0UmVsYXRpdmVSZWN0ID8gYXdhaXQgcGxhdGZvcm0uY29udmVydE9mZnNldFBhcmVudFJlbGF0aXZlUmVjdFRvVmlld3BvcnRSZWxhdGl2ZVJlY3Qoe1xyXG4gICAgZWxlbWVudHMsXHJcbiAgICByZWN0LFxyXG4gICAgb2Zmc2V0UGFyZW50LFxyXG4gICAgc3RyYXRlZ3lcclxuICB9KSA6IHJlY3QpO1xyXG4gIHJldHVybiB7XHJcbiAgICB0b3A6IChjbGlwcGluZ0NsaWVudFJlY3QudG9wIC0gZWxlbWVudENsaWVudFJlY3QudG9wICsgcGFkZGluZ09iamVjdC50b3ApIC8gb2Zmc2V0U2NhbGUueSxcclxuICAgIGJvdHRvbTogKGVsZW1lbnRDbGllbnRSZWN0LmJvdHRvbSAtIGNsaXBwaW5nQ2xpZW50UmVjdC5ib3R0b20gKyBwYWRkaW5nT2JqZWN0LmJvdHRvbSkgLyBvZmZzZXRTY2FsZS55LFxyXG4gICAgbGVmdDogKGNsaXBwaW5nQ2xpZW50UmVjdC5sZWZ0IC0gZWxlbWVudENsaWVudFJlY3QubGVmdCArIHBhZGRpbmdPYmplY3QubGVmdCkgLyBvZmZzZXRTY2FsZS54LFxyXG4gICAgcmlnaHQ6IChlbGVtZW50Q2xpZW50UmVjdC5yaWdodCAtIGNsaXBwaW5nQ2xpZW50UmVjdC5yaWdodCArIHBhZGRpbmdPYmplY3QucmlnaHQpIC8gb2Zmc2V0U2NhbGUueFxyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQcm92aWRlcyBkYXRhIHRvIHBvc2l0aW9uIGFuIGlubmVyIGVsZW1lbnQgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgc28gdGhhdCBpdFxyXG4gKiBhcHBlYXJzIGNlbnRlcmVkIHRvIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cclxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2Fycm93XHJcbiAqL1xyXG5jb25zdCBhcnJvdyA9IG9wdGlvbnMgPT4gKHtcclxuICBuYW1lOiAnYXJyb3cnLFxyXG4gIG9wdGlvbnMsXHJcbiAgYXN5bmMgZm4oc3RhdGUpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgeCxcclxuICAgICAgeSxcclxuICAgICAgcGxhY2VtZW50LFxyXG4gICAgICByZWN0cyxcclxuICAgICAgcGxhdGZvcm0sXHJcbiAgICAgIGVsZW1lbnRzLFxyXG4gICAgICBtaWRkbGV3YXJlRGF0YVxyXG4gICAgfSA9IHN0YXRlO1xyXG4gICAgLy8gU2luY2UgYGVsZW1lbnRgIGlzIHJlcXVpcmVkLCB3ZSBkb24ndCBQYXJ0aWFsPD4gdGhlIHR5cGUuXHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGVsZW1lbnQsXHJcbiAgICAgIHBhZGRpbmcgPSAwXHJcbiAgICB9ID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpIHx8IHt9O1xyXG4gICAgaWYgKGVsZW1lbnQgPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4ge307XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYWRkaW5nT2JqZWN0ID0gZ2V0UGFkZGluZ09iamVjdChwYWRkaW5nKTtcclxuICAgIGNvbnN0IGNvb3JkcyA9IHtcclxuICAgICAgeCxcclxuICAgICAgeVxyXG4gICAgfTtcclxuICAgIGNvbnN0IGF4aXMgPSBnZXRBbGlnbm1lbnRBeGlzKHBsYWNlbWVudCk7XHJcbiAgICBjb25zdCBsZW5ndGggPSBnZXRBeGlzTGVuZ3RoKGF4aXMpO1xyXG4gICAgY29uc3QgYXJyb3dEaW1lbnNpb25zID0gYXdhaXQgcGxhdGZvcm0uZ2V0RGltZW5zaW9ucyhlbGVtZW50KTtcclxuICAgIGNvbnN0IGlzWUF4aXMgPSBheGlzID09PSAneSc7XHJcbiAgICBjb25zdCBtaW5Qcm9wID0gaXNZQXhpcyA/ICd0b3AnIDogJ2xlZnQnO1xyXG4gICAgY29uc3QgbWF4UHJvcCA9IGlzWUF4aXMgPyAnYm90dG9tJyA6ICdyaWdodCc7XHJcbiAgICBjb25zdCBjbGllbnRQcm9wID0gaXNZQXhpcyA/ICdjbGllbnRIZWlnaHQnIDogJ2NsaWVudFdpZHRoJztcclxuICAgIGNvbnN0IGVuZERpZmYgPSByZWN0cy5yZWZlcmVuY2VbbGVuZ3RoXSArIHJlY3RzLnJlZmVyZW5jZVtheGlzXSAtIGNvb3Jkc1theGlzXSAtIHJlY3RzLmZsb2F0aW5nW2xlbmd0aF07XHJcbiAgICBjb25zdCBzdGFydERpZmYgPSBjb29yZHNbYXhpc10gLSByZWN0cy5yZWZlcmVuY2VbYXhpc107XHJcbiAgICBjb25zdCBhcnJvd09mZnNldFBhcmVudCA9IGF3YWl0IChwbGF0Zm9ybS5nZXRPZmZzZXRQYXJlbnQgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmdldE9mZnNldFBhcmVudChlbGVtZW50KSk7XHJcbiAgICBsZXQgY2xpZW50U2l6ZSA9IGFycm93T2Zmc2V0UGFyZW50ID8gYXJyb3dPZmZzZXRQYXJlbnRbY2xpZW50UHJvcF0gOiAwO1xyXG5cclxuICAgIC8vIERPTSBwbGF0Zm9ybSBjYW4gcmV0dXJuIGB3aW5kb3dgIGFzIHRoZSBgb2Zmc2V0UGFyZW50YC5cclxuICAgIGlmICghY2xpZW50U2l6ZSB8fCAhKGF3YWl0IChwbGF0Zm9ybS5pc0VsZW1lbnQgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmlzRWxlbWVudChhcnJvd09mZnNldFBhcmVudCkpKSkge1xyXG4gICAgICBjbGllbnRTaXplID0gZWxlbWVudHMuZmxvYXRpbmdbY2xpZW50UHJvcF0gfHwgcmVjdHMuZmxvYXRpbmdbbGVuZ3RoXTtcclxuICAgIH1cclxuICAgIGNvbnN0IGNlbnRlclRvUmVmZXJlbmNlID0gZW5kRGlmZiAvIDIgLSBzdGFydERpZmYgLyAyO1xyXG5cclxuICAgIC8vIElmIHRoZSBwYWRkaW5nIGlzIGxhcmdlIGVub3VnaCB0aGF0IGl0IGNhdXNlcyB0aGUgYXJyb3cgdG8gbm8gbG9uZ2VyIGJlXHJcbiAgICAvLyBjZW50ZXJlZCwgbW9kaWZ5IHRoZSBwYWRkaW5nIHNvIHRoYXQgaXQgaXMgY2VudGVyZWQuXHJcbiAgICBjb25zdCBsYXJnZXN0UG9zc2libGVQYWRkaW5nID0gY2xpZW50U2l6ZSAvIDIgLSBhcnJvd0RpbWVuc2lvbnNbbGVuZ3RoXSAvIDIgLSAxO1xyXG4gICAgY29uc3QgbWluUGFkZGluZyA9IG1pbihwYWRkaW5nT2JqZWN0W21pblByb3BdLCBsYXJnZXN0UG9zc2libGVQYWRkaW5nKTtcclxuICAgIGNvbnN0IG1heFBhZGRpbmcgPSBtaW4ocGFkZGluZ09iamVjdFttYXhQcm9wXSwgbGFyZ2VzdFBvc3NpYmxlUGFkZGluZyk7XHJcblxyXG4gICAgLy8gTWFrZSBzdXJlIHRoZSBhcnJvdyBkb2Vzbid0IG92ZXJmbG93IHRoZSBmbG9hdGluZyBlbGVtZW50IGlmIHRoZSBjZW50ZXJcclxuICAgIC8vIHBvaW50IGlzIG91dHNpZGUgdGhlIGZsb2F0aW5nIGVsZW1lbnQncyBib3VuZHMuXHJcbiAgICBjb25zdCBtaW4kMSA9IG1pblBhZGRpbmc7XHJcbiAgICBjb25zdCBtYXggPSBjbGllbnRTaXplIC0gYXJyb3dEaW1lbnNpb25zW2xlbmd0aF0gLSBtYXhQYWRkaW5nO1xyXG4gICAgY29uc3QgY2VudGVyID0gY2xpZW50U2l6ZSAvIDIgLSBhcnJvd0RpbWVuc2lvbnNbbGVuZ3RoXSAvIDIgKyBjZW50ZXJUb1JlZmVyZW5jZTtcclxuICAgIGNvbnN0IG9mZnNldCA9IGNsYW1wKG1pbiQxLCBjZW50ZXIsIG1heCk7XHJcblxyXG4gICAgLy8gSWYgdGhlIHJlZmVyZW5jZSBpcyBzbWFsbCBlbm91Z2ggdGhhdCB0aGUgYXJyb3cncyBwYWRkaW5nIGNhdXNlcyBpdCB0b1xyXG4gICAgLy8gdG8gcG9pbnQgdG8gbm90aGluZyBmb3IgYW4gYWxpZ25lZCBwbGFjZW1lbnQsIGFkanVzdCB0aGUgb2Zmc2V0IG9mIHRoZVxyXG4gICAgLy8gZmxvYXRpbmcgZWxlbWVudCBpdHNlbGYuIFRvIGVuc3VyZSBgc2hpZnQoKWAgY29udGludWVzIHRvIHRha2UgYWN0aW9uLFxyXG4gICAgLy8gYSBzaW5nbGUgcmVzZXQgaXMgcGVyZm9ybWVkIHdoZW4gdGhpcyBpcyB0cnVlLlxyXG4gICAgY29uc3Qgc2hvdWxkQWRkT2Zmc2V0ID0gIW1pZGRsZXdhcmVEYXRhLmFycm93ICYmIGdldEFsaWdubWVudChwbGFjZW1lbnQpICE9IG51bGwgJiYgY2VudGVyICE9PSBvZmZzZXQgJiYgcmVjdHMucmVmZXJlbmNlW2xlbmd0aF0gLyAyIC0gKGNlbnRlciA8IG1pbiQxID8gbWluUGFkZGluZyA6IG1heFBhZGRpbmcpIC0gYXJyb3dEaW1lbnNpb25zW2xlbmd0aF0gLyAyIDwgMDtcclxuICAgIGNvbnN0IGFsaWdubWVudE9mZnNldCA9IHNob3VsZEFkZE9mZnNldCA/IGNlbnRlciA8IG1pbiQxID8gY2VudGVyIC0gbWluJDEgOiBjZW50ZXIgLSBtYXggOiAwO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgW2F4aXNdOiBjb29yZHNbYXhpc10gKyBhbGlnbm1lbnRPZmZzZXQsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBbYXhpc106IG9mZnNldCxcclxuICAgICAgICBjZW50ZXJPZmZzZXQ6IGNlbnRlciAtIG9mZnNldCAtIGFsaWdubWVudE9mZnNldCxcclxuICAgICAgICAuLi4oc2hvdWxkQWRkT2Zmc2V0ICYmIHtcclxuICAgICAgICAgIGFsaWdubWVudE9mZnNldFxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0sXHJcbiAgICAgIHJlc2V0OiBzaG91bGRBZGRPZmZzZXRcclxuICAgIH07XHJcbiAgfVxyXG59KTtcclxuXHJcbmZ1bmN0aW9uIGdldFBsYWNlbWVudExpc3QoYWxpZ25tZW50LCBhdXRvQWxpZ25tZW50LCBhbGxvd2VkUGxhY2VtZW50cykge1xyXG4gIGNvbnN0IGFsbG93ZWRQbGFjZW1lbnRzU29ydGVkQnlBbGlnbm1lbnQgPSBhbGlnbm1lbnQgPyBbLi4uYWxsb3dlZFBsYWNlbWVudHMuZmlsdGVyKHBsYWNlbWVudCA9PiBnZXRBbGlnbm1lbnQocGxhY2VtZW50KSA9PT0gYWxpZ25tZW50KSwgLi4uYWxsb3dlZFBsYWNlbWVudHMuZmlsdGVyKHBsYWNlbWVudCA9PiBnZXRBbGlnbm1lbnQocGxhY2VtZW50KSAhPT0gYWxpZ25tZW50KV0gOiBhbGxvd2VkUGxhY2VtZW50cy5maWx0ZXIocGxhY2VtZW50ID0+IGdldFNpZGUocGxhY2VtZW50KSA9PT0gcGxhY2VtZW50KTtcclxuICByZXR1cm4gYWxsb3dlZFBsYWNlbWVudHNTb3J0ZWRCeUFsaWdubWVudC5maWx0ZXIocGxhY2VtZW50ID0+IHtcclxuICAgIGlmIChhbGlnbm1lbnQpIHtcclxuICAgICAgcmV0dXJuIGdldEFsaWdubWVudChwbGFjZW1lbnQpID09PSBhbGlnbm1lbnQgfHwgKGF1dG9BbGlnbm1lbnQgPyBnZXRPcHBvc2l0ZUFsaWdubWVudFBsYWNlbWVudChwbGFjZW1lbnQpICE9PSBwbGFjZW1lbnQgOiBmYWxzZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9KTtcclxufVxyXG4vKipcclxuICogT3B0aW1pemVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IGJ5IGNob29zaW5nIHRoZSBwbGFjZW1lbnRcclxuICogdGhhdCBoYXMgdGhlIG1vc3Qgc3BhY2UgYXZhaWxhYmxlIGF1dG9tYXRpY2FsbHksIHdpdGhvdXQgbmVlZGluZyB0byBzcGVjaWZ5IGFcclxuICogcHJlZmVycmVkIHBsYWNlbWVudC4gQWx0ZXJuYXRpdmUgdG8gYGZsaXBgLlxyXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXV0b1BsYWNlbWVudFxyXG4gKi9cclxuY29uc3QgYXV0b1BsYWNlbWVudCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XHJcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xyXG4gICAgb3B0aW9ucyA9IHt9O1xyXG4gIH1cclxuICByZXR1cm4ge1xyXG4gICAgbmFtZTogJ2F1dG9QbGFjZW1lbnQnLFxyXG4gICAgb3B0aW9ucyxcclxuICAgIGFzeW5jIGZuKHN0YXRlKSB7XHJcbiAgICAgIHZhciBfbWlkZGxld2FyZURhdGEkYXV0b1AsIF9taWRkbGV3YXJlRGF0YSRhdXRvUDIsIF9wbGFjZW1lbnRzVGhhdEZpdE9uRTtcclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIHJlY3RzLFxyXG4gICAgICAgIG1pZGRsZXdhcmVEYXRhLFxyXG4gICAgICAgIHBsYWNlbWVudCxcclxuICAgICAgICBwbGF0Zm9ybSxcclxuICAgICAgICBlbGVtZW50c1xyXG4gICAgICB9ID0gc3RhdGU7XHJcbiAgICAgIGNvbnN0IHtcclxuICAgICAgICBjcm9zc0F4aXMgPSBmYWxzZSxcclxuICAgICAgICBhbGlnbm1lbnQsXHJcbiAgICAgICAgYWxsb3dlZFBsYWNlbWVudHMgPSBwbGFjZW1lbnRzLFxyXG4gICAgICAgIGF1dG9BbGlnbm1lbnQgPSB0cnVlLFxyXG4gICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9uc1xyXG4gICAgICB9ID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpO1xyXG4gICAgICBjb25zdCBwbGFjZW1lbnRzJDEgPSBhbGlnbm1lbnQgIT09IHVuZGVmaW5lZCB8fCBhbGxvd2VkUGxhY2VtZW50cyA9PT0gcGxhY2VtZW50cyA/IGdldFBsYWNlbWVudExpc3QoYWxpZ25tZW50IHx8IG51bGwsIGF1dG9BbGlnbm1lbnQsIGFsbG93ZWRQbGFjZW1lbnRzKSA6IGFsbG93ZWRQbGFjZW1lbnRzO1xyXG4gICAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IGRldGVjdE92ZXJmbG93KHN0YXRlLCBkZXRlY3RPdmVyZmxvd09wdGlvbnMpO1xyXG4gICAgICBjb25zdCBjdXJyZW50SW5kZXggPSAoKF9taWRkbGV3YXJlRGF0YSRhdXRvUCA9IG1pZGRsZXdhcmVEYXRhLmF1dG9QbGFjZW1lbnQpID09IG51bGwgPyB2b2lkIDAgOiBfbWlkZGxld2FyZURhdGEkYXV0b1AuaW5kZXgpIHx8IDA7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRQbGFjZW1lbnQgPSBwbGFjZW1lbnRzJDFbY3VycmVudEluZGV4XTtcclxuICAgICAgaWYgKGN1cnJlbnRQbGFjZW1lbnQgPT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiB7fTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBhbGlnbm1lbnRTaWRlcyA9IGdldEFsaWdubWVudFNpZGVzKGN1cnJlbnRQbGFjZW1lbnQsIHJlY3RzLCBhd2FpdCAocGxhdGZvcm0uaXNSVEwgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmlzUlRMKGVsZW1lbnRzLmZsb2F0aW5nKSkpO1xyXG5cclxuICAgICAgLy8gTWFrZSBgY29tcHV0ZUNvb3Jkc2Agc3RhcnQgZnJvbSB0aGUgcmlnaHQgcGxhY2UuXHJcbiAgICAgIGlmIChwbGFjZW1lbnQgIT09IGN1cnJlbnRQbGFjZW1lbnQpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgcmVzZXQ6IHtcclxuICAgICAgICAgICAgcGxhY2VtZW50OiBwbGFjZW1lbnRzJDFbMF1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRPdmVyZmxvd3MgPSBbb3ZlcmZsb3dbZ2V0U2lkZShjdXJyZW50UGxhY2VtZW50KV0sIG92ZXJmbG93W2FsaWdubWVudFNpZGVzWzBdXSwgb3ZlcmZsb3dbYWxpZ25tZW50U2lkZXNbMV1dXTtcclxuICAgICAgY29uc3QgYWxsT3ZlcmZsb3dzID0gWy4uLigoKF9taWRkbGV3YXJlRGF0YSRhdXRvUDIgPSBtaWRkbGV3YXJlRGF0YS5hdXRvUGxhY2VtZW50KSA9PSBudWxsID8gdm9pZCAwIDogX21pZGRsZXdhcmVEYXRhJGF1dG9QMi5vdmVyZmxvd3MpIHx8IFtdKSwge1xyXG4gICAgICAgIHBsYWNlbWVudDogY3VycmVudFBsYWNlbWVudCxcclxuICAgICAgICBvdmVyZmxvd3M6IGN1cnJlbnRPdmVyZmxvd3NcclxuICAgICAgfV07XHJcbiAgICAgIGNvbnN0IG5leHRQbGFjZW1lbnQgPSBwbGFjZW1lbnRzJDFbY3VycmVudEluZGV4ICsgMV07XHJcblxyXG4gICAgICAvLyBUaGVyZSBhcmUgbW9yZSBwbGFjZW1lbnRzIHRvIGNoZWNrLlxyXG4gICAgICBpZiAobmV4dFBsYWNlbWVudCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGluZGV4OiBjdXJyZW50SW5kZXggKyAxLFxyXG4gICAgICAgICAgICBvdmVyZmxvd3M6IGFsbE92ZXJmbG93c1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHJlc2V0OiB7XHJcbiAgICAgICAgICAgIHBsYWNlbWVudDogbmV4dFBsYWNlbWVudFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcGxhY2VtZW50c1NvcnRlZEJ5TW9zdFNwYWNlID0gYWxsT3ZlcmZsb3dzLm1hcChkID0+IHtcclxuICAgICAgICBjb25zdCBhbGlnbm1lbnQgPSBnZXRBbGlnbm1lbnQoZC5wbGFjZW1lbnQpO1xyXG4gICAgICAgIHJldHVybiBbZC5wbGFjZW1lbnQsIGFsaWdubWVudCAmJiBjcm9zc0F4aXMgP1xyXG4gICAgICAgIC8vIENoZWNrIGFsb25nIHRoZSBtYWluQXhpcyBhbmQgbWFpbiBjcm9zc0F4aXMgc2lkZS5cclxuICAgICAgICBkLm92ZXJmbG93cy5zbGljZSgwLCAyKS5yZWR1Y2UoKGFjYywgdikgPT4gYWNjICsgdiwgMCkgOlxyXG4gICAgICAgIC8vIENoZWNrIG9ubHkgdGhlIG1haW5BeGlzLlxyXG4gICAgICAgIGQub3ZlcmZsb3dzWzBdLCBkLm92ZXJmbG93c107XHJcbiAgICAgIH0pLnNvcnQoKGEsIGIpID0+IGFbMV0gLSBiWzFdKTtcclxuICAgICAgY29uc3QgcGxhY2VtZW50c1RoYXRGaXRPbkVhY2hTaWRlID0gcGxhY2VtZW50c1NvcnRlZEJ5TW9zdFNwYWNlLmZpbHRlcihkID0+IGRbMl0uc2xpY2UoMCxcclxuICAgICAgLy8gQWxpZ25lZCBwbGFjZW1lbnRzIHNob3VsZCBub3QgY2hlY2sgdGhlaXIgb3Bwb3NpdGUgY3Jvc3NBeGlzXHJcbiAgICAgIC8vIHNpZGUuXHJcbiAgICAgIGdldEFsaWdubWVudChkWzBdKSA/IDIgOiAzKS5ldmVyeSh2ID0+IHYgPD0gMCkpO1xyXG4gICAgICBjb25zdCByZXNldFBsYWNlbWVudCA9ICgoX3BsYWNlbWVudHNUaGF0Rml0T25FID0gcGxhY2VtZW50c1RoYXRGaXRPbkVhY2hTaWRlWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX3BsYWNlbWVudHNUaGF0Rml0T25FWzBdKSB8fCBwbGFjZW1lbnRzU29ydGVkQnlNb3N0U3BhY2VbMF1bMF07XHJcbiAgICAgIGlmIChyZXNldFBsYWNlbWVudCAhPT0gcGxhY2VtZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgaW5kZXg6IGN1cnJlbnRJbmRleCArIDEsXHJcbiAgICAgICAgICAgIG92ZXJmbG93czogYWxsT3ZlcmZsb3dzXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgcmVzZXQ6IHtcclxuICAgICAgICAgICAgcGxhY2VtZW50OiByZXNldFBsYWNlbWVudFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gIH07XHJcbn07XHJcblxyXG4vKipcclxuICogT3B0aW1pemVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IGJ5IGZsaXBwaW5nIHRoZSBgcGxhY2VtZW50YFxyXG4gKiBpbiBvcmRlciB0byBrZWVwIGl0IGluIHZpZXcgd2hlbiB0aGUgcHJlZmVycmVkIHBsYWNlbWVudChzKSB3aWxsIG92ZXJmbG93IHRoZVxyXG4gKiBjbGlwcGluZyBib3VuZGFyeS4gQWx0ZXJuYXRpdmUgdG8gYGF1dG9QbGFjZW1lbnRgLlxyXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvZmxpcFxyXG4gKi9cclxuY29uc3QgZmxpcCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XHJcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xyXG4gICAgb3B0aW9ucyA9IHt9O1xyXG4gIH1cclxuICByZXR1cm4ge1xyXG4gICAgbmFtZTogJ2ZsaXAnLFxyXG4gICAgb3B0aW9ucyxcclxuICAgIGFzeW5jIGZuKHN0YXRlKSB7XHJcbiAgICAgIHZhciBfbWlkZGxld2FyZURhdGEkYXJyb3csIF9taWRkbGV3YXJlRGF0YSRmbGlwO1xyXG4gICAgICBjb25zdCB7XHJcbiAgICAgICAgcGxhY2VtZW50LFxyXG4gICAgICAgIG1pZGRsZXdhcmVEYXRhLFxyXG4gICAgICAgIHJlY3RzLFxyXG4gICAgICAgIGluaXRpYWxQbGFjZW1lbnQsXHJcbiAgICAgICAgcGxhdGZvcm0sXHJcbiAgICAgICAgZWxlbWVudHNcclxuICAgICAgfSA9IHN0YXRlO1xyXG4gICAgICBjb25zdCB7XHJcbiAgICAgICAgbWFpbkF4aXM6IGNoZWNrTWFpbkF4aXMgPSB0cnVlLFxyXG4gICAgICAgIGNyb3NzQXhpczogY2hlY2tDcm9zc0F4aXMgPSB0cnVlLFxyXG4gICAgICAgIGZhbGxiYWNrUGxhY2VtZW50czogc3BlY2lmaWVkRmFsbGJhY2tQbGFjZW1lbnRzLFxyXG4gICAgICAgIGZhbGxiYWNrU3RyYXRlZ3kgPSAnYmVzdEZpdCcsXHJcbiAgICAgICAgZmFsbGJhY2tBeGlzU2lkZURpcmVjdGlvbiA9ICdub25lJyxcclxuICAgICAgICBmbGlwQWxpZ25tZW50ID0gdHJ1ZSxcclxuICAgICAgICAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnNcclxuICAgICAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcclxuXHJcbiAgICAgIC8vIElmIGEgcmVzZXQgYnkgdGhlIGFycm93IHdhcyBjYXVzZWQgZHVlIHRvIGFuIGFsaWdubWVudCBvZmZzZXQgYmVpbmdcclxuICAgICAgLy8gYWRkZWQsIHdlIHNob3VsZCBza2lwIGFueSBsb2dpYyBub3cgc2luY2UgYGZsaXAoKWAgaGFzIGFscmVhZHkgZG9uZSBpdHNcclxuICAgICAgLy8gd29yay5cclxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2Zsb2F0aW5nLXVpL2Zsb2F0aW5nLXVpL2lzc3Vlcy8yNTQ5I2lzc3VlY29tbWVudC0xNzE5NjAxNjQzXHJcbiAgICAgIGlmICgoX21pZGRsZXdhcmVEYXRhJGFycm93ID0gbWlkZGxld2FyZURhdGEuYXJyb3cpICE9IG51bGwgJiYgX21pZGRsZXdhcmVEYXRhJGFycm93LmFsaWdubWVudE9mZnNldCkge1xyXG4gICAgICAgIHJldHVybiB7fTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBzaWRlID0gZ2V0U2lkZShwbGFjZW1lbnQpO1xyXG4gICAgICBjb25zdCBpbml0aWFsU2lkZUF4aXMgPSBnZXRTaWRlQXhpcyhpbml0aWFsUGxhY2VtZW50KTtcclxuICAgICAgY29uc3QgaXNCYXNlUGxhY2VtZW50ID0gZ2V0U2lkZShpbml0aWFsUGxhY2VtZW50KSA9PT0gaW5pdGlhbFBsYWNlbWVudDtcclxuICAgICAgY29uc3QgcnRsID0gYXdhaXQgKHBsYXRmb3JtLmlzUlRMID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5pc1JUTChlbGVtZW50cy5mbG9hdGluZykpO1xyXG4gICAgICBjb25zdCBmYWxsYmFja1BsYWNlbWVudHMgPSBzcGVjaWZpZWRGYWxsYmFja1BsYWNlbWVudHMgfHwgKGlzQmFzZVBsYWNlbWVudCB8fCAhZmxpcEFsaWdubWVudCA/IFtnZXRPcHBvc2l0ZVBsYWNlbWVudChpbml0aWFsUGxhY2VtZW50KV0gOiBnZXRFeHBhbmRlZFBsYWNlbWVudHMoaW5pdGlhbFBsYWNlbWVudCkpO1xyXG4gICAgICBjb25zdCBoYXNGYWxsYmFja0F4aXNTaWRlRGlyZWN0aW9uID0gZmFsbGJhY2tBeGlzU2lkZURpcmVjdGlvbiAhPT0gJ25vbmUnO1xyXG4gICAgICBpZiAoIXNwZWNpZmllZEZhbGxiYWNrUGxhY2VtZW50cyAmJiBoYXNGYWxsYmFja0F4aXNTaWRlRGlyZWN0aW9uKSB7XHJcbiAgICAgICAgZmFsbGJhY2tQbGFjZW1lbnRzLnB1c2goLi4uZ2V0T3Bwb3NpdGVBeGlzUGxhY2VtZW50cyhpbml0aWFsUGxhY2VtZW50LCBmbGlwQWxpZ25tZW50LCBmYWxsYmFja0F4aXNTaWRlRGlyZWN0aW9uLCBydGwpKTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwbGFjZW1lbnRzID0gW2luaXRpYWxQbGFjZW1lbnQsIC4uLmZhbGxiYWNrUGxhY2VtZW50c107XHJcbiAgICAgIGNvbnN0IG92ZXJmbG93ID0gYXdhaXQgZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIGRldGVjdE92ZXJmbG93T3B0aW9ucyk7XHJcbiAgICAgIGNvbnN0IG92ZXJmbG93cyA9IFtdO1xyXG4gICAgICBsZXQgb3ZlcmZsb3dzRGF0YSA9ICgoX21pZGRsZXdhcmVEYXRhJGZsaXAgPSBtaWRkbGV3YXJlRGF0YS5mbGlwKSA9PSBudWxsID8gdm9pZCAwIDogX21pZGRsZXdhcmVEYXRhJGZsaXAub3ZlcmZsb3dzKSB8fCBbXTtcclxuICAgICAgaWYgKGNoZWNrTWFpbkF4aXMpIHtcclxuICAgICAgICBvdmVyZmxvd3MucHVzaChvdmVyZmxvd1tzaWRlXSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNoZWNrQ3Jvc3NBeGlzKSB7XHJcbiAgICAgICAgY29uc3Qgc2lkZXMgPSBnZXRBbGlnbm1lbnRTaWRlcyhwbGFjZW1lbnQsIHJlY3RzLCBydGwpO1xyXG4gICAgICAgIG92ZXJmbG93cy5wdXNoKG92ZXJmbG93W3NpZGVzWzBdXSwgb3ZlcmZsb3dbc2lkZXNbMV1dKTtcclxuICAgICAgfVxyXG4gICAgICBvdmVyZmxvd3NEYXRhID0gWy4uLm92ZXJmbG93c0RhdGEsIHtcclxuICAgICAgICBwbGFjZW1lbnQsXHJcbiAgICAgICAgb3ZlcmZsb3dzXHJcbiAgICAgIH1dO1xyXG5cclxuICAgICAgLy8gT25lIG9yIG1vcmUgc2lkZXMgaXMgb3ZlcmZsb3dpbmcuXHJcbiAgICAgIGlmICghb3ZlcmZsb3dzLmV2ZXJ5KHNpZGUgPT4gc2lkZSA8PSAwKSkge1xyXG4gICAgICAgIHZhciBfbWlkZGxld2FyZURhdGEkZmxpcDIsIF9vdmVyZmxvd3NEYXRhJGZpbHRlcjtcclxuICAgICAgICBjb25zdCBuZXh0SW5kZXggPSAoKChfbWlkZGxld2FyZURhdGEkZmxpcDIgPSBtaWRkbGV3YXJlRGF0YS5mbGlwKSA9PSBudWxsID8gdm9pZCAwIDogX21pZGRsZXdhcmVEYXRhJGZsaXAyLmluZGV4KSB8fCAwKSArIDE7XHJcbiAgICAgICAgY29uc3QgbmV4dFBsYWNlbWVudCA9IHBsYWNlbWVudHNbbmV4dEluZGV4XTtcclxuICAgICAgICBpZiAobmV4dFBsYWNlbWVudCkge1xyXG4gICAgICAgICAgLy8gVHJ5IG5leHQgcGxhY2VtZW50IGFuZCByZS1ydW4gdGhlIGxpZmVjeWNsZS5cclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICBpbmRleDogbmV4dEluZGV4LFxyXG4gICAgICAgICAgICAgIG92ZXJmbG93czogb3ZlcmZsb3dzRGF0YVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICByZXNldDoge1xyXG4gICAgICAgICAgICAgIHBsYWNlbWVudDogbmV4dFBsYWNlbWVudFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gRmlyc3QsIGZpbmQgdGhlIGNhbmRpZGF0ZXMgdGhhdCBmaXQgb24gdGhlIG1haW5BeGlzIHNpZGUgb2Ygb3ZlcmZsb3csXHJcbiAgICAgICAgLy8gdGhlbiBmaW5kIHRoZSBwbGFjZW1lbnQgdGhhdCBmaXRzIHRoZSBiZXN0IG9uIHRoZSBtYWluIGNyb3NzQXhpcyBzaWRlLlxyXG4gICAgICAgIGxldCByZXNldFBsYWNlbWVudCA9IChfb3ZlcmZsb3dzRGF0YSRmaWx0ZXIgPSBvdmVyZmxvd3NEYXRhLmZpbHRlcihkID0+IGQub3ZlcmZsb3dzWzBdIDw9IDApLnNvcnQoKGEsIGIpID0+IGEub3ZlcmZsb3dzWzFdIC0gYi5vdmVyZmxvd3NbMV0pWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX292ZXJmbG93c0RhdGEkZmlsdGVyLnBsYWNlbWVudDtcclxuXHJcbiAgICAgICAgLy8gT3RoZXJ3aXNlIGZhbGxiYWNrLlxyXG4gICAgICAgIGlmICghcmVzZXRQbGFjZW1lbnQpIHtcclxuICAgICAgICAgIHN3aXRjaCAoZmFsbGJhY2tTdHJhdGVneSkge1xyXG4gICAgICAgICAgICBjYXNlICdiZXN0Rml0JzpcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YXIgX292ZXJmbG93c0RhdGEkZmlsdGVyMjtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBsYWNlbWVudCA9IChfb3ZlcmZsb3dzRGF0YSRmaWx0ZXIyID0gb3ZlcmZsb3dzRGF0YS5maWx0ZXIoZCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChoYXNGYWxsYmFja0F4aXNTaWRlRGlyZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFNpZGVBeGlzID0gZ2V0U2lkZUF4aXMoZC5wbGFjZW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50U2lkZUF4aXMgPT09IGluaXRpYWxTaWRlQXhpcyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBhIGJpYXMgdG8gdGhlIGB5YCBzaWRlIGF4aXMgZHVlIHRvIGhvcml6b250YWxcclxuICAgICAgICAgICAgICAgICAgICAvLyByZWFkaW5nIGRpcmVjdGlvbnMgZmF2b3JpbmcgZ3JlYXRlciB3aWR0aC5cclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50U2lkZUF4aXMgPT09ICd5JztcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH0pLm1hcChkID0+IFtkLnBsYWNlbWVudCwgZC5vdmVyZmxvd3MuZmlsdGVyKG92ZXJmbG93ID0+IG92ZXJmbG93ID4gMCkucmVkdWNlKChhY2MsIG92ZXJmbG93KSA9PiBhY2MgKyBvdmVyZmxvdywgMCldKS5zb3J0KChhLCBiKSA9PiBhWzFdIC0gYlsxXSlbMF0pID09IG51bGwgPyB2b2lkIDAgOiBfb3ZlcmZsb3dzRGF0YSRmaWx0ZXIyWzBdO1xyXG4gICAgICAgICAgICAgICAgaWYgKHBsYWNlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICByZXNldFBsYWNlbWVudCA9IHBsYWNlbWVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAnaW5pdGlhbFBsYWNlbWVudCc6XHJcbiAgICAgICAgICAgICAgcmVzZXRQbGFjZW1lbnQgPSBpbml0aWFsUGxhY2VtZW50O1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocGxhY2VtZW50ICE9PSByZXNldFBsYWNlbWVudCkge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgcmVzZXQ6IHtcclxuICAgICAgICAgICAgICBwbGFjZW1lbnQ6IHJlc2V0UGxhY2VtZW50XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7fTtcclxuICAgIH1cclxuICB9O1xyXG59O1xyXG5cclxuZnVuY3Rpb24gZ2V0U2lkZU9mZnNldHMob3ZlcmZsb3csIHJlY3QpIHtcclxuICByZXR1cm4ge1xyXG4gICAgdG9wOiBvdmVyZmxvdy50b3AgLSByZWN0LmhlaWdodCxcclxuICAgIHJpZ2h0OiBvdmVyZmxvdy5yaWdodCAtIHJlY3Qud2lkdGgsXHJcbiAgICBib3R0b206IG92ZXJmbG93LmJvdHRvbSAtIHJlY3QuaGVpZ2h0LFxyXG4gICAgbGVmdDogb3ZlcmZsb3cubGVmdCAtIHJlY3Qud2lkdGhcclxuICB9O1xyXG59XHJcbmZ1bmN0aW9uIGlzQW55U2lkZUZ1bGx5Q2xpcHBlZChvdmVyZmxvdykge1xyXG4gIHJldHVybiBzaWRlcy5zb21lKHNpZGUgPT4gb3ZlcmZsb3dbc2lkZV0gPj0gMCk7XHJcbn1cclxuLyoqXHJcbiAqIFByb3ZpZGVzIGRhdGEgdG8gaGlkZSB0aGUgZmxvYXRpbmcgZWxlbWVudCBpbiBhcHBsaWNhYmxlIHNpdHVhdGlvbnMsIHN1Y2ggYXNcclxuICogd2hlbiBpdCBpcyBub3QgaW4gdGhlIHNhbWUgY2xpcHBpbmcgY29udGV4dCBhcyB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXHJcbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9oaWRlXHJcbiAqL1xyXG5jb25zdCBoaWRlID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcclxuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XHJcbiAgICBvcHRpb25zID0ge307XHJcbiAgfVxyXG4gIHJldHVybiB7XHJcbiAgICBuYW1lOiAnaGlkZScsXHJcbiAgICBvcHRpb25zLFxyXG4gICAgYXN5bmMgZm4oc3RhdGUpIHtcclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIHJlY3RzXHJcbiAgICAgIH0gPSBzdGF0ZTtcclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIHN0cmF0ZWd5ID0gJ3JlZmVyZW5jZUhpZGRlbicsXHJcbiAgICAgICAgLi4uZGV0ZWN0T3ZlcmZsb3dPcHRpb25zXHJcbiAgICAgIH0gPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSk7XHJcbiAgICAgIHN3aXRjaCAoc3RyYXRlZ3kpIHtcclxuICAgICAgICBjYXNlICdyZWZlcmVuY2VIaWRkZW4nOlxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IGRldGVjdE92ZXJmbG93KHN0YXRlLCB7XHJcbiAgICAgICAgICAgICAgLi4uZGV0ZWN0T3ZlcmZsb3dPcHRpb25zLFxyXG4gICAgICAgICAgICAgIGVsZW1lbnRDb250ZXh0OiAncmVmZXJlbmNlJ1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0cyA9IGdldFNpZGVPZmZzZXRzKG92ZXJmbG93LCByZWN0cy5yZWZlcmVuY2UpO1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZUhpZGRlbk9mZnNldHM6IG9mZnNldHMsXHJcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VIaWRkZW46IGlzQW55U2lkZUZ1bGx5Q2xpcHBlZChvZmZzZXRzKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICBjYXNlICdlc2NhcGVkJzpcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgY29uc3Qgb3ZlcmZsb3cgPSBhd2FpdCBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwge1xyXG4gICAgICAgICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9ucyxcclxuICAgICAgICAgICAgICBhbHRCb3VuZGFyeTogdHJ1ZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0cyA9IGdldFNpZGVPZmZzZXRzKG92ZXJmbG93LCByZWN0cy5mbG9hdGluZyk7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgZXNjYXBlZE9mZnNldHM6IG9mZnNldHMsXHJcbiAgICAgICAgICAgICAgICBlc2NhcGVkOiBpc0FueVNpZGVGdWxseUNsaXBwZWQob2Zmc2V0cylcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxufTtcclxuXHJcbmZ1bmN0aW9uIGdldEJvdW5kaW5nUmVjdChyZWN0cykge1xyXG4gIGNvbnN0IG1pblggPSBtaW4oLi4ucmVjdHMubWFwKHJlY3QgPT4gcmVjdC5sZWZ0KSk7XHJcbiAgY29uc3QgbWluWSA9IG1pbiguLi5yZWN0cy5tYXAocmVjdCA9PiByZWN0LnRvcCkpO1xyXG4gIGNvbnN0IG1heFggPSBtYXgoLi4ucmVjdHMubWFwKHJlY3QgPT4gcmVjdC5yaWdodCkpO1xyXG4gIGNvbnN0IG1heFkgPSBtYXgoLi4ucmVjdHMubWFwKHJlY3QgPT4gcmVjdC5ib3R0b20pKTtcclxuICByZXR1cm4ge1xyXG4gICAgeDogbWluWCxcclxuICAgIHk6IG1pblksXHJcbiAgICB3aWR0aDogbWF4WCAtIG1pblgsXHJcbiAgICBoZWlnaHQ6IG1heFkgLSBtaW5ZXHJcbiAgfTtcclxufVxyXG5mdW5jdGlvbiBnZXRSZWN0c0J5TGluZShyZWN0cykge1xyXG4gIGNvbnN0IHNvcnRlZFJlY3RzID0gcmVjdHMuc2xpY2UoKS5zb3J0KChhLCBiKSA9PiBhLnkgLSBiLnkpO1xyXG4gIGNvbnN0IGdyb3VwcyA9IFtdO1xyXG4gIGxldCBwcmV2UmVjdCA9IG51bGw7XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzb3J0ZWRSZWN0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgY29uc3QgcmVjdCA9IHNvcnRlZFJlY3RzW2ldO1xyXG4gICAgaWYgKCFwcmV2UmVjdCB8fCByZWN0LnkgLSBwcmV2UmVjdC55ID4gcHJldlJlY3QuaGVpZ2h0IC8gMikge1xyXG4gICAgICBncm91cHMucHVzaChbcmVjdF0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZ3JvdXBzW2dyb3Vwcy5sZW5ndGggLSAxXS5wdXNoKHJlY3QpO1xyXG4gICAgfVxyXG4gICAgcHJldlJlY3QgPSByZWN0O1xyXG4gIH1cclxuICByZXR1cm4gZ3JvdXBzLm1hcChyZWN0ID0+IHJlY3RUb0NsaWVudFJlY3QoZ2V0Qm91bmRpbmdSZWN0KHJlY3QpKSk7XHJcbn1cclxuLyoqXHJcbiAqIFByb3ZpZGVzIGltcHJvdmVkIHBvc2l0aW9uaW5nIGZvciBpbmxpbmUgcmVmZXJlbmNlIGVsZW1lbnRzIHRoYXQgY2FuIHNwYW5cclxuICogb3ZlciBtdWx0aXBsZSBsaW5lcywgc3VjaCBhcyBoeXBlcmxpbmtzIG9yIHJhbmdlIHNlbGVjdGlvbnMuXHJcbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9pbmxpbmVcclxuICovXHJcbmNvbnN0IGlubGluZSA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XHJcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xyXG4gICAgb3B0aW9ucyA9IHt9O1xyXG4gIH1cclxuICByZXR1cm4ge1xyXG4gICAgbmFtZTogJ2lubGluZScsXHJcbiAgICBvcHRpb25zLFxyXG4gICAgYXN5bmMgZm4oc3RhdGUpIHtcclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIHBsYWNlbWVudCxcclxuICAgICAgICBlbGVtZW50cyxcclxuICAgICAgICByZWN0cyxcclxuICAgICAgICBwbGF0Zm9ybSxcclxuICAgICAgICBzdHJhdGVneVxyXG4gICAgICB9ID0gc3RhdGU7XHJcbiAgICAgIC8vIEEgTW91c2VFdmVudCdzIGNsaWVudHtYLFl9IGNvb3JkcyBjYW4gYmUgdXAgdG8gMiBwaXhlbHMgb2ZmIGFcclxuICAgICAgLy8gQ2xpZW50UmVjdCdzIGJvdW5kcywgZGVzcGl0ZSB0aGUgZXZlbnQgbGlzdGVuZXIgYmVpbmcgdHJpZ2dlcmVkLiBBXHJcbiAgICAgIC8vIHBhZGRpbmcgb2YgMiBzZWVtcyB0byBoYW5kbGUgdGhpcyBpc3N1ZS5cclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIHBhZGRpbmcgPSAyLFxyXG4gICAgICAgIHgsXHJcbiAgICAgICAgeVxyXG4gICAgICB9ID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpO1xyXG4gICAgICBjb25zdCBuYXRpdmVDbGllbnRSZWN0cyA9IEFycmF5LmZyb20oKGF3YWl0IChwbGF0Zm9ybS5nZXRDbGllbnRSZWN0cyA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uZ2V0Q2xpZW50UmVjdHMoZWxlbWVudHMucmVmZXJlbmNlKSkpIHx8IFtdKTtcclxuICAgICAgY29uc3QgY2xpZW50UmVjdHMgPSBnZXRSZWN0c0J5TGluZShuYXRpdmVDbGllbnRSZWN0cyk7XHJcbiAgICAgIGNvbnN0IGZhbGxiYWNrID0gcmVjdFRvQ2xpZW50UmVjdChnZXRCb3VuZGluZ1JlY3QobmF0aXZlQ2xpZW50UmVjdHMpKTtcclxuICAgICAgY29uc3QgcGFkZGluZ09iamVjdCA9IGdldFBhZGRpbmdPYmplY3QocGFkZGluZyk7XHJcbiAgICAgIGZ1bmN0aW9uIGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIHtcclxuICAgICAgICAvLyBUaGVyZSBhcmUgdHdvIHJlY3RzIGFuZCB0aGV5IGFyZSBkaXNqb2luZWQuXHJcbiAgICAgICAgaWYgKGNsaWVudFJlY3RzLmxlbmd0aCA9PT0gMiAmJiBjbGllbnRSZWN0c1swXS5sZWZ0ID4gY2xpZW50UmVjdHNbMV0ucmlnaHQgJiYgeCAhPSBudWxsICYmIHkgIT0gbnVsbCkge1xyXG4gICAgICAgICAgLy8gRmluZCB0aGUgZmlyc3QgcmVjdCBpbiB3aGljaCB0aGUgcG9pbnQgaXMgZnVsbHkgaW5zaWRlLlxyXG4gICAgICAgICAgcmV0dXJuIGNsaWVudFJlY3RzLmZpbmQocmVjdCA9PiB4ID4gcmVjdC5sZWZ0IC0gcGFkZGluZ09iamVjdC5sZWZ0ICYmIHggPCByZWN0LnJpZ2h0ICsgcGFkZGluZ09iamVjdC5yaWdodCAmJiB5ID4gcmVjdC50b3AgLSBwYWRkaW5nT2JqZWN0LnRvcCAmJiB5IDwgcmVjdC5ib3R0b20gKyBwYWRkaW5nT2JqZWN0LmJvdHRvbSkgfHwgZmFsbGJhY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBUaGVyZSBhcmUgMiBvciBtb3JlIGNvbm5lY3RlZCByZWN0cy5cclxuICAgICAgICBpZiAoY2xpZW50UmVjdHMubGVuZ3RoID49IDIpIHtcclxuICAgICAgICAgIGlmIChnZXRTaWRlQXhpcyhwbGFjZW1lbnQpID09PSAneScpIHtcclxuICAgICAgICAgICAgY29uc3QgZmlyc3RSZWN0ID0gY2xpZW50UmVjdHNbMF07XHJcbiAgICAgICAgICAgIGNvbnN0IGxhc3RSZWN0ID0gY2xpZW50UmVjdHNbY2xpZW50UmVjdHMubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgICAgIGNvbnN0IGlzVG9wID0gZ2V0U2lkZShwbGFjZW1lbnQpID09PSAndG9wJztcclxuICAgICAgICAgICAgY29uc3QgdG9wID0gZmlyc3RSZWN0LnRvcDtcclxuICAgICAgICAgICAgY29uc3QgYm90dG9tID0gbGFzdFJlY3QuYm90dG9tO1xyXG4gICAgICAgICAgICBjb25zdCBsZWZ0ID0gaXNUb3AgPyBmaXJzdFJlY3QubGVmdCA6IGxhc3RSZWN0LmxlZnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IHJpZ2h0ID0gaXNUb3AgPyBmaXJzdFJlY3QucmlnaHQgOiBsYXN0UmVjdC5yaWdodDtcclxuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSByaWdodCAtIGxlZnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IGJvdHRvbSAtIHRvcDtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICB0b3AsXHJcbiAgICAgICAgICAgICAgYm90dG9tLFxyXG4gICAgICAgICAgICAgIGxlZnQsXHJcbiAgICAgICAgICAgICAgcmlnaHQsXHJcbiAgICAgICAgICAgICAgd2lkdGgsXHJcbiAgICAgICAgICAgICAgaGVpZ2h0LFxyXG4gICAgICAgICAgICAgIHg6IGxlZnQsXHJcbiAgICAgICAgICAgICAgeTogdG9wXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb25zdCBpc0xlZnRTaWRlID0gZ2V0U2lkZShwbGFjZW1lbnQpID09PSAnbGVmdCc7XHJcbiAgICAgICAgICBjb25zdCBtYXhSaWdodCA9IG1heCguLi5jbGllbnRSZWN0cy5tYXAocmVjdCA9PiByZWN0LnJpZ2h0KSk7XHJcbiAgICAgICAgICBjb25zdCBtaW5MZWZ0ID0gbWluKC4uLmNsaWVudFJlY3RzLm1hcChyZWN0ID0+IHJlY3QubGVmdCkpO1xyXG4gICAgICAgICAgY29uc3QgbWVhc3VyZVJlY3RzID0gY2xpZW50UmVjdHMuZmlsdGVyKHJlY3QgPT4gaXNMZWZ0U2lkZSA/IHJlY3QubGVmdCA9PT0gbWluTGVmdCA6IHJlY3QucmlnaHQgPT09IG1heFJpZ2h0KTtcclxuICAgICAgICAgIGNvbnN0IHRvcCA9IG1lYXN1cmVSZWN0c1swXS50b3A7XHJcbiAgICAgICAgICBjb25zdCBib3R0b20gPSBtZWFzdXJlUmVjdHNbbWVhc3VyZVJlY3RzLmxlbmd0aCAtIDFdLmJvdHRvbTtcclxuICAgICAgICAgIGNvbnN0IGxlZnQgPSBtaW5MZWZ0O1xyXG4gICAgICAgICAgY29uc3QgcmlnaHQgPSBtYXhSaWdodDtcclxuICAgICAgICAgIGNvbnN0IHdpZHRoID0gcmlnaHQgLSBsZWZ0O1xyXG4gICAgICAgICAgY29uc3QgaGVpZ2h0ID0gYm90dG9tIC0gdG9wO1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdG9wLFxyXG4gICAgICAgICAgICBib3R0b20sXHJcbiAgICAgICAgICAgIGxlZnQsXHJcbiAgICAgICAgICAgIHJpZ2h0LFxyXG4gICAgICAgICAgICB3aWR0aCxcclxuICAgICAgICAgICAgaGVpZ2h0LFxyXG4gICAgICAgICAgICB4OiBsZWZ0LFxyXG4gICAgICAgICAgICB5OiB0b3BcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxsYmFjaztcclxuICAgICAgfVxyXG4gICAgICBjb25zdCByZXNldFJlY3RzID0gYXdhaXQgcGxhdGZvcm0uZ2V0RWxlbWVudFJlY3RzKHtcclxuICAgICAgICByZWZlcmVuY2U6IHtcclxuICAgICAgICAgIGdldEJvdW5kaW5nQ2xpZW50UmVjdFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZmxvYXRpbmc6IGVsZW1lbnRzLmZsb2F0aW5nLFxyXG4gICAgICAgIHN0cmF0ZWd5XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAocmVjdHMucmVmZXJlbmNlLnggIT09IHJlc2V0UmVjdHMucmVmZXJlbmNlLnggfHwgcmVjdHMucmVmZXJlbmNlLnkgIT09IHJlc2V0UmVjdHMucmVmZXJlbmNlLnkgfHwgcmVjdHMucmVmZXJlbmNlLndpZHRoICE9PSByZXNldFJlY3RzLnJlZmVyZW5jZS53aWR0aCB8fCByZWN0cy5yZWZlcmVuY2UuaGVpZ2h0ICE9PSByZXNldFJlY3RzLnJlZmVyZW5jZS5oZWlnaHQpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgcmVzZXQ6IHtcclxuICAgICAgICAgICAgcmVjdHM6IHJlc2V0UmVjdHNcclxuICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7fTtcclxuICAgIH1cclxuICB9O1xyXG59O1xyXG5cclxuLy8gRm9yIHR5cGUgYmFja3dhcmRzLWNvbXBhdGliaWxpdHksIHRoZSBgT2Zmc2V0T3B0aW9uc2AgdHlwZSB3YXMgYWxzb1xyXG4vLyBEZXJpdmFibGUuXHJcblxyXG5hc3luYyBmdW5jdGlvbiBjb252ZXJ0VmFsdWVUb0Nvb3JkcyhzdGF0ZSwgb3B0aW9ucykge1xyXG4gIGNvbnN0IHtcclxuICAgIHBsYWNlbWVudCxcclxuICAgIHBsYXRmb3JtLFxyXG4gICAgZWxlbWVudHNcclxuICB9ID0gc3RhdGU7XHJcbiAgY29uc3QgcnRsID0gYXdhaXQgKHBsYXRmb3JtLmlzUlRMID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5pc1JUTChlbGVtZW50cy5mbG9hdGluZykpO1xyXG4gIGNvbnN0IHNpZGUgPSBnZXRTaWRlKHBsYWNlbWVudCk7XHJcbiAgY29uc3QgYWxpZ25tZW50ID0gZ2V0QWxpZ25tZW50KHBsYWNlbWVudCk7XHJcbiAgY29uc3QgaXNWZXJ0aWNhbCA9IGdldFNpZGVBeGlzKHBsYWNlbWVudCkgPT09ICd5JztcclxuICBjb25zdCBtYWluQXhpc011bHRpID0gWydsZWZ0JywgJ3RvcCddLmluY2x1ZGVzKHNpZGUpID8gLTEgOiAxO1xyXG4gIGNvbnN0IGNyb3NzQXhpc011bHRpID0gcnRsICYmIGlzVmVydGljYWwgPyAtMSA6IDE7XHJcbiAgY29uc3QgcmF3VmFsdWUgPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSk7XHJcblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcclxuICBsZXQge1xyXG4gICAgbWFpbkF4aXMsXHJcbiAgICBjcm9zc0F4aXMsXHJcbiAgICBhbGlnbm1lbnRBeGlzXHJcbiAgfSA9IHR5cGVvZiByYXdWYWx1ZSA9PT0gJ251bWJlcicgPyB7XHJcbiAgICBtYWluQXhpczogcmF3VmFsdWUsXHJcbiAgICBjcm9zc0F4aXM6IDAsXHJcbiAgICBhbGlnbm1lbnRBeGlzOiBudWxsXHJcbiAgfSA6IHtcclxuICAgIG1haW5BeGlzOiByYXdWYWx1ZS5tYWluQXhpcyB8fCAwLFxyXG4gICAgY3Jvc3NBeGlzOiByYXdWYWx1ZS5jcm9zc0F4aXMgfHwgMCxcclxuICAgIGFsaWdubWVudEF4aXM6IHJhd1ZhbHVlLmFsaWdubWVudEF4aXNcclxuICB9O1xyXG4gIGlmIChhbGlnbm1lbnQgJiYgdHlwZW9mIGFsaWdubWVudEF4aXMgPT09ICdudW1iZXInKSB7XHJcbiAgICBjcm9zc0F4aXMgPSBhbGlnbm1lbnQgPT09ICdlbmQnID8gYWxpZ25tZW50QXhpcyAqIC0xIDogYWxpZ25tZW50QXhpcztcclxuICB9XHJcbiAgcmV0dXJuIGlzVmVydGljYWwgPyB7XHJcbiAgICB4OiBjcm9zc0F4aXMgKiBjcm9zc0F4aXNNdWx0aSxcclxuICAgIHk6IG1haW5BeGlzICogbWFpbkF4aXNNdWx0aVxyXG4gIH0gOiB7XHJcbiAgICB4OiBtYWluQXhpcyAqIG1haW5BeGlzTXVsdGksXHJcbiAgICB5OiBjcm9zc0F4aXMgKiBjcm9zc0F4aXNNdWx0aVxyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNb2RpZmllcyB0aGUgcGxhY2VtZW50IGJ5IHRyYW5zbGF0aW5nIHRoZSBmbG9hdGluZyBlbGVtZW50IGFsb25nIHRoZVxyXG4gKiBzcGVjaWZpZWQgYXhlcy5cclxuICogQSBudW1iZXIgKHNob3J0aGFuZCBmb3IgYG1haW5BeGlzYCBvciBkaXN0YW5jZSksIG9yIGFuIGF4ZXMgY29uZmlndXJhdGlvblxyXG4gKiBvYmplY3QgbWF5IGJlIHBhc3NlZC5cclxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL29mZnNldFxyXG4gKi9cclxuY29uc3Qgb2Zmc2V0ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcclxuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XHJcbiAgICBvcHRpb25zID0gMDtcclxuICB9XHJcbiAgcmV0dXJuIHtcclxuICAgIG5hbWU6ICdvZmZzZXQnLFxyXG4gICAgb3B0aW9ucyxcclxuICAgIGFzeW5jIGZuKHN0YXRlKSB7XHJcbiAgICAgIHZhciBfbWlkZGxld2FyZURhdGEkb2Zmc2UsIF9taWRkbGV3YXJlRGF0YSRhcnJvdztcclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIHgsXHJcbiAgICAgICAgeSxcclxuICAgICAgICBwbGFjZW1lbnQsXHJcbiAgICAgICAgbWlkZGxld2FyZURhdGFcclxuICAgICAgfSA9IHN0YXRlO1xyXG4gICAgICBjb25zdCBkaWZmQ29vcmRzID0gYXdhaXQgY29udmVydFZhbHVlVG9Db29yZHMoc3RhdGUsIG9wdGlvbnMpO1xyXG5cclxuICAgICAgLy8gSWYgdGhlIHBsYWNlbWVudCBpcyB0aGUgc2FtZSBhbmQgdGhlIGFycm93IGNhdXNlZCBhbiBhbGlnbm1lbnQgb2Zmc2V0XHJcbiAgICAgIC8vIHRoZW4gd2UgZG9uJ3QgbmVlZCB0byBjaGFuZ2UgdGhlIHBvc2l0aW9uaW5nIGNvb3JkaW5hdGVzLlxyXG4gICAgICBpZiAocGxhY2VtZW50ID09PSAoKF9taWRkbGV3YXJlRGF0YSRvZmZzZSA9IG1pZGRsZXdhcmVEYXRhLm9mZnNldCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9taWRkbGV3YXJlRGF0YSRvZmZzZS5wbGFjZW1lbnQpICYmIChfbWlkZGxld2FyZURhdGEkYXJyb3cgPSBtaWRkbGV3YXJlRGF0YS5hcnJvdykgIT0gbnVsbCAmJiBfbWlkZGxld2FyZURhdGEkYXJyb3cuYWxpZ25tZW50T2Zmc2V0KSB7XHJcbiAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgeDogeCArIGRpZmZDb29yZHMueCxcclxuICAgICAgICB5OiB5ICsgZGlmZkNvb3Jkcy55LFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIC4uLmRpZmZDb29yZHMsXHJcbiAgICAgICAgICBwbGFjZW1lbnRcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgc2hpZnRpbmcgaXQgaW4gb3JkZXIgdG9cclxuICoga2VlcCBpdCBpbiB2aWV3IHdoZW4gaXQgd2lsbCBvdmVyZmxvdyB0aGUgY2xpcHBpbmcgYm91bmRhcnkuXHJcbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9zaGlmdFxyXG4gKi9cclxuY29uc3Qgc2hpZnQgPSBmdW5jdGlvbiAob3B0aW9ucykge1xyXG4gIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcclxuICAgIG9wdGlvbnMgPSB7fTtcclxuICB9XHJcbiAgcmV0dXJuIHtcclxuICAgIG5hbWU6ICdzaGlmdCcsXHJcbiAgICBvcHRpb25zLFxyXG4gICAgYXN5bmMgZm4oc3RhdGUpIHtcclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIHgsXHJcbiAgICAgICAgeSxcclxuICAgICAgICBwbGFjZW1lbnRcclxuICAgICAgfSA9IHN0YXRlO1xyXG4gICAgICBjb25zdCB7XHJcbiAgICAgICAgbWFpbkF4aXM6IGNoZWNrTWFpbkF4aXMgPSB0cnVlLFxyXG4gICAgICAgIGNyb3NzQXhpczogY2hlY2tDcm9zc0F4aXMgPSBmYWxzZSxcclxuICAgICAgICBsaW1pdGVyID0ge1xyXG4gICAgICAgICAgZm46IF9yZWYgPT4ge1xyXG4gICAgICAgICAgICBsZXQge1xyXG4gICAgICAgICAgICAgIHgsXHJcbiAgICAgICAgICAgICAgeVxyXG4gICAgICAgICAgICB9ID0gX3JlZjtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICB4LFxyXG4gICAgICAgICAgICAgIHlcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9uc1xyXG4gICAgICB9ID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpO1xyXG4gICAgICBjb25zdCBjb29yZHMgPSB7XHJcbiAgICAgICAgeCxcclxuICAgICAgICB5XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IG92ZXJmbG93ID0gYXdhaXQgZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIGRldGVjdE92ZXJmbG93T3B0aW9ucyk7XHJcbiAgICAgIGNvbnN0IGNyb3NzQXhpcyA9IGdldFNpZGVBeGlzKGdldFNpZGUocGxhY2VtZW50KSk7XHJcbiAgICAgIGNvbnN0IG1haW5BeGlzID0gZ2V0T3Bwb3NpdGVBeGlzKGNyb3NzQXhpcyk7XHJcbiAgICAgIGxldCBtYWluQXhpc0Nvb3JkID0gY29vcmRzW21haW5BeGlzXTtcclxuICAgICAgbGV0IGNyb3NzQXhpc0Nvb3JkID0gY29vcmRzW2Nyb3NzQXhpc107XHJcbiAgICAgIGlmIChjaGVja01haW5BeGlzKSB7XHJcbiAgICAgICAgY29uc3QgbWluU2lkZSA9IG1haW5BeGlzID09PSAneScgPyAndG9wJyA6ICdsZWZ0JztcclxuICAgICAgICBjb25zdCBtYXhTaWRlID0gbWFpbkF4aXMgPT09ICd5JyA/ICdib3R0b20nIDogJ3JpZ2h0JztcclxuICAgICAgICBjb25zdCBtaW4gPSBtYWluQXhpc0Nvb3JkICsgb3ZlcmZsb3dbbWluU2lkZV07XHJcbiAgICAgICAgY29uc3QgbWF4ID0gbWFpbkF4aXNDb29yZCAtIG92ZXJmbG93W21heFNpZGVdO1xyXG4gICAgICAgIG1haW5BeGlzQ29vcmQgPSBjbGFtcChtaW4sIG1haW5BeGlzQ29vcmQsIG1heCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNoZWNrQ3Jvc3NBeGlzKSB7XHJcbiAgICAgICAgY29uc3QgbWluU2lkZSA9IGNyb3NzQXhpcyA9PT0gJ3knID8gJ3RvcCcgOiAnbGVmdCc7XHJcbiAgICAgICAgY29uc3QgbWF4U2lkZSA9IGNyb3NzQXhpcyA9PT0gJ3knID8gJ2JvdHRvbScgOiAncmlnaHQnO1xyXG4gICAgICAgIGNvbnN0IG1pbiA9IGNyb3NzQXhpc0Nvb3JkICsgb3ZlcmZsb3dbbWluU2lkZV07XHJcbiAgICAgICAgY29uc3QgbWF4ID0gY3Jvc3NBeGlzQ29vcmQgLSBvdmVyZmxvd1ttYXhTaWRlXTtcclxuICAgICAgICBjcm9zc0F4aXNDb29yZCA9IGNsYW1wKG1pbiwgY3Jvc3NBeGlzQ29vcmQsIG1heCk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgbGltaXRlZENvb3JkcyA9IGxpbWl0ZXIuZm4oe1xyXG4gICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgIFttYWluQXhpc106IG1haW5BeGlzQ29vcmQsXHJcbiAgICAgICAgW2Nyb3NzQXhpc106IGNyb3NzQXhpc0Nvb3JkXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLmxpbWl0ZWRDb29yZHMsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgeDogbGltaXRlZENvb3Jkcy54IC0geCxcclxuICAgICAgICAgIHk6IGxpbWl0ZWRDb29yZHMueSAtIHksXHJcbiAgICAgICAgICBlbmFibGVkOiB7XHJcbiAgICAgICAgICAgIFttYWluQXhpc106IGNoZWNrTWFpbkF4aXMsXHJcbiAgICAgICAgICAgIFtjcm9zc0F4aXNdOiBjaGVja0Nyb3NzQXhpc1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgIH1cclxuICB9O1xyXG59O1xyXG4vKipcclxuICogQnVpbHQtaW4gYGxpbWl0ZXJgIHRoYXQgd2lsbCBzdG9wIGBzaGlmdCgpYCBhdCBhIGNlcnRhaW4gcG9pbnQuXHJcbiAqL1xyXG5jb25zdCBsaW1pdFNoaWZ0ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcclxuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XHJcbiAgICBvcHRpb25zID0ge307XHJcbiAgfVxyXG4gIHJldHVybiB7XHJcbiAgICBvcHRpb25zLFxyXG4gICAgZm4oc3RhdGUpIHtcclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIHgsXHJcbiAgICAgICAgeSxcclxuICAgICAgICBwbGFjZW1lbnQsXHJcbiAgICAgICAgcmVjdHMsXHJcbiAgICAgICAgbWlkZGxld2FyZURhdGFcclxuICAgICAgfSA9IHN0YXRlO1xyXG4gICAgICBjb25zdCB7XHJcbiAgICAgICAgb2Zmc2V0ID0gMCxcclxuICAgICAgICBtYWluQXhpczogY2hlY2tNYWluQXhpcyA9IHRydWUsXHJcbiAgICAgICAgY3Jvc3NBeGlzOiBjaGVja0Nyb3NzQXhpcyA9IHRydWVcclxuICAgICAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcclxuICAgICAgY29uc3QgY29vcmRzID0ge1xyXG4gICAgICAgIHgsXHJcbiAgICAgICAgeVxyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBjcm9zc0F4aXMgPSBnZXRTaWRlQXhpcyhwbGFjZW1lbnQpO1xyXG4gICAgICBjb25zdCBtYWluQXhpcyA9IGdldE9wcG9zaXRlQXhpcyhjcm9zc0F4aXMpO1xyXG4gICAgICBsZXQgbWFpbkF4aXNDb29yZCA9IGNvb3Jkc1ttYWluQXhpc107XHJcbiAgICAgIGxldCBjcm9zc0F4aXNDb29yZCA9IGNvb3Jkc1tjcm9zc0F4aXNdO1xyXG4gICAgICBjb25zdCByYXdPZmZzZXQgPSBldmFsdWF0ZShvZmZzZXQsIHN0YXRlKTtcclxuICAgICAgY29uc3QgY29tcHV0ZWRPZmZzZXQgPSB0eXBlb2YgcmF3T2Zmc2V0ID09PSAnbnVtYmVyJyA/IHtcclxuICAgICAgICBtYWluQXhpczogcmF3T2Zmc2V0LFxyXG4gICAgICAgIGNyb3NzQXhpczogMFxyXG4gICAgICB9IDoge1xyXG4gICAgICAgIG1haW5BeGlzOiAwLFxyXG4gICAgICAgIGNyb3NzQXhpczogMCxcclxuICAgICAgICAuLi5yYXdPZmZzZXRcclxuICAgICAgfTtcclxuICAgICAgaWYgKGNoZWNrTWFpbkF4aXMpIHtcclxuICAgICAgICBjb25zdCBsZW4gPSBtYWluQXhpcyA9PT0gJ3knID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xyXG4gICAgICAgIGNvbnN0IGxpbWl0TWluID0gcmVjdHMucmVmZXJlbmNlW21haW5BeGlzXSAtIHJlY3RzLmZsb2F0aW5nW2xlbl0gKyBjb21wdXRlZE9mZnNldC5tYWluQXhpcztcclxuICAgICAgICBjb25zdCBsaW1pdE1heCA9IHJlY3RzLnJlZmVyZW5jZVttYWluQXhpc10gKyByZWN0cy5yZWZlcmVuY2VbbGVuXSAtIGNvbXB1dGVkT2Zmc2V0Lm1haW5BeGlzO1xyXG4gICAgICAgIGlmIChtYWluQXhpc0Nvb3JkIDwgbGltaXRNaW4pIHtcclxuICAgICAgICAgIG1haW5BeGlzQ29vcmQgPSBsaW1pdE1pbjtcclxuICAgICAgICB9IGVsc2UgaWYgKG1haW5BeGlzQ29vcmQgPiBsaW1pdE1heCkge1xyXG4gICAgICAgICAgbWFpbkF4aXNDb29yZCA9IGxpbWl0TWF4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoY2hlY2tDcm9zc0F4aXMpIHtcclxuICAgICAgICB2YXIgX21pZGRsZXdhcmVEYXRhJG9mZnNlLCBfbWlkZGxld2FyZURhdGEkb2Zmc2UyO1xyXG4gICAgICAgIGNvbnN0IGxlbiA9IG1haW5BeGlzID09PSAneScgPyAnd2lkdGgnIDogJ2hlaWdodCc7XHJcbiAgICAgICAgY29uc3QgaXNPcmlnaW5TaWRlID0gWyd0b3AnLCAnbGVmdCddLmluY2x1ZGVzKGdldFNpZGUocGxhY2VtZW50KSk7XHJcbiAgICAgICAgY29uc3QgbGltaXRNaW4gPSByZWN0cy5yZWZlcmVuY2VbY3Jvc3NBeGlzXSAtIHJlY3RzLmZsb2F0aW5nW2xlbl0gKyAoaXNPcmlnaW5TaWRlID8gKChfbWlkZGxld2FyZURhdGEkb2Zmc2UgPSBtaWRkbGV3YXJlRGF0YS5vZmZzZXQpID09IG51bGwgPyB2b2lkIDAgOiBfbWlkZGxld2FyZURhdGEkb2Zmc2VbY3Jvc3NBeGlzXSkgfHwgMCA6IDApICsgKGlzT3JpZ2luU2lkZSA/IDAgOiBjb21wdXRlZE9mZnNldC5jcm9zc0F4aXMpO1xyXG4gICAgICAgIGNvbnN0IGxpbWl0TWF4ID0gcmVjdHMucmVmZXJlbmNlW2Nyb3NzQXhpc10gKyByZWN0cy5yZWZlcmVuY2VbbGVuXSArIChpc09yaWdpblNpZGUgPyAwIDogKChfbWlkZGxld2FyZURhdGEkb2Zmc2UyID0gbWlkZGxld2FyZURhdGEub2Zmc2V0KSA9PSBudWxsID8gdm9pZCAwIDogX21pZGRsZXdhcmVEYXRhJG9mZnNlMltjcm9zc0F4aXNdKSB8fCAwKSAtIChpc09yaWdpblNpZGUgPyBjb21wdXRlZE9mZnNldC5jcm9zc0F4aXMgOiAwKTtcclxuICAgICAgICBpZiAoY3Jvc3NBeGlzQ29vcmQgPCBsaW1pdE1pbikge1xyXG4gICAgICAgICAgY3Jvc3NBeGlzQ29vcmQgPSBsaW1pdE1pbjtcclxuICAgICAgICB9IGVsc2UgaWYgKGNyb3NzQXhpc0Nvb3JkID4gbGltaXRNYXgpIHtcclxuICAgICAgICAgIGNyb3NzQXhpc0Nvb3JkID0gbGltaXRNYXg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW21haW5BeGlzXTogbWFpbkF4aXNDb29yZCxcclxuICAgICAgICBbY3Jvc3NBeGlzXTogY3Jvc3NBeGlzQ29vcmRcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFByb3ZpZGVzIGRhdGEgdGhhdCBhbGxvd3MgeW91IHRvIGNoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCDigJRcclxuICogZm9yIGluc3RhbmNlLCBwcmV2ZW50IGl0IGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNsaXBwaW5nIGJvdW5kYXJ5IG9yIG1hdGNoIHRoZVxyXG4gKiB3aWR0aCBvZiB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXHJcbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9zaXplXHJcbiAqL1xyXG5jb25zdCBzaXplID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcclxuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XHJcbiAgICBvcHRpb25zID0ge307XHJcbiAgfVxyXG4gIHJldHVybiB7XHJcbiAgICBuYW1lOiAnc2l6ZScsXHJcbiAgICBvcHRpb25zLFxyXG4gICAgYXN5bmMgZm4oc3RhdGUpIHtcclxuICAgICAgdmFyIF9zdGF0ZSRtaWRkbGV3YXJlRGF0YSwgX3N0YXRlJG1pZGRsZXdhcmVEYXRhMjtcclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIHBsYWNlbWVudCxcclxuICAgICAgICByZWN0cyxcclxuICAgICAgICBwbGF0Zm9ybSxcclxuICAgICAgICBlbGVtZW50c1xyXG4gICAgICB9ID0gc3RhdGU7XHJcbiAgICAgIGNvbnN0IHtcclxuICAgICAgICBhcHBseSA9ICgpID0+IHt9LFxyXG4gICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9uc1xyXG4gICAgICB9ID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpO1xyXG4gICAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IGRldGVjdE92ZXJmbG93KHN0YXRlLCBkZXRlY3RPdmVyZmxvd09wdGlvbnMpO1xyXG4gICAgICBjb25zdCBzaWRlID0gZ2V0U2lkZShwbGFjZW1lbnQpO1xyXG4gICAgICBjb25zdCBhbGlnbm1lbnQgPSBnZXRBbGlnbm1lbnQocGxhY2VtZW50KTtcclxuICAgICAgY29uc3QgaXNZQXhpcyA9IGdldFNpZGVBeGlzKHBsYWNlbWVudCkgPT09ICd5JztcclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIHdpZHRoLFxyXG4gICAgICAgIGhlaWdodFxyXG4gICAgICB9ID0gcmVjdHMuZmxvYXRpbmc7XHJcbiAgICAgIGxldCBoZWlnaHRTaWRlO1xyXG4gICAgICBsZXQgd2lkdGhTaWRlO1xyXG4gICAgICBpZiAoc2lkZSA9PT0gJ3RvcCcgfHwgc2lkZSA9PT0gJ2JvdHRvbScpIHtcclxuICAgICAgICBoZWlnaHRTaWRlID0gc2lkZTtcclxuICAgICAgICB3aWR0aFNpZGUgPSBhbGlnbm1lbnQgPT09ICgoYXdhaXQgKHBsYXRmb3JtLmlzUlRMID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5pc1JUTChlbGVtZW50cy5mbG9hdGluZykpKSA/ICdzdGFydCcgOiAnZW5kJykgPyAnbGVmdCcgOiAncmlnaHQnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHdpZHRoU2lkZSA9IHNpZGU7XHJcbiAgICAgICAgaGVpZ2h0U2lkZSA9IGFsaWdubWVudCA9PT0gJ2VuZCcgPyAndG9wJyA6ICdib3R0b20nO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG1heGltdW1DbGlwcGluZ0hlaWdodCA9IGhlaWdodCAtIG92ZXJmbG93LnRvcCAtIG92ZXJmbG93LmJvdHRvbTtcclxuICAgICAgY29uc3QgbWF4aW11bUNsaXBwaW5nV2lkdGggPSB3aWR0aCAtIG92ZXJmbG93LmxlZnQgLSBvdmVyZmxvdy5yaWdodDtcclxuICAgICAgY29uc3Qgb3ZlcmZsb3dBdmFpbGFibGVIZWlnaHQgPSBtaW4oaGVpZ2h0IC0gb3ZlcmZsb3dbaGVpZ2h0U2lkZV0sIG1heGltdW1DbGlwcGluZ0hlaWdodCk7XHJcbiAgICAgIGNvbnN0IG92ZXJmbG93QXZhaWxhYmxlV2lkdGggPSBtaW4od2lkdGggLSBvdmVyZmxvd1t3aWR0aFNpZGVdLCBtYXhpbXVtQ2xpcHBpbmdXaWR0aCk7XHJcbiAgICAgIGNvbnN0IG5vU2hpZnQgPSAhc3RhdGUubWlkZGxld2FyZURhdGEuc2hpZnQ7XHJcbiAgICAgIGxldCBhdmFpbGFibGVIZWlnaHQgPSBvdmVyZmxvd0F2YWlsYWJsZUhlaWdodDtcclxuICAgICAgbGV0IGF2YWlsYWJsZVdpZHRoID0gb3ZlcmZsb3dBdmFpbGFibGVXaWR0aDtcclxuICAgICAgaWYgKChfc3RhdGUkbWlkZGxld2FyZURhdGEgPSBzdGF0ZS5taWRkbGV3YXJlRGF0YS5zaGlmdCkgIT0gbnVsbCAmJiBfc3RhdGUkbWlkZGxld2FyZURhdGEuZW5hYmxlZC54KSB7XHJcbiAgICAgICAgYXZhaWxhYmxlV2lkdGggPSBtYXhpbXVtQ2xpcHBpbmdXaWR0aDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoKF9zdGF0ZSRtaWRkbGV3YXJlRGF0YTIgPSBzdGF0ZS5taWRkbGV3YXJlRGF0YS5zaGlmdCkgIT0gbnVsbCAmJiBfc3RhdGUkbWlkZGxld2FyZURhdGEyLmVuYWJsZWQueSkge1xyXG4gICAgICAgIGF2YWlsYWJsZUhlaWdodCA9IG1heGltdW1DbGlwcGluZ0hlaWdodDtcclxuICAgICAgfVxyXG4gICAgICBpZiAobm9TaGlmdCAmJiAhYWxpZ25tZW50KSB7XHJcbiAgICAgICAgY29uc3QgeE1pbiA9IG1heChvdmVyZmxvdy5sZWZ0LCAwKTtcclxuICAgICAgICBjb25zdCB4TWF4ID0gbWF4KG92ZXJmbG93LnJpZ2h0LCAwKTtcclxuICAgICAgICBjb25zdCB5TWluID0gbWF4KG92ZXJmbG93LnRvcCwgMCk7XHJcbiAgICAgICAgY29uc3QgeU1heCA9IG1heChvdmVyZmxvdy5ib3R0b20sIDApO1xyXG4gICAgICAgIGlmIChpc1lBeGlzKSB7XHJcbiAgICAgICAgICBhdmFpbGFibGVXaWR0aCA9IHdpZHRoIC0gMiAqICh4TWluICE9PSAwIHx8IHhNYXggIT09IDAgPyB4TWluICsgeE1heCA6IG1heChvdmVyZmxvdy5sZWZ0LCBvdmVyZmxvdy5yaWdodCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBhdmFpbGFibGVIZWlnaHQgPSBoZWlnaHQgLSAyICogKHlNaW4gIT09IDAgfHwgeU1heCAhPT0gMCA/IHlNaW4gKyB5TWF4IDogbWF4KG92ZXJmbG93LnRvcCwgb3ZlcmZsb3cuYm90dG9tKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGF3YWl0IGFwcGx5KHtcclxuICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICBhdmFpbGFibGVXaWR0aCxcclxuICAgICAgICBhdmFpbGFibGVIZWlnaHRcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IG5leHREaW1lbnNpb25zID0gYXdhaXQgcGxhdGZvcm0uZ2V0RGltZW5zaW9ucyhlbGVtZW50cy5mbG9hdGluZyk7XHJcbiAgICAgIGlmICh3aWR0aCAhPT0gbmV4dERpbWVuc2lvbnMud2lkdGggfHwgaGVpZ2h0ICE9PSBuZXh0RGltZW5zaW9ucy5oZWlnaHQpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgcmVzZXQ6IHtcclxuICAgICAgICAgICAgcmVjdHM6IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7fTtcclxuICAgIH1cclxuICB9O1xyXG59O1xyXG5cclxuZXhwb3J0IHsgYXJyb3csIGF1dG9QbGFjZW1lbnQsIGNvbXB1dGVQb3NpdGlvbiwgZGV0ZWN0T3ZlcmZsb3csIGZsaXAsIGhpZGUsIGlubGluZSwgbGltaXRTaGlmdCwgb2Zmc2V0LCBzaGlmdCwgc2l6ZSB9O1xyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs": +/*!****************************************************************!*\ + !*** ./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs ***! + \****************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arrow: () => (/* binding */ arrow),\n/* harmony export */ autoPlacement: () => (/* binding */ autoPlacement),\n/* harmony export */ autoUpdate: () => (/* binding */ autoUpdate),\n/* harmony export */ computePosition: () => (/* binding */ computePosition),\n/* harmony export */ detectOverflow: () => (/* binding */ detectOverflow),\n/* harmony export */ flip: () => (/* binding */ flip),\n/* harmony export */ getOverflowAncestors: () => (/* reexport safe */ _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getOverflowAncestors),\n/* harmony export */ hide: () => (/* binding */ hide),\n/* harmony export */ inline: () => (/* binding */ inline),\n/* harmony export */ limitShift: () => (/* binding */ limitShift),\n/* harmony export */ offset: () => (/* binding */ offset),\n/* harmony export */ platform: () => (/* binding */ platform),\n/* harmony export */ shift: () => (/* binding */ shift),\n/* harmony export */ size: () => (/* binding */ size)\n/* harmony export */ });\n/* harmony import */ var _floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/utils */ \"(ssr)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\");\n/* harmony import */ var _floating_ui_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @floating-ui/core */ \"(ssr)/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs\");\n/* harmony import */ var _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/utils/dom */ \"(ssr)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\");\n\r\n\r\n\r\n\r\n\r\nfunction getCssDimensions(element) {\r\n const css = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element);\r\n // In testing environments, the `width` and `height` properties are empty\r\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\r\n let width = parseFloat(css.width) || 0;\r\n let height = parseFloat(css.height) || 0;\r\n const hasOffset = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element);\r\n const offsetWidth = hasOffset ? element.offsetWidth : width;\r\n const offsetHeight = hasOffset ? element.offsetHeight : height;\r\n const shouldFallback = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(width) !== offsetWidth || (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(height) !== offsetHeight;\r\n if (shouldFallback) {\r\n width = offsetWidth;\r\n height = offsetHeight;\r\n }\r\n return {\r\n width,\r\n height,\r\n $: shouldFallback\r\n };\r\n}\r\n\r\nfunction unwrapElement(element) {\r\n return !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(element) ? element.contextElement : element;\r\n}\r\n\r\nfunction getScale(element) {\r\n const domElement = unwrapElement(element);\r\n if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(domElement)) {\r\n return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\r\n }\r\n const rect = domElement.getBoundingClientRect();\r\n const {\r\n width,\r\n height,\r\n $\r\n } = getCssDimensions(domElement);\r\n let x = ($ ? (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(rect.width) : rect.width) / width;\r\n let y = ($ ? (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.round)(rect.height) : rect.height) / height;\r\n\r\n // 0, NaN, or Infinity should always fallback to 1.\r\n\r\n if (!x || !Number.isFinite(x)) {\r\n x = 1;\r\n }\r\n if (!y || !Number.isFinite(y)) {\r\n y = 1;\r\n }\r\n return {\r\n x,\r\n y\r\n };\r\n}\r\n\r\nconst noOffsets = /*#__PURE__*/(0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\r\nfunction getVisualOffsets(element) {\r\n const win = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(element);\r\n if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isWebKit)() || !win.visualViewport) {\r\n return noOffsets;\r\n }\r\n return {\r\n x: win.visualViewport.offsetLeft,\r\n y: win.visualViewport.offsetTop\r\n };\r\n}\r\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\r\n if (isFixed === void 0) {\r\n isFixed = false;\r\n }\r\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(element)) {\r\n return false;\r\n }\r\n return isFixed;\r\n}\r\n\r\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\r\n if (includeScale === void 0) {\r\n includeScale = false;\r\n }\r\n if (isFixedStrategy === void 0) {\r\n isFixedStrategy = false;\r\n }\r\n const clientRect = element.getBoundingClientRect();\r\n const domElement = unwrapElement(element);\r\n let scale = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\r\n if (includeScale) {\r\n if (offsetParent) {\r\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(offsetParent)) {\r\n scale = getScale(offsetParent);\r\n }\r\n } else {\r\n scale = getScale(element);\r\n }\r\n }\r\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\r\n let x = (clientRect.left + visualOffsets.x) / scale.x;\r\n let y = (clientRect.top + visualOffsets.y) / scale.y;\r\n let width = clientRect.width / scale.x;\r\n let height = clientRect.height / scale.y;\r\n if (domElement) {\r\n const win = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(domElement);\r\n const offsetWin = offsetParent && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(offsetParent) ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(offsetParent) : offsetParent;\r\n let currentWin = win;\r\n let currentIFrame = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getFrameElement)(currentWin);\r\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\r\n const iframeScale = getScale(currentIFrame);\r\n const iframeRect = currentIFrame.getBoundingClientRect();\r\n const css = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(currentIFrame);\r\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\r\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\r\n x *= iframeScale.x;\r\n y *= iframeScale.y;\r\n width *= iframeScale.x;\r\n height *= iframeScale.y;\r\n x += left;\r\n y += top;\r\n currentWin = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(currentIFrame);\r\n currentIFrame = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getFrameElement)(currentWin);\r\n }\r\n }\r\n return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.rectToClientRect)({\r\n width,\r\n height,\r\n x,\r\n y\r\n });\r\n}\r\n\r\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\r\n let {\r\n elements,\r\n rect,\r\n offsetParent,\r\n strategy\r\n } = _ref;\r\n const isFixed = strategy === 'fixed';\r\n const documentElement = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(offsetParent);\r\n const topLayer = elements ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isTopLayer)(elements.floating) : false;\r\n if (offsetParent === documentElement || topLayer && isFixed) {\r\n return rect;\r\n }\r\n let scroll = {\r\n scrollLeft: 0,\r\n scrollTop: 0\r\n };\r\n let scale = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\r\n const offsets = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\r\n const isOffsetParentAnElement = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(offsetParent);\r\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\r\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeName)(offsetParent) !== 'body' || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isOverflowElement)(documentElement)) {\r\n scroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(offsetParent);\r\n }\r\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(offsetParent)) {\r\n const offsetRect = getBoundingClientRect(offsetParent);\r\n scale = getScale(offsetParent);\r\n offsets.x = offsetRect.x + offsetParent.clientLeft;\r\n offsets.y = offsetRect.y + offsetParent.clientTop;\r\n }\r\n }\r\n return {\r\n width: rect.width * scale.x,\r\n height: rect.height * scale.y,\r\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\r\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\r\n };\r\n}\r\n\r\nfunction getClientRects(element) {\r\n return Array.from(element.getClientRects());\r\n}\r\n\r\n// If has a CSS width greater than the viewport, then this will be\r\n// incorrect for RTL.\r\nfunction getWindowScrollBarX(element, rect) {\r\n const leftScroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(element).scrollLeft;\r\n if (!rect) {\r\n return getBoundingClientRect((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element)).left + leftScroll;\r\n }\r\n return rect.left + leftScroll;\r\n}\r\n\r\n// Gets the entire size of the scrollable document area, even extending outside\r\n// of the `` and `` rect bounds if horizontally scrollable.\r\nfunction getDocumentRect(element) {\r\n const html = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element);\r\n const scroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(element);\r\n const body = element.ownerDocument.body;\r\n const width = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\r\n const height = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\r\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\r\n const y = -scroll.scrollTop;\r\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(body).direction === 'rtl') {\r\n x += (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(html.clientWidth, body.clientWidth) - width;\r\n }\r\n return {\r\n width,\r\n height,\r\n x,\r\n y\r\n };\r\n}\r\n\r\nfunction getViewportRect(element, strategy) {\r\n const win = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(element);\r\n const html = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element);\r\n const visualViewport = win.visualViewport;\r\n let width = html.clientWidth;\r\n let height = html.clientHeight;\r\n let x = 0;\r\n let y = 0;\r\n if (visualViewport) {\r\n width = visualViewport.width;\r\n height = visualViewport.height;\r\n const visualViewportBased = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isWebKit)();\r\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\r\n x = visualViewport.offsetLeft;\r\n y = visualViewport.offsetTop;\r\n }\r\n }\r\n return {\r\n width,\r\n height,\r\n x,\r\n y\r\n };\r\n}\r\n\r\n// Returns the inner client rect, subtracting scrollbars if present.\r\nfunction getInnerBoundingClientRect(element, strategy) {\r\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\r\n const top = clientRect.top + element.clientTop;\r\n const left = clientRect.left + element.clientLeft;\r\n const scale = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) ? getScale(element) : (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(1);\r\n const width = element.clientWidth * scale.x;\r\n const height = element.clientHeight * scale.y;\r\n const x = left * scale.x;\r\n const y = top * scale.y;\r\n return {\r\n width,\r\n height,\r\n x,\r\n y\r\n };\r\n}\r\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\r\n let rect;\r\n if (clippingAncestor === 'viewport') {\r\n rect = getViewportRect(element, strategy);\r\n } else if (clippingAncestor === 'document') {\r\n rect = getDocumentRect((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element));\r\n } else if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(clippingAncestor)) {\r\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\r\n } else {\r\n const visualOffsets = getVisualOffsets(element);\r\n rect = {\r\n ...clippingAncestor,\r\n x: clippingAncestor.x - visualOffsets.x,\r\n y: clippingAncestor.y - visualOffsets.y\r\n };\r\n }\r\n return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.rectToClientRect)(rect);\r\n}\r\nfunction hasFixedPositionAncestor(element, stopNode) {\r\n const parentNode = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(element);\r\n if (parentNode === stopNode || !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(parentNode) || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(parentNode)) {\r\n return false;\r\n }\r\n return (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\r\n}\r\n\r\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\r\n// clipping (or hiding) child elements. This returns all clipping ancestors\r\n// of the given element up the tree.\r\nfunction getClippingElementAncestors(element, cache) {\r\n const cachedResult = cache.get(element);\r\n if (cachedResult) {\r\n return cachedResult;\r\n }\r\n let result = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getOverflowAncestors)(element, [], false).filter(el => (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(el) && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeName)(el) !== 'body');\r\n let currentContainingBlockComputedStyle = null;\r\n const elementIsFixed = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).position === 'fixed';\r\n let currentNode = elementIsFixed ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(element) : element;\r\n\r\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\r\n while ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(currentNode) && !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(currentNode)) {\r\n const computedStyle = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(currentNode);\r\n const currentNodeIsContaining = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isContainingBlock)(currentNode);\r\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\r\n currentContainingBlockComputedStyle = null;\r\n }\r\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isOverflowElement)(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\r\n if (shouldDropCurrentNode) {\r\n // Drop non-containing blocks.\r\n result = result.filter(ancestor => ancestor !== currentNode);\r\n } else {\r\n // Record last containing block for next iteration.\r\n currentContainingBlockComputedStyle = computedStyle;\r\n }\r\n currentNode = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(currentNode);\r\n }\r\n cache.set(element, result);\r\n return result;\r\n}\r\n\r\n// Gets the maximum area that the element is visible in due to any number of\r\n// clipping ancestors.\r\nfunction getClippingRect(_ref) {\r\n let {\r\n element,\r\n boundary,\r\n rootBoundary,\r\n strategy\r\n } = _ref;\r\n const elementClippingAncestors = boundary === 'clippingAncestors' ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isTopLayer)(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\r\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\r\n const firstClippingAncestor = clippingAncestors[0];\r\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\r\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\r\n accRect.top = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(rect.top, accRect.top);\r\n accRect.right = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.min)(rect.right, accRect.right);\r\n accRect.bottom = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.min)(rect.bottom, accRect.bottom);\r\n accRect.left = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(rect.left, accRect.left);\r\n return accRect;\r\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\r\n return {\r\n width: clippingRect.right - clippingRect.left,\r\n height: clippingRect.bottom - clippingRect.top,\r\n x: clippingRect.left,\r\n y: clippingRect.top\r\n };\r\n}\r\n\r\nfunction getDimensions(element) {\r\n const {\r\n width,\r\n height\r\n } = getCssDimensions(element);\r\n return {\r\n width,\r\n height\r\n };\r\n}\r\n\r\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\r\n const isOffsetParentAnElement = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(offsetParent);\r\n const documentElement = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(offsetParent);\r\n const isFixed = strategy === 'fixed';\r\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\r\n let scroll = {\r\n scrollLeft: 0,\r\n scrollTop: 0\r\n };\r\n const offsets = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.createCoords)(0);\r\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\r\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeName)(offsetParent) !== 'body' || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isOverflowElement)(documentElement)) {\r\n scroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getNodeScroll)(offsetParent);\r\n }\r\n if (isOffsetParentAnElement) {\r\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\r\n offsets.x = offsetRect.x + offsetParent.clientLeft;\r\n offsets.y = offsetRect.y + offsetParent.clientTop;\r\n } else if (documentElement) {\r\n // If the scrollbar appears on the left (e.g. RTL systems). Use\r\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\r\n offsets.x = getWindowScrollBarX(documentElement);\r\n }\r\n }\r\n let htmlX = 0;\r\n let htmlY = 0;\r\n if (documentElement && !isOffsetParentAnElement && !isFixed) {\r\n const htmlRect = documentElement.getBoundingClientRect();\r\n htmlY = htmlRect.top + scroll.scrollTop;\r\n htmlX = htmlRect.left + scroll.scrollLeft -\r\n // RTL scrollbar.\r\n getWindowScrollBarX(documentElement, htmlRect);\r\n }\r\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlX;\r\n const y = rect.top + scroll.scrollTop - offsets.y - htmlY;\r\n return {\r\n x,\r\n y,\r\n width: rect.width,\r\n height: rect.height\r\n };\r\n}\r\n\r\nfunction isStaticPositioned(element) {\r\n return (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).position === 'static';\r\n}\r\n\r\nfunction getTrueOffsetParent(element, polyfill) {\r\n if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).position === 'fixed') {\r\n return null;\r\n }\r\n if (polyfill) {\r\n return polyfill(element);\r\n }\r\n let rawOffsetParent = element.offsetParent;\r\n\r\n // Firefox returns the element as the offsetParent if it's non-static,\r\n // while Chrome and Safari return the element. The element must\r\n // be used to perform the correct calculations even if the element is\r\n // non-static.\r\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element) === rawOffsetParent) {\r\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\r\n }\r\n return rawOffsetParent;\r\n}\r\n\r\n// Gets the closest ancestor positioned element. Handles some edge cases,\r\n// such as table ancestors and cross browser bugs.\r\nfunction getOffsetParent(element, polyfill) {\r\n const win = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getWindow)(element);\r\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isTopLayer)(element)) {\r\n return win;\r\n }\r\n if (!(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element)) {\r\n let svgOffsetParent = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(element);\r\n while (svgOffsetParent && !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(svgOffsetParent)) {\r\n if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement)(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\r\n return svgOffsetParent;\r\n }\r\n svgOffsetParent = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getParentNode)(svgOffsetParent);\r\n }\r\n return win;\r\n }\r\n let offsetParent = getTrueOffsetParent(element, polyfill);\r\n while (offsetParent && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isTableElement)(offsetParent) && isStaticPositioned(offsetParent)) {\r\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\r\n }\r\n if (offsetParent && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isLastTraversableNode)(offsetParent) && isStaticPositioned(offsetParent) && !(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isContainingBlock)(offsetParent)) {\r\n return win;\r\n }\r\n return offsetParent || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getContainingBlock)(element) || win;\r\n}\r\n\r\nconst getElementRects = async function (data) {\r\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\r\n const getDimensionsFn = this.getDimensions;\r\n const floatingDimensions = await getDimensionsFn(data.floating);\r\n return {\r\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\r\n floating: {\r\n x: 0,\r\n y: 0,\r\n width: floatingDimensions.width,\r\n height: floatingDimensions.height\r\n }\r\n };\r\n};\r\n\r\nfunction isRTL(element) {\r\n return (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getComputedStyle)(element).direction === 'rtl';\r\n}\r\n\r\nconst platform = {\r\n convertOffsetParentRelativeRectToViewportRelativeRect,\r\n getDocumentElement: _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement,\r\n getClippingRect,\r\n getOffsetParent,\r\n getElementRects,\r\n getClientRects,\r\n getDimensions,\r\n getScale,\r\n isElement: _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.isElement,\r\n isRTL\r\n};\r\n\r\n// https://samthor.au/2021/observing-dom/\r\nfunction observeMove(element, onMove) {\r\n let io = null;\r\n let timeoutId;\r\n const root = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__.getDocumentElement)(element);\r\n function cleanup() {\r\n var _io;\r\n clearTimeout(timeoutId);\r\n (_io = io) == null || _io.disconnect();\r\n io = null;\r\n }\r\n function refresh(skip, threshold) {\r\n if (skip === void 0) {\r\n skip = false;\r\n }\r\n if (threshold === void 0) {\r\n threshold = 1;\r\n }\r\n cleanup();\r\n const {\r\n left,\r\n top,\r\n width,\r\n height\r\n } = element.getBoundingClientRect();\r\n if (!skip) {\r\n onMove();\r\n }\r\n if (!width || !height) {\r\n return;\r\n }\r\n const insetTop = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(top);\r\n const insetRight = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(root.clientWidth - (left + width));\r\n const insetBottom = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(root.clientHeight - (top + height));\r\n const insetLeft = (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.floor)(left);\r\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\r\n const options = {\r\n rootMargin,\r\n threshold: (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.max)(0, (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_1__.min)(1, threshold)) || 1\r\n };\r\n let isFirstUpdate = true;\r\n function handleObserve(entries) {\r\n const ratio = entries[0].intersectionRatio;\r\n if (ratio !== threshold) {\r\n if (!isFirstUpdate) {\r\n return refresh();\r\n }\r\n if (!ratio) {\r\n // If the reference is clipped, the ratio is 0. Throttle the refresh\r\n // to prevent an infinite loop of updates.\r\n timeoutId = setTimeout(() => {\r\n refresh(false, 1e-7);\r\n }, 1000);\r\n } else {\r\n refresh(false, ratio);\r\n }\r\n }\r\n isFirstUpdate = false;\r\n }\r\n\r\n // Older browsers don't support a `document` as the root and will throw an\r\n // error.\r\n try {\r\n io = new IntersectionObserver(handleObserve, {\r\n ...options,\r\n // Handle