Nicholai 51e5af7746
Some checks are pending
Build and Push to Docker Hub / Push Docker image to Docker Hub (push) Waiting to run
Build and Push Docker Image / build-and-push (push) Waiting to run
I've begun refactoring the homepage, changing the NAV and am trying to restyle the site with more modern sensibilities.
2025-08-19 04:12:13 -06:00

580 lines
598 KiB
JavaScript

/*
* 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/admin/projects/page";
exports.ids = ["app/admin/projects/page"];
exports.modules = {
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fadmin%2Fprojects%2Fpage&page=%2Fadmin%2Fprojects%2Fpage&appPaths=%2Fadmin%2Fprojects%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fprojects%2Fpage.tsx&appDir=%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=!":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fadmin%2Fprojects%2Fpage&page=%2Fadmin%2Fprojects%2Fpage&appPaths=%2Fadmin%2Fprojects%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fprojects%2Fpage.tsx&appDir=%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=! ***!
\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__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_builtin_global_error_js__WEBPACK_IMPORTED_MODULE_24___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ handler: () => (/* binding */ handler),\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_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/module.compiled.js?cc4a\");\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/route-kind */ \"(rsc)/./node_modules/next/dist/server/route-kind.js\");\n/* harmony import */ var next_dist_server_instrumentation_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/server/instrumentation/utils */ \"(rsc)/./node_modules/next/dist/server/instrumentation/utils.js\");\n/* harmony import */ var next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/lib/trace/tracer */ \"(rsc)/./node_modules/next/dist/server/lib/trace/tracer.js\");\n/* harmony import */ var next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next/dist/server/request-meta */ \"(rsc)/./node_modules/next/dist/server/request-meta.js\");\n/* harmony import */ var next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! next/dist/server/lib/trace/constants */ \"(rsc)/./node_modules/next/dist/server/lib/trace/constants.js\");\n/* harmony import */ var next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var next_dist_server_app_render_interop_default__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! next/dist/server/app-render/interop-default */ \"(rsc)/./node_modules/next/dist/server/app-render/interop-default.js\");\n/* harmony import */ var next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next/dist/server/base-http/node */ \"(rsc)/./node_modules/next/dist/server/base-http/node.js\");\n/* harmony import */ var next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var next_dist_server_lib_experimental_ppr__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! next/dist/server/lib/experimental/ppr */ \"(rsc)/./node_modules/next/dist/server/lib/experimental/ppr.js\");\n/* harmony import */ var next_dist_server_lib_experimental_ppr__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_experimental_ppr__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var next_dist_server_request_fallback_params__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! next/dist/server/request/fallback-params */ \"(rsc)/./node_modules/next/dist/server/request/fallback-params.js\");\n/* harmony import */ var next_dist_server_app_render_encryption_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! next/dist/server/app-render/encryption-utils */ \"(rsc)/./node_modules/next/dist/server/app-render/encryption-utils.js\");\n/* harmony import */ var next_dist_server_app_render_encryption_utils__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_encryption_utils__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var next_dist_server_lib_streaming_metadata__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! next/dist/server/lib/streaming-metadata */ \"(rsc)/./node_modules/next/dist/server/lib/streaming-metadata.js\");\n/* harmony import */ var next_dist_server_lib_streaming_metadata__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_streaming_metadata__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var next_dist_server_app_render_action_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! next/dist/server/app-render/action-utils */ \"(rsc)/./node_modules/next/dist/server/app-render/action-utils.js\");\n/* harmony import */ var next_dist_server_app_render_action_utils__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_action_utils__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! next/dist/shared/lib/router/utils/app-paths */ \"next/dist/shared/lib/router/utils/app-paths\");\n/* harmony import */ var next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var next_dist_server_lib_server_action_request_meta__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! next/dist/server/lib/server-action-request-meta */ \"(rsc)/./node_modules/next/dist/server/lib/server-action-request-meta.js\");\n/* harmony import */ var next_dist_server_lib_server_action_request_meta__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_server_action_request_meta__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! next/dist/client/components/app-router-headers */ \"(rsc)/./node_modules/next/dist/client/components/app-router-headers.js\");\n/* harmony import */ var next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var next_dist_shared_lib_router_utils_is_bot__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! next/dist/shared/lib/router/utils/is-bot */ \"next/dist/shared/lib/router/utils/is-bot\");\n/* harmony import */ var next_dist_shared_lib_router_utils_is_bot__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(next_dist_shared_lib_router_utils_is_bot__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! next/dist/server/response-cache */ \"(rsc)/./node_modules/next/dist/server/response-cache/index.js\");\n/* harmony import */ var next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! next/dist/lib/fallback */ \"(rsc)/./node_modules/next/dist/lib/fallback.js\");\n/* harmony import */ var next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var next_dist_server_render_result__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! next/dist/server/render-result */ \"(rsc)/./node_modules/next/dist/server/render-result.js\");\n/* harmony import */ var next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! next/dist/lib/constants */ \"(rsc)/./node_modules/next/dist/lib/constants.js\");\n/* harmony import */ var next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var next_dist_server_stream_utils_encoded_tags__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! next/dist/server/stream-utils/encoded-tags */ \"(rsc)/./node_modules/next/dist/server/stream-utils/encoded-tags.js\");\n/* harmony import */ var next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! next/dist/server/send-payload */ \"(rsc)/./node_modules/next/dist/server/send-payload.js\");\n/* harmony import */ var next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__);\n/* harmony import */ var next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! next/dist/shared/lib/no-fallback-error.external */ \"next/dist/shared/lib/no-fallback-error.external\");\n/* harmony import */ var next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_23__);\n/* harmony import */ var next_dist_client_components_builtin_global_error_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! next/dist/client/components/builtin/global-error.js */ \"(rsc)/./node_modules/next/dist/client/components/builtin/global-error.js\");\n/* harmony import */ var next_dist_client_components_builtin_global_error_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_builtin_global_error_js__WEBPACK_IMPORTED_MODULE_24__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_25__ = __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_25___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_25__);\n/* harmony import */ var next_dist_client_components_redirect_status_code__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! next/dist/client/components/redirect-status-code */ \"(rsc)/./node_modules/next/dist/client/components/redirect-status-code.js\");\n/* harmony import */ var next_dist_client_components_redirect_status_code__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_redirect_status_code__WEBPACK_IMPORTED_MODULE_26__);\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_25__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"__next_app__\",\"routeModule\",\"handler\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_25__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\nconst module0 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\"));\nconst module1 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/builtin/global-error.js */ \"(rsc)/./node_modules/next/dist/client/components/builtin/global-error.js\", 23));\nconst module2 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/builtin/not-found.js */ \"(rsc)/./node_modules/next/dist/client/components/builtin/not-found.js\", 23));\nconst module3 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/builtin/forbidden.js */ \"(rsc)/./node_modules/next/dist/client/components/builtin/forbidden.js\", 23));\nconst module4 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/builtin/unauthorized.js */ \"(rsc)/./node_modules/next/dist/client/components/builtin/unauthorized.js\", 23));\nconst module5 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/admin/layout.tsx */ \"(rsc)/./src/app/admin/layout.tsx\"));\nconst page6 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/admin/projects/page.tsx */ \"(rsc)/./src/app/admin/projects/page.tsx\"));\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n 'admin',\n {\n children: [\n 'projects',\n {\n children: ['__PAGE__', {}, {\n page: [page6, \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [module5, \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/layout.tsx\"],\n metadata: {\n icon: [(async (props) => (await Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! next-metadata-image-loader?type=icon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/icon.svg?__next_metadata__ */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=icon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/icon.svg?__next_metadata__\"))).default(props))],\n apple: [],\n openGraph: [],\n twitter: [],\n manifest: \"/manifest.webmanifest\"\n }\n }\n ]\n },\n {\n 'layout': [module0, \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/layout.tsx\"],\n'global-error': [module1, \"next/dist/client/components/builtin/global-error.js\"],\n'not-found': [module2, \"next/dist/client/components/builtin/not-found.js\"],\n'forbidden': [module3, \"next/dist/client/components/builtin/forbidden.js\"],\n'unauthorized': [module4, \"next/dist/client/components/builtin/unauthorized.js\"],\n metadata: {\n icon: [(async (props) => (await Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! next-metadata-image-loader?type=icon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/icon.svg?__next_metadata__ */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=icon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/icon.svg?__next_metadata__\"))).default(props))],\n apple: [],\n openGraph: [],\n twitter: [],\n manifest: \"/manifest.webmanifest\"\n }\n }\n ]\n }.children;\nconst pages = [\"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\"];\n\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/admin/projects/page\",\n pathname: \"/admin/projects\",\n // The following aren't used in production.\n bundlePath: '',\n filename: '',\n appPaths: []\n },\n userland: {\n loaderTree: tree\n },\n distDir: \".next\" || 0,\n projectDir: false || ''\n});\nasync function handler(req, res, ctx) {\n var _this;\n let srcPage = \"/admin/projects/page\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (false) {} else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = \"false\";\n const initialPostponed = (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'postponed');\n // TODO: replace with more specific flags\n const minimalMode = (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'minimalMode');\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, query, params, parsedUrl, pageIsDynamic, buildManifest, nextFontManifest, reactLoadableManifest, serverActionsManifest, clientReferenceManifest, subresourceIntegrityManifest, prerenderManifest, isDraftMode, resolvedPathname, revalidateOnlyGenerated, routerServerContext, nextConfig } = prepareResult;\n const pathname = parsedUrl.pathname || '/';\n const normalizedSrcPage = (0,next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_13__.normalizeAppPath)(srcPage);\n let { isOnDemandRevalidate } = prepareResult;\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n const isPrerendered = prerenderManifest.routes[resolvedPathname];\n let isSSG = Boolean(prerenderInfo || isPrerendered || prerenderManifest.routes[normalizedSrcPage]);\n const userAgent = req.headers['user-agent'] || '';\n const botType = (0,next_dist_shared_lib_router_utils_is_bot__WEBPACK_IMPORTED_MODULE_16__.getBotType)(userAgent);\n const isHtmlBot = (0,next_dist_server_lib_streaming_metadata__WEBPACK_IMPORTED_MODULE_11__.isHtmlBotRequest)(req);\n /**\n * If true, this indicates that the request being made is for an app\n * prefetch request.\n */ const isPrefetchRSCRequest = (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'isPrefetchRSCRequest') ?? Boolean(req.headers[next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15__.NEXT_ROUTER_PREFETCH_HEADER]);\n // NOTE: Don't delete headers[RSC] yet, it still needs to be used in renderToHTML later\n const isRSCRequest = (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'isRSCRequest') ?? Boolean(req.headers[next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15__.RSC_HEADER]);\n const isPossibleServerAction = (0,next_dist_server_lib_server_action_request_meta__WEBPACK_IMPORTED_MODULE_14__.getIsPossibleServerAction)(req);\n /**\n * If the route being rendered is an app page, and the ppr feature has been\n * enabled, then the given route _could_ support PPR.\n */ const couldSupportPPR = (0,next_dist_server_lib_experimental_ppr__WEBPACK_IMPORTED_MODULE_8__.checkIsAppPPREnabled)(nextConfig.experimental.ppr);\n // When enabled, this will allow the use of the `?__nextppronly` query to\n // enable debugging of the static shell.\n const hasDebugStaticShellQuery = false && 0;\n // When enabled, this will allow the use of the `?__nextppronly` query\n // to enable debugging of the fallback shell.\n const hasDebugFallbackShellQuery = hasDebugStaticShellQuery && query.__nextppronly === 'fallback';\n // This page supports PPR if it is marked as being `PARTIALLY_STATIC` in the\n // prerender manifest and this is an app page.\n const isRoutePPREnabled = couldSupportPPR && (((_this = prerenderManifest.routes[normalizedSrcPage] ?? prerenderManifest.dynamicRoutes[normalizedSrcPage]) == null ? void 0 : _this.renderingMode) === 'PARTIALLY_STATIC' || // Ideally we'd want to check the appConfig to see if this page has PPR\n // enabled or not, but that would require plumbing the appConfig through\n // to the server during development. We assume that the page supports it\n // but only during development.\n hasDebugStaticShellQuery && (routeModule.isDev === true || (routerServerContext == null ? void 0 : routerServerContext.experimentalTestProxy) === true));\n const isDebugStaticShell = hasDebugStaticShellQuery && isRoutePPREnabled;\n // We should enable debugging dynamic accesses when the static shell\n // debugging has been enabled and we're also in development mode.\n const isDebugDynamicAccesses = isDebugStaticShell && routeModule.isDev === true;\n const isDebugFallbackShell = hasDebugFallbackShellQuery && isRoutePPREnabled;\n // If we're in minimal mode, then try to get the postponed information from\n // the request metadata. If available, use it for resuming the postponed\n // render.\n const minimalPostponed = isRoutePPREnabled ? initialPostponed : undefined;\n // If PPR is enabled, and this is a RSC request (but not a prefetch), then\n // we can use this fact to only generate the flight data for the request\n // because we can't cache the HTML (as it's also dynamic).\n const isDynamicRSCRequest = isRoutePPREnabled && isRSCRequest && !isPrefetchRSCRequest;\n // Need to read this before it's stripped by stripFlightHeaders. We don't\n // need to transfer it to the request meta because it's only read\n // within this function; the static segment data should have already been\n // generated, so we will always either return a static response or a 404.\n const segmentPrefetchHeader = (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'segmentPrefetchRSCRequest');\n // TODO: investigate existing bug with shouldServeStreamingMetadata always\n // being true for a revalidate due to modifying the base-server this.renderOpts\n // when fixing this to correct logic it causes hydration issue since we set\n // serveStreamingMetadata to true during export\n let serveStreamingMetadata = !userAgent ? true : (0,next_dist_server_lib_streaming_metadata__WEBPACK_IMPORTED_MODULE_11__.shouldServeStreamingMetadata)(userAgent, nextConfig.htmlLimitedBots);\n if (isHtmlBot && isRoutePPREnabled) {\n isSSG = false;\n serveStreamingMetadata = false;\n }\n // In development, we always want to generate dynamic HTML.\n let supportsDynamicResponse = // If we're in development, we always support dynamic HTML, unless it's\n // a data request, in which case we only produce static HTML.\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isSSG || // If this request has provided postponed data, it supports dynamic\n // HTML.\n typeof initialPostponed === 'string' || // If this is a dynamic RSC request, then this render supports dynamic\n // HTML (it's dynamic).\n isDynamicRSCRequest;\n // When html bots request PPR page, perform the full dynamic rendering.\n const shouldWaitOnAllReady = isHtmlBot && isRoutePPREnabled;\n let ssgCacheKey = null;\n if (!isDraftMode && isSSG && !supportsDynamicResponse && !isPossibleServerAction && !minimalPostponed && !isDynamicRSCRequest) {\n ssgCacheKey = resolvedPathname;\n }\n // the staticPathKey differs from ssgCacheKey since\n // ssgCacheKey is null in dev since we're always in \"dynamic\"\n // mode in dev to bypass the cache, but we still need to honor\n // dynamicParams = false in dev mode\n let staticPathKey = ssgCacheKey;\n if (!staticPathKey && routeModule.isDev) {\n staticPathKey = resolvedPathname;\n }\n const ComponentMod = {\n ...next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_25__,\n tree,\n pages,\n GlobalError: (next_dist_client_components_builtin_global_error_js__WEBPACK_IMPORTED_MODULE_24___default()),\n handler,\n routeModule,\n __next_app__\n };\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n (0,next_dist_server_app_render_encryption_utils__WEBPACK_IMPORTED_MODULE_10__.setReferenceManifestsSingleton)({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest,\n serverModuleMap: (0,next_dist_server_app_render_action_utils__WEBPACK_IMPORTED_MODULE_12__.createServerModuleMap)({\n serverActionsManifest\n })\n });\n }\n const method = req.method || 'GET';\n const tracer = (0,next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_3__.getTracer)();\n const activeSpan = tracer.getActiveScopeSpan();\n try {\n const invokeRouteModule = async (span, context)=>{\n const nextReq = new next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__.NodeNextRequest(req);\n const nextRes = new next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__.NodeNextResponse(res);\n // TODO: adapt for putting the RDC inside the postponed data\n // If we're in dev, and this isn't a prefetch or a server action,\n // we should seed the resume data cache.\n if (true) {\n if (nextConfig.experimental.dynamicIO && !isPrefetchRSCRequest && !context.renderOpts.isPossibleServerAction) {\n const warmup = await routeModule.warmup(nextReq, nextRes, context);\n // If the warmup is successful, we should use the resume data\n // cache from the warmup.\n if (warmup.metadata.renderResumeDataCache) {\n context.renderOpts.renderResumeDataCache = warmup.metadata.renderResumeDataCache;\n }\n }\n }\n return routeModule.render(nextReq, nextRes, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_5__.BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${req.url}`);\n }\n });\n };\n const doRender = async ({ span, postponed, fallbackRouteParams })=>{\n const context = {\n query,\n params,\n page: normalizedSrcPage,\n sharedContext: {\n buildId\n },\n serverComponentsHmrCache: (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'serverComponentsHmrCache'),\n fallbackRouteParams,\n renderOpts: {\n App: ()=>null,\n Document: ()=>null,\n pageConfig: {},\n ComponentMod,\n Component: (0,next_dist_server_app_render_interop_default__WEBPACK_IMPORTED_MODULE_6__.interopDefault)(ComponentMod),\n params,\n routeModule,\n page: srcPage,\n postponed,\n shouldWaitOnAllReady,\n serveStreamingMetadata,\n supportsDynamicResponse: typeof postponed === 'string' || supportsDynamicResponse,\n buildManifest,\n nextFontManifest,\n reactLoadableManifest,\n subresourceIntegrityManifest,\n serverActionsManifest,\n clientReferenceManifest,\n setIsrStatus: routerServerContext == null ? void 0 : routerServerContext.setIsrStatus,\n dir: routeModule.projectDir,\n isDraftMode,\n isRevalidate: isSSG && !postponed && !isDynamicRSCRequest,\n botType,\n isOnDemandRevalidate,\n isPossibleServerAction,\n assetPrefix: nextConfig.assetPrefix,\n nextConfigOutput: nextConfig.output,\n crossOrigin: nextConfig.crossOrigin,\n trailingSlash: nextConfig.trailingSlash,\n previewProps: prerenderManifest.preview,\n deploymentId: nextConfig.deploymentId,\n enableTainting: nextConfig.experimental.taint,\n htmlLimitedBots: nextConfig.htmlLimitedBots,\n devtoolSegmentExplorer: nextConfig.experimental.devtoolSegmentExplorer,\n reactMaxHeadersLength: nextConfig.reactMaxHeadersLength,\n multiZoneDraftMode,\n incrementalCache: (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'incrementalCache'),\n cacheLifeProfiles: nextConfig.experimental.cacheLife,\n basePath: nextConfig.basePath,\n serverActions: nextConfig.experimental.serverActions,\n ...isDebugStaticShell || isDebugDynamicAccesses ? {\n nextExport: true,\n supportsDynamicResponse: false,\n isStaticGeneration: true,\n isRevalidate: true,\n isDebugDynamicAccesses: isDebugDynamicAccesses\n } : {},\n experimental: {\n isRoutePPREnabled,\n expireTime: nextConfig.expireTime,\n staleTimes: nextConfig.experimental.staleTimes,\n dynamicIO: Boolean(nextConfig.experimental.dynamicIO),\n clientSegmentCache: Boolean(nextConfig.experimental.clientSegmentCache),\n dynamicOnHover: Boolean(nextConfig.experimental.dynamicOnHover),\n inlineCss: Boolean(nextConfig.experimental.inlineCss),\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n clientTraceMetadata: nextConfig.experimental.clientTraceMetadata || []\n },\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: ()=>{},\n onInstrumentationRequestError: (error, _request, errorContext)=>routeModule.onRequestError(req, error, errorContext, routerServerContext),\n err: (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'invokeError'),\n dev: routeModule.isDev\n }\n };\n const result = await invokeRouteModule(span, context);\n const { metadata } = result;\n const { cacheControl, headers = {}, // Add any fetch tags that were on the page to the response headers.\n fetchTags: cacheTags } = metadata;\n if (cacheTags) {\n headers[next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__.NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n // Pull any fetch metrics from the render onto the request.\n ;\n req.fetchMetrics = metadata.fetchMetrics;\n // we don't throw static to dynamic errors in dev as isSSG\n // is a best guess in dev since we don't have the prerender pass\n // to know whether the path is actually static or not\n if (isSSG && (cacheControl == null ? void 0 : cacheControl.revalidate) === 0 && !routeModule.isDev && !isRoutePPREnabled) {\n const staticBailoutInfo = metadata.staticBailoutInfo;\n const err = Object.defineProperty(new Error(`Page changed from static to dynamic at runtime ${resolvedPathname}${(staticBailoutInfo == null ? void 0 : staticBailoutInfo.description) ? `, reason: ${staticBailoutInfo.description}` : ``}` + `\\nsee more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`), \"__NEXT_ERROR_CODE\", {\n value: \"E132\",\n enumerable: false,\n configurable: true\n });\n if (staticBailoutInfo == null ? void 0 : staticBailoutInfo.stack) {\n const stack = staticBailoutInfo.stack;\n err.stack = err.message + stack.substring(stack.indexOf('\\n'));\n }\n throw err;\n }\n return {\n value: {\n kind: next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__.CachedRouteKind.APP_PAGE,\n html: result,\n headers,\n rscData: metadata.flightData,\n postponed: metadata.postponed,\n status: metadata.statusCode,\n segmentData: metadata.segmentData\n },\n cacheControl\n };\n };\n const responseGenerator = async ({ hasResolved, previousCacheEntry, isRevalidating, span })=>{\n const isProduction = routeModule.isDev === false;\n const didRespond = hasResolved || res.writableEnded;\n // skip on-demand revalidate if cache is not present and\n // revalidate-if-generated is set\n if (isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry && !minimalMode) {\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res);\n } else {\n res.statusCode = 404;\n res.end('This page could not be found');\n }\n return null;\n }\n let fallbackMode;\n if (prerenderInfo) {\n fallbackMode = (0,next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__.parseFallbackField)(prerenderInfo.fallback);\n }\n // When serving a bot request, we want to serve a blocking render and not\n // the prerendered page. This ensures that the correct content is served\n // to the bot in the head.\n if (fallbackMode === next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__.FallbackMode.PRERENDER && (0,next_dist_shared_lib_router_utils_is_bot__WEBPACK_IMPORTED_MODULE_16__.isBot)(userAgent)) {\n fallbackMode = next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__.FallbackMode.BLOCKING_STATIC_RENDER;\n }\n if ((previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) === -1) {\n isOnDemandRevalidate = true;\n }\n // TODO: adapt for PPR\n // only allow on-demand revalidate for fallback: true/blocking\n // or for prerendered fallback: false paths\n if (isOnDemandRevalidate && (fallbackMode !== next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__.FallbackMode.NOT_FOUND || previousCacheEntry)) {\n fallbackMode = next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__.FallbackMode.BLOCKING_STATIC_RENDER;\n }\n if (!minimalMode && fallbackMode !== next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__.FallbackMode.BLOCKING_STATIC_RENDER && staticPathKey && !didRespond && !isDraftMode && pageIsDynamic && (isProduction || !isPrerendered)) {\n // if the page has dynamicParams: false and this pathname wasn't\n // prerendered trigger the no fallback handling\n if (// In development, fall through to render to handle missing\n // getStaticPaths.\n (isProduction || prerenderInfo) && // When fallback isn't present, abort this render so we 404\n fallbackMode === next_dist_lib_fallback__WEBPACK_IMPORTED_MODULE_18__.FallbackMode.NOT_FOUND) {\n throw new next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_23__.NoFallbackError();\n }\n let fallbackResponse;\n if (isRoutePPREnabled && !isRSCRequest) {\n // We use the response cache here to handle the revalidation and\n // management of the fallback shell.\n fallbackResponse = await routeModule.handleResponse({\n cacheKey: isProduction ? normalizedSrcPage : null,\n req,\n nextConfig,\n routeKind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n isFallback: true,\n prerenderManifest,\n isRoutePPREnabled,\n responseGenerator: async ()=>doRender({\n span,\n // We pass `undefined` as rendering a fallback isn't resumed\n // here.\n postponed: undefined,\n fallbackRouteParams: // If we're in production or we're debugging the fallback\n // shell then we should postpone when dynamic params are\n // accessed.\n isProduction || isDebugFallbackShell ? (0,next_dist_server_request_fallback_params__WEBPACK_IMPORTED_MODULE_9__.getFallbackRouteParams)(normalizedSrcPage) : null\n }),\n waitUntil: ctx.waitUntil\n });\n // If the fallback response was set to null, then we should return null.\n if (fallbackResponse === null) return null;\n // Otherwise, if we did get a fallback response, we should return it.\n if (fallbackResponse) {\n // Remove the cache control from the response to prevent it from being\n // used in the surrounding cache.\n delete fallbackResponse.cacheControl;\n return fallbackResponse;\n }\n }\n }\n // Only requests that aren't revalidating can be resumed. If we have the\n // minimal postponed data, then we should resume the render with it.\n const postponed = !isOnDemandRevalidate && !isRevalidating && minimalPostponed ? minimalPostponed : undefined;\n // When we're in minimal mode, if we're trying to debug the static shell,\n // we should just return nothing instead of resuming the dynamic render.\n if ((isDebugStaticShell || isDebugDynamicAccesses) && typeof postponed !== 'undefined') {\n return {\n cacheControl: {\n revalidate: 1,\n expire: undefined\n },\n value: {\n kind: next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__.CachedRouteKind.PAGES,\n html: next_dist_server_render_result__WEBPACK_IMPORTED_MODULE_19__[\"default\"].fromStatic(''),\n pageData: {},\n headers: undefined,\n status: undefined\n }\n };\n }\n // If this is a dynamic route with PPR enabled and the default route\n // matches were set, then we should pass the fallback route params to\n // the renderer as this is a fallback revalidation request.\n const fallbackRouteParams = pageIsDynamic && isRoutePPREnabled && ((0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'renderFallbackShell') || isDebugFallbackShell) ? (0,next_dist_server_request_fallback_params__WEBPACK_IMPORTED_MODULE_9__.getFallbackRouteParams)(pathname) : null;\n // Perform the render.\n return doRender({\n span,\n postponed,\n fallbackRouteParams\n });\n };\n const handleResponse = async (span)=>{\n var _cacheEntry_value, _cachedData_headers;\n const cacheEntry = await routeModule.handleResponse({\n cacheKey: ssgCacheKey,\n responseGenerator: (c)=>responseGenerator({\n span,\n ...c\n }),\n routeKind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n isOnDemandRevalidate,\n isRoutePPREnabled,\n req,\n nextConfig,\n prerenderManifest,\n waitUntil: ctx.waitUntil\n });\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n // In dev, we should not cache pages for any reason.\n if (routeModule.isDev) {\n res.setHeader('Cache-Control', 'no-store, must-revalidate');\n }\n if (!cacheEntry) {\n if (ssgCacheKey) {\n // A cache entry might not be generated if a response is written\n // in `getInitialProps` or `getServerSideProps`, but those shouldn't\n // have a cache key. If we do have a cache key but we don't end up\n // with a cache entry, then either Next.js or the application has a\n // bug that needs fixing.\n throw Object.defineProperty(new Error('invariant: cache entry required but not generated'), \"__NEXT_ERROR_CODE\", {\n value: \"E62\",\n enumerable: false,\n configurable: true\n });\n }\n return null;\n }\n if (((_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__.CachedRouteKind.APP_PAGE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant app-page handler received invalid cache entry ${(_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E707\",\n enumerable: false,\n configurable: true\n });\n }\n const didPostpone = typeof cacheEntry.value.postponed === 'string';\n if (isSSG && // We don't want to send a cache header for requests that contain dynamic\n // data. If this is a Dynamic RSC request or wasn't a Prefetch RSC\n // request, then we should set the cache header.\n !isDynamicRSCRequest && (!didPostpone || isPrefetchRSCRequest)) {\n if (!minimalMode) {\n // set x-nextjs-cache header to match the header\n // we set for the image-optimizer\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Set a header used by the client router to signal the response is static\n // and should respect the `static` cache staleTime value.\n res.setHeader(next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15__.NEXT_IS_PRERENDER_HEADER, '1');\n }\n const { value: cachedData } = cacheEntry;\n // Coerce the cache control parameter from the render.\n let cacheControl;\n // If this is a resume request in minimal mode it is streamed with dynamic\n // content and should not be cached.\n if (minimalPostponed) {\n cacheControl = {\n revalidate: 0,\n expire: undefined\n };\n } else if (minimalMode && isRSCRequest && !isPrefetchRSCRequest && isRoutePPREnabled) {\n cacheControl = {\n revalidate: 0,\n expire: undefined\n };\n } else if (!routeModule.isDev) {\n // If this is a preview mode request, we shouldn't cache it\n if (isDraftMode) {\n cacheControl = {\n revalidate: 0,\n expire: undefined\n };\n } else if (!isSSG) {\n if (!res.getHeader('Cache-Control')) {\n cacheControl = {\n revalidate: 0,\n expire: undefined\n };\n }\n } else if (cacheEntry.cacheControl) {\n // If the cache entry has a cache control with a revalidate value that's\n // a number, use it.\n if (typeof cacheEntry.cacheControl.revalidate === 'number') {\n var _cacheEntry_cacheControl;\n if (cacheEntry.cacheControl.revalidate < 1) {\n throw Object.defineProperty(new Error(`Invalid revalidate configuration provided: ${cacheEntry.cacheControl.revalidate} < 1`), \"__NEXT_ERROR_CODE\", {\n value: \"E22\",\n enumerable: false,\n configurable: true\n });\n }\n cacheControl = {\n revalidate: cacheEntry.cacheControl.revalidate,\n expire: ((_cacheEntry_cacheControl = cacheEntry.cacheControl) == null ? void 0 : _cacheEntry_cacheControl.expire) ?? nextConfig.expireTime\n };\n } else {\n cacheControl = {\n revalidate: next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__.CACHE_ONE_YEAR,\n expire: undefined\n };\n }\n }\n }\n cacheEntry.cacheControl = cacheControl;\n if (typeof segmentPrefetchHeader === 'string' && (cachedData == null ? void 0 : cachedData.kind) === next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__.CachedRouteKind.APP_PAGE && cachedData.segmentData) {\n var _cachedData_headers1;\n // This is a prefetch request issued by the client Segment Cache. These\n // should never reach the application layer (lambda). We should either\n // respond from the cache (HIT) or respond with 204 No Content (MISS).\n // Set a header to indicate that PPR is enabled for this route. This\n // lets the client distinguish between a regular cache miss and a cache\n // miss due to PPR being disabled. In other contexts this header is used\n // to indicate that the response contains dynamic data, but here we're\n // only using it to indicate that the feature is enabled — the segment\n // response itself contains whether the data is dynamic.\n res.setHeader(next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15__.NEXT_DID_POSTPONE_HEADER, '2');\n // Add the cache tags header to the response if it exists and we're in\n // minimal mode while rendering a static page.\n const tags = (_cachedData_headers1 = cachedData.headers) == null ? void 0 : _cachedData_headers1[next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__.NEXT_CACHE_TAGS_HEADER];\n if (minimalMode && isSSG && tags && typeof tags === 'string') {\n res.setHeader(next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__.NEXT_CACHE_TAGS_HEADER, tags);\n }\n const matchedSegment = cachedData.segmentData.get(segmentPrefetchHeader);\n if (matchedSegment !== undefined) {\n // Cache hit\n return (0,next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__.sendRenderResult)({\n req,\n res,\n type: 'rsc',\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: next_dist_server_render_result__WEBPACK_IMPORTED_MODULE_19__[\"default\"].fromStatic(matchedSegment),\n cacheControl: cacheEntry.cacheControl\n });\n }\n // Cache miss. Either a cache entry for this route has not been generated\n // (which technically should not be possible when PPR is enabled, because\n // at a minimum there should always be a fallback entry) or there's no\n // match for the requested segment. Respond with a 204 No Content. We\n // don't bother to respond with 404, because these requests are only\n // issued as part of a prefetch.\n res.statusCode = 204;\n return (0,next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__.sendRenderResult)({\n req,\n res,\n type: 'rsc',\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: next_dist_server_render_result__WEBPACK_IMPORTED_MODULE_19__[\"default\"].fromStatic(''),\n cacheControl: cacheEntry.cacheControl\n });\n }\n // If there's a callback for `onCacheEntry`, call it with the cache entry\n // and the revalidate options.\n const onCacheEntry = (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'onCacheEntry');\n if (onCacheEntry) {\n const finished = await onCacheEntry({\n ...cacheEntry,\n // TODO: remove this when upstream doesn't\n // always expect this value to be \"PAGE\"\n value: {\n ...cacheEntry.value,\n kind: 'PAGE'\n }\n }, {\n url: (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_4__.getRequestMeta)(req, 'initURL')\n });\n if (finished) {\n // TODO: maybe we have to end the request?\n return null;\n }\n }\n // If the request has a postponed state and it's a resume request we\n // should error.\n if (didPostpone && minimalPostponed) {\n throw Object.defineProperty(new Error('Invariant: postponed state should not be present on a resume request'), \"__NEXT_ERROR_CODE\", {\n value: \"E396\",\n enumerable: false,\n configurable: true\n });\n }\n if (cachedData.headers) {\n const headers = {\n ...cachedData.headers\n };\n if (!minimalMode || !isSSG) {\n delete headers[next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__.NEXT_CACHE_TAGS_HEADER];\n }\n for (let [key, value] of Object.entries(headers)){\n if (typeof value === 'undefined') continue;\n if (Array.isArray(value)) {\n for (const v of value){\n res.appendHeader(key, v);\n }\n } else if (typeof value === 'number') {\n value = value.toString();\n res.appendHeader(key, value);\n } else {\n res.appendHeader(key, value);\n }\n }\n }\n // Add the cache tags header to the response if it exists and we're in\n // minimal mode while rendering a static page.\n const tags = (_cachedData_headers = cachedData.headers) == null ? void 0 : _cachedData_headers[next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__.NEXT_CACHE_TAGS_HEADER];\n if (minimalMode && isSSG && tags && typeof tags === 'string') {\n res.setHeader(next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_20__.NEXT_CACHE_TAGS_HEADER, tags);\n }\n // If the request is a data request, then we shouldn't set the status code\n // from the response because it should always be 200. This should be gated\n // behind the experimental PPR flag.\n if (cachedData.status && (!isRSCRequest || !isRoutePPREnabled)) {\n res.statusCode = cachedData.status;\n }\n // Redirect information is encoded in RSC payload, so we don't need to use redirect status codes\n if (!minimalMode && cachedData.status && next_dist_client_components_redirect_status_code__WEBPACK_IMPORTED_MODULE_26__.RedirectStatusCode[cachedData.status] && isRSCRequest) {\n res.statusCode = 200;\n }\n // Mark that the request did postpone.\n if (didPostpone) {\n res.setHeader(next_dist_client_components_app_router_headers__WEBPACK_IMPORTED_MODULE_15__.NEXT_DID_POSTPONE_HEADER, '1');\n }\n // we don't go through this block when preview mode is true\n // as preview mode is a dynamic request (bypasses cache) and doesn't\n // generate both HTML and payloads in the same request so continue to just\n // return the generated payload\n if (isRSCRequest && !isDraftMode) {\n // If this is a dynamic RSC request, then stream the response.\n if (typeof cachedData.rscData === 'undefined') {\n if (cachedData.postponed) {\n throw Object.defineProperty(new Error('Invariant: Expected postponed to be undefined'), \"__NEXT_ERROR_CODE\", {\n value: \"E372\",\n enumerable: false,\n configurable: true\n });\n }\n return (0,next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__.sendRenderResult)({\n req,\n res,\n type: 'rsc',\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: cachedData.html,\n // Dynamic RSC responses cannot be cached, even if they're\n // configured with `force-static` because we have no way of\n // distinguishing between `force-static` and pages that have no\n // postponed state.\n // TODO: distinguish `force-static` from pages with no postponed state (static)\n cacheControl: isDynamicRSCRequest ? {\n revalidate: 0,\n expire: undefined\n } : cacheEntry.cacheControl\n });\n }\n // As this isn't a prefetch request, we should serve the static flight\n // data.\n return (0,next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__.sendRenderResult)({\n req,\n res,\n type: 'rsc',\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: next_dist_server_render_result__WEBPACK_IMPORTED_MODULE_19__[\"default\"].fromStatic(cachedData.rscData),\n cacheControl: cacheEntry.cacheControl\n });\n }\n // This is a request for HTML data.\n let body = cachedData.html;\n // If there's no postponed state, we should just serve the HTML. This\n // should also be the case for a resume request because it's completed\n // as a server render (rather than a static render).\n if (!didPostpone || minimalMode) {\n return (0,next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__.sendRenderResult)({\n req,\n res,\n type: 'html',\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: body,\n cacheControl: cacheEntry.cacheControl\n });\n }\n // If we're debugging the static shell or the dynamic API accesses, we\n // should just serve the HTML without resuming the render. The returned\n // HTML will be the static shell so all the Dynamic API's will be used\n // during static generation.\n if (isDebugStaticShell || isDebugDynamicAccesses) {\n // Since we're not resuming the render, we need to at least add the\n // closing body and html tags to create valid HTML.\n body.chain(new ReadableStream({\n start (controller) {\n controller.enqueue(next_dist_server_stream_utils_encoded_tags__WEBPACK_IMPORTED_MODULE_21__.ENCODED_TAGS.CLOSED.BODY_AND_HTML);\n controller.close();\n }\n }));\n return (0,next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__.sendRenderResult)({\n req,\n res,\n type: 'html',\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: body,\n cacheControl: {\n revalidate: 0,\n expire: undefined\n }\n });\n }\n // This request has postponed, so let's create a new transformer that the\n // dynamic data can pipe to that will attach the dynamic data to the end\n // of the response.\n const transformer = new TransformStream();\n body.chain(transformer.readable);\n // Perform the render again, but this time, provide the postponed state.\n // We don't await because we want the result to start streaming now, and\n // we've already chained the transformer's readable to the render result.\n doRender({\n span,\n postponed: cachedData.postponed,\n // This is a resume render, not a fallback render, so we don't need to\n // set this.\n fallbackRouteParams: null\n }).then(async (result)=>{\n var _result_value;\n if (!result) {\n throw Object.defineProperty(new Error('Invariant: expected a result to be returned'), \"__NEXT_ERROR_CODE\", {\n value: \"E463\",\n enumerable: false,\n configurable: true\n });\n }\n if (((_result_value = result.value) == null ? void 0 : _result_value.kind) !== next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__.CachedRouteKind.APP_PAGE) {\n var _result_value1;\n throw Object.defineProperty(new Error(`Invariant: expected a page response, got ${(_result_value1 = result.value) == null ? void 0 : _result_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E305\",\n enumerable: false,\n configurable: true\n });\n }\n // Pipe the resume result to the transformer.\n await result.value.html.pipeTo(transformer.writable);\n }).catch((err)=>{\n // An error occurred during piping or preparing the render, abort\n // the transformers writer so we can terminate the stream.\n transformer.writable.abort(err).catch((e)=>{\n console.error(\"couldn't abort transformer\", e);\n });\n });\n return (0,next_dist_server_send_payload__WEBPACK_IMPORTED_MODULE_22__.sendRenderResult)({\n req,\n res,\n type: 'html',\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: body,\n // We don't want to cache the response if it has postponed data because\n // the response being sent to the client it's dynamic parts are streamed\n // to the client on the same request.\n cacheControl: {\n revalidate: 0,\n expire: undefined\n }\n });\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n return await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_5__.BaseServerSpan.handleRequest, {\n spanName: `${method} ${req.url}`,\n kind: next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_3__.SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n // if we aren't wrapped by base-server handle here\n if (!activeSpan && !(err instanceof next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_23__.NoFallbackError)) {\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'render',\n revalidateReason: (0,next_dist_server_instrumentation_utils__WEBPACK_IMPORTED_MODULE_2__.getRevalidateReason)({\n isRevalidate: isSSG,\n isOnDemandRevalidate\n })\n }, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n throw err;\n }\n}\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIvaW5kZXguanM/bmFtZT1hcHAlMkZhZG1pbiUyRnByb2plY3RzJTJGcGFnZSZwYWdlPSUyRmFkbWluJTJGcHJvamVjdHMlMkZwYWdlJmFwcFBhdGhzPSUyRmFkbWluJTJGcHJvamVjdHMlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGYWRtaW4lMkZwcm9qZWN0cyUyRnBhZ2UudHN4JmFwcERpcj0lMkZob21lJTJGTmljaG9sYWklMkZOZXh0Y2xvdWQlMkZEZXYlMkZCaW9oYXphcmRWRlhfV2Vic2l0ZSUyRmJpb2hhemFyZC12ZnglMkZzcmMlMkZhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPSUyRmhvbWUlMkZOaWNob2xhaSUyRk5leHRjbG91ZCUyRkRldiUyRkJpb2hhemFyZFZGWF9XZWJzaXRlJTJGYmlvaGF6YXJkLXZmeCZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD0mcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCZpc0dsb2JhbE5vdEZvdW5kRW5hYmxlZD0hIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNCQUFzQixvSkFBdUg7QUFDN0ksc0JBQXNCLHVPQUF3RjtBQUM5RyxzQkFBc0IsaU9BQXFGO0FBQzNHLHNCQUFzQixpT0FBcUY7QUFDM0csc0JBQXNCLHVPQUF3RjtBQUM5RyxzQkFBc0IsZ0tBQTZIO0FBQ25KLG9CQUFvQiw4S0FBb0k7QUFHdEo7QUFHQTtBQUMyRTtBQUNMO0FBQ1Q7QUFDTztBQUNPO0FBQ087QUFDUDtBQUNLO0FBQ1k7QUFDVztBQUN4QjtBQUNGO0FBQ2E7QUFDaUU7QUFDaEY7QUFDWDtBQUNRO0FBQ2hCO0FBQ3VCO0FBQ1A7QUFDVDtBQUNpQjtBQUNsRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0MsMGVBQXlRO0FBQzdTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLDBlQUF5UTtBQUM3UztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUN1QjtBQUdyQjtBQUNxQjtBQUN2Qiw2QkFBNkIsbUJBQW1CO0FBQ2hEO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFHRTtBQUNvRjtBQUdwRjtBQUNGO0FBQ08sd0JBQXdCLHVHQUFrQjtBQUNqRDtBQUNBLGNBQWMsa0VBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsYUFBYSxPQUFvQyxJQUFJLENBQUU7QUFDdkQsZ0JBQWdCLE1BQXVDO0FBQ3ZELENBQUM7QUFDTTtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFCLEVBQUUsRUFFMUIsQ0FBQztBQUNOO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixPQUF3QztBQUN2RSw2QkFBNkIsNkVBQWM7QUFDM0M7QUFDQSx3QkFBd0IsNkVBQWM7QUFDdEM7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVkscVNBQXFTO0FBQ2pUO0FBQ0EsOEJBQThCLDhGQUFnQjtBQUM5QyxVQUFVLHVCQUF1QjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixxRkFBVTtBQUM5QixzQkFBc0IsMEZBQWdCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyw2RUFBYyxxREFBcUQsd0dBQTJCO0FBQ2pJO0FBQ0EseUJBQXlCLDZFQUFjLDZDQUE2Qyx1RkFBVTtBQUM5RixtQ0FBbUMsMkdBQXlCO0FBQzVEO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QiwyRkFBb0I7QUFDbEQ7QUFDQTtBQUNBLHFDQUFxQyxNQUE0RyxJQUFJLENBQWU7QUFDcEs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQSxrQ0FBa0MsNkVBQWM7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsc0dBQTRCO0FBQ2pGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLG9FQUFTO0FBQ3BCO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsNkdBQThCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixnR0FBcUI7QUFDbEQ7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0E7QUFDQSxtQkFBbUIsNEVBQVM7QUFDNUI7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLDRFQUFlO0FBQy9DLGdDQUFnQyw2RUFBZ0I7QUFDaEQ7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLElBQXNDO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlFQUFpRSxnRkFBYztBQUMvRSwrREFBK0QseUNBQXlDO0FBQ3hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLFFBQVEsRUFBRSxNQUFNO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0Esa0JBQWtCO0FBQ2xCLHVDQUF1QyxRQUFRLEVBQUUsUUFBUTtBQUN6RDtBQUNBLGFBQWE7QUFDYjtBQUNBLGtDQUFrQyxzQ0FBc0M7QUFDeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLDBDQUEwQyw2RUFBYztBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBLCtCQUErQiwyRkFBYztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQyw2RUFBYztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsSUFBSTtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsNENBQTRDO0FBQzVDO0FBQ0EseUJBQXlCLDZFQUFjO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFdBQVc7QUFDL0Isb0JBQW9CLDBCQUEwQjtBQUM5QyxtQ0FBbUM7QUFDbkM7QUFDQSx3QkFBd0IsNEVBQXNCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhHQUE4RyxpQkFBaUIsRUFBRSxvRkFBb0YsOEJBQThCLE9BQU87QUFDMVA7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsNkVBQWU7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyx1REFBdUQ7QUFDbEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsMkVBQWtCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLGlFQUFZLGNBQWMsZ0ZBQUs7QUFDaEUsK0JBQStCLGlFQUFZO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBELGlFQUFZO0FBQ3RFLCtCQUErQixpRUFBWTtBQUMzQztBQUNBLGlEQUFpRCxpRUFBWTtBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLGlFQUFZO0FBQzdDLDhCQUE4Qiw2RkFBZTtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsa0VBQVM7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVFQUF1RSxnR0FBc0I7QUFDN0YsNkJBQTZCO0FBQzdCO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBLDhCQUE4Qiw2RUFBZTtBQUM3Qyw4QkFBOEIsdUVBQVk7QUFDMUMsb0NBQW9DO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrRUFBK0UsNkVBQWMsd0RBQXdELGdHQUFzQjtBQUMzSztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsMkJBQTJCLGtFQUFTO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EsdUdBQXVHLDZFQUFlO0FBQ3RIO0FBQ0EsaUhBQWlILG1GQUFtRjtBQUNwTTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIscUdBQXdCO0FBQ3REO0FBQ0Esb0JBQW9CLG9CQUFvQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0hBQWdILG9DQUFvQztBQUNwSjtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBLHdDQUF3QyxvRUFBYztBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpSEFBaUgsNkVBQWU7QUFDaEk7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIscUdBQXdCO0FBQ3REO0FBQ0E7QUFDQSxpSEFBaUgsNEVBQXNCO0FBQ3ZJO0FBQ0Esa0NBQWtDLDRFQUFzQjtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixnRkFBZ0I7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyx1RUFBWTtBQUM1QztBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLGdGQUFnQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLHVFQUFZO0FBQ3hDO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyw2RUFBYztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIseUJBQXlCLDZFQUFjO0FBQ3ZDLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLDRFQUFzQjtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJHQUEyRyw0RUFBc0I7QUFDakk7QUFDQSw4QkFBOEIsNEVBQXNCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsaUdBQWtCO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLHFHQUF3QjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBLDJCQUEyQixnRkFBZ0I7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQixxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLGdGQUFnQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLHVFQUFZO0FBQ3hDO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLGdGQUFnQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyxxRkFBWTtBQUN2RDtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLHVCQUF1QixnRkFBZ0I7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBLCtGQUErRiw2RUFBZTtBQUM5RztBQUNBLHNHQUFzRyx1RUFBdUU7QUFDN0s7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2IsbUJBQW1CLGdGQUFnQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWLG9GQUFvRixnRkFBYztBQUNsRyxpQ0FBaUMsUUFBUSxFQUFFLFFBQVE7QUFDbkQsMEJBQTBCLHVFQUFRO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsNENBQTRDLDZGQUFlO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLDJGQUFtQjtBQUNyRDtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbW9kdWxlMCA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L3NyYy9hcHAvbGF5b3V0LnRzeFwiKTtcbmNvbnN0IG1vZHVsZTEgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9idWlsdGluL2dsb2JhbC1lcnJvci5qc1wiKTtcbmNvbnN0IG1vZHVsZTIgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9idWlsdGluL25vdC1mb3VuZC5qc1wiKTtcbmNvbnN0IG1vZHVsZTMgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9idWlsdGluL2ZvcmJpZGRlbi5qc1wiKTtcbmNvbnN0IG1vZHVsZTQgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9idWlsdGluL3VuYXV0aG9yaXplZC5qc1wiKTtcbmNvbnN0IG1vZHVsZTUgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9zcmMvYXBwL2FkbWluL2xheW91dC50c3hcIik7XG5jb25zdCBwYWdlNiA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L3NyYy9hcHAvYWRtaW4vcHJvamVjdHMvcGFnZS50c3hcIik7XG5pbXBvcnQgeyBBcHBQYWdlUm91dGVNb2R1bGUgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5jb21waWxlZFwiIHdpdGgge1xuICAgICd0dXJib3BhY2stdHJhbnNpdGlvbic6ICduZXh0LXNzcidcbn07XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9yb3V0ZS1raW5kXCIgd2l0aCB7XG4gICAgJ3R1cmJvcGFjay10cmFuc2l0aW9uJzogJ25leHQtc2VydmVyLXV0aWxpdHknXG59O1xuaW1wb3J0IHsgZ2V0UmV2YWxpZGF0ZVJlYXNvbiB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2luc3RydW1lbnRhdGlvbi91dGlsc1wiO1xuaW1wb3J0IHsgZ2V0VHJhY2VyLCBTcGFuS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2xpYi90cmFjZS90cmFjZXJcIjtcbmltcG9ydCB7IGdldFJlcXVlc3RNZXRhIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvcmVxdWVzdC1tZXRhXCI7XG5pbXBvcnQgeyBCYXNlU2VydmVyU3BhbiB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2xpYi90cmFjZS9jb25zdGFudHNcIjtcbmltcG9ydCB7IGludGVyb3BEZWZhdWx0IH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9pbnRlcm9wLWRlZmF1bHRcIjtcbmltcG9ydCB7IE5vZGVOZXh0UmVxdWVzdCwgTm9kZU5leHRSZXNwb25zZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Jhc2UtaHR0cC9ub2RlXCI7XG5pbXBvcnQgeyBjaGVja0lzQXBwUFBSRW5hYmxlZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2xpYi9leHBlcmltZW50YWwvcHByXCI7XG5pbXBvcnQgeyBnZXRGYWxsYmFja1JvdXRlUGFyYW1zIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvcmVxdWVzdC9mYWxsYmFjay1wYXJhbXNcIjtcbmltcG9ydCB7IHNldFJlZmVyZW5jZU1hbmlmZXN0c1NpbmdsZXRvbiB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW5jcnlwdGlvbi11dGlsc1wiO1xuaW1wb3J0IHsgaXNIdG1sQm90UmVxdWVzdCwgc2hvdWxkU2VydmVTdHJlYW1pbmdNZXRhZGF0YSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2xpYi9zdHJlYW1pbmctbWV0YWRhdGFcIjtcbmltcG9ydCB7IGNyZWF0ZVNlcnZlck1vZHVsZU1hcCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvYWN0aW9uLXV0aWxzXCI7XG5pbXBvcnQgeyBub3JtYWxpemVBcHBQYXRoIH0gZnJvbSBcIm5leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHNcIjtcbmltcG9ydCB7IGdldElzUG9zc2libGVTZXJ2ZXJBY3Rpb24gfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9saWIvc2VydmVyLWFjdGlvbi1yZXF1ZXN0LW1ldGFcIjtcbmltcG9ydCB7IFJTQ19IRUFERVIsIE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUiwgTkVYVF9JU19QUkVSRU5ERVJfSEVBREVSLCBORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItaGVhZGVyc1wiO1xuaW1wb3J0IHsgZ2V0Qm90VHlwZSwgaXNCb3QgfSBmcm9tIFwibmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdFwiO1xuaW1wb3J0IHsgQ2FjaGVkUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvcmVzcG9uc2UtY2FjaGVcIjtcbmltcG9ydCB7IEZhbGxiYWNrTW9kZSwgcGFyc2VGYWxsYmFja0ZpZWxkIH0gZnJvbSBcIm5leHQvZGlzdC9saWIvZmFsbGJhY2tcIjtcbmltcG9ydCBSZW5kZXJSZXN1bHQgZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvcmVuZGVyLXJlc3VsdFwiO1xuaW1wb3J0IHsgQ0FDSEVfT05FX1lFQVIsIE5FWFRfQ0FDSEVfVEFHU19IRUFERVIgfSBmcm9tIFwibmV4dC9kaXN0L2xpYi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVOQ09ERURfVEFHUyB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3N0cmVhbS11dGlscy9lbmNvZGVkLXRhZ3NcIjtcbmltcG9ydCB7IHNlbmRSZW5kZXJSZXN1bHQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9zZW5kLXBheWxvYWRcIjtcbmltcG9ydCB7IE5vRmFsbGJhY2tFcnJvciB9IGZyb20gXCJuZXh0L2Rpc3Qvc2hhcmVkL2xpYi9uby1mYWxsYmFjay1lcnJvci5leHRlcm5hbFwiO1xuLy8gV2UgaW5qZWN0IHRoZSB0cmVlIGFuZCBwYWdlcyBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgdHJlZSA9IHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJycsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJ2FkbWluJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAncHJvamVjdHMnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbcGFnZTYsIFwiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L3NyYy9hcHAvYWRtaW4vcHJvamVjdHMvcGFnZS50c3hcIl0sXG4gICAgICAgICAgXG4gICAgICAgIH1dXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFttb2R1bGU1LCBcIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9zcmMvYXBwL2FkbWluL2xheW91dC50c3hcIl0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgaWNvbjogWyhhc3luYyAocHJvcHMpID0+IChhd2FpdCBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQtbWV0YWRhdGEtaW1hZ2UtbG9hZGVyP3R5cGU9aWNvbiZzZWdtZW50PSZiYXNlUGF0aD0mcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyEvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2FwcC9pY29uLnN2Zz9fX25leHRfbWV0YWRhdGFfX1wiKSkuZGVmYXVsdChwcm9wcykpXSxcbiAgICBhcHBsZTogW10sXG4gICAgb3BlbkdyYXBoOiBbXSxcbiAgICB0d2l0dGVyOiBbXSxcbiAgICBtYW5pZmVzdDogXCIvbWFuaWZlc3Qud2VibWFuaWZlc3RcIlxuICB9XG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbbW9kdWxlMCwgXCIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2FwcC9sYXlvdXQudHN4XCJdLFxuJ2dsb2JhbC1lcnJvcic6IFttb2R1bGUxLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9idWlsdGluL2dsb2JhbC1lcnJvci5qc1wiXSxcbidub3QtZm91bmQnOiBbbW9kdWxlMiwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYnVpbHRpbi9ub3QtZm91bmQuanNcIl0sXG4nZm9yYmlkZGVuJzogW21vZHVsZTMsIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2J1aWx0aW4vZm9yYmlkZGVuLmpzXCJdLFxuJ3VuYXV0aG9yaXplZCc6IFttb2R1bGU0LCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9idWlsdGluL3VuYXV0aG9yaXplZC5qc1wiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICBpY29uOiBbKGFzeW5jIChwcm9wcykgPT4gKGF3YWl0IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC1tZXRhZGF0YS1pbWFnZS1sb2FkZXI/dHlwZT1pY29uJnNlZ21lbnQ9JmJhc2VQYXRoPSZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPWpzIS9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9zcmMvYXBwL2ljb24uc3ZnP19fbmV4dF9tZXRhZGF0YV9fXCIpKS5kZWZhdWx0KHByb3BzKSldLFxuICAgIGFwcGxlOiBbXSxcbiAgICBvcGVuR3JhcGg6IFtdLFxuICAgIHR3aXR0ZXI6IFtdLFxuICAgIG1hbmlmZXN0OiBcIi9tYW5pZmVzdC53ZWJtYW5pZmVzdFwiXG4gIH1cbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0uY2hpbGRyZW47XG5jb25zdCBwYWdlcyA9IFtcIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9zcmMvYXBwL2FkbWluL3Byb2plY3RzL3BhZ2UudHN4XCJdO1xuZXhwb3J0IHsgdHJlZSwgcGFnZXMgfTtcbmltcG9ydCBHbG9iYWxFcnJvciBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2J1aWx0aW4vZ2xvYmFsLWVycm9yLmpzXCIgd2l0aCB7XG4gICAgJ3R1cmJvcGFjay10cmFuc2l0aW9uJzogJ25leHQtc2VydmVyLXV0aWxpdHknXG59O1xuZXhwb3J0IHsgR2xvYmFsRXJyb3IgfTtcbmNvbnN0IF9fbmV4dF9hcHBfcmVxdWlyZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfX1xuY29uc3QgX19uZXh0X2FwcF9sb2FkX2NodW5rX18gPSAoKSA9PiBQcm9taXNlLnJlc29sdmUoKVxuZXhwb3J0IGNvbnN0IF9fbmV4dF9hcHBfXyA9IHtcbiAgICByZXF1aXJlOiBfX25leHRfYXBwX3JlcXVpcmVfXyxcbiAgICBsb2FkQ2h1bms6IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fXG59O1xuaW1wb3J0ICogYXMgZW50cnlCYXNlIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiIHdpdGgge1xuICAgICd0dXJib3BhY2stdHJhbnNpdGlvbic6ICduZXh0LXNlcnZlci11dGlsaXR5J1xufTtcbmltcG9ydCB7IFJlZGlyZWN0U3RhdHVzQ29kZSB9IGZyb20gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVkaXJlY3Qtc3RhdHVzLWNvZGVcIjtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiIHdpdGgge1xuICAgICd0dXJib3BhY2stdHJhbnNpdGlvbic6ICduZXh0LXNlcnZlci11dGlsaXR5J1xufTtcbi8vIENyZWF0ZSBhbmQgZXhwb3J0IHRoZSByb3V0ZSBtb2R1bGUgdGhhdCB3aWxsIGJlIGNvbnN1bWVkLlxuZXhwb3J0IGNvbnN0IHJvdXRlTW9kdWxlID0gbmV3IEFwcFBhZ2VSb3V0ZU1vZHVsZSh7XG4gICAgZGVmaW5pdGlvbjoge1xuICAgICAgICBraW5kOiBSb3V0ZUtpbmQuQVBQX1BBR0UsXG4gICAgICAgIHBhZ2U6IFwiL2FkbWluL3Byb2plY3RzL3BhZ2VcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL2FkbWluL3Byb2plY3RzXCIsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgYnVuZGxlUGF0aDogJycsXG4gICAgICAgIGZpbGVuYW1lOiAnJyxcbiAgICAgICAgYXBwUGF0aHM6IFtdXG4gICAgfSxcbiAgICB1c2VybGFuZDoge1xuICAgICAgICBsb2FkZXJUcmVlOiB0cmVlXG4gICAgfSxcbiAgICBkaXN0RGlyOiBwcm9jZXNzLmVudi5fX05FWFRfUkVMQVRJVkVfRElTVF9ESVIgfHwgJycsXG4gICAgcHJvamVjdERpcjogcHJvY2Vzcy5lbnYuX19ORVhUX1JFTEFUSVZFX1BST0pFQ1RfRElSIHx8ICcnXG59KTtcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKHJlcSwgcmVzLCBjdHgpIHtcbiAgICB2YXIgX3RoaXM7XG4gICAgbGV0IHNyY1BhZ2UgPSBcIi9hZG1pbi9wcm9qZWN0cy9wYWdlXCI7XG4gICAgLy8gdHVyYm9wYWNrIGRvZXNuJ3Qgbm9ybWFsaXplIGAvaW5kZXhgIGluIHRoZSBwYWdlIG5hbWVcbiAgICAvLyBzbyB3ZSBuZWVkIHRvIHRvIHByb2Nlc3MgZHluYW1pYyByb3V0ZXMgcHJvcGVybHlcbiAgICAvLyBUT0RPOiBmaXggdHVyYm9wYWNrIHByb3ZpZGluZyBkaWZmZXJpbmcgdmFsdWUgZnJvbSB3ZWJwYWNrXG4gICAgaWYgKHByb2Nlc3MuZW52LlRVUkJPUEFDSykge1xuICAgICAgICBzcmNQYWdlID0gc3JjUGFnZS5yZXBsYWNlKC9cXC9pbmRleCQvLCAnJykgfHwgJy8nO1xuICAgIH0gZWxzZSBpZiAoc3JjUGFnZSA9PT0gJy9pbmRleCcpIHtcbiAgICAgICAgLy8gd2UgYWx3YXlzIG5vcm1hbGl6ZSAvaW5kZXggc3BlY2lmaWNhbGx5XG4gICAgICAgIHNyY1BhZ2UgPSAnLyc7XG4gICAgfVxuICAgIGNvbnN0IG11bHRpWm9uZURyYWZ0TW9kZSA9IHByb2Nlc3MuZW52Ll9fTkVYVF9NVUxUSV9aT05FX0RSQUZUX01PREU7XG4gICAgY29uc3QgaW5pdGlhbFBvc3Rwb25lZCA9IGdldFJlcXVlc3RNZXRhKHJlcSwgJ3Bvc3Rwb25lZCcpO1xuICAgIC8vIFRPRE86IHJlcGxhY2Ugd2l0aCBtb3JlIHNwZWNpZmljIGZsYWdzXG4gICAgY29uc3QgbWluaW1hbE1vZGUgPSBnZXRSZXF1ZXN0TWV0YShyZXEsICdtaW5pbWFsTW9kZScpO1xuICAgIGNvbnN0IHByZXBhcmVSZXN1bHQgPSBhd2FpdCByb3V0ZU1vZHVsZS5wcmVwYXJlKHJlcSwgcmVzLCB7XG4gICAgICAgIHNyY1BhZ2UsXG4gICAgICAgIG11bHRpWm9uZURyYWZ0TW9kZVxuICAgIH0pO1xuICAgIGlmICghcHJlcGFyZVJlc3VsdCkge1xuICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDQwMDtcbiAgICAgICAgcmVzLmVuZCgnQmFkIFJlcXVlc3QnKTtcbiAgICAgICAgY3R4LndhaXRVbnRpbCA9PSBudWxsID8gdm9pZCAwIDogY3R4LndhaXRVbnRpbC5jYWxsKGN0eCwgUHJvbWlzZS5yZXNvbHZlKCkpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgeyBidWlsZElkLCBxdWVyeSwgcGFyYW1zLCBwYXJzZWRVcmwsIHBhZ2VJc0R5bmFtaWMsIGJ1aWxkTWFuaWZlc3QsIG5leHRGb250TWFuaWZlc3QsIHJlYWN0TG9hZGFibGVNYW5pZmVzdCwgc2VydmVyQWN0aW9uc01hbmlmZXN0LCBjbGllbnRSZWZlcmVuY2VNYW5pZmVzdCwgc3VicmVzb3VyY2VJbnRlZ3JpdHlNYW5pZmVzdCwgcHJlcmVuZGVyTWFuaWZlc3QsIGlzRHJhZnRNb2RlLCByZXNvbHZlZFBhdGhuYW1lLCByZXZhbGlkYXRlT25seUdlbmVyYXRlZCwgcm91dGVyU2VydmVyQ29udGV4dCwgbmV4dENvbmZpZyB9ID0gcHJlcGFyZVJlc3VsdDtcbiAgICBjb25zdCBwYXRobmFtZSA9IHBhcnNlZFVybC5wYXRobmFtZSB8fCAnLyc7XG4gICAgY29uc3Qgbm9ybWFsaXplZFNyY1BhZ2UgPSBub3JtYWxpemVBcHBQYXRoKHNyY1BhZ2UpO1xuICAgIGxldCB7IGlzT25EZW1hbmRSZXZhbGlkYXRlIH0gPSBwcmVwYXJlUmVzdWx0O1xuICAgIGNvbnN0IHByZXJlbmRlckluZm8gPSBwcmVyZW5kZXJNYW5pZmVzdC5keW5hbWljUm91dGVzW25vcm1hbGl6ZWRTcmNQYWdlXTtcbiAgICBjb25zdCBpc1ByZXJlbmRlcmVkID0gcHJlcmVuZGVyTWFuaWZlc3Qucm91dGVzW3Jlc29sdmVkUGF0aG5hbWVdO1xuICAgIGxldCBpc1NTRyA9IEJvb2xlYW4ocHJlcmVuZGVySW5mbyB8fCBpc1ByZXJlbmRlcmVkIHx8IHByZXJlbmRlck1hbmlmZXN0LnJvdXRlc1tub3JtYWxpemVkU3JjUGFnZV0pO1xuICAgIGNvbnN0IHVzZXJBZ2VudCA9IHJlcS5oZWFkZXJzWyd1c2VyLWFnZW50J10gfHwgJyc7XG4gICAgY29uc3QgYm90VHlwZSA9IGdldEJvdFR5cGUodXNlckFnZW50KTtcbiAgICBjb25zdCBpc0h0bWxCb3QgPSBpc0h0bWxCb3RSZXF1ZXN0KHJlcSk7XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3QgYmVpbmcgbWFkZSBpcyBmb3IgYW4gYXBwXG4gICAqIHByZWZldGNoIHJlcXVlc3QuXG4gICAqLyBjb25zdCBpc1ByZWZldGNoUlNDUmVxdWVzdCA9IGdldFJlcXVlc3RNZXRhKHJlcSwgJ2lzUHJlZmV0Y2hSU0NSZXF1ZXN0JykgPz8gQm9vbGVhbihyZXEuaGVhZGVyc1tORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdKTtcbiAgICAvLyBOT1RFOiBEb24ndCBkZWxldGUgaGVhZGVyc1tSU0NdIHlldCwgaXQgc3RpbGwgbmVlZHMgdG8gYmUgdXNlZCBpbiByZW5kZXJUb0hUTUwgbGF0ZXJcbiAgICBjb25zdCBpc1JTQ1JlcXVlc3QgPSBnZXRSZXF1ZXN0TWV0YShyZXEsICdpc1JTQ1JlcXVlc3QnKSA/PyBCb29sZWFuKHJlcS5oZWFkZXJzW1JTQ19IRUFERVJdKTtcbiAgICBjb25zdCBpc1Bvc3NpYmxlU2VydmVyQWN0aW9uID0gZ2V0SXNQb3NzaWJsZVNlcnZlckFjdGlvbihyZXEpO1xuICAgIC8qKlxuICAgKiBJZiB0aGUgcm91dGUgYmVpbmcgcmVuZGVyZWQgaXMgYW4gYXBwIHBhZ2UsIGFuZCB0aGUgcHByIGZlYXR1cmUgaGFzIGJlZW5cbiAgICogZW5hYmxlZCwgdGhlbiB0aGUgZ2l2ZW4gcm91dGUgX2NvdWxkXyBzdXBwb3J0IFBQUi5cbiAgICovIGNvbnN0IGNvdWxkU3VwcG9ydFBQUiA9IGNoZWNrSXNBcHBQUFJFbmFibGVkKG5leHRDb25maWcuZXhwZXJpbWVudGFsLnBwcik7XG4gICAgLy8gV2hlbiBlbmFibGVkLCB0aGlzIHdpbGwgYWxsb3cgdGhlIHVzZSBvZiB0aGUgYD9fX25leHRwcHJvbmx5YCBxdWVyeSB0b1xuICAgIC8vIGVuYWJsZSBkZWJ1Z2dpbmcgb2YgdGhlIHN0YXRpYyBzaGVsbC5cbiAgICBjb25zdCBoYXNEZWJ1Z1N0YXRpY1NoZWxsUXVlcnkgPSBwcm9jZXNzLmVudi5fX05FWFRfRVhQRVJJTUVOVEFMX1NUQVRJQ19TSEVMTF9ERUJVR0dJTkcgPT09ICcxJyAmJiB0eXBlb2YgcXVlcnkuX19uZXh0cHByb25seSAhPT0gJ3VuZGVmaW5lZCcgJiYgY291bGRTdXBwb3J0UFBSO1xuICAgIC8vIFdoZW4gZW5hYmxlZCwgdGhpcyB3aWxsIGFsbG93IHRoZSB1c2Ugb2YgdGhlIGA/X19uZXh0cHByb25seWAgcXVlcnlcbiAgICAvLyB0byBlbmFibGUgZGVidWdnaW5nIG9mIHRoZSBmYWxsYmFjayBzaGVsbC5cbiAgICBjb25zdCBoYXNEZWJ1Z0ZhbGxiYWNrU2hlbGxRdWVyeSA9IGhhc0RlYnVnU3RhdGljU2hlbGxRdWVyeSAmJiBxdWVyeS5fX25leHRwcHJvbmx5ID09PSAnZmFsbGJhY2snO1xuICAgIC8vIFRoaXMgcGFnZSBzdXBwb3J0cyBQUFIgaWYgaXQgaXMgbWFya2VkIGFzIGJlaW5nIGBQQVJUSUFMTFlfU1RBVElDYCBpbiB0aGVcbiAgICAvLyBwcmVyZW5kZXIgbWFuaWZlc3QgYW5kIHRoaXMgaXMgYW4gYXBwIHBhZ2UuXG4gICAgY29uc3QgaXNSb3V0ZVBQUkVuYWJsZWQgPSBjb3VsZFN1cHBvcnRQUFIgJiYgKCgoX3RoaXMgPSBwcmVyZW5kZXJNYW5pZmVzdC5yb3V0ZXNbbm9ybWFsaXplZFNyY1BhZ2VdID8/IHByZXJlbmRlck1hbmlmZXN0LmR5bmFtaWNSb3V0ZXNbbm9ybWFsaXplZFNyY1BhZ2VdKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMucmVuZGVyaW5nTW9kZSkgPT09ICdQQVJUSUFMTFlfU1RBVElDJyB8fCAvLyBJZGVhbGx5IHdlJ2Qgd2FudCB0byBjaGVjayB0aGUgYXBwQ29uZmlnIHRvIHNlZSBpZiB0aGlzIHBhZ2UgaGFzIFBQUlxuICAgIC8vIGVuYWJsZWQgb3Igbm90LCBidXQgdGhhdCB3b3VsZCByZXF1aXJlIHBsdW1iaW5nIHRoZSBhcHBDb25maWcgdGhyb3VnaFxuICAgIC8vIHRvIHRoZSBzZXJ2ZXIgZHVyaW5nIGRldmVsb3BtZW50LiBXZSBhc3N1bWUgdGhhdCB0aGUgcGFnZSBzdXBwb3J0cyBpdFxuICAgIC8vIGJ1dCBvbmx5IGR1cmluZyBkZXZlbG9wbWVudC5cbiAgICBoYXNEZWJ1Z1N0YXRpY1NoZWxsUXVlcnkgJiYgKHJvdXRlTW9kdWxlLmlzRGV2ID09PSB0cnVlIHx8IChyb3V0ZXJTZXJ2ZXJDb250ZXh0ID09IG51bGwgPyB2b2lkIDAgOiByb3V0ZXJTZXJ2ZXJDb250ZXh0LmV4cGVyaW1lbnRhbFRlc3RQcm94eSkgPT09IHRydWUpKTtcbiAgICBjb25zdCBpc0RlYnVnU3RhdGljU2hlbGwgPSBoYXNEZWJ1Z1N0YXRpY1NoZWxsUXVlcnkgJiYgaXNSb3V0ZVBQUkVuYWJsZWQ7XG4gICAgLy8gV2Ugc2hvdWxkIGVuYWJsZSBkZWJ1Z2dpbmcgZHluYW1pYyBhY2Nlc3NlcyB3aGVuIHRoZSBzdGF0aWMgc2hlbGxcbiAgICAvLyBkZWJ1Z2dpbmcgaGFzIGJlZW4gZW5hYmxlZCBhbmQgd2UncmUgYWxzbyBpbiBkZXZlbG9wbWVudCBtb2RlLlxuICAgIGNvbnN0IGlzRGVidWdEeW5hbWljQWNjZXNzZXMgPSBpc0RlYnVnU3RhdGljU2hlbGwgJiYgcm91dGVNb2R1bGUuaXNEZXYgPT09IHRydWU7XG4gICAgY29uc3QgaXNEZWJ1Z0ZhbGxiYWNrU2hlbGwgPSBoYXNEZWJ1Z0ZhbGxiYWNrU2hlbGxRdWVyeSAmJiBpc1JvdXRlUFBSRW5hYmxlZDtcbiAgICAvLyBJZiB3ZSdyZSBpbiBtaW5pbWFsIG1vZGUsIHRoZW4gdHJ5IHRvIGdldCB0aGUgcG9zdHBvbmVkIGluZm9ybWF0aW9uIGZyb21cbiAgICAvLyB0aGUgcmVxdWVzdCBtZXRhZGF0YS4gSWYgYXZhaWxhYmxlLCB1c2UgaXQgZm9yIHJlc3VtaW5nIHRoZSBwb3N0cG9uZWRcbiAgICAvLyByZW5kZXIuXG4gICAgY29uc3QgbWluaW1hbFBvc3Rwb25lZCA9IGlzUm91dGVQUFJFbmFibGVkID8gaW5pdGlhbFBvc3Rwb25lZCA6IHVuZGVmaW5lZDtcbiAgICAvLyBJZiBQUFIgaXMgZW5hYmxlZCwgYW5kIHRoaXMgaXMgYSBSU0MgcmVxdWVzdCAoYnV0IG5vdCBhIHByZWZldGNoKSwgdGhlblxuICAgIC8vIHdlIGNhbiB1c2UgdGhpcyBmYWN0IHRvIG9ubHkgZ2VuZXJhdGUgdGhlIGZsaWdodCBkYXRhIGZvciB0aGUgcmVxdWVzdFxuICAgIC8vIGJlY2F1c2Ugd2UgY2FuJ3QgY2FjaGUgdGhlIEhUTUwgKGFzIGl0J3MgYWxzbyBkeW5hbWljKS5cbiAgICBjb25zdCBpc0R5bmFtaWNSU0NSZXF1ZXN0ID0gaXNSb3V0ZVBQUkVuYWJsZWQgJiYgaXNSU0NSZXF1ZXN0ICYmICFpc1ByZWZldGNoUlNDUmVxdWVzdDtcbiAgICAvLyBOZWVkIHRvIHJlYWQgdGhpcyBiZWZvcmUgaXQncyBzdHJpcHBlZCBieSBzdHJpcEZsaWdodEhlYWRlcnMuIFdlIGRvbid0XG4gICAgLy8gbmVlZCB0byB0cmFuc2ZlciBpdCB0byB0aGUgcmVxdWVzdCBtZXRhIGJlY2F1c2UgaXQncyBvbmx5IHJlYWRcbiAgICAvLyB3aXRoaW4gdGhpcyBmdW5jdGlvbjsgdGhlIHN0YXRpYyBzZWdtZW50IGRhdGEgc2hvdWxkIGhhdmUgYWxyZWFkeSBiZWVuXG4gICAgLy8gZ2VuZXJhdGVkLCBzbyB3ZSB3aWxsIGFsd2F5cyBlaXRoZXIgcmV0dXJuIGEgc3RhdGljIHJlc3BvbnNlIG9yIGEgNDA0LlxuICAgIGNvbnN0IHNlZ21lbnRQcmVmZXRjaEhlYWRlciA9IGdldFJlcXVlc3RNZXRhKHJlcSwgJ3NlZ21lbnRQcmVmZXRjaFJTQ1JlcXVlc3QnKTtcbiAgICAvLyBUT0RPOiBpbnZlc3RpZ2F0ZSBleGlzdGluZyBidWcgd2l0aCBzaG91bGRTZXJ2ZVN0cmVhbWluZ01ldGFkYXRhIGFsd2F5c1xuICAgIC8vIGJlaW5nIHRydWUgZm9yIGEgcmV2YWxpZGF0ZSBkdWUgdG8gbW9kaWZ5aW5nIHRoZSBiYXNlLXNlcnZlciB0aGlzLnJlbmRlck9wdHNcbiAgICAvLyB3aGVuIGZpeGluZyB0aGlzIHRvIGNvcnJlY3QgbG9naWMgaXQgY2F1c2VzIGh5ZHJhdGlvbiBpc3N1ZSBzaW5jZSB3ZSBzZXRcbiAgICAvLyBzZXJ2ZVN0cmVhbWluZ01ldGFkYXRhIHRvIHRydWUgZHVyaW5nIGV4cG9ydFxuICAgIGxldCBzZXJ2ZVN0cmVhbWluZ01ldGFkYXRhID0gIXVzZXJBZ2VudCA/IHRydWUgOiBzaG91bGRTZXJ2ZVN0cmVhbWluZ01ldGFkYXRhKHVzZXJBZ2VudCwgbmV4dENvbmZpZy5odG1sTGltaXRlZEJvdHMpO1xuICAgIGlmIChpc0h0bWxCb3QgJiYgaXNSb3V0ZVBQUkVuYWJsZWQpIHtcbiAgICAgICAgaXNTU0cgPSBmYWxzZTtcbiAgICAgICAgc2VydmVTdHJlYW1pbmdNZXRhZGF0YSA9IGZhbHNlO1xuICAgIH1cbiAgICAvLyBJbiBkZXZlbG9wbWVudCwgd2UgYWx3YXlzIHdhbnQgdG8gZ2VuZXJhdGUgZHluYW1pYyBIVE1MLlxuICAgIGxldCBzdXBwb3J0c0R5bmFtaWNSZXNwb25zZSA9IC8vIElmIHdlJ3JlIGluIGRldmVsb3BtZW50LCB3ZSBhbHdheXMgc3VwcG9ydCBkeW5hbWljIEhUTUwsIHVubGVzcyBpdCdzXG4gICAgLy8gYSBkYXRhIHJlcXVlc3QsIGluIHdoaWNoIGNhc2Ugd2Ugb25seSBwcm9kdWNlIHN0YXRpYyBIVE1MLlxuICAgIHJvdXRlTW9kdWxlLmlzRGV2ID09PSB0cnVlIHx8IC8vIElmIHRoaXMgaXMgbm90IFNTRyBvciBkb2VzIG5vdCBoYXZlIHN0YXRpYyBwYXRocywgdGhlbiBpdCBzdXBwb3J0c1xuICAgIC8vIGR5bmFtaWMgSFRNTC5cbiAgICAhaXNTU0cgfHwgLy8gSWYgdGhpcyByZXF1ZXN0IGhhcyBwcm92aWRlZCBwb3N0cG9uZWQgZGF0YSwgaXQgc3VwcG9ydHMgZHluYW1pY1xuICAgIC8vIEhUTUwuXG4gICAgdHlwZW9mIGluaXRpYWxQb3N0cG9uZWQgPT09ICdzdHJpbmcnIHx8IC8vIElmIHRoaXMgaXMgYSBkeW5hbWljIFJTQyByZXF1ZXN0LCB0aGVuIHRoaXMgcmVuZGVyIHN1cHBvcnRzIGR5bmFtaWNcbiAgICAvLyBIVE1MIChpdCdzIGR5bmFtaWMpLlxuICAgIGlzRHluYW1pY1JTQ1JlcXVlc3Q7XG4gICAgLy8gV2hlbiBodG1sIGJvdHMgcmVxdWVzdCBQUFIgcGFnZSwgcGVyZm9ybSB0aGUgZnVsbCBkeW5hbWljIHJlbmRlcmluZy5cbiAgICBjb25zdCBzaG91bGRXYWl0T25BbGxSZWFkeSA9IGlzSHRtbEJvdCAmJiBpc1JvdXRlUFBSRW5hYmxlZDtcbiAgICBsZXQgc3NnQ2FjaGVLZXkgPSBudWxsO1xuICAgIGlmICghaXNEcmFmdE1vZGUgJiYgaXNTU0cgJiYgIXN1cHBvcnRzRHluYW1pY1Jlc3BvbnNlICYmICFpc1Bvc3NpYmxlU2VydmVyQWN0aW9uICYmICFtaW5pbWFsUG9zdHBvbmVkICYmICFpc0R5bmFtaWNSU0NSZXF1ZXN0KSB7XG4gICAgICAgIHNzZ0NhY2hlS2V5ID0gcmVzb2x2ZWRQYXRobmFtZTtcbiAgICB9XG4gICAgLy8gdGhlIHN0YXRpY1BhdGhLZXkgZGlmZmVycyBmcm9tIHNzZ0NhY2hlS2V5IHNpbmNlXG4gICAgLy8gc3NnQ2FjaGVLZXkgaXMgbnVsbCBpbiBkZXYgc2luY2Ugd2UncmUgYWx3YXlzIGluIFwiZHluYW1pY1wiXG4gICAgLy8gbW9kZSBpbiBkZXYgdG8gYnlwYXNzIHRoZSBjYWNoZSwgYnV0IHdlIHN0aWxsIG5lZWQgdG8gaG9ub3JcbiAgICAvLyBkeW5hbWljUGFyYW1zID0gZmFsc2UgaW4gZGV2IG1vZGVcbiAgICBsZXQgc3RhdGljUGF0aEtleSA9IHNzZ0NhY2hlS2V5O1xuICAgIGlmICghc3RhdGljUGF0aEtleSAmJiByb3V0ZU1vZHVsZS5pc0Rldikge1xuICAgICAgICBzdGF0aWNQYXRoS2V5ID0gcmVzb2x2ZWRQYXRobmFtZTtcbiAgICB9XG4gICAgY29uc3QgQ29tcG9uZW50TW9kID0ge1xuICAgICAgICAuLi5lbnRyeUJhc2UsXG4gICAgICAgIHRyZWUsXG4gICAgICAgIHBhZ2VzLFxuICAgICAgICBHbG9iYWxFcnJvcixcbiAgICAgICAgaGFuZGxlcixcbiAgICAgICAgcm91dGVNb2R1bGUsXG4gICAgICAgIF9fbmV4dF9hcHBfX1xuICAgIH07XG4gICAgLy8gQmVmb3JlIHJlbmRlcmluZyAod2hpY2ggaW5pdGlhbGl6ZXMgY29tcG9uZW50IHRyZWUgbW9kdWxlcyksIHdlIGhhdmUgdG9cbiAgICAvLyBzZXQgdGhlIHJlZmVyZW5jZSBtYW5pZmVzdHMgdG8gb3VyIGdsb2JhbCBzdG9yZSBzbyBTZXJ2ZXIgQWN0aW9uJ3NcbiAgICAvLyBlbmNyeXB0aW9uIHV0aWwgY2FuIGFjY2VzcyB0byB0aGVtIGF0IHRoZSB0b3AgbGV2ZWwgb2YgdGhlIHBhZ2UgbW9kdWxlLlxuICAgIGlmIChzZXJ2ZXJBY3Rpb25zTWFuaWZlc3QgJiYgY2xpZW50UmVmZXJlbmNlTWFuaWZlc3QpIHtcbiAgICAgICAgc2V0UmVmZXJlbmNlTWFuaWZlc3RzU2luZ2xldG9uKHtcbiAgICAgICAgICAgIHBhZ2U6IHNyY1BhZ2UsXG4gICAgICAgICAgICBjbGllbnRSZWZlcmVuY2VNYW5pZmVzdCxcbiAgICAgICAgICAgIHNlcnZlckFjdGlvbnNNYW5pZmVzdCxcbiAgICAgICAgICAgIHNlcnZlck1vZHVsZU1hcDogY3JlYXRlU2VydmVyTW9kdWxlTWFwKHtcbiAgICAgICAgICAgICAgICBzZXJ2ZXJBY3Rpb25zTWFuaWZlc3RcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBtZXRob2QgPSByZXEubWV0aG9kIHx8ICdHRVQnO1xuICAgIGNvbnN0IHRyYWNlciA9IGdldFRyYWNlcigpO1xuICAgIGNvbnN0IGFjdGl2ZVNwYW4gPSB0cmFjZXIuZ2V0QWN0aXZlU2NvcGVTcGFuKCk7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgaW52b2tlUm91dGVNb2R1bGUgPSBhc3luYyAoc3BhbiwgY29udGV4dCk9PntcbiAgICAgICAgICAgIGNvbnN0IG5leHRSZXEgPSBuZXcgTm9kZU5leHRSZXF1ZXN0KHJlcSk7XG4gICAgICAgICAgICBjb25zdCBuZXh0UmVzID0gbmV3IE5vZGVOZXh0UmVzcG9uc2UocmVzKTtcbiAgICAgICAgICAgIC8vIFRPRE86IGFkYXB0IGZvciBwdXR0aW5nIHRoZSBSREMgaW5zaWRlIHRoZSBwb3N0cG9uZWQgZGF0YVxuICAgICAgICAgICAgLy8gSWYgd2UncmUgaW4gZGV2LCBhbmQgdGhpcyBpc24ndCBhIHByZWZldGNoIG9yIGEgc2VydmVyIGFjdGlvbixcbiAgICAgICAgICAgIC8vIHdlIHNob3VsZCBzZWVkIHRoZSByZXN1bWUgZGF0YSBjYWNoZS5cbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgICAgICAgICAgIGlmIChuZXh0Q29uZmlnLmV4cGVyaW1lbnRhbC5keW5hbWljSU8gJiYgIWlzUHJlZmV0Y2hSU0NSZXF1ZXN0ICYmICFjb250ZXh0LnJlbmRlck9wdHMuaXNQb3NzaWJsZVNlcnZlckFjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB3YXJtdXAgPSBhd2FpdCByb3V0ZU1vZHVsZS53YXJtdXAobmV4dFJlcSwgbmV4dFJlcywgY29udGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSB3YXJtdXAgaXMgc3VjY2Vzc2Z1bCwgd2Ugc2hvdWxkIHVzZSB0aGUgcmVzdW1lIGRhdGFcbiAgICAgICAgICAgICAgICAgICAgLy8gY2FjaGUgZnJvbSB0aGUgd2FybXVwLlxuICAgICAgICAgICAgICAgICAgICBpZiAod2FybXVwLm1ldGFkYXRhLnJlbmRlclJlc3VtZURhdGFDYWNoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5yZW5kZXJPcHRzLnJlbmRlclJlc3VtZURhdGFDYWNoZSA9IHdhcm11cC5tZXRhZGF0YS5yZW5kZXJSZXN1bWVEYXRhQ2FjaGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcm91dGVNb2R1bGUucmVuZGVyKG5leHRSZXEsIG5leHRSZXMsIGNvbnRleHQpLmZpbmFsbHkoKCk9PntcbiAgICAgICAgICAgICAgICBpZiAoIXNwYW4pIHJldHVybjtcbiAgICAgICAgICAgICAgICBzcGFuLnNldEF0dHJpYnV0ZXMoe1xuICAgICAgICAgICAgICAgICAgICAnaHR0cC5zdGF0dXNfY29kZSc6IHJlcy5zdGF0dXNDb2RlLFxuICAgICAgICAgICAgICAgICAgICAnbmV4dC5yc2MnOiBmYWxzZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvb3RTcGFuQXR0cmlidXRlcyA9IHRyYWNlci5nZXRSb290U3BhbkF0dHJpYnV0ZXMoKTtcbiAgICAgICAgICAgICAgICAvLyBXZSB3ZXJlIHVuYWJsZSB0byBnZXQgYXR0cmlidXRlcywgcHJvYmFibHkgT1RFTCBpcyBub3QgZW5hYmxlZFxuICAgICAgICAgICAgICAgIGlmICghcm9vdFNwYW5BdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJvb3RTcGFuQXR0cmlidXRlcy5nZXQoJ25leHQuc3Bhbl90eXBlJykgIT09IEJhc2VTZXJ2ZXJTcGFuLmhhbmRsZVJlcXVlc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBVbmV4cGVjdGVkIHJvb3Qgc3BhbiB0eXBlICcke3Jvb3RTcGFuQXR0cmlidXRlcy5nZXQoJ25leHQuc3Bhbl90eXBlJyl9Jy4gUGxlYXNlIHJlcG9ydCB0aGlzIE5leHQuanMgaXNzdWUgaHR0cHM6Ly9naXRodWIuY29tL3ZlcmNlbC9uZXh0LmpzYCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3Qgcm91dGUgPSByb290U3BhbkF0dHJpYnV0ZXMuZ2V0KCduZXh0LnJvdXRlJyk7XG4gICAgICAgICAgICAgICAgaWYgKHJvdXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBgJHttZXRob2R9ICR7cm91dGV9YDtcbiAgICAgICAgICAgICAgICAgICAgc3Bhbi5zZXRBdHRyaWJ1dGVzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICduZXh0LnJvdXRlJzogcm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAnaHR0cC5yb3V0ZSc6IHJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ25leHQuc3Bhbl9uYW1lJzogbmFtZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3Bhbi51cGRhdGVOYW1lKG5hbWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4udXBkYXRlTmFtZShgJHttZXRob2R9ICR7cmVxLnVybH1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZG9SZW5kZXIgPSBhc3luYyAoeyBzcGFuLCBwb3N0cG9uZWQsIGZhbGxiYWNrUm91dGVQYXJhbXMgfSk9PntcbiAgICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSB7XG4gICAgICAgICAgICAgICAgcXVlcnksXG4gICAgICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgICAgICAgIHBhZ2U6IG5vcm1hbGl6ZWRTcmNQYWdlLFxuICAgICAgICAgICAgICAgIHNoYXJlZENvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRJZFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc2VydmVyQ29tcG9uZW50c0htckNhY2hlOiBnZXRSZXF1ZXN0TWV0YShyZXEsICdzZXJ2ZXJDb21wb25lbnRzSG1yQ2FjaGUnKSxcbiAgICAgICAgICAgICAgICBmYWxsYmFja1JvdXRlUGFyYW1zLFxuICAgICAgICAgICAgICAgIHJlbmRlck9wdHM6IHtcbiAgICAgICAgICAgICAgICAgICAgQXBwOiAoKT0+bnVsbCxcbiAgICAgICAgICAgICAgICAgICAgRG9jdW1lbnQ6ICgpPT5udWxsLFxuICAgICAgICAgICAgICAgICAgICBwYWdlQ29uZmlnOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgQ29tcG9uZW50TW9kLFxuICAgICAgICAgICAgICAgICAgICBDb21wb25lbnQ6IGludGVyb3BEZWZhdWx0KENvbXBvbmVudE1vZCksXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICAgICAgICAgICAgcm91dGVNb2R1bGUsXG4gICAgICAgICAgICAgICAgICAgIHBhZ2U6IHNyY1BhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHBvc3Rwb25lZCxcbiAgICAgICAgICAgICAgICAgICAgc2hvdWxkV2FpdE9uQWxsUmVhZHksXG4gICAgICAgICAgICAgICAgICAgIHNlcnZlU3RyZWFtaW5nTWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgIHN1cHBvcnRzRHluYW1pY1Jlc3BvbnNlOiB0eXBlb2YgcG9zdHBvbmVkID09PSAnc3RyaW5nJyB8fCBzdXBwb3J0c0R5bmFtaWNSZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRNYW5pZmVzdCxcbiAgICAgICAgICAgICAgICAgICAgbmV4dEZvbnRNYW5pZmVzdCxcbiAgICAgICAgICAgICAgICAgICAgcmVhY3RMb2FkYWJsZU1hbmlmZXN0LFxuICAgICAgICAgICAgICAgICAgICBzdWJyZXNvdXJjZUludGVncml0eU1hbmlmZXN0LFxuICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJBY3Rpb25zTWFuaWZlc3QsXG4gICAgICAgICAgICAgICAgICAgIGNsaWVudFJlZmVyZW5jZU1hbmlmZXN0LFxuICAgICAgICAgICAgICAgICAgICBzZXRJc3JTdGF0dXM6IHJvdXRlclNlcnZlckNvbnRleHQgPT0gbnVsbCA/IHZvaWQgMCA6IHJvdXRlclNlcnZlckNvbnRleHQuc2V0SXNyU3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICBkaXI6IHJvdXRlTW9kdWxlLnByb2plY3REaXIsXG4gICAgICAgICAgICAgICAgICAgIGlzRHJhZnRNb2RlLFxuICAgICAgICAgICAgICAgICAgICBpc1JldmFsaWRhdGU6IGlzU1NHICYmICFwb3N0cG9uZWQgJiYgIWlzRHluYW1pY1JTQ1JlcXVlc3QsXG4gICAgICAgICAgICAgICAgICAgIGJvdFR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGlzT25EZW1hbmRSZXZhbGlkYXRlLFxuICAgICAgICAgICAgICAgICAgICBpc1Bvc3NpYmxlU2VydmVyQWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBhc3NldFByZWZpeDogbmV4dENvbmZpZy5hc3NldFByZWZpeCxcbiAgICAgICAgICAgICAgICAgICAgbmV4dENvbmZpZ091dHB1dDogbmV4dENvbmZpZy5vdXRwdXQsXG4gICAgICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBuZXh0Q29uZmlnLmNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1NsYXNoOiBuZXh0Q29uZmlnLnRyYWlsaW5nU2xhc2gsXG4gICAgICAgICAgICAgICAgICAgIHByZXZpZXdQcm9wczogcHJlcmVuZGVyTWFuaWZlc3QucHJldmlldyxcbiAgICAgICAgICAgICAgICAgICAgZGVwbG95bWVudElkOiBuZXh0Q29uZmlnLmRlcGxveW1lbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlVGFpbnRpbmc6IG5leHRDb25maWcuZXhwZXJpbWVudGFsLnRhaW50LFxuICAgICAgICAgICAgICAgICAgICBodG1sTGltaXRlZEJvdHM6IG5leHRDb25maWcuaHRtbExpbWl0ZWRCb3RzLFxuICAgICAgICAgICAgICAgICAgICBkZXZ0b29sU2VnbWVudEV4cGxvcmVyOiBuZXh0Q29uZmlnLmV4cGVyaW1lbnRhbC5kZXZ0b29sU2VnbWVudEV4cGxvcmVyLFxuICAgICAgICAgICAgICAgICAgICByZWFjdE1heEhlYWRlcnNMZW5ndGg6IG5leHRDb25maWcucmVhY3RNYXhIZWFkZXJzTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICBtdWx0aVpvbmVEcmFmdE1vZGUsXG4gICAgICAgICAgICAgICAgICAgIGluY3JlbWVudGFsQ2FjaGU6IGdldFJlcXVlc3RNZXRhKHJlcSwgJ2luY3JlbWVudGFsQ2FjaGUnKSxcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVMaWZlUHJvZmlsZXM6IG5leHRDb25maWcuZXhwZXJpbWVudGFsLmNhY2hlTGlmZSxcbiAgICAgICAgICAgICAgICAgICAgYmFzZVBhdGg6IG5leHRDb25maWcuYmFzZVBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHNlcnZlckFjdGlvbnM6IG5leHRDb25maWcuZXhwZXJpbWVudGFsLnNlcnZlckFjdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIC4uLmlzRGVidWdTdGF0aWNTaGVsbCB8fCBpc0RlYnVnRHluYW1pY0FjY2Vzc2VzID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dEV4cG9ydDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRzRHluYW1pY1Jlc3BvbnNlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzU3RhdGljR2VuZXJhdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzUmV2YWxpZGF0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVidWdEeW5hbWljQWNjZXNzZXM6IGlzRGVidWdEeW5hbWljQWNjZXNzZXNcbiAgICAgICAgICAgICAgICAgICAgfSA6IHt9LFxuICAgICAgICAgICAgICAgICAgICBleHBlcmltZW50YWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzUm91dGVQUFJFbmFibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJlVGltZTogbmV4dENvbmZpZy5leHBpcmVUaW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhbGVUaW1lczogbmV4dENvbmZpZy5leHBlcmltZW50YWwuc3RhbGVUaW1lcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGR5bmFtaWNJTzogQm9vbGVhbihuZXh0Q29uZmlnLmV4cGVyaW1lbnRhbC5keW5hbWljSU8pLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50U2VnbWVudENhY2hlOiBCb29sZWFuKG5leHRDb25maWcuZXhwZXJpbWVudGFsLmNsaWVudFNlZ21lbnRDYWNoZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBkeW5hbWljT25Ib3ZlcjogQm9vbGVhbihuZXh0Q29uZmlnLmV4cGVyaW1lbnRhbC5keW5hbWljT25Ib3ZlciksXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVDc3M6IEJvb2xlYW4obmV4dENvbmZpZy5leHBlcmltZW50YWwuaW5saW5lQ3NzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhJbnRlcnJ1cHRzOiBCb29sZWFuKG5leHRDb25maWcuZXhwZXJpbWVudGFsLmF1dGhJbnRlcnJ1cHRzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudFRyYWNlTWV0YWRhdGE6IG5leHRDb25maWcuZXhwZXJpbWVudGFsLmNsaWVudFRyYWNlTWV0YWRhdGEgfHwgW11cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgd2FpdFVudGlsOiBjdHgud2FpdFVudGlsLFxuICAgICAgICAgICAgICAgICAgICBvbkNsb3NlOiAoY2IpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICByZXMub24oJ2Nsb3NlJywgY2IpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBvbkFmdGVyVGFza0Vycm9yOiAoKT0+e30sXG4gICAgICAgICAgICAgICAgICAgIG9uSW5zdHJ1bWVudGF0aW9uUmVxdWVzdEVycm9yOiAoZXJyb3IsIF9yZXF1ZXN0LCBlcnJvckNvbnRleHQpPT5yb3V0ZU1vZHVsZS5vblJlcXVlc3RFcnJvcihyZXEsIGVycm9yLCBlcnJvckNvbnRleHQsIHJvdXRlclNlcnZlckNvbnRleHQpLFxuICAgICAgICAgICAgICAgICAgICBlcnI6IGdldFJlcXVlc3RNZXRhKHJlcSwgJ2ludm9rZUVycm9yJyksXG4gICAgICAgICAgICAgICAgICAgIGRldjogcm91dGVNb2R1bGUuaXNEZXZcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaW52b2tlUm91dGVNb2R1bGUoc3BhbiwgY29udGV4dCk7XG4gICAgICAgICAgICBjb25zdCB7IG1ldGFkYXRhIH0gPSByZXN1bHQ7XG4gICAgICAgICAgICBjb25zdCB7IGNhY2hlQ29udHJvbCwgaGVhZGVycyA9IHt9LCAvLyBBZGQgYW55IGZldGNoIHRhZ3MgdGhhdCB3ZXJlIG9uIHRoZSBwYWdlIHRvIHRoZSByZXNwb25zZSBoZWFkZXJzLlxuICAgICAgICAgICAgZmV0Y2hUYWdzOiBjYWNoZVRhZ3MgfSA9IG1ldGFkYXRhO1xuICAgICAgICAgICAgaWYgKGNhY2hlVGFncykge1xuICAgICAgICAgICAgICAgIGhlYWRlcnNbTkVYVF9DQUNIRV9UQUdTX0hFQURFUl0gPSBjYWNoZVRhZ3M7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBQdWxsIGFueSBmZXRjaCBtZXRyaWNzIGZyb20gdGhlIHJlbmRlciBvbnRvIHRoZSByZXF1ZXN0LlxuICAgICAgICAgICAgO1xuICAgICAgICAgICAgcmVxLmZldGNoTWV0cmljcyA9IG1ldGFkYXRhLmZldGNoTWV0cmljcztcbiAgICAgICAgICAgIC8vIHdlIGRvbid0IHRocm93IHN0YXRpYyB0byBkeW5hbWljIGVycm9ycyBpbiBkZXYgYXMgaXNTU0dcbiAgICAgICAgICAgIC8vIGlzIGEgYmVzdCBndWVzcyBpbiBkZXYgc2luY2Ugd2UgZG9uJ3QgaGF2ZSB0aGUgcHJlcmVuZGVyIHBhc3NcbiAgICAgICAgICAgIC8vIHRvIGtub3cgd2hldGhlciB0aGUgcGF0aCBpcyBhY3R1YWxseSBzdGF0aWMgb3Igbm90XG4gICAgICAgICAgICBpZiAoaXNTU0cgJiYgKGNhY2hlQ29udHJvbCA9PSBudWxsID8gdm9pZCAwIDogY2FjaGVDb250cm9sLnJldmFsaWRhdGUpID09PSAwICYmICFyb3V0ZU1vZHVsZS5pc0RldiAmJiAhaXNSb3V0ZVBQUkVuYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGF0aWNCYWlsb3V0SW5mbyA9IG1ldGFkYXRhLnN0YXRpY0JhaWxvdXRJbmZvO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVyciA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgRXJyb3IoYFBhZ2UgY2hhbmdlZCBmcm9tIHN0YXRpYyB0byBkeW5hbWljIGF0IHJ1bnRpbWUgJHtyZXNvbHZlZFBhdGhuYW1lfSR7KHN0YXRpY0JhaWxvdXRJbmZvID09IG51bGwgPyB2b2lkIDAgOiBzdGF0aWNCYWlsb3V0SW5mby5kZXNjcmlwdGlvbikgPyBgLCByZWFzb246ICR7c3RhdGljQmFpbG91dEluZm8uZGVzY3JpcHRpb259YCA6IGBgfWAgKyBgXFxuc2VlIG1vcmUgaGVyZSBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9hcHAtc3RhdGljLXRvLWR5bmFtaWMtZXJyb3JgKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIkUxMzJcIixcbiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChzdGF0aWNCYWlsb3V0SW5mbyA9PSBudWxsID8gdm9pZCAwIDogc3RhdGljQmFpbG91dEluZm8uc3RhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhY2sgPSBzdGF0aWNCYWlsb3V0SW5mby5zdGFjaztcbiAgICAgICAgICAgICAgICAgICAgZXJyLnN0YWNrID0gZXJyLm1lc3NhZ2UgKyBzdGFjay5zdWJzdHJpbmcoc3RhY2suaW5kZXhPZignXFxuJykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgIGtpbmQ6IENhY2hlZFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgICAgICAgICAgICAgaHRtbDogcmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICAgICAgICAgICAgICByc2NEYXRhOiBtZXRhZGF0YS5mbGlnaHREYXRhLFxuICAgICAgICAgICAgICAgICAgICBwb3N0cG9uZWQ6IG1ldGFkYXRhLnBvc3Rwb25lZCxcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBtZXRhZGF0YS5zdGF0dXNDb2RlLFxuICAgICAgICAgICAgICAgICAgICBzZWdtZW50RGF0YTogbWV0YWRhdGEuc2VnbWVudERhdGFcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGNhY2hlQ29udHJvbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2VHZW5lcmF0b3IgPSBhc3luYyAoeyBoYXNSZXNvbHZlZCwgcHJldmlvdXNDYWNoZUVudHJ5LCBpc1JldmFsaWRhdGluZywgc3BhbiB9KT0+e1xuICAgICAgICAgICAgY29uc3QgaXNQcm9kdWN0aW9uID0gcm91dGVNb2R1bGUuaXNEZXYgPT09IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgZGlkUmVzcG9uZCA9IGhhc1Jlc29sdmVkIHx8IHJlcy53cml0YWJsZUVuZGVkO1xuICAgICAgICAgICAgLy8gc2tpcCBvbi1kZW1hbmQgcmV2YWxpZGF0ZSBpZiBjYWNoZSBpcyBub3QgcHJlc2VudCBhbmRcbiAgICAgICAgICAgIC8vIHJldmFsaWRhdGUtaWYtZ2VuZXJhdGVkIGlzIHNldFxuICAgICAgICAgICAgaWYgKGlzT25EZW1hbmRSZXZhbGlkYXRlICYmIHJldmFsaWRhdGVPbmx5R2VuZXJhdGVkICYmICFwcmV2aW91c0NhY2hlRW50cnkgJiYgIW1pbmltYWxNb2RlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHJvdXRlclNlcnZlckNvbnRleHQgPT0gbnVsbCA/IHZvaWQgMCA6IHJvdXRlclNlcnZlckNvbnRleHQucmVuZGVyNDA0KSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHJvdXRlclNlcnZlckNvbnRleHQucmVuZGVyNDA0KHJlcSwgcmVzKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDQwNDtcbiAgICAgICAgICAgICAgICAgICAgcmVzLmVuZCgnVGhpcyBwYWdlIGNvdWxkIG5vdCBiZSBmb3VuZCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBmYWxsYmFja01vZGU7XG4gICAgICAgICAgICBpZiAocHJlcmVuZGVySW5mbykge1xuICAgICAgICAgICAgICAgIGZhbGxiYWNrTW9kZSA9IHBhcnNlRmFsbGJhY2tGaWVsZChwcmVyZW5kZXJJbmZvLmZhbGxiYWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFdoZW4gc2VydmluZyBhIGJvdCByZXF1ZXN0LCB3ZSB3YW50IHRvIHNlcnZlIGEgYmxvY2tpbmcgcmVuZGVyIGFuZCBub3RcbiAgICAgICAgICAgIC8vIHRoZSBwcmVyZW5kZXJlZCBwYWdlLiBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgY29ycmVjdCBjb250ZW50IGlzIHNlcnZlZFxuICAgICAgICAgICAgLy8gdG8gdGhlIGJvdCBpbiB0aGUgaGVhZC5cbiAgICAgICAgICAgIGlmIChmYWxsYmFja01vZGUgPT09IEZhbGxiYWNrTW9kZS5QUkVSRU5ERVIgJiYgaXNCb3QodXNlckFnZW50KSkge1xuICAgICAgICAgICAgICAgIGZhbGxiYWNrTW9kZSA9IEZhbGxiYWNrTW9kZS5CTE9DS0lOR19TVEFUSUNfUkVOREVSO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKChwcmV2aW91c0NhY2hlRW50cnkgPT0gbnVsbCA/IHZvaWQgMCA6IHByZXZpb3VzQ2FjaGVFbnRyeS5pc1N0YWxlKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBpc09uRGVtYW5kUmV2YWxpZGF0ZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUT0RPOiBhZGFwdCBmb3IgUFBSXG4gICAgICAgICAgICAvLyBvbmx5IGFsbG93IG9uLWRlbWFuZCByZXZhbGlkYXRlIGZvciBmYWxsYmFjazogdHJ1ZS9ibG9ja2luZ1xuICAgICAgICAgICAgLy8gb3IgZm9yIHByZXJlbmRlcmVkIGZhbGxiYWNrOiBmYWxzZSBwYXRoc1xuICAgICAgICAgICAgaWYgKGlzT25EZW1hbmRSZXZhbGlkYXRlICYmIChmYWxsYmFja01vZGUgIT09IEZhbGxiYWNrTW9kZS5OT1RfRk9VTkQgfHwgcHJldmlvdXNDYWNoZUVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGZhbGxiYWNrTW9kZSA9IEZhbGxiYWNrTW9kZS5CTE9DS0lOR19TVEFUSUNfUkVOREVSO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFtaW5pbWFsTW9kZSAmJiBmYWxsYmFja01vZGUgIT09IEZhbGxiYWNrTW9kZS5CTE9DS0lOR19TVEFUSUNfUkVOREVSICYmIHN0YXRpY1BhdGhLZXkgJiYgIWRpZFJlc3BvbmQgJiYgIWlzRHJhZnRNb2RlICYmIHBhZ2VJc0R5bmFtaWMgJiYgKGlzUHJvZHVjdGlvbiB8fCAhaXNQcmVyZW5kZXJlZCkpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgcGFnZSBoYXMgZHluYW1pY1BhcmFtczogZmFsc2UgYW5kIHRoaXMgcGF0aG5hbWUgd2Fzbid0XG4gICAgICAgICAgICAgICAgLy8gcHJlcmVuZGVyZWQgdHJpZ2dlciB0aGUgbm8gZmFsbGJhY2sgaGFuZGxpbmdcbiAgICAgICAgICAgICAgICBpZiAoLy8gSW4gZGV2ZWxvcG1lbnQsIGZhbGwgdGhyb3VnaCB0byByZW5kZXIgdG8gaGFuZGxlIG1pc3NpbmdcbiAgICAgICAgICAgICAgICAvLyBnZXRTdGF0aWNQYXRocy5cbiAgICAgICAgICAgICAgICAoaXNQcm9kdWN0aW9uIHx8IHByZXJlbmRlckluZm8pICYmIC8vIFdoZW4gZmFsbGJhY2sgaXNuJ3QgcHJlc2VudCwgYWJvcnQgdGhpcyByZW5kZXIgc28gd2UgNDA0XG4gICAgICAgICAgICAgICAgZmFsbGJhY2tNb2RlID09PSBGYWxsYmFja01vZGUuTk9UX0ZPVU5EKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBOb0ZhbGxiYWNrRXJyb3IoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGV0IGZhbGxiYWNrUmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgaWYgKGlzUm91dGVQUFJFbmFibGVkICYmICFpc1JTQ1JlcXVlc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gV2UgdXNlIHRoZSByZXNwb25zZSBjYWNoZSBoZXJlIHRvIGhhbmRsZSB0aGUgcmV2YWxpZGF0aW9uIGFuZFxuICAgICAgICAgICAgICAgICAgICAvLyBtYW5hZ2VtZW50IG9mIHRoZSBmYWxsYmFjayBzaGVsbC5cbiAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2tSZXNwb25zZSA9IGF3YWl0IHJvdXRlTW9kdWxlLmhhbmRsZVJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlS2V5OiBpc1Byb2R1Y3Rpb24gPyBub3JtYWxpemVkU3JjUGFnZSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXh0Q29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVLaW5kOiBSb3V0ZUtpbmQuQVBQX1BBR0UsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0ZhbGxiYWNrOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJlcmVuZGVyTWFuaWZlc3QsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1JvdXRlUFBSRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlR2VuZXJhdG9yOiBhc3luYyAoKT0+ZG9SZW5kZXIoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBwYXNzIGB1bmRlZmluZWRgIGFzIHJlbmRlcmluZyBhIGZhbGxiYWNrIGlzbid0IHJlc3VtZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zdHBvbmVkOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxiYWNrUm91dGVQYXJhbXM6IC8vIElmIHdlJ3JlIGluIHByb2R1Y3Rpb24gb3Igd2UncmUgZGVidWdnaW5nIHRoZSBmYWxsYmFja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzaGVsbCB0aGVuIHdlIHNob3VsZCBwb3N0cG9uZSB3aGVuIGR5bmFtaWMgcGFyYW1zIGFyZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhY2Nlc3NlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNQcm9kdWN0aW9uIHx8IGlzRGVidWdGYWxsYmFja1NoZWxsID8gZ2V0RmFsbGJhY2tSb3V0ZVBhcmFtcyhub3JtYWxpemVkU3JjUGFnZSkgOiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICB3YWl0VW50aWw6IGN0eC53YWl0VW50aWxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBmYWxsYmFjayByZXNwb25zZSB3YXMgc2V0IHRvIG51bGwsIHRoZW4gd2Ugc2hvdWxkIHJldHVybiBudWxsLlxuICAgICAgICAgICAgICAgICAgICBpZiAoZmFsbGJhY2tSZXNwb25zZSA9PT0gbnVsbCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgaWYgd2UgZGlkIGdldCBhIGZhbGxiYWNrIHJlc3BvbnNlLCB3ZSBzaG91bGQgcmV0dXJuIGl0LlxuICAgICAgICAgICAgICAgICAgICBpZiAoZmFsbGJhY2tSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBjYWNoZSBjb250cm9sIGZyb20gdGhlIHJlc3BvbnNlIHRvIHByZXZlbnQgaXQgZnJvbSBiZWluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdXNlZCBpbiB0aGUgc3Vycm91bmRpbmcgY2FjaGUuXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgZmFsbGJhY2tSZXNwb25zZS5jYWNoZUNvbnRyb2w7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsbGJhY2tSZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIE9ubHkgcmVxdWVzdHMgdGhhdCBhcmVuJ3QgcmV2YWxpZGF0aW5nIGNhbiBiZSByZXN1bWVkLiBJZiB3ZSBoYXZlIHRoZVxuICAgICAgICAgICAgLy8gbWluaW1hbCBwb3N0cG9uZWQgZGF0YSwgdGhlbiB3ZSBzaG91bGQgcmVzdW1lIHRoZSByZW5kZXIgd2l0aCBpdC5cbiAgICAgICAgICAgIGNvbnN0IHBvc3Rwb25lZCA9ICFpc09uRGVtYW5kUmV2YWxpZGF0ZSAmJiAhaXNSZXZhbGlkYXRpbmcgJiYgbWluaW1hbFBvc3Rwb25lZCA/IG1pbmltYWxQb3N0cG9uZWQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAvLyBXaGVuIHdlJ3JlIGluIG1pbmltYWwgbW9kZSwgaWYgd2UncmUgdHJ5aW5nIHRvIGRlYnVnIHRoZSBzdGF0aWMgc2hlbGwsXG4gICAgICAgICAgICAvLyB3ZSBzaG91bGQganVzdCByZXR1cm4gbm90aGluZyBpbnN0ZWFkIG9mIHJlc3VtaW5nIHRoZSBkeW5hbWljIHJlbmRlci5cbiAgICAgICAgICAgIGlmICgoaXNEZWJ1Z1N0YXRpY1NoZWxsIHx8IGlzRGVidWdEeW5hbWljQWNjZXNzZXMpICYmIHR5cGVvZiBwb3N0cG9uZWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVDb250cm9sOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlOiAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJlOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IENhY2hlZFJvdXRlS2luZC5QQUdFUyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0bWw6IFJlbmRlclJlc3VsdC5mcm9tU3RhdGljKCcnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VEYXRhOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIGR5bmFtaWMgcm91dGUgd2l0aCBQUFIgZW5hYmxlZCBhbmQgdGhlIGRlZmF1bHQgcm91dGVcbiAgICAgICAgICAgIC8vIG1hdGNoZXMgd2VyZSBzZXQsIHRoZW4gd2Ugc2hvdWxkIHBhc3MgdGhlIGZhbGxiYWNrIHJvdXRlIHBhcmFtcyB0b1xuICAgICAgICAgICAgLy8gdGhlIHJlbmRlcmVyIGFzIHRoaXMgaXMgYSBmYWxsYmFjayByZXZhbGlkYXRpb24gcmVxdWVzdC5cbiAgICAgICAgICAgIGNvbnN0IGZhbGxiYWNrUm91dGVQYXJhbXMgPSBwYWdlSXNEeW5hbWljICYmIGlzUm91dGVQUFJFbmFibGVkICYmIChnZXRSZXF1ZXN0TWV0YShyZXEsICdyZW5kZXJGYWxsYmFja1NoZWxsJykgfHwgaXNEZWJ1Z0ZhbGxiYWNrU2hlbGwpID8gZ2V0RmFsbGJhY2tSb3V0ZVBhcmFtcyhwYXRobmFtZSkgOiBudWxsO1xuICAgICAgICAgICAgLy8gUGVyZm9ybSB0aGUgcmVuZGVyLlxuICAgICAgICAgICAgcmV0dXJuIGRvUmVuZGVyKHtcbiAgICAgICAgICAgICAgICBzcGFuLFxuICAgICAgICAgICAgICAgIHBvc3Rwb25lZCxcbiAgICAgICAgICAgICAgICBmYWxsYmFja1JvdXRlUGFyYW1zXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgaGFuZGxlUmVzcG9uc2UgPSBhc3luYyAoc3Bhbik9PntcbiAgICAgICAgICAgIHZhciBfY2FjaGVFbnRyeV92YWx1ZSwgX2NhY2hlZERhdGFfaGVhZGVycztcbiAgICAgICAgICAgIGNvbnN0IGNhY2hlRW50cnkgPSBhd2FpdCByb3V0ZU1vZHVsZS5oYW5kbGVSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgY2FjaGVLZXk6IHNzZ0NhY2hlS2V5LFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlR2VuZXJhdG9yOiAoYyk9PnJlc3BvbnNlR2VuZXJhdG9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHJvdXRlS2luZDogUm91dGVLaW5kLkFQUF9QQUdFLFxuICAgICAgICAgICAgICAgIGlzT25EZW1hbmRSZXZhbGlkYXRlLFxuICAgICAgICAgICAgICAgIGlzUm91dGVQUFJFbmFibGVkLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICBuZXh0Q29uZmlnLFxuICAgICAgICAgICAgICAgIHByZXJlbmRlck1hbmlmZXN0LFxuICAgICAgICAgICAgICAgIHdhaXRVbnRpbDogY3R4LndhaXRVbnRpbFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoaXNEcmFmdE1vZGUpIHtcbiAgICAgICAgICAgICAgICByZXMuc2V0SGVhZGVyKCdDYWNoZS1Db250cm9sJywgJ3ByaXZhdGUsIG5vLWNhY2hlLCBuby1zdG9yZSwgbWF4LWFnZT0wLCBtdXN0LXJldmFsaWRhdGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEluIGRldiwgd2Ugc2hvdWxkIG5vdCBjYWNoZSBwYWdlcyBmb3IgYW55IHJlYXNvbi5cbiAgICAgICAgICAgIGlmIChyb3V0ZU1vZHVsZS5pc0Rldikge1xuICAgICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NhY2hlLUNvbnRyb2wnLCAnbm8tc3RvcmUsIG11c3QtcmV2YWxpZGF0ZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFjYWNoZUVudHJ5KSB7XG4gICAgICAgICAgICAgICAgaWYgKHNzZ0NhY2hlS2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEEgY2FjaGUgZW50cnkgbWlnaHQgbm90IGJlIGdlbmVyYXRlZCBpZiBhIHJlc3BvbnNlIGlzIHdyaXR0ZW5cbiAgICAgICAgICAgICAgICAgICAgLy8gaW4gYGdldEluaXRpYWxQcm9wc2Agb3IgYGdldFNlcnZlclNpZGVQcm9wc2AsIGJ1dCB0aG9zZSBzaG91bGRuJ3RcbiAgICAgICAgICAgICAgICAgICAgLy8gaGF2ZSBhIGNhY2hlIGtleS4gSWYgd2UgZG8gaGF2ZSBhIGNhY2hlIGtleSBidXQgd2UgZG9uJ3QgZW5kIHVwXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpdGggYSBjYWNoZSBlbnRyeSwgdGhlbiBlaXRoZXIgTmV4dC5qcyBvciB0aGUgYXBwbGljYXRpb24gaGFzIGFcbiAgICAgICAgICAgICAgICAgICAgLy8gYnVnIHRoYXQgbmVlZHMgZml4aW5nLlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKCdpbnZhcmlhbnQ6IGNhY2hlIGVudHJ5IHJlcXVpcmVkIGJ1dCBub3QgZ2VuZXJhdGVkJyksIFwiX19ORVhUX0VSUk9SX0NPREVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiRTYyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKChfY2FjaGVFbnRyeV92YWx1ZSA9IGNhY2hlRW50cnkudmFsdWUpID09IG51bGwgPyB2b2lkIDAgOiBfY2FjaGVFbnRyeV92YWx1ZS5raW5kKSAhPT0gQ2FjaGVkUm91dGVLaW5kLkFQUF9QQUdFKSB7XG4gICAgICAgICAgICAgICAgdmFyIF9jYWNoZUVudHJ5X3ZhbHVlMTtcbiAgICAgICAgICAgICAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKGBJbnZhcmlhbnQgYXBwLXBhZ2UgaGFuZGxlciByZWNlaXZlZCBpbnZhbGlkIGNhY2hlIGVudHJ5ICR7KF9jYWNoZUVudHJ5X3ZhbHVlMSA9IGNhY2hlRW50cnkudmFsdWUpID09IG51bGwgPyB2b2lkIDAgOiBfY2FjaGVFbnRyeV92YWx1ZTEua2luZH1gKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIkU3MDdcIixcbiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZGlkUG9zdHBvbmUgPSB0eXBlb2YgY2FjaGVFbnRyeS52YWx1ZS5wb3N0cG9uZWQgPT09ICdzdHJpbmcnO1xuICAgICAgICAgICAgaWYgKGlzU1NHICYmIC8vIFdlIGRvbid0IHdhbnQgdG8gc2VuZCBhIGNhY2hlIGhlYWRlciBmb3IgcmVxdWVzdHMgdGhhdCBjb250YWluIGR5bmFtaWNcbiAgICAgICAgICAgIC8vIGRhdGEuIElmIHRoaXMgaXMgYSBEeW5hbWljIFJTQyByZXF1ZXN0IG9yIHdhc24ndCBhIFByZWZldGNoIFJTQ1xuICAgICAgICAgICAgLy8gcmVxdWVzdCwgdGhlbiB3ZSBzaG91bGQgc2V0IHRoZSBjYWNoZSBoZWFkZXIuXG4gICAgICAgICAgICAhaXNEeW5hbWljUlNDUmVxdWVzdCAmJiAoIWRpZFBvc3Rwb25lIHx8IGlzUHJlZmV0Y2hSU0NSZXF1ZXN0KSkge1xuICAgICAgICAgICAgICAgIGlmICghbWluaW1hbE1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2V0IHgtbmV4dGpzLWNhY2hlIGhlYWRlciB0byBtYXRjaCB0aGUgaGVhZGVyXG4gICAgICAgICAgICAgICAgICAgIC8vIHdlIHNldCBmb3IgdGhlIGltYWdlLW9wdGltaXplclxuICAgICAgICAgICAgICAgICAgICByZXMuc2V0SGVhZGVyKCd4LW5leHRqcy1jYWNoZScsIGlzT25EZW1hbmRSZXZhbGlkYXRlID8gJ1JFVkFMSURBVEVEJyA6IGNhY2hlRW50cnkuaXNNaXNzID8gJ01JU1MnIDogY2FjaGVFbnRyeS5pc1N0YWxlID8gJ1NUQUxFJyA6ICdISVQnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gU2V0IGEgaGVhZGVyIHVzZWQgYnkgdGhlIGNsaWVudCByb3V0ZXIgdG8gc2lnbmFsIHRoZSByZXNwb25zZSBpcyBzdGF0aWNcbiAgICAgICAgICAgICAgICAvLyBhbmQgc2hvdWxkIHJlc3BlY3QgdGhlIGBzdGF0aWNgIGNhY2hlIHN0YWxlVGltZSB2YWx1ZS5cbiAgICAgICAgICAgICAgICByZXMuc2V0SGVhZGVyKE5FWFRfSVNfUFJFUkVOREVSX0hFQURFUiwgJzEnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHsgdmFsdWU6IGNhY2hlZERhdGEgfSA9IGNhY2hlRW50cnk7XG4gICAgICAgICAgICAvLyBDb2VyY2UgdGhlIGNhY2hlIGNvbnRyb2wgcGFyYW1ldGVyIGZyb20gdGhlIHJlbmRlci5cbiAgICAgICAgICAgIGxldCBjYWNoZUNvbnRyb2w7XG4gICAgICAgICAgICAvLyBJZiB0aGlzIGlzIGEgcmVzdW1lIHJlcXVlc3QgaW4gbWluaW1hbCBtb2RlIGl0IGlzIHN0cmVhbWVkIHdpdGggZHluYW1pY1xuICAgICAgICAgICAgLy8gY29udGVudCBhbmQgc2hvdWxkIG5vdCBiZSBjYWNoZWQuXG4gICAgICAgICAgICBpZiAobWluaW1hbFBvc3Rwb25lZCkge1xuICAgICAgICAgICAgICAgIGNhY2hlQ29udHJvbCA9IHtcbiAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZTogMCxcbiAgICAgICAgICAgICAgICAgICAgZXhwaXJlOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChtaW5pbWFsTW9kZSAmJiBpc1JTQ1JlcXVlc3QgJiYgIWlzUHJlZmV0Y2hSU0NSZXF1ZXN0ICYmIGlzUm91dGVQUFJFbmFibGVkKSB7XG4gICAgICAgICAgICAgICAgY2FjaGVDb250cm9sID0ge1xuICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlOiAwLFxuICAgICAgICAgICAgICAgICAgICBleHBpcmU6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFyb3V0ZU1vZHVsZS5pc0Rldikge1xuICAgICAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgYSBwcmV2aWV3IG1vZGUgcmVxdWVzdCwgd2Ugc2hvdWxkbid0IGNhY2hlIGl0XG4gICAgICAgICAgICAgICAgaWYgKGlzRHJhZnRNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlQ29udHJvbCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldmFsaWRhdGU6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBpcmU6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWlzU1NHKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzLmdldEhlYWRlcignQ2FjaGUtQ29udHJvbCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUNvbnRyb2wgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZTogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBpcmU6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGNhY2hlIGVudHJ5IGhhcyBhIGNhY2hlIGNvbnRyb2wgd2l0aCBhIHJldmFsaWRhdGUgdmFsdWUgdGhhdCdzXG4gICAgICAgICAgICAgICAgICAgIC8vIGEgbnVtYmVyLCB1c2UgaXQuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2wucmV2YWxpZGF0ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfY2FjaGVFbnRyeV9jYWNoZUNvbnRyb2w7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2wucmV2YWxpZGF0ZSA8IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKGBJbnZhbGlkIHJldmFsaWRhdGUgY29uZmlndXJhdGlvbiBwcm92aWRlZDogJHtjYWNoZUVudHJ5LmNhY2hlQ29udHJvbC5yZXZhbGlkYXRlfSA8IDFgKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIkUyMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUNvbnRyb2wgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZTogY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2wucmV2YWxpZGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBpcmU6ICgoX2NhY2hlRW50cnlfY2FjaGVDb250cm9sID0gY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2wpID09IG51bGwgPyB2b2lkIDAgOiBfY2FjaGVFbnRyeV9jYWNoZUNvbnRyb2wuZXhwaXJlKSA/PyBuZXh0Q29uZmlnLmV4cGlyZVRpbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUNvbnRyb2wgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZTogQ0FDSEVfT05FX1lFQVIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJlOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYWNoZUVudHJ5LmNhY2hlQ29udHJvbCA9IGNhY2hlQ29udHJvbDtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc2VnbWVudFByZWZldGNoSGVhZGVyID09PSAnc3RyaW5nJyAmJiAoY2FjaGVkRGF0YSA9PSBudWxsID8gdm9pZCAwIDogY2FjaGVkRGF0YS5raW5kKSA9PT0gQ2FjaGVkUm91dGVLaW5kLkFQUF9QQUdFICYmIGNhY2hlZERhdGEuc2VnbWVudERhdGEpIHtcbiAgICAgICAgICAgICAgICB2YXIgX2NhY2hlZERhdGFfaGVhZGVyczE7XG4gICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIHByZWZldGNoIHJlcXVlc3QgaXNzdWVkIGJ5IHRoZSBjbGllbnQgU2VnbWVudCBDYWNoZS4gVGhlc2VcbiAgICAgICAgICAgICAgICAvLyBzaG91bGQgbmV2ZXIgcmVhY2ggdGhlIGFwcGxpY2F0aW9uIGxheWVyIChsYW1iZGEpLiBXZSBzaG91bGQgZWl0aGVyXG4gICAgICAgICAgICAgICAgLy8gcmVzcG9uZCBmcm9tIHRoZSBjYWNoZSAoSElUKSBvciByZXNwb25kIHdpdGggMjA0IE5vIENvbnRlbnQgKE1JU1MpLlxuICAgICAgICAgICAgICAgIC8vIFNldCBhIGhlYWRlciB0byBpbmRpY2F0ZSB0aGF0IFBQUiBpcyBlbmFibGVkIGZvciB0aGlzIHJvdXRlLiBUaGlzXG4gICAgICAgICAgICAgICAgLy8gbGV0cyB0aGUgY2xpZW50IGRpc3Rpbmd1aXNoIGJldHdlZW4gYSByZWd1bGFyIGNhY2hlIG1pc3MgYW5kIGEgY2FjaGVcbiAgICAgICAgICAgICAgICAvLyBtaXNzIGR1ZSB0byBQUFIgYmVpbmcgZGlzYWJsZWQuIEluIG90aGVyIGNvbnRleHRzIHRoaXMgaGVhZGVyIGlzIHVzZWRcbiAgICAgICAgICAgICAgICAvLyB0byBpbmRpY2F0ZSB0aGF0IHRoZSByZXNwb25zZSBjb250YWlucyBkeW5hbWljIGRhdGEsIGJ1dCBoZXJlIHdlJ3JlXG4gICAgICAgICAgICAgICAgLy8gb25seSB1c2luZyBpdCB0byBpbmRpY2F0ZSB0aGF0IHRoZSBmZWF0dXJlIGlzIGVuYWJsZWQg4oCUIHRoZSBzZWdtZW50XG4gICAgICAgICAgICAgICAgLy8gcmVzcG9uc2UgaXRzZWxmIGNvbnRhaW5zIHdoZXRoZXIgdGhlIGRhdGEgaXMgZHluYW1pYy5cbiAgICAgICAgICAgICAgICByZXMuc2V0SGVhZGVyKE5FWFRfRElEX1BPU1RQT05FX0hFQURFUiwgJzInKTtcbiAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIGNhY2hlIHRhZ3MgaGVhZGVyIHRvIHRoZSByZXNwb25zZSBpZiBpdCBleGlzdHMgYW5kIHdlJ3JlIGluXG4gICAgICAgICAgICAgICAgLy8gbWluaW1hbCBtb2RlIHdoaWxlIHJlbmRlcmluZyBhIHN0YXRpYyBwYWdlLlxuICAgICAgICAgICAgICAgIGNvbnN0IHRhZ3MgPSAoX2NhY2hlZERhdGFfaGVhZGVyczEgPSBjYWNoZWREYXRhLmhlYWRlcnMpID09IG51bGwgPyB2b2lkIDAgOiBfY2FjaGVkRGF0YV9oZWFkZXJzMVtORVhUX0NBQ0hFX1RBR1NfSEVBREVSXTtcbiAgICAgICAgICAgICAgICBpZiAobWluaW1hbE1vZGUgJiYgaXNTU0cgJiYgdGFncyAmJiB0eXBlb2YgdGFncyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzLnNldEhlYWRlcihORVhUX0NBQ0hFX1RBR1NfSEVBREVSLCB0YWdzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hlZFNlZ21lbnQgPSBjYWNoZWREYXRhLnNlZ21lbnREYXRhLmdldChzZWdtZW50UHJlZmV0Y2hIZWFkZXIpO1xuICAgICAgICAgICAgICAgIGlmIChtYXRjaGVkU2VnbWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIENhY2hlIGhpdFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VuZFJlbmRlclJlc3VsdCh7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAncnNjJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlRXRhZ3M6IG5leHRDb25maWcuZ2VuZXJhdGVFdGFncyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvd2VyZWRCeUhlYWRlcjogbmV4dENvbmZpZy5wb3dlcmVkQnlIZWFkZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ6IFJlbmRlclJlc3VsdC5mcm9tU3RhdGljKG1hdGNoZWRTZWdtZW50KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlQ29udHJvbDogY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIENhY2hlIG1pc3MuIEVpdGhlciBhIGNhY2hlIGVudHJ5IGZvciB0aGlzIHJvdXRlIGhhcyBub3QgYmVlbiBnZW5lcmF0ZWRcbiAgICAgICAgICAgICAgICAvLyAod2hpY2ggdGVjaG5pY2FsbHkgc2hvdWxkIG5vdCBiZSBwb3NzaWJsZSB3aGVuIFBQUiBpcyBlbmFibGVkLCBiZWNhdXNlXG4gICAgICAgICAgICAgICAgLy8gYXQgYSBtaW5pbXVtIHRoZXJlIHNob3VsZCBhbHdheXMgYmUgYSBmYWxsYmFjayBlbnRyeSkgb3IgdGhlcmUncyBub1xuICAgICAgICAgICAgICAgIC8vIG1hdGNoIGZvciB0aGUgcmVxdWVzdGVkIHNlZ21lbnQuIFJlc3BvbmQgd2l0aCBhIDIwNCBObyBDb250ZW50LiBXZVxuICAgICAgICAgICAgICAgIC8vIGRvbid0IGJvdGhlciB0byByZXNwb25kIHdpdGggNDA0LCBiZWNhdXNlIHRoZXNlIHJlcXVlc3RzIGFyZSBvbmx5XG4gICAgICAgICAgICAgICAgLy8gaXNzdWVkIGFzIHBhcnQgb2YgYSBwcmVmZXRjaC5cbiAgICAgICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDIwNDtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VuZFJlbmRlclJlc3VsdCh7XG4gICAgICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICAgICAgcmVzLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAncnNjJyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVFdGFnczogbmV4dENvbmZpZy5nZW5lcmF0ZUV0YWdzLFxuICAgICAgICAgICAgICAgICAgICBwb3dlcmVkQnlIZWFkZXI6IG5leHRDb25maWcucG93ZXJlZEJ5SGVhZGVyLFxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ6IFJlbmRlclJlc3VsdC5mcm9tU3RhdGljKCcnKSxcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVDb250cm9sOiBjYWNoZUVudHJ5LmNhY2hlQ29udHJvbFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSWYgdGhlcmUncyBhIGNhbGxiYWNrIGZvciBgb25DYWNoZUVudHJ5YCwgY2FsbCBpdCB3aXRoIHRoZSBjYWNoZSBlbnRyeVxuICAgICAgICAgICAgLy8gYW5kIHRoZSByZXZhbGlkYXRlIG9wdGlvbnMuXG4gICAgICAgICAgICBjb25zdCBvbkNhY2hlRW50cnkgPSBnZXRSZXF1ZXN0TWV0YShyZXEsICdvbkNhY2hlRW50cnknKTtcbiAgICAgICAgICAgIGlmIChvbkNhY2hlRW50cnkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaW5pc2hlZCA9IGF3YWl0IG9uQ2FjaGVFbnRyeSh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmNhY2hlRW50cnksXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IHJlbW92ZSB0aGlzIHdoZW4gdXBzdHJlYW0gZG9lc24ndFxuICAgICAgICAgICAgICAgICAgICAvLyBhbHdheXMgZXhwZWN0IHRoaXMgdmFsdWUgdG8gYmUgXCJQQUdFXCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNhY2hlRW50cnkudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBraW5kOiAnUEFHRSdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBnZXRSZXF1ZXN0TWV0YShyZXEsICdpbml0VVJMJylcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoZmluaXNoZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogbWF5YmUgd2UgaGF2ZSB0byBlbmQgdGhlIHJlcXVlc3Q/XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElmIHRoZSByZXF1ZXN0IGhhcyBhIHBvc3Rwb25lZCBzdGF0ZSBhbmQgaXQncyBhIHJlc3VtZSByZXF1ZXN0IHdlXG4gICAgICAgICAgICAvLyBzaG91bGQgZXJyb3IuXG4gICAgICAgICAgICBpZiAoZGlkUG9zdHBvbmUgJiYgbWluaW1hbFBvc3Rwb25lZCkge1xuICAgICAgICAgICAgICAgIHRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgRXJyb3IoJ0ludmFyaWFudDogcG9zdHBvbmVkIHN0YXRlIHNob3VsZCBub3QgYmUgcHJlc2VudCBvbiBhIHJlc3VtZSByZXF1ZXN0JyksIFwiX19ORVhUX0VSUk9SX0NPREVcIiwge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJFMzk2XCIsXG4gICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjYWNoZWREYXRhLmhlYWRlcnMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBoZWFkZXJzID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5jYWNoZWREYXRhLmhlYWRlcnNcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmICghbWluaW1hbE1vZGUgfHwgIWlzU1NHKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBoZWFkZXJzW05FWFRfQ0FDSEVfVEFHU19IRUFERVJdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoaGVhZGVycykpe1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2IG9mIHZhbHVlKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMuYXBwZW5kSGVhZGVyKGtleSwgdik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzLmFwcGVuZEhlYWRlcihrZXksIHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5hcHBlbmRIZWFkZXIoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBBZGQgdGhlIGNhY2hlIHRhZ3MgaGVhZGVyIHRvIHRoZSByZXNwb25zZSBpZiBpdCBleGlzdHMgYW5kIHdlJ3JlIGluXG4gICAgICAgICAgICAvLyBtaW5pbWFsIG1vZGUgd2hpbGUgcmVuZGVyaW5nIGEgc3RhdGljIHBhZ2UuXG4gICAgICAgICAgICBjb25zdCB0YWdzID0gKF9jYWNoZWREYXRhX2hlYWRlcnMgPSBjYWNoZWREYXRhLmhlYWRlcnMpID09IG51bGwgPyB2b2lkIDAgOiBfY2FjaGVkRGF0YV9oZWFkZXJzW05FWFRfQ0FDSEVfVEFHU19IRUFERVJdO1xuICAgICAgICAgICAgaWYgKG1pbmltYWxNb2RlICYmIGlzU1NHICYmIHRhZ3MgJiYgdHlwZW9mIHRhZ3MgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgcmVzLnNldEhlYWRlcihORVhUX0NBQ0hFX1RBR1NfSEVBREVSLCB0YWdzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElmIHRoZSByZXF1ZXN0IGlzIGEgZGF0YSByZXF1ZXN0LCB0aGVuIHdlIHNob3VsZG4ndCBzZXQgdGhlIHN0YXR1cyBjb2RlXG4gICAgICAgICAgICAvLyBmcm9tIHRoZSByZXNwb25zZSBiZWNhdXNlIGl0IHNob3VsZCBhbHdheXMgYmUgMjAwLiBUaGlzIHNob3VsZCBiZSBnYXRlZFxuICAgICAgICAgICAgLy8gYmVoaW5kIHRoZSBleHBlcmltZW50YWwgUFBSIGZsYWcuXG4gICAgICAgICAgICBpZiAoY2FjaGVkRGF0YS5zdGF0dXMgJiYgKCFpc1JTQ1JlcXVlc3QgfHwgIWlzUm91dGVQUFJFbmFibGVkKSkge1xuICAgICAgICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gY2FjaGVkRGF0YS5zdGF0dXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBSZWRpcmVjdCBpbmZvcm1hdGlvbiBpcyBlbmNvZGVkIGluIFJTQyBwYXlsb2FkLCBzbyB3ZSBkb24ndCBuZWVkIHRvIHVzZSByZWRpcmVjdCBzdGF0dXMgY29kZXNcbiAgICAgICAgICAgIGlmICghbWluaW1hbE1vZGUgJiYgY2FjaGVkRGF0YS5zdGF0dXMgJiYgUmVkaXJlY3RTdGF0dXNDb2RlW2NhY2hlZERhdGEuc3RhdHVzXSAmJiBpc1JTQ1JlcXVlc3QpIHtcbiAgICAgICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDIwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIE1hcmsgdGhhdCB0aGUgcmVxdWVzdCBkaWQgcG9zdHBvbmUuXG4gICAgICAgICAgICBpZiAoZGlkUG9zdHBvbmUpIHtcbiAgICAgICAgICAgICAgICByZXMuc2V0SGVhZGVyKE5FWFRfRElEX1BPU1RQT05FX0hFQURFUiwgJzEnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHdlIGRvbid0IGdvIHRocm91Z2ggdGhpcyBibG9jayB3aGVuIHByZXZpZXcgbW9kZSBpcyB0cnVlXG4gICAgICAgICAgICAvLyBhcyBwcmV2aWV3IG1vZGUgaXMgYSBkeW5hbWljIHJlcXVlc3QgKGJ5cGFzc2VzIGNhY2hlKSBhbmQgZG9lc24ndFxuICAgICAgICAgICAgLy8gZ2VuZXJhdGUgYm90aCBIVE1MIGFuZCBwYXlsb2FkcyBpbiB0aGUgc2FtZSByZXF1ZXN0IHNvIGNvbnRpbnVlIHRvIGp1c3RcbiAgICAgICAgICAgIC8vIHJldHVybiB0aGUgZ2VuZXJhdGVkIHBheWxvYWRcbiAgICAgICAgICAgIGlmIChpc1JTQ1JlcXVlc3QgJiYgIWlzRHJhZnRNb2RlKSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIGR5bmFtaWMgUlNDIHJlcXVlc3QsIHRoZW4gc3RyZWFtIHRoZSByZXNwb25zZS5cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZERhdGEucnNjRGF0YSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNhY2hlZERhdGEucG9zdHBvbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKCdJbnZhcmlhbnQ6IEV4cGVjdGVkIHBvc3Rwb25lZCB0byBiZSB1bmRlZmluZWQnKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiRTM3MlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbmRSZW5kZXJSZXN1bHQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3JzYycsXG4gICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUV0YWdzOiBuZXh0Q29uZmlnLmdlbmVyYXRlRXRhZ3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3dlcmVkQnlIZWFkZXI6IG5leHRDb25maWcucG93ZXJlZEJ5SGVhZGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0OiBjYWNoZWREYXRhLmh0bWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBEeW5hbWljIFJTQyByZXNwb25zZXMgY2Fubm90IGJlIGNhY2hlZCwgZXZlbiBpZiB0aGV5J3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25maWd1cmVkIHdpdGggYGZvcmNlLXN0YXRpY2AgYmVjYXVzZSB3ZSBoYXZlIG5vIHdheSBvZlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGlzdGluZ3Vpc2hpbmcgYmV0d2VlbiBgZm9yY2Utc3RhdGljYCBhbmQgcGFnZXMgdGhhdCBoYXZlIG5vXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBwb3N0cG9uZWQgc3RhdGUuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBkaXN0aW5ndWlzaCBgZm9yY2Utc3RhdGljYCBmcm9tIHBhZ2VzIHdpdGggbm8gcG9zdHBvbmVkIHN0YXRlIChzdGF0aWMpXG4gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUNvbnRyb2w6IGlzRHluYW1pY1JTQ1JlcXVlc3QgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZTogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBpcmU6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgfSA6IGNhY2hlRW50cnkuY2FjaGVDb250cm9sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBBcyB0aGlzIGlzbid0IGEgcHJlZmV0Y2ggcmVxdWVzdCwgd2Ugc2hvdWxkIHNlcnZlIHRoZSBzdGF0aWMgZmxpZ2h0XG4gICAgICAgICAgICAgICAgLy8gZGF0YS5cbiAgICAgICAgICAgICAgICByZXR1cm4gc2VuZFJlbmRlclJlc3VsdCh7XG4gICAgICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICAgICAgcmVzLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAncnNjJyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVFdGFnczogbmV4dENvbmZpZy5nZW5lcmF0ZUV0YWdzLFxuICAgICAgICAgICAgICAgICAgICBwb3dlcmVkQnlIZWFkZXI6IG5leHRDb25maWcucG93ZXJlZEJ5SGVhZGVyLFxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ6IFJlbmRlclJlc3VsdC5mcm9tU3RhdGljKGNhY2hlZERhdGEucnNjRGF0YSksXG4gICAgICAgICAgICAgICAgICAgIGNhY2hlQ29udHJvbDogY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2xcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgYSByZXF1ZXN0IGZvciBIVE1MIGRhdGEuXG4gICAgICAgICAgICBsZXQgYm9keSA9IGNhY2hlZERhdGEuaHRtbDtcbiAgICAgICAgICAgIC8vIElmIHRoZXJlJ3Mgbm8gcG9zdHBvbmVkIHN0YXRlLCB3ZSBzaG91bGQganVzdCBzZXJ2ZSB0aGUgSFRNTC4gVGhpc1xuICAgICAgICAgICAgLy8gc2hvdWxkIGFsc28gYmUgdGhlIGNhc2UgZm9yIGEgcmVzdW1lIHJlcXVlc3QgYmVjYXVzZSBpdCdzIGNvbXBsZXRlZFxuICAgICAgICAgICAgLy8gYXMgYSBzZXJ2ZXIgcmVuZGVyIChyYXRoZXIgdGhhbiBhIHN0YXRpYyByZW5kZXIpLlxuICAgICAgICAgICAgaWYgKCFkaWRQb3N0cG9uZSB8fCBtaW5pbWFsTW9kZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZW5kUmVuZGVyUmVzdWx0KHtcbiAgICAgICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICAgICAgICByZXMsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdodG1sJyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVFdGFnczogbmV4dENvbmZpZy5nZW5lcmF0ZUV0YWdzLFxuICAgICAgICAgICAgICAgICAgICBwb3dlcmVkQnlIZWFkZXI6IG5leHRDb25maWcucG93ZXJlZEJ5SGVhZGVyLFxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ6IGJvZHksXG4gICAgICAgICAgICAgICAgICAgIGNhY2hlQ29udHJvbDogY2FjaGVFbnRyeS5jYWNoZUNvbnRyb2xcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElmIHdlJ3JlIGRlYnVnZ2luZyB0aGUgc3RhdGljIHNoZWxsIG9yIHRoZSBkeW5hbWljIEFQSSBhY2Nlc3Nlcywgd2VcbiAgICAgICAgICAgIC8vIHNob3VsZCBqdXN0IHNlcnZlIHRoZSBIVE1MIHdpdGhvdXQgcmVzdW1pbmcgdGhlIHJlbmRlci4gVGhlIHJldHVybmVkXG4gICAgICAgICAgICAvLyBIVE1MIHdpbGwgYmUgdGhlIHN0YXRpYyBzaGVsbCBzbyBhbGwgdGhlIER5bmFtaWMgQVBJJ3Mgd2lsbCBiZSB1c2VkXG4gICAgICAgICAgICAvLyBkdXJpbmcgc3RhdGljIGdlbmVyYXRpb24uXG4gICAgICAgICAgICBpZiAoaXNEZWJ1Z1N0YXRpY1NoZWxsIHx8IGlzRGVidWdEeW5hbWljQWNjZXNzZXMpIHtcbiAgICAgICAgICAgICAgICAvLyBTaW5jZSB3ZSdyZSBub3QgcmVzdW1pbmcgdGhlIHJlbmRlciwgd2UgbmVlZCB0byBhdCBsZWFzdCBhZGQgdGhlXG4gICAgICAgICAgICAgICAgLy8gY2xvc2luZyBib2R5IGFuZCBodG1sIHRhZ3MgdG8gY3JlYXRlIHZhbGlkIEhUTUwuXG4gICAgICAgICAgICAgICAgYm9keS5jaGFpbihuZXcgUmVhZGFibGVTdHJlYW0oe1xuICAgICAgICAgICAgICAgICAgICBzdGFydCAoY29udHJvbGxlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKEVOQ09ERURfVEFHUy5DTE9TRUQuQk9EWV9BTkRfSFRNTCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sbGVyLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbmRSZW5kZXJSZXN1bHQoe1xuICAgICAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgICAgICAgIHJlcyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2h0bWwnLFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUV0YWdzOiBuZXh0Q29uZmlnLmdlbmVyYXRlRXRhZ3MsXG4gICAgICAgICAgICAgICAgICAgIHBvd2VyZWRCeUhlYWRlcjogbmV4dENvbmZpZy5wb3dlcmVkQnlIZWFkZXIsXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdDogYm9keSxcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVDb250cm9sOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlOiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJlOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVGhpcyByZXF1ZXN0IGhhcyBwb3N0cG9uZWQsIHNvIGxldCdzIGNyZWF0ZSBhIG5ldyB0cmFuc2Zvcm1lciB0aGF0IHRoZVxuICAgICAgICAgICAgLy8gZHluYW1pYyBkYXRhIGNhbiBwaXBlIHRvIHRoYXQgd2lsbCBhdHRhY2ggdGhlIGR5bmFtaWMgZGF0YSB0byB0aGUgZW5kXG4gICAgICAgICAgICAvLyBvZiB0aGUgcmVzcG9uc2UuXG4gICAgICAgICAgICBjb25zdCB0cmFuc2Zvcm1lciA9IG5ldyBUcmFuc2Zvcm1TdHJlYW0oKTtcbiAgICAgICAgICAgIGJvZHkuY2hhaW4odHJhbnNmb3JtZXIucmVhZGFibGUpO1xuICAgICAgICAgICAgLy8gUGVyZm9ybSB0aGUgcmVuZGVyIGFnYWluLCBidXQgdGhpcyB0aW1lLCBwcm92aWRlIHRoZSBwb3N0cG9uZWQgc3RhdGUuXG4gICAgICAgICAgICAvLyBXZSBkb24ndCBhd2FpdCBiZWNhdXNlIHdlIHdhbnQgdGhlIHJlc3VsdCB0byBzdGFydCBzdHJlYW1pbmcgbm93LCBhbmRcbiAgICAgICAgICAgIC8vIHdlJ3ZlIGFscmVhZHkgY2hhaW5lZCB0aGUgdHJhbnNmb3JtZXIncyByZWFkYWJsZSB0byB0aGUgcmVuZGVyIHJlc3VsdC5cbiAgICAgICAgICAgIGRvUmVuZGVyKHtcbiAgICAgICAgICAgICAgICBzcGFuLFxuICAgICAgICAgICAgICAgIHBvc3Rwb25lZDogY2FjaGVkRGF0YS5wb3N0cG9uZWQsXG4gICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIHJlc3VtZSByZW5kZXIsIG5vdCBhIGZhbGxiYWNrIHJlbmRlciwgc28gd2UgZG9uJ3QgbmVlZCB0b1xuICAgICAgICAgICAgICAgIC8vIHNldCB0aGlzLlxuICAgICAgICAgICAgICAgIGZhbGxiYWNrUm91dGVQYXJhbXM6IG51bGxcbiAgICAgICAgICAgIH0pLnRoZW4oYXN5bmMgKHJlc3VsdCk9PntcbiAgICAgICAgICAgICAgICB2YXIgX3Jlc3VsdF92YWx1ZTtcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKCdJbnZhcmlhbnQ6IGV4cGVjdGVkIGEgcmVzdWx0IHRvIGJlIHJldHVybmVkJyksIFwiX19ORVhUX0VSUk9SX0NPREVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiRTQ2M1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgoKF9yZXN1bHRfdmFsdWUgPSByZXN1bHQudmFsdWUpID09IG51bGwgPyB2b2lkIDAgOiBfcmVzdWx0X3ZhbHVlLmtpbmQpICE9PSBDYWNoZWRSb3V0ZUtpbmQuQVBQX1BBR0UpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9yZXN1bHRfdmFsdWUxO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKGBJbnZhcmlhbnQ6IGV4cGVjdGVkIGEgcGFnZSByZXNwb25zZSwgZ290ICR7KF9yZXN1bHRfdmFsdWUxID0gcmVzdWx0LnZhbHVlKSA9PSBudWxsID8gdm9pZCAwIDogX3Jlc3VsdF92YWx1ZTEua2luZH1gKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJFMzA1XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gUGlwZSB0aGUgcmVzdW1lIHJlc3VsdCB0byB0aGUgdHJhbnNmb3JtZXIuXG4gICAgICAgICAgICAgICAgYXdhaXQgcmVzdWx0LnZhbHVlLmh0bWwucGlwZVRvKHRyYW5zZm9ybWVyLndyaXRhYmxlKTtcbiAgICAgICAgICAgIH0pLmNhdGNoKChlcnIpPT57XG4gICAgICAgICAgICAgICAgLy8gQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHBpcGluZyBvciBwcmVwYXJpbmcgdGhlIHJlbmRlciwgYWJvcnRcbiAgICAgICAgICAgICAgICAvLyB0aGUgdHJhbnNmb3JtZXJzIHdyaXRlciBzbyB3ZSBjYW4gdGVybWluYXRlIHRoZSBzdHJlYW0uXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtZXIud3JpdGFibGUuYWJvcnQoZXJyKS5jYXRjaCgoZSk9PntcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcImNvdWxkbid0IGFib3J0IHRyYW5zZm9ybWVyXCIsIGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gc2VuZFJlbmRlclJlc3VsdCh7XG4gICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICAgIHJlcyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnaHRtbCcsXG4gICAgICAgICAgICAgICAgZ2VuZXJhdGVFdGFnczogbmV4dENvbmZpZy5nZW5lcmF0ZUV0YWdzLFxuICAgICAgICAgICAgICAgIHBvd2VyZWRCeUhlYWRlcjogbmV4dENvbmZpZy5wb3dlcmVkQnlIZWFkZXIsXG4gICAgICAgICAgICAgICAgcmVzdWx0OiBib2R5LFxuICAgICAgICAgICAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gY2FjaGUgdGhlIHJlc3BvbnNlIGlmIGl0IGhhcyBwb3N0cG9uZWQgZGF0YSBiZWNhdXNlXG4gICAgICAgICAgICAgICAgLy8gdGhlIHJlc3BvbnNlIGJlaW5nIHNlbnQgdG8gdGhlIGNsaWVudCBpdCdzIGR5bmFtaWMgcGFydHMgYXJlIHN0cmVhbWVkXG4gICAgICAgICAgICAgICAgLy8gdG8gdGhlIGNsaWVudCBvbiB0aGUgc2FtZSByZXF1ZXN0LlxuICAgICAgICAgICAgICAgIGNhY2hlQ29udHJvbDoge1xuICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlOiAwLFxuICAgICAgICAgICAgICAgICAgICBleHBpcmU6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICAvLyBUT0RPOiBhY3RpdmVTcGFuIGNvZGUgcGF0aCBpcyBmb3Igd2hlbiB3cmFwcGVkIGJ5XG4gICAgICAgIC8vIG5leHQtc2VydmVyIGNhbiBiZSByZW1vdmVkIHdoZW4gdGhpcyBpcyBubyBsb25nZXIgdXNlZFxuICAgICAgICBpZiAoYWN0aXZlU3Bhbikge1xuICAgICAgICAgICAgYXdhaXQgaGFuZGxlUmVzcG9uc2UoYWN0aXZlU3Bhbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgdHJhY2VyLndpdGhQcm9wYWdhdGVkQ29udGV4dChyZXEuaGVhZGVycywgKCk9PnRyYWNlci50cmFjZShCYXNlU2VydmVyU3Bhbi5oYW5kbGVSZXF1ZXN0LCB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW5OYW1lOiBgJHttZXRob2R9ICR7cmVxLnVybH1gLFxuICAgICAgICAgICAgICAgICAgICBraW5kOiBTcGFuS2luZC5TRVJWRVIsXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwLm1ldGhvZCc6IG1ldGhvZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwLnRhcmdldCc6IHJlcS51cmxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIGhhbmRsZVJlc3BvbnNlKSk7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgLy8gaWYgd2UgYXJlbid0IHdyYXBwZWQgYnkgYmFzZS1zZXJ2ZXIgaGFuZGxlIGhlcmVcbiAgICAgICAgaWYgKCFhY3RpdmVTcGFuICYmICEoZXJyIGluc3RhbmNlb2YgTm9GYWxsYmFja0Vycm9yKSkge1xuICAgICAgICAgICAgYXdhaXQgcm91dGVNb2R1bGUub25SZXF1ZXN0RXJyb3IocmVxLCBlcnIsIHtcbiAgICAgICAgICAgICAgICByb3V0ZXJLaW5kOiAnQXBwIFJvdXRlcicsXG4gICAgICAgICAgICAgICAgcm91dGVQYXRoOiBzcmNQYWdlLFxuICAgICAgICAgICAgICAgIHJvdXRlVHlwZTogJ3JlbmRlcicsXG4gICAgICAgICAgICAgICAgcmV2YWxpZGF0ZVJlYXNvbjogZ2V0UmV2YWxpZGF0ZVJlYXNvbih7XG4gICAgICAgICAgICAgICAgICAgIGlzUmV2YWxpZGF0ZTogaXNTU0csXG4gICAgICAgICAgICAgICAgICAgIGlzT25EZW1hbmRSZXZhbGlkYXRlXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0sIHJvdXRlclNlcnZlckNvbnRleHQpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHJldGhyb3cgc28gdGhhdCB3ZSBjYW4gaGFuZGxlIHNlcnZpbmcgZXJyb3IgcGFnZVxuICAgICAgICB0aHJvdyBlcnI7XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcGFnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fadmin%2Fprojects%2Fpage&page=%2Fadmin%2Fprojects%2Fpage&appPaths=%2Fadmin%2Fprojects%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fprojects%2Fpage.tsx&appDir=%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=!\n");
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fbuiltin%2Fglobal-error.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fasync-metadata.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fgenerate%2Ficon-mark.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fnext-devtools%2Fuserspace%2Fapp%2Fsegment-explorer-node.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fbuiltin%2Fglobal-error.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fasync-metadata.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fgenerate%2Ficon-mark.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fnext-devtools%2Fuserspace%2Fapp%2Fsegment-explorer-node.js%22%2C%22ids%22%3A%5B%5D%7D&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/builtin/global-error.js */ \"(rsc)/./node_modules/next/dist/client/components/builtin/global-error.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(rsc)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(rsc)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(rsc)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/metadata/async-metadata.js */ \"(rsc)/./node_modules/next/dist/client/components/metadata/async-metadata.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/metadata/metadata-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/metadata/metadata-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/generate/icon-mark.js */ \"(rsc)/./node_modules/next/dist/lib/metadata/generate/icon-mark.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js */ \"(rsc)/./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRk5leHRjbG91ZCUyRkRldiUyRkJpb2hhemFyZFZGWF9XZWJzaXRlJTJGYmlvaGF6YXJkLXZmeCUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmJ1aWx0aW4lMkZnbG9iYWwtZXJyb3IuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGTmV4dGNsb3VkJTJGRGV2JTJGQmlvaGF6YXJkVkZYX1dlYnNpdGUlMkZiaW9oYXphcmQtdmZ4JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGY2xpZW50LXBhZ2UuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGTmV4dGNsb3VkJTJGRGV2JTJGQmlvaGF6YXJkVkZYX1dlYnNpdGUlMkZiaW9oYXphcmQtdmZ4JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGTmV4dGNsb3VkJTJGRGV2JTJGQmlvaGF6YXJkVkZYX1dlYnNpdGUlMkZiaW9oYXphcmQtdmZ4JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGaHR0cC1hY2Nlc3MtZmFsbGJhY2slMkZlcnJvci1ib3VuZGFyeS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZOZXh0Y2xvdWQlMkZEZXYlMkZCaW9oYXphcmRWRlhfV2Vic2l0ZSUyRmJpb2hhemFyZC12ZnglMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRk5leHRjbG91ZCUyRkRldiUyRkJpb2hhemFyZFZGWF9XZWJzaXRlJTJGYmlvaGF6YXJkLXZmeCUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRm1ldGFkYXRhJTJGYXN5bmMtbWV0YWRhdGEuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGTmV4dGNsb3VkJTJGRGV2JTJGQmlvaGF6YXJkVkZYX1dlYnNpdGUlMkZiaW9oYXphcmQtdmZ4JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbWV0YWRhdGElMkZtZXRhZGF0YS1ib3VuZGFyeS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZOZXh0Y2xvdWQlMkZEZXYlMkZCaW9oYXphcmRWRlhfV2Vic2l0ZSUyRmJpb2hhemFyZC12ZnglMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRk5leHRjbG91ZCUyRkRldiUyRkJpb2hhemFyZFZGWF9XZWJzaXRlJTJGYmlvaGF6YXJkLXZmeCUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGbGliJTJGbWV0YWRhdGElMkZnZW5lcmF0ZSUyRmljb24tbWFyay5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZOZXh0Y2xvdWQlMkZEZXYlMkZCaW9oYXphcmRWRlhfV2Vic2l0ZSUyRmJpb2hhemFyZC12ZnglMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRm5leHQtZGV2dG9vbHMlMkZ1c2Vyc3BhY2UlMkZhcHAlMkZzZWdtZW50LWV4cGxvcmVyLW5vZGUuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLHNQQUFxSztBQUNySztBQUNBLG9PQUE0SjtBQUM1SjtBQUNBLDBPQUErSjtBQUMvSjtBQUNBLG9SQUFvTDtBQUNwTDtBQUNBLHdPQUE4SjtBQUM5SjtBQUNBLDRQQUF3SztBQUN4SztBQUNBLGtRQUEySztBQUMzSztBQUNBLHNRQUE2SztBQUM3SztBQUNBLHdPQUE4SjtBQUM5SjtBQUNBLDRRQUFnTCIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYnVpbHRpbi9nbG9iYWwtZXJyb3IuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1wYWdlLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaHR0cC1hY2Nlc3MtZmFsbGJhY2svZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL21ldGFkYXRhL2FzeW5jLW1ldGFkYXRhLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9tZXRhZGF0YS9tZXRhZGF0YS1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL21ldGFkYXRhL2dlbmVyYXRlL2ljb24tbWFyay5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbmV4dC1kZXZ0b29scy91c2Vyc3BhY2UvYXBwL3NlZ21lbnQtZXhwbG9yZXItbm9kZS5qc1wiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fbuiltin%2Fglobal-error.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fasync-metadata.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fgenerate%2Ficon-mark.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fnext-devtools%2Fuserspace%2Fapp%2Fsegment-explorer-node.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FFooter.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FNavigation.tsx%22%2C%22ids%22%3A%5B%22Navigation%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FProviders.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&server=true!":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FFooter.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FNavigation.tsx%22%2C%22ids%22%3A%5B%22Navigation%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FProviders.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&server=true! ***!
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Footer.tsx */ \"(rsc)/./src/components/Footer.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Navigation.tsx */ \"(rsc)/./src/components/Navigation.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Providers.tsx */ \"(rsc)/./src/components/Providers.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRk5leHRjbG91ZCUyRkRldiUyRkJpb2hhemFyZFZGWF9XZWJzaXRlJTJGYmlvaGF6YXJkLXZmeCUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZmb250JTJGZ29vZ2xlJTJGdGFyZ2V0LmNzcyUzRiU3QiU1QyUyMnBhdGglNUMlMjIlM0ElNUMlMjJzcmMlMkZhcHAlMkZsYXlvdXQudHN4JTVDJTIyJTJDJTVDJTIyaW1wb3J0JTVDJTIyJTNBJTVDJTIySW50ZXIlNUMlMjIlMkMlNUMlMjJhcmd1bWVudHMlNUMlMjIlM0ElNUIlN0IlNUMlMjJzdWJzZXRzJTVDJTIyJTNBJTVCJTVDJTIybGF0aW4lNUMlMjIlNUQlMkMlNUMlMjJ2YXJpYWJsZSU1QyUyMiUzQSU1QyUyMi0tZm9udC1pbnRlciU1QyUyMiUyQyU1QyUyMmRpc3BsYXklNUMlMjIlM0ElNUMlMjJzd2FwJTVDJTIyJTdEJTVEJTJDJTVDJTIydmFyaWFibGVOYW1lJTVDJTIyJTNBJTVDJTIyaW50ZXIlNUMlMjIlN0QlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGTmV4dGNsb3VkJTJGRGV2JTJGQmlvaGF6YXJkVkZYX1dlYnNpdGUlMkZiaW9oYXphcmQtdmZ4JTJGc3JjJTJGYXBwJTJGZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGTmV4dGNsb3VkJTJGRGV2JTJGQmlvaGF6YXJkVkZYX1dlYnNpdGUlMkZiaW9oYXphcmQtdmZ4JTJGc3JjJTJGY29tcG9uZW50cyUyRkZvb3Rlci50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJkZWZhdWx0JTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRk5leHRjbG91ZCUyRkRldiUyRkJpb2hhemFyZFZGWF9XZWJzaXRlJTJGYmlvaGF6YXJkLXZmeCUyRnNyYyUyRmNvbXBvbmVudHMlMkZOYXZpZ2F0aW9uLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMk5hdmlnYXRpb24lMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGTmV4dGNsb3VkJTJGRGV2JTJGQmlvaGF6YXJkVkZYX1dlYnNpdGUlMkZiaW9oYXphcmQtdmZ4JTJGc3JjJTJGY29tcG9uZW50cyUyRlByb3ZpZGVycy50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJkZWZhdWx0JTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxrS0FBMko7QUFDM0o7QUFDQSwwS0FBa0s7QUFDbEs7QUFDQSx3S0FBOEoiLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcImRlZmF1bHRcIl0gKi8gXCIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2NvbXBvbmVudHMvRm9vdGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiTmF2aWdhdGlvblwiXSAqLyBcIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiZGVmYXVsdFwiXSAqLyBcIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9zcmMvY29tcG9uZW50cy9Qcm92aWRlcnMudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FFooter.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FNavigation.tsx%22%2C%22ids%22%3A%5B%22Navigation%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FProviders.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&server=true!\n");
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp%2Fadmin%2Fprojects%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
/*!*************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp%2Fadmin%2Fprojects%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
\*************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/admin/projects/page.tsx */ \"(rsc)/./src/app/admin/projects/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRk5leHRjbG91ZCUyRkRldiUyRkJpb2hhemFyZFZGWF9XZWJzaXRlJTJGYmlvaGF6YXJkLXZmeCUyRnNyYyUyRmFwcCUyRmFkbWluJTJGcHJvamVjdHMlMkZwYWdlLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsOEtBQW9JIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2FwcC9hZG1pbi9wcm9qZWN0cy9wYWdlLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp%2Fadmin%2Fprojects%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FNavigation.tsx%22%2C%22ids%22%3A%5B%22AdminSidebar%22%5D%7D&server=true!":
/*!*************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FNavigation.tsx%22%2C%22ids%22%3A%5B%22AdminSidebar%22%5D%7D&server=true! ***!
\*************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Navigation.tsx */ \"(rsc)/./src/components/Navigation.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRk5leHRjbG91ZCUyRkRldiUyRkJpb2hhemFyZFZGWF9XZWJzaXRlJTJGYmlvaGF6YXJkLXZmeCUyRnNyYyUyRmNvbXBvbmVudHMlMkZOYXZpZ2F0aW9uLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkFkbWluU2lkZWJhciUyMiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsMEtBQW9LIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJBZG1pblNpZGViYXJcIl0gKi8gXCIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FNavigation.tsx%22%2C%22ids%22%3A%5B%22AdminSidebar%22%5D%7D&server=true!\n");
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=icon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/icon.svg?__next_metadata__":
/*!********************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=icon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/icon.svg?__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__ = (async (props) => {\n const imageData = {\"type\":\"image/svg+xml\",\"sizes\":\"any\"}\n const imageUrl = (0,next_dist_lib_metadata_get_metadata_route__WEBPACK_IMPORTED_MODULE_0__.fillMetadataSegment)(\".\", await props.params, \"icon.svg\")\n\n return [{\n ...imageData,\n url: imageUrl + \"?042324936fe4a851\",\n }]\n });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LW1ldGFkYXRhLWltYWdlLWxvYWRlci5qcz90eXBlPWljb24mc2VnbWVudD0mYmFzZVBhdGg9JnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMhLi9zcmMvYXBwL2ljb24uc3ZnP19fbmV4dF9tZXRhZGF0YV9fIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLEVBQWlGOztBQUVqRixFQUFFLGlFQUFlO0FBQ2pCLHVCQUF1QjtBQUN2QixxQkFBcUIsOEZBQW1COztBQUV4QztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9zcmMvYXBwL2ljb24uc3ZnP19fbmV4dF9tZXRhZGF0YV9fIl0sInNvdXJjZXNDb250ZW50IjpbIiAgaW1wb3J0IHsgZmlsbE1ldGFkYXRhU2VnbWVudCB9IGZyb20gJ25leHQvZGlzdC9saWIvbWV0YWRhdGEvZ2V0LW1ldGFkYXRhLXJvdXRlJ1xuXG4gIGV4cG9ydCBkZWZhdWx0IGFzeW5jIChwcm9wcykgPT4ge1xuICAgIGNvbnN0IGltYWdlRGF0YSA9IHtcInR5cGVcIjpcImltYWdlL3N2Zyt4bWxcIixcInNpemVzXCI6XCJhbnlcIn1cbiAgICBjb25zdCBpbWFnZVVybCA9IGZpbGxNZXRhZGF0YVNlZ21lbnQoXCIuXCIsIGF3YWl0IHByb3BzLnBhcmFtcywgXCJpY29uLnN2Z1wiKVxuXG4gICAgcmV0dXJuIFt7XG4gICAgICAuLi5pbWFnZURhdGEsXG4gICAgICB1cmw6IGltYWdlVXJsICsgXCI/MDQyMzI0OTM2ZmU0YTg1MVwiLFxuICAgIH1dXG4gIH0iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js?type=icon&segment=&basePath=&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js!./src/app/icon.svg?__next_metadata__\n");
/***/ }),
/***/ "(rsc)/./src/app/admin/layout.tsx":
/*!**********************************!*\
!*** ./src/app/admin/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 */ AdminLayout)\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/route-modules/app-page/vendored/rsc/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_Navigation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/Navigation */ \"(rsc)/./src/components/Navigation.tsx\");\n\n\nfunction AdminLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen bg-surface-800\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Navigation__WEBPACK_IMPORTED_MODULE_1__.AdminSidebar, {}, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/layout.tsx\",\n lineNumber: 10,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"ml-64\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"p-8\",\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/layout.tsx\",\n lineNumber: 12,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/layout.tsx\",\n lineNumber: 11,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/layout.tsx\",\n lineNumber: 9,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2FkbWluL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBc0Q7QUFFdkMsU0FBU0MsWUFBWSxFQUNsQ0MsUUFBUSxFQUdUO0lBQ0MscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7OzBCQUNiLDhEQUFDSixnRUFBWUE7Ozs7OzBCQUNiLDhEQUFDRztnQkFBSUMsV0FBVTswQkFDYiw0RUFBQ0M7b0JBQUtELFdBQVU7OEJBQU9GOzs7Ozs7Ozs7Ozs7Ozs7OztBQUkvQiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L3NyYy9hcHAvYWRtaW4vbGF5b3V0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZG1pblNpZGViYXIgfSBmcm9tICdAL2NvbXBvbmVudHMvTmF2aWdhdGlvbidcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQWRtaW5MYXlvdXQoe1xuICBjaGlsZHJlbixcbn06IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxufSkge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwibWluLWgtc2NyZWVuIGJnLXN1cmZhY2UtODAwXCI+XG4gICAgICA8QWRtaW5TaWRlYmFyIC8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1sLTY0XCI+XG4gICAgICAgIDxtYWluIGNsYXNzTmFtZT1cInAtOFwiPntjaGlsZHJlbn08L21haW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkFkbWluU2lkZWJhciIsIkFkbWluTGF5b3V0IiwiY2hpbGRyZW4iLCJkaXYiLCJjbGFzc05hbWUiLCJtYWluIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/admin/layout.tsx\n");
/***/ }),
/***/ "(rsc)/./src/app/admin/projects/page.tsx":
/*!*****************************************!*\
!*** ./src/app/admin/projects/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 */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js");
/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)(
function() { throw new Error("Attempted to call the default export of \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); },
"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx",
"default",
));
/***/ }),
/***/ "(rsc)/./src/app/globals.css":
/*!*****************************!*\
!*** ./src/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__ = (\"cb3eaf4b7c7e\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2FwcC9nbG9iYWxzLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcImNiM2VhZjRiN2M3ZVwiXG5pZiAobW9kdWxlLmhvdCkgeyBtb2R1bGUuaG90LmFjY2VwdCgpIH1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n");
/***/ }),
/***/ "(rsc)/./src/app/layout.tsx":
/*!****************************!*\
!*** ./src/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/route-modules/app-page/vendored/rsc/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_src_app_layout_tsx_import_Inter_arguments_subsets_latin_variable_font_inter_display_swap_variableName_inter___WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\",\"display\":\"swap\"}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src/app/layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"],\\\"variable\\\":\\\"--font-inter\\\",\\\"display\\\":\\\"swap\\\"}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_variable_font_inter_display_swap_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_variable_font_inter_display_swap_variableName_inter___WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _lib_metadata__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/lib/metadata */ \"(rsc)/./src/lib/metadata.ts\");\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _components_Providers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Providers */ \"(rsc)/./src/components/Providers.tsx\");\n/* harmony import */ var _components_Navigation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/Navigation */ \"(rsc)/./src/components/Navigation.tsx\");\n/* harmony import */ var _components_Footer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/Footer */ \"(rsc)/./src/components/Footer.tsx\");\n\n\n\n\n\n\n\n\nconst metadata = _lib_metadata__WEBPACK_IMPORTED_MODULE_1__.baseMetadata;\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n className: \"dark\",\n suppressHydrationWarning: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: `${(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_variable_font_inter_display_swap_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default().variable)} font-sans min-h-screen bg-surface-800 text-text-primary antialiased`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Providers__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Navigation__WEBPACK_IMPORTED_MODULE_5__.Navigation, {}, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/layout.tsx\",\n lineNumber: 30,\n columnNumber: 11\n }, this),\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Footer__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {}, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/layout.tsx\",\n lineNumber: 32,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/layout.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/layout.tsx\",\n lineNumber: 26,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/layout.tsx\",\n lineNumber: 25,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVTUE7QUFSdUM7QUFDdkI7QUFDRztBQUVxQjtBQUNNO0FBQ1o7QUFRakMsTUFBTU0sV0FBcUJMLHVEQUFZQSxDQUFBO0FBRS9CLFNBQVNNLFdBQVcsRUFDakNDLFFBQVEsRUFHVDtJQUNDLHFCQUNFLDhEQUFDQztRQUFLQyxNQUFLO1FBQUtDLFdBQVU7UUFBT0Msd0JBQXdCO2tCQUN2RCw0RUFBQ0M7WUFDQ0YsV0FBVyxHQUFHWCwrTEFBYyxDQUFDLG9FQUFvRSxDQUFDO3NCQUVsRyw0RUFBQ0csNkRBQVNBOztrQ0FDUiw4REFBQ0MsOERBQVVBOzs7OztvQkFDVkk7a0NBQ0QsOERBQUNILDBEQUFNQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS2pCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2FwcC9sYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tICduZXh0J1xuaW1wb3J0IHsgSW50ZXIgfSBmcm9tICduZXh0L2ZvbnQvZ29vZ2xlJ1xuaW1wb3J0IHsgYmFzZU1ldGFkYXRhIH0gZnJvbSAnQC9saWIvbWV0YWRhdGEnXG5pbXBvcnQgJy4vZ2xvYmFscy5jc3MnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmltcG9ydCBQcm92aWRlcnMgZnJvbSAnQC9jb21wb25lbnRzL1Byb3ZpZGVycydcbmltcG9ydCB7IE5hdmlnYXRpb24gfSBmcm9tICdAL2NvbXBvbmVudHMvTmF2aWdhdGlvbidcbmltcG9ydCBGb290ZXIgZnJvbSAnQC9jb21wb25lbnRzL0Zvb3RlcidcblxuY29uc3QgaW50ZXIgPSBJbnRlcih7XG4gIHN1YnNldHM6IFsnbGF0aW4nXSxcbiAgdmFyaWFibGU6ICctLWZvbnQtaW50ZXInLFxuICBkaXNwbGF5OiAnc3dhcCcsXG59KVxuXG5leHBvcnQgY29uc3QgbWV0YWRhdGE6IE1ldGFkYXRhID0gYmFzZU1ldGFkYXRhXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJvb3RMYXlvdXQoe1xuICBjaGlsZHJlbixcbn06IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxufSkge1xuICByZXR1cm4gKFxuICAgIDxodG1sIGxhbmc9XCJlblwiIGNsYXNzTmFtZT1cImRhcmtcIiBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc+XG4gICAgICA8Ym9keVxuICAgICAgICBjbGFzc05hbWU9e2Ake2ludGVyLnZhcmlhYmxlfSBmb250LXNhbnMgbWluLWgtc2NyZWVuIGJnLXN1cmZhY2UtODAwIHRleHQtdGV4dC1wcmltYXJ5IGFudGlhbGlhc2VkYH1cbiAgICAgID5cbiAgICAgICAgPFByb3ZpZGVycz5cbiAgICAgICAgICA8TmF2aWdhdGlvbiAvPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8Rm9vdGVyIC8+XG4gICAgICAgIDwvUHJvdmlkZXJzPlxuICAgICAgPC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbImludGVyIiwiYmFzZU1ldGFkYXRhIiwiUmVhY3QiLCJQcm92aWRlcnMiLCJOYXZpZ2F0aW9uIiwiRm9vdGVyIiwibWV0YWRhdGEiLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJodG1sIiwibGFuZyIsImNsYXNzTmFtZSIsInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyIsImJvZHkiLCJ2YXJpYWJsZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\n");
/***/ }),
/***/ "(rsc)/./src/components/Footer.tsx":
/*!***********************************!*\
!*** ./src/components/Footer.tsx ***!
\***********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js");
/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)(
function() { throw new Error("Attempted to call the default export of \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); },
"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx",
"default",
));
/***/ }),
/***/ "(rsc)/./src/components/Navigation.tsx":
/*!***************************************!*\
!*** ./src/components/Navigation.tsx ***!
\***************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ AdminSidebar: () => (/* binding */ AdminSidebar),
/* harmony export */ Breadcrumbs: () => (/* binding */ Breadcrumbs),
/* harmony export */ Navigation: () => (/* binding */ Navigation)
/* harmony export */ });
/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js");
/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__);
const Navigation = (0,react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)(
function() { throw new Error("Attempted to call Navigation() from the server but Navigation is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); },
"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx",
"Navigation",
);const AdminSidebar = (0,react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)(
function() { throw new Error("Attempted to call AdminSidebar() from the server but AdminSidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); },
"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx",
"AdminSidebar",
);const Breadcrumbs = (0,react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)(
function() { throw new Error("Attempted to call Breadcrumbs() from the server but Breadcrumbs is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); },
"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx",
"Breadcrumbs",
);
/***/ }),
/***/ "(rsc)/./src/components/Providers.tsx":
/*!**************************************!*\
!*** ./src/components/Providers.tsx ***!
\**************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js");
/* harmony import */ var react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_server_dom_webpack_server__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)(
function() { throw new Error("Attempted to call the default export of \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Providers.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); },
"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Providers.tsx",
"default",
));
/***/ }),
/***/ "(rsc)/./src/lib/metadata.ts":
/*!*****************************!*\
!*** ./src/lib/metadata.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 */ baseMetadata: () => (/* binding */ baseMetadata),\n/* harmony export */ generateOrganizationSchema: () => (/* binding */ generateOrganizationSchema),\n/* harmony export */ generatePageMetadata: () => (/* binding */ generatePageMetadata),\n/* harmony export */ generateWebsiteSchema: () => (/* binding */ generateWebsiteSchema)\n/* harmony export */ });\nconst baseMetadata = {\n metadataBase: new URL('https://biohazardvfx.com'),\n title: {\n default: 'Biohazard VFX | Visual Effects Studio',\n template: '%s | Biohazard VFX'\n },\n description: 'Global visual effects studio delivering world-class VFX supervision, 3D animation, and post-production services.',\n keywords: [\n 'VFX',\n 'visual effects',\n 'post-production',\n '3D animation',\n 'video editing',\n 'music videos',\n 'commercials',\n 'film',\n 'animation'\n ],\n authors: [\n {\n name: 'Biohazard VFX Team'\n }\n ],\n creator: 'Biohazard VFX',\n publisher: 'Biohazard VFX',\n robots: {\n index: true,\n follow: true,\n googleBot: {\n index: true,\n follow: true,\n 'max-video-preview': -1,\n 'max-image-preview': 'large',\n 'max-snippet': -1\n }\n },\n openGraph: {\n type: 'website',\n locale: 'en_US',\n url: 'https://biohazardvfx.com',\n siteName: 'Biohazard VFX',\n images: [\n {\n url: '/images/splash.jpg',\n width: 1200,\n height: 630,\n alt: 'Biohazard VFX Studio Splash'\n }\n ]\n },\n twitter: {\n card: 'summary_large_image',\n site: '@biohazardvfx',\n creator: '@biohazardvfx',\n images: [\n '/images/splash.jpg'\n ]\n },\n icons: {\n icon: '/icon.svg'\n }\n};\nfunction generatePageMetadata(overrides = {}) {\n return {\n ...baseMetadata,\n ...overrides,\n openGraph: {\n ...baseMetadata.openGraph,\n ...overrides.openGraph || {}\n },\n twitter: {\n ...baseMetadata.twitter,\n ...overrides.twitter || {}\n }\n };\n}\n// JSON-LD structured data generators\nfunction generateOrganizationSchema() {\n return {\n '@context': 'https://schema.org',\n '@type': 'ProductionCompany',\n name: 'Biohazard VFX',\n description: 'Global visual effects studio delivering world-class VFX supervision, 3D animation, and post-production services.',\n url: 'https://biohazardvfx.com',\n logo: 'https://biohazardvfx.com/images/logo.png',\n foundingDate: '2023',\n founders: [\n {\n '@type': 'Person',\n name: 'Nicholai Vogel'\n },\n {\n '@type': 'Person',\n name: 'Davané'\n },\n {\n '@type': 'Person',\n name: 'Parth Gupta'\n }\n ],\n address: {\n '@type': 'PostalAddress',\n addressLocality: 'Multiple Cities',\n addressCountries: [\n 'US',\n 'CA',\n 'IN'\n ]\n }\n };\n}\nfunction generateWebsiteSchema() {\n return {\n '@context': 'https://schema.org',\n '@type': 'WebSite',\n name: 'Biohazard VFX',\n url: 'https://biohazardvfx.com',\n description: 'Global visual effects studio delivering world-class VFX supervision, 3D animation, and post-production services.',\n potentialAction: {\n '@type': 'SearchAction',\n target: 'https://biohazardvfx.com/search?q={search_term_string}',\n 'query-input': 'required name=search_term_string'\n }\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvbGliL21ldGFkYXRhLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFTyxNQUFNQSxlQUF5QjtJQUNwQ0MsY0FBYyxJQUFJQyxJQUFJO0lBQ3RCQyxPQUFPO1FBQ0xDLFNBQVM7UUFDVEMsVUFBVTtJQUNaO0lBQ0FDLGFBQ0U7SUFDRkMsVUFBVTtRQUNSO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtLQUNEO0lBQ0RDLFNBQVM7UUFBQztZQUFFQyxNQUFNO1FBQXFCO0tBQUU7SUFDekNDLFNBQVM7SUFDVEMsV0FBVztJQUNYQyxRQUFRO1FBQ05DLE9BQU87UUFDUEMsUUFBUTtRQUNSQyxXQUFXO1lBQ1RGLE9BQU87WUFDUEMsUUFBUTtZQUNSLHFCQUFxQixDQUFDO1lBQ3RCLHFCQUFxQjtZQUNyQixlQUFlLENBQUM7UUFDbEI7SUFDRjtJQUNBRSxXQUFXO1FBQ1RDLE1BQU07UUFDTkMsUUFBUTtRQUNSQyxLQUFLO1FBQ0xDLFVBQVU7UUFDVkMsUUFBUTtZQUNOO2dCQUNFRixLQUFLO2dCQUNMRyxPQUFPO2dCQUNQQyxRQUFRO2dCQUNSQyxLQUFLO1lBQ1A7U0FDRDtJQUNIO0lBQ0FDLFNBQVM7UUFDUEMsTUFBTTtRQUNOQyxNQUFNO1FBQ05qQixTQUFTO1FBQ1RXLFFBQVE7WUFBQztTQUFxQjtJQUNoQztJQUNBTyxPQUFPO1FBQ0xDLE1BQU07SUFDUjtBQUNGLEVBQUM7QUFFTSxTQUFTQyxxQkFDZEMsWUFBK0IsQ0FBQyxDQUFDO0lBRWpDLE9BQU87UUFDTCxHQUFHL0IsWUFBWTtRQUNmLEdBQUcrQixTQUFTO1FBQ1pmLFdBQVc7WUFDVCxHQUFHaEIsYUFBYWdCLFNBQVM7WUFDekIsR0FBSWUsVUFBVWYsU0FBUyxJQUFJLENBQUMsQ0FBQztRQUMvQjtRQUNBUyxTQUFTO1lBQ1AsR0FBR3pCLGFBQWF5QixPQUFPO1lBQ3ZCLEdBQUlNLFVBQVVOLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDN0I7SUFDRjtBQUNGO0FBRUEscUNBQXFDO0FBQzlCLFNBQVNPO0lBQ2QsT0FBTztRQUNMLFlBQVk7UUFDWixTQUFTO1FBQ1R2QixNQUFNO1FBQ05ILGFBQ0U7UUFDRmEsS0FBSztRQUNMYyxNQUFNO1FBQ05DLGNBQWM7UUFDZEMsVUFBVTtZQUNSO2dCQUNFLFNBQVM7Z0JBQ1QxQixNQUFNO1lBQ1I7WUFDQTtnQkFDRSxTQUFTO2dCQUNUQSxNQUFNO1lBQ1I7WUFDQTtnQkFDRSxTQUFTO2dCQUNUQSxNQUFNO1lBQ1I7U0FDRDtRQUNEMkIsU0FBUztZQUNQLFNBQVM7WUFDVEMsaUJBQWlCO1lBQ2pCQyxrQkFBa0I7Z0JBQUM7Z0JBQU07Z0JBQU07YUFBSztRQUN0QztJQUNGO0FBQ0Y7QUFFTyxTQUFTQztJQUNkLE9BQU87UUFDTCxZQUFZO1FBQ1osU0FBUztRQUNUOUIsTUFBTTtRQUNOVSxLQUFLO1FBQ0xiLGFBQ0U7UUFDRmtDLGlCQUFpQjtZQUNmLFNBQVM7WUFDVEMsUUFBUTtZQUNSLGVBQWU7UUFDakI7SUFDRjtBQUNGIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2xpYi9tZXRhZGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXRhZGF0YSB9IGZyb20gJ25leHQnXG5cbmV4cG9ydCBjb25zdCBiYXNlTWV0YWRhdGE6IE1ldGFkYXRhID0ge1xuICBtZXRhZGF0YUJhc2U6IG5ldyBVUkwoJ2h0dHBzOi8vYmlvaGF6YXJkdmZ4LmNvbScpLFxuICB0aXRsZToge1xuICAgIGRlZmF1bHQ6ICdCaW9oYXphcmQgVkZYIHwgVmlzdWFsIEVmZmVjdHMgU3R1ZGlvJyxcbiAgICB0ZW1wbGF0ZTogJyVzIHwgQmlvaGF6YXJkIFZGWCcsXG4gIH0sXG4gIGRlc2NyaXB0aW9uOlxuICAgICdHbG9iYWwgdmlzdWFsIGVmZmVjdHMgc3R1ZGlvIGRlbGl2ZXJpbmcgd29ybGQtY2xhc3MgVkZYIHN1cGVydmlzaW9uLCAzRCBhbmltYXRpb24sIGFuZCBwb3N0LXByb2R1Y3Rpb24gc2VydmljZXMuJyxcbiAga2V5d29yZHM6IFtcbiAgICAnVkZYJyxcbiAgICAndmlzdWFsIGVmZmVjdHMnLFxuICAgICdwb3N0LXByb2R1Y3Rpb24nLFxuICAgICczRCBhbmltYXRpb24nLFxuICAgICd2aWRlbyBlZGl0aW5nJyxcbiAgICAnbXVzaWMgdmlkZW9zJyxcbiAgICAnY29tbWVyY2lhbHMnLFxuICAgICdmaWxtJyxcbiAgICAnYW5pbWF0aW9uJyxcbiAgXSxcbiAgYXV0aG9yczogW3sgbmFtZTogJ0Jpb2hhemFyZCBWRlggVGVhbScgfV0sXG4gIGNyZWF0b3I6ICdCaW9oYXphcmQgVkZYJyxcbiAgcHVibGlzaGVyOiAnQmlvaGF6YXJkIFZGWCcsXG4gIHJvYm90czoge1xuICAgIGluZGV4OiB0cnVlLFxuICAgIGZvbGxvdzogdHJ1ZSxcbiAgICBnb29nbGVCb3Q6IHtcbiAgICAgIGluZGV4OiB0cnVlLFxuICAgICAgZm9sbG93OiB0cnVlLFxuICAgICAgJ21heC12aWRlby1wcmV2aWV3JzogLTEsXG4gICAgICAnbWF4LWltYWdlLXByZXZpZXcnOiAnbGFyZ2UnLFxuICAgICAgJ21heC1zbmlwcGV0JzogLTEsXG4gICAgfSxcbiAgfSxcbiAgb3BlbkdyYXBoOiB7XG4gICAgdHlwZTogJ3dlYnNpdGUnLFxuICAgIGxvY2FsZTogJ2VuX1VTJyxcbiAgICB1cmw6ICdodHRwczovL2Jpb2hhemFyZHZmeC5jb20nLFxuICAgIHNpdGVOYW1lOiAnQmlvaGF6YXJkIFZGWCcsXG4gICAgaW1hZ2VzOiBbXG4gICAgICB7XG4gICAgICAgIHVybDogJy9pbWFnZXMvc3BsYXNoLmpwZycsXG4gICAgICAgIHdpZHRoOiAxMjAwLFxuICAgICAgICBoZWlnaHQ6IDYzMCxcbiAgICAgICAgYWx0OiAnQmlvaGF6YXJkIFZGWCBTdHVkaW8gU3BsYXNoJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgdHdpdHRlcjoge1xuICAgIGNhcmQ6ICdzdW1tYXJ5X2xhcmdlX2ltYWdlJyxcbiAgICBzaXRlOiAnQGJpb2hhemFyZHZmeCcsXG4gICAgY3JlYXRvcjogJ0BiaW9oYXphcmR2ZngnLFxuICAgIGltYWdlczogWycvaW1hZ2VzL3NwbGFzaC5qcGcnXSxcbiAgfSxcbiAgaWNvbnM6IHtcbiAgICBpY29uOiAnL2ljb24uc3ZnJyxcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUGFnZU1ldGFkYXRhKFxuICBvdmVycmlkZXM6IFBhcnRpYWw8TWV0YWRhdGE+ID0ge31cbik6IE1ldGFkYXRhIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlTWV0YWRhdGEsXG4gICAgLi4ub3ZlcnJpZGVzLFxuICAgIG9wZW5HcmFwaDoge1xuICAgICAgLi4uYmFzZU1ldGFkYXRhLm9wZW5HcmFwaCxcbiAgICAgIC4uLihvdmVycmlkZXMub3BlbkdyYXBoIHx8IHt9KSxcbiAgICB9LFxuICAgIHR3aXR0ZXI6IHtcbiAgICAgIC4uLmJhc2VNZXRhZGF0YS50d2l0dGVyLFxuICAgICAgLi4uKG92ZXJyaWRlcy50d2l0dGVyIHx8IHt9KSxcbiAgICB9LFxuICB9XG59XG5cbi8vIEpTT04tTEQgc3RydWN0dXJlZCBkYXRhIGdlbmVyYXRvcnNcbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZU9yZ2FuaXphdGlvblNjaGVtYSgpIHtcbiAgcmV0dXJuIHtcbiAgICAnQGNvbnRleHQnOiAnaHR0cHM6Ly9zY2hlbWEub3JnJyxcbiAgICAnQHR5cGUnOiAnUHJvZHVjdGlvbkNvbXBhbnknLFxuICAgIG5hbWU6ICdCaW9oYXphcmQgVkZYJyxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdHbG9iYWwgdmlzdWFsIGVmZmVjdHMgc3R1ZGlvIGRlbGl2ZXJpbmcgd29ybGQtY2xhc3MgVkZYIHN1cGVydmlzaW9uLCAzRCBhbmltYXRpb24sIGFuZCBwb3N0LXByb2R1Y3Rpb24gc2VydmljZXMuJyxcbiAgICB1cmw6ICdodHRwczovL2Jpb2hhemFyZHZmeC5jb20nLFxuICAgIGxvZ286ICdodHRwczovL2Jpb2hhemFyZHZmeC5jb20vaW1hZ2VzL2xvZ28ucG5nJyxcbiAgICBmb3VuZGluZ0RhdGU6ICcyMDIzJyxcbiAgICBmb3VuZGVyczogW1xuICAgICAge1xuICAgICAgICAnQHR5cGUnOiAnUGVyc29uJyxcbiAgICAgICAgbmFtZTogJ05pY2hvbGFpIFZvZ2VsJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgICdAdHlwZSc6ICdQZXJzb24nLFxuICAgICAgICBuYW1lOiAnRGF2YW7DqScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAnQHR5cGUnOiAnUGVyc29uJyxcbiAgICAgICAgbmFtZTogJ1BhcnRoIEd1cHRhJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBhZGRyZXNzOiB7XG4gICAgICAnQHR5cGUnOiAnUG9zdGFsQWRkcmVzcycsXG4gICAgICBhZGRyZXNzTG9jYWxpdHk6ICdNdWx0aXBsZSBDaXRpZXMnLFxuICAgICAgYWRkcmVzc0NvdW50cmllczogWydVUycsICdDQScsICdJTiddLFxuICAgIH0sXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlV2Vic2l0ZVNjaGVtYSgpIHtcbiAgcmV0dXJuIHtcbiAgICAnQGNvbnRleHQnOiAnaHR0cHM6Ly9zY2hlbWEub3JnJyxcbiAgICAnQHR5cGUnOiAnV2ViU2l0ZScsXG4gICAgbmFtZTogJ0Jpb2hhemFyZCBWRlgnLFxuICAgIHVybDogJ2h0dHBzOi8vYmlvaGF6YXJkdmZ4LmNvbScsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICAnR2xvYmFsIHZpc3VhbCBlZmZlY3RzIHN0dWRpbyBkZWxpdmVyaW5nIHdvcmxkLWNsYXNzIFZGWCBzdXBlcnZpc2lvbiwgM0QgYW5pbWF0aW9uLCBhbmQgcG9zdC1wcm9kdWN0aW9uIHNlcnZpY2VzLicsXG4gICAgcG90ZW50aWFsQWN0aW9uOiB7XG4gICAgICAnQHR5cGUnOiAnU2VhcmNoQWN0aW9uJyxcbiAgICAgIHRhcmdldDogJ2h0dHBzOi8vYmlvaGF6YXJkdmZ4LmNvbS9zZWFyY2g/cT17c2VhcmNoX3Rlcm1fc3RyaW5nfScsXG4gICAgICAncXVlcnktaW5wdXQnOiAncmVxdWlyZWQgbmFtZT1zZWFyY2hfdGVybV9zdHJpbmcnLFxuICAgIH0sXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJiYXNlTWV0YWRhdGEiLCJtZXRhZGF0YUJhc2UiLCJVUkwiLCJ0aXRsZSIsImRlZmF1bHQiLCJ0ZW1wbGF0ZSIsImRlc2NyaXB0aW9uIiwia2V5d29yZHMiLCJhdXRob3JzIiwibmFtZSIsImNyZWF0b3IiLCJwdWJsaXNoZXIiLCJyb2JvdHMiLCJpbmRleCIsImZvbGxvdyIsImdvb2dsZUJvdCIsIm9wZW5HcmFwaCIsInR5cGUiLCJsb2NhbGUiLCJ1cmwiLCJzaXRlTmFtZSIsImltYWdlcyIsIndpZHRoIiwiaGVpZ2h0IiwiYWx0IiwidHdpdHRlciIsImNhcmQiLCJzaXRlIiwiaWNvbnMiLCJpY29uIiwiZ2VuZXJhdGVQYWdlTWV0YWRhdGEiLCJvdmVycmlkZXMiLCJnZW5lcmF0ZU9yZ2FuaXphdGlvblNjaGVtYSIsImxvZ28iLCJmb3VuZGluZ0RhdGUiLCJmb3VuZGVycyIsImFkZHJlc3MiLCJhZGRyZXNzTG9jYWxpdHkiLCJhZGRyZXNzQ291bnRyaWVzIiwiZ2VuZXJhdGVXZWJzaXRlU2NoZW1hIiwicG90ZW50aWFsQWN0aW9uIiwidGFyZ2V0Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/lib/metadata.ts\n");
/***/ }),
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fbuiltin%2Fglobal-error.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fasync-metadata.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fgenerate%2Ficon-mark.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fnext-devtools%2Fuserspace%2Fapp%2Fsegment-explorer-node.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fbuiltin%2Fglobal-error.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fasync-metadata.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fgenerate%2Ficon-mark.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fnext-devtools%2Fuserspace%2Fapp%2Fsegment-explorer-node.js%22%2C%22ids%22%3A%5B%5D%7D&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/builtin/global-error.js */ \"(ssr)/./node_modules/next/dist/client/components/builtin/global-error.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(ssr)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\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));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/metadata/async-metadata.js */ \"(ssr)/./node_modules/next/dist/client/components/metadata/async-metadata.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/metadata/metadata-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/metadata/metadata-boundary.js\", 23));\n;\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));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/generate/icon-mark.js */ \"(ssr)/./node_modules/next/dist/lib/metadata/generate/icon-mark.js\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js */ \"(ssr)/./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRk5leHRjbG91ZCUyRkRldiUyRkJpb2hhemFyZFZGWF9XZWJzaXRlJTJGYmlvaGF6YXJkLXZmeCUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmJ1aWx0aW4lMkZnbG9iYWwtZXJyb3IuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGTmV4dGNsb3VkJTJGRGV2JTJGQmlvaGF6YXJkVkZYX1dlYnNpdGUlMkZiaW9oYXphcmQtdmZ4JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGY2xpZW50LXBhZ2UuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGTmV4dGNsb3VkJTJGRGV2JTJGQmlvaGF6YXJkVkZYX1dlYnNpdGUlMkZiaW9oYXphcmQtdmZ4JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGTmV4dGNsb3VkJTJGRGV2JTJGQmlvaGF6YXJkVkZYX1dlYnNpdGUlMkZiaW9oYXphcmQtdmZ4JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGaHR0cC1hY2Nlc3MtZmFsbGJhY2slMkZlcnJvci1ib3VuZGFyeS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZOZXh0Y2xvdWQlMkZEZXYlMkZCaW9oYXphcmRWRlhfV2Vic2l0ZSUyRmJpb2hhemFyZC12ZnglMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRk5leHRjbG91ZCUyRkRldiUyRkJpb2hhemFyZFZGWF9XZWJzaXRlJTJGYmlvaGF6YXJkLXZmeCUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRm1ldGFkYXRhJTJGYXN5bmMtbWV0YWRhdGEuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGTmV4dGNsb3VkJTJGRGV2JTJGQmlvaGF6YXJkVkZYX1dlYnNpdGUlMkZiaW9oYXphcmQtdmZ4JTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbWV0YWRhdGElMkZtZXRhZGF0YS1ib3VuZGFyeS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZOZXh0Y2xvdWQlMkZEZXYlMkZCaW9oYXphcmRWRlhfV2Vic2l0ZSUyRmJpb2hhemFyZC12ZnglMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRk5leHRjbG91ZCUyRkRldiUyRkJpb2hhemFyZFZGWF9XZWJzaXRlJTJGYmlvaGF6YXJkLXZmeCUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGbGliJTJGbWV0YWRhdGElMkZnZW5lcmF0ZSUyRmljb24tbWFyay5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZob21lJTJGTmljaG9sYWklMkZOZXh0Y2xvdWQlMkZEZXYlMkZCaW9oYXphcmRWRlhfV2Vic2l0ZSUyRmJpb2hhemFyZC12ZnglMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRm5leHQtZGV2dG9vbHMlMkZ1c2Vyc3BhY2UlMkZhcHAlMkZzZWdtZW50LWV4cGxvcmVyLW5vZGUuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLHNQQUFxSztBQUNySztBQUNBLG9PQUE0SjtBQUM1SjtBQUNBLDBPQUErSjtBQUMvSjtBQUNBLG9SQUFvTDtBQUNwTDtBQUNBLHdPQUE4SjtBQUM5SjtBQUNBLDRQQUF3SztBQUN4SztBQUNBLGtRQUEySztBQUMzSztBQUNBLHNRQUE2SztBQUM3SztBQUNBLGtPQUE4SjtBQUM5SjtBQUNBLDRRQUFnTCIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYnVpbHRpbi9nbG9iYWwtZXJyb3IuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1wYWdlLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaHR0cC1hY2Nlc3MtZmFsbGJhY2svZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL21ldGFkYXRhL2FzeW5jLW1ldGFkYXRhLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9tZXRhZGF0YS9tZXRhZGF0YS1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL21ldGFkYXRhL2dlbmVyYXRlL2ljb24tbWFyay5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbmV4dC1kZXZ0b29scy91c2Vyc3BhY2UvYXBwL3NlZ21lbnQtZXhwbG9yZXItbm9kZS5qc1wiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fbuiltin%2Fglobal-error.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fasync-metadata.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fgenerate%2Ficon-mark.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Fdist%2Fnext-devtools%2Fuserspace%2Fapp%2Fsegment-explorer-node.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
/***/ }),
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FFooter.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FNavigation.tsx%22%2C%22ids%22%3A%5B%22Navigation%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FProviders.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&server=true!":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FFooter.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FNavigation.tsx%22%2C%22ids%22%3A%5B%22Navigation%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FProviders.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&server=true! ***!
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Footer.tsx */ \"(ssr)/./src/components/Footer.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Navigation.tsx */ \"(ssr)/./src/components/Navigation.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Providers.tsx */ \"(ssr)/./src/components/Providers.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRk5leHRjbG91ZCUyRkRldiUyRkJpb2hhemFyZFZGWF9XZWJzaXRlJTJGYmlvaGF6YXJkLXZmeCUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZmb250JTJGZ29vZ2xlJTJGdGFyZ2V0LmNzcyUzRiU3QiU1QyUyMnBhdGglNUMlMjIlM0ElNUMlMjJzcmMlMkZhcHAlMkZsYXlvdXQudHN4JTVDJTIyJTJDJTVDJTIyaW1wb3J0JTVDJTIyJTNBJTVDJTIySW50ZXIlNUMlMjIlMkMlNUMlMjJhcmd1bWVudHMlNUMlMjIlM0ElNUIlN0IlNUMlMjJzdWJzZXRzJTVDJTIyJTNBJTVCJTVDJTIybGF0aW4lNUMlMjIlNUQlMkMlNUMlMjJ2YXJpYWJsZSU1QyUyMiUzQSU1QyUyMi0tZm9udC1pbnRlciU1QyUyMiUyQyU1QyUyMmRpc3BsYXklNUMlMjIlM0ElNUMlMjJzd2FwJTVDJTIyJTdEJTVEJTJDJTVDJTIydmFyaWFibGVOYW1lJTVDJTIyJTNBJTVDJTIyaW50ZXIlNUMlMjIlN0QlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGTmV4dGNsb3VkJTJGRGV2JTJGQmlvaGF6YXJkVkZYX1dlYnNpdGUlMkZiaW9oYXphcmQtdmZ4JTJGc3JjJTJGYXBwJTJGZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGTmV4dGNsb3VkJTJGRGV2JTJGQmlvaGF6YXJkVkZYX1dlYnNpdGUlMkZiaW9oYXphcmQtdmZ4JTJGc3JjJTJGY29tcG9uZW50cyUyRkZvb3Rlci50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJkZWZhdWx0JTIyJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRk5leHRjbG91ZCUyRkRldiUyRkJpb2hhemFyZFZGWF9XZWJzaXRlJTJGYmlvaGF6YXJkLXZmeCUyRnNyYyUyRmNvbXBvbmVudHMlMkZOYXZpZ2F0aW9uLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMk5hdmlnYXRpb24lMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRk5pY2hvbGFpJTJGTmV4dGNsb3VkJTJGRGV2JTJGQmlvaGF6YXJkVkZYX1dlYnNpdGUlMkZiaW9oYXphcmQtdmZ4JTJGc3JjJTJGY29tcG9uZW50cyUyRlByb3ZpZGVycy50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJkZWZhdWx0JTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxrS0FBMko7QUFDM0o7QUFDQSwwS0FBa0s7QUFDbEs7QUFDQSx3S0FBOEoiLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcImRlZmF1bHRcIl0gKi8gXCIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2NvbXBvbmVudHMvRm9vdGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiTmF2aWdhdGlvblwiXSAqLyBcIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiZGVmYXVsdFwiXSAqLyBcIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9zcmMvY29tcG9uZW50cy9Qcm92aWRlcnMudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%2C%5C%22variable%5C%22%3A%5C%22--font-inter%5C%22%2C%5C%22display%5C%22%3A%5C%22swap%5C%22%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FFooter.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FNavigation.tsx%22%2C%22ids%22%3A%5B%22Navigation%22%5D%7D&modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FProviders.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&server=true!\n");
/***/ }),
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp%2Fadmin%2Fprojects%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
/*!*************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp%2Fadmin%2Fprojects%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
\*************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/admin/projects/page.tsx */ \"(ssr)/./src/app/admin/projects/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRk5leHRjbG91ZCUyRkRldiUyRkJpb2hhemFyZFZGWF9XZWJzaXRlJTJGYmlvaGF6YXJkLXZmeCUyRnNyYyUyRmFwcCUyRmFkbWluJTJGcHJvamVjdHMlMkZwYWdlLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsOEtBQW9JIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2FwcC9hZG1pbi9wcm9qZWN0cy9wYWdlLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp%2Fadmin%2Fprojects%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
/***/ }),
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FNavigation.tsx%22%2C%22ids%22%3A%5B%22AdminSidebar%22%5D%7D&server=true!":
/*!*************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FNavigation.tsx%22%2C%22ids%22%3A%5B%22AdminSidebar%22%5D%7D&server=true! ***!
\*************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/Navigation.tsx */ \"(ssr)/./src/components/Navigation.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRmhvbWUlMkZOaWNob2xhaSUyRk5leHRjbG91ZCUyRkRldiUyRkJpb2hhemFyZFZGWF9XZWJzaXRlJTJGYmlvaGF6YXJkLXZmeCUyRnNyYyUyRmNvbXBvbmVudHMlMkZOYXZpZ2F0aW9uLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkFkbWluU2lkZWJhciUyMiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsMEtBQW9LIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJBZG1pblNpZGViYXJcIl0gKi8gXCIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fcomponents%2FNavigation.tsx%22%2C%22ids%22%3A%5B%22AdminSidebar%22%5D%7D&server=true!\n");
/***/ }),
/***/ "(ssr)/./src/app/admin/projects/page.tsx":
/*!*****************************************!*\
!*** ./src/app/admin/projects/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 */ AdminProjectsPage)\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/route-modules/app-page/vendored/ssr/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/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_auth_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-auth/react */ \"(ssr)/./node_modules/next-auth/react/index.js\");\n/* harmony import */ var next_auth_react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_auth_react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next/image */ \"(ssr)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _hooks_use_toast__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/hooks/use-toast */ \"(ssr)/./src/hooks/use-toast.ts\");\n/* harmony import */ var _components_admin_FileUpload__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/admin/FileUpload */ \"(ssr)/./src/components/admin/FileUpload.tsx\");\n/* harmony import */ var _components_Layouts__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/Layouts */ \"(ssr)/./src/components/Layouts.tsx\");\n/* harmony import */ var _components_Buttons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/Buttons */ \"(ssr)/./src/components/Buttons.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n// import Link from 'next/link'\n\n\n\n\n\nfunction AdminProjectsPage() {\n const { data: session, status } = (0,next_auth_react__WEBPACK_IMPORTED_MODULE_2__.useSession)();\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.useRouter)();\n const [projects, setProjects] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [isLoading, setIsLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [editingProject, setEditingProject] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [isModalOpen, setIsModalOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"AdminProjectsPage.useEffect\": ()=>{\n if (status === 'loading') return;\n if (!session) router.push('/admin/login');\n }\n }[\"AdminProjectsPage.useEffect\"], [\n session,\n status,\n router\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"AdminProjectsPage.useEffect\": ()=>{\n // Load projects from API\n const loadProjects = {\n \"AdminProjectsPage.useEffect.loadProjects\": async ()=>{\n try {\n const res = await fetch('/api/projects');\n if (!res.ok) {\n throw new Error('Failed to fetch projects');\n }\n const data = await res.json();\n setProjects(data);\n } catch (err) {\n // In production, you might want to log this to your monitoring service\n // console.error('Error fetching projects:', err)\n (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_5__.toast)({\n title: 'Error',\n description: 'Failed to load projects',\n status: 'error'\n });\n } finally{\n setIsLoading(false);\n }\n }\n }[\"AdminProjectsPage.useEffect.loadProjects\"];\n if (session) {\n loadProjects();\n }\n }\n }[\"AdminProjectsPage.useEffect\"], [\n session\n ]);\n const handleEdit = (project)=>{\n setEditingProject(project);\n setIsModalOpen(true);\n };\n const handleDelete = async (id)=>{\n if (confirm('Are you sure you want to delete this project?')) {\n try {\n const res = await fetch(`/api/projects/${id}`, {\n method: 'DELETE'\n });\n if (!res.ok) {\n throw new Error('Failed to delete project');\n }\n // Remove project from state\n setProjects(projects.filter((p)=>p.id !== id));\n (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_5__.toast)({\n title: 'Success',\n description: 'Project deleted successfully',\n status: 'success'\n });\n } catch (err) {\n // In production, you might want to log this to your monitoring service\n // console.error('Error deleting project:', err)\n (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_5__.toast)({\n title: 'Error',\n description: 'Failed to delete project',\n status: 'error'\n });\n }\n }\n };\n const handleSave = async (e)=>{\n e.preventDefault();\n if (!editingProject) return;\n // Log the data being sent\n console.log('Sending project data:', editingProject);\n try {\n let res;\n if (editingProject.id) {\n // Update existing project\n res = await fetch(`/api/projects/${editingProject.id}`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(editingProject)\n });\n } else {\n // Create new project\n res = await fetch('/api/projects/create', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(editingProject)\n });\n }\n if (!res.ok) {\n const errorData = await res.json();\n // In production, you might want to log this to your monitoring service\n // console.error('Server error response:', errorData)\n throw new Error(errorData.error || 'Failed to save project');\n }\n const savedProject = await res.json();\n if (editingProject.id) {\n // Update project in state\n setProjects(projects.map((p)=>p.id === savedProject.id ? savedProject : p));\n } else {\n // Add new project to state\n setProjects([\n ...projects,\n savedProject\n ]);\n }\n setIsModalOpen(false);\n setEditingProject(null);\n (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_5__.toast)({\n title: 'Success',\n description: 'Project saved successfully',\n status: 'success'\n });\n } catch (err) {\n // In production, you might want to log this to your monitoring service\n // console.error('Error saving project:', err)\n (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_5__.toast)({\n title: 'Error',\n description: 'Failed to save project',\n status: 'error'\n });\n }\n };\n if (status === 'loading' || isLoading) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-center min-h-[40vh]\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"spinner w-8 h-8\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 176,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 175,\n columnNumber: 7\n }, this);\n }\n return /*#__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)(_components_Layouts__WEBPACK_IMPORTED_MODULE_7__.PageHeader, {\n title: \"Manage Projects\",\n subtitle: \"Create, update, and publish portfolio work.\",\n actions: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Buttons__WEBPACK_IMPORTED_MODULE_8__.Button, {\n onClick: ()=>{\n setEditingProject({\n id: '',\n title: '',\n description: null,\n thumbnail: '',\n size: 'SMALL',\n embed: null,\n video: null,\n credits: '',\n info: '',\n category: null,\n tags: null,\n featured: false,\n published: false,\n createdAt: new Date(),\n updatedAt: new Date()\n });\n setIsModalOpen(true);\n },\n children: \"Add New Project\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 187,\n columnNumber: 11\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 183,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4\",\n children: projects.map((project)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card flex items-center gap-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative w-32 h-20 flex-shrink-0 rounded-lg overflow-hidden\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n src: project.thumbnail,\n alt: project.title,\n fill: true,\n className: \"object-cover\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 219,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 218,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-grow\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold text-white\",\n children: project.title\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 229,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-text-muted text-sm\",\n children: project.category || 'No category'\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 232,\n columnNumber: 17\n }, this),\n project.featured && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"badge badge-accent mt-2\",\n children: \"Featured\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 235,\n columnNumber: 38\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 228,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Buttons__WEBPACK_IMPORTED_MODULE_8__.Button, {\n variant: \"secondary\",\n onClick: ()=>handleEdit(project),\n children: \"Edit\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 240,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Buttons__WEBPACK_IMPORTED_MODULE_8__.Button, {\n variant: \"danger\",\n onClick: ()=>handleDelete(project.id),\n children: \"Delete\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 243,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 239,\n columnNumber: 15\n }, this)\n ]\n }, project.id, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 216,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 214,\n columnNumber: 7\n }, this),\n isModalOpen && editingProject && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"modal-backdrop flex items-center justify-center p-6\",\n onClick: (e)=>{\n // Close modal when clicking on the backdrop\n if (e.target === e.currentTarget) {\n setIsModalOpen(false);\n setEditingProject(null);\n }\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"modal-content left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 max-w-2xl w-full p-6 max-h-[90vh] overflow-y-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-2xl font-semibold text-white mb-6\",\n children: editingProject.id ? 'Edit Project' : 'Add New Project'\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 264,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: handleSave,\n className: \"space-y-4\",\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: \"label\",\n children: \"Title\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 270,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n value: editingProject.title,\n onChange: (e)=>setEditingProject({\n ...editingProject,\n title: e.target.value\n }),\n className: \"input\",\n required: true\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 271,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 269,\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)(\"label\", {\n className: \"block text-sm font-medium mb-2\",\n children: \"Description (optional)\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 286,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n value: editingProject.description || '',\n onChange: (e)=>setEditingProject({\n ...editingProject,\n description: e.target.value\n }),\n className: \"input\",\n rows: 3\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 289,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 285,\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)(\"label\", {\n className: \"block text-sm font-medium mb-2\",\n children: \"Category (optional)\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 303,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n value: editingProject.category || '',\n onChange: (e)=>setEditingProject({\n ...editingProject,\n category: e.target.value\n }),\n className: \"input\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 306,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 302,\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)(\"label\", {\n className: \"block text-sm font-medium mb-2\",\n children: \"Thumbnail\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 320,\n columnNumber: 17\n }, this),\n editingProject.thumbnail && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative w-32 h-20 mb-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n src: editingProject.thumbnail,\n alt: \"Thumbnail preview\",\n fill: true,\n className: \"object-cover rounded\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 325,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 324,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_admin_FileUpload__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n endpoint: \"imageUploader\",\n onUploadComplete: (url)=>setEditingProject({\n ...editingProject,\n thumbnail: url\n }),\n className: \"mb-2\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 333,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n value: editingProject.thumbnail,\n onChange: (e)=>setEditingProject({\n ...editingProject,\n thumbnail: e.target.value\n }),\n className: \"input\",\n placeholder: \"Or enter URL manually\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 340,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 319,\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)(\"label\", {\n className: \"block text-sm font-medium mb-2\",\n children: \"Size\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 355,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n value: editingProject.size,\n onChange: (e)=>setEditingProject({\n ...editingProject,\n size: e.target.value\n }),\n className: \"input\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"SMALL\",\n children: \"Small\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 366,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"BIG\",\n children: \"Big\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 367,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 356,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 354,\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)(\"label\", {\n className: \"block text-sm font-medium mb-2\",\n children: \"Video Upload (optional)\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 372,\n columnNumber: 17\n }, this),\n editingProject.video && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative w-full h-48 mb-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"video\", {\n src: editingProject.video,\n controls: true,\n className: \"w-full h-full object-cover rounded\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 377,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 376,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_admin_FileUpload__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n endpoint: \"videoUploader\",\n onUploadComplete: (url)=>setEditingProject({\n ...editingProject,\n video: url\n }),\n className: \"mb-2\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 384,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n value: editingProject.video || '',\n onChange: (e)=>setEditingProject({\n ...editingProject,\n video: e.target.value\n }),\n className: \"input\",\n placeholder: \"Or enter URL manually\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 391,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 371,\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)(\"label\", {\n className: \"block text-sm font-medium mb-2\",\n children: \"Embed URL (YouTube/Vimeo) (optional)\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 406,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n value: editingProject.embed || '',\n onChange: (e)=>setEditingProject({\n ...editingProject,\n embed: e.target.value\n }),\n className: \"input\",\n placeholder: \"https://www.youtube.com/embed/...\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 409,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 405,\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)(\"label\", {\n className: \"block text-sm font-medium mb-2\",\n children: \"Credits\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 424,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n value: editingProject.credits,\n onChange: (e)=>setEditingProject({\n ...editingProject,\n credits: e.target.value\n }),\n className: \"input\",\n rows: 4,\n placeholder: \"Enter project credits directly\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 427,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 423,\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)(\"label\", {\n className: \"block text-sm font-medium mb-2\",\n children: \"Project Info\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 442,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n value: editingProject.info,\n onChange: (e)=>setEditingProject({\n ...editingProject,\n info: e.target.value\n }),\n className: \"w-full px-3 py-2 bg-bg-dark border border-bg-light rounded focus:border-accent focus:outline-none\",\n rows: 4,\n placeholder: \"Enter project information directly\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 445,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 441,\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)(\"input\", {\n type: \"checkbox\",\n id: \"featured\",\n checked: editingProject.featured,\n onChange: (e)=>setEditingProject({\n ...editingProject,\n featured: e.target.checked\n }),\n className: \"mr-2\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 460,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"featured\",\n className: \"text-sm\",\n children: \"Featured Project\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 472,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 459,\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)(\"input\", {\n type: \"checkbox\",\n id: \"published\",\n checked: editingProject.published,\n onChange: (e)=>setEditingProject({\n ...editingProject,\n published: e.target.checked\n }),\n className: \"mr-2\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 478,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"published\",\n className: \"text-sm\",\n children: \"Published\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 490,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 477,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-end gap-3 pt-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Buttons__WEBPACK_IMPORTED_MODULE_8__.Button, {\n type: \"button\",\n variant: \"ghost\",\n onClick: ()=>{\n setIsModalOpen(false);\n setEditingProject(null);\n },\n children: \"Cancel\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 496,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Buttons__WEBPACK_IMPORTED_MODULE_8__.Button, {\n type: \"submit\",\n children: \"Save Project\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 506,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 495,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 268,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 263,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 253,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/app/admin/projects/page.tsx\",\n lineNumber: 182,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL2FkbWluL3Byb2plY3RzL3BhZ2UudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTJDO0FBQ0M7QUFDRDtBQUMzQywrQkFBK0I7QUFDRDtBQUNXO0FBQ2E7QUFDTDtBQUNKO0FBb0I5QixTQUFTUztJQUN0QixNQUFNLEVBQUVDLE1BQU1DLE9BQU8sRUFBRUMsTUFBTSxFQUFFLEdBQUdWLDJEQUFVQTtJQUM1QyxNQUFNVyxTQUFTViwwREFBU0E7SUFDeEIsTUFBTSxDQUFDVyxVQUFVQyxZQUFZLEdBQUdmLCtDQUFRQSxDQUFZLEVBQUU7SUFDdEQsTUFBTSxDQUFDZ0IsV0FBV0MsYUFBYSxHQUFHakIsK0NBQVFBLENBQUM7SUFDM0MsTUFBTSxDQUFDa0IsZ0JBQWdCQyxrQkFBa0IsR0FBR25CLCtDQUFRQSxDQUFpQjtJQUNyRSxNQUFNLENBQUNvQixhQUFhQyxlQUFlLEdBQUdyQiwrQ0FBUUEsQ0FBQztJQUUvQ0MsZ0RBQVNBO3VDQUFDO1lBQ1IsSUFBSVcsV0FBVyxXQUFXO1lBQzFCLElBQUksQ0FBQ0QsU0FBU0UsT0FBT1MsSUFBSSxDQUFDO1FBQzVCO3NDQUFHO1FBQUNYO1FBQVNDO1FBQVFDO0tBQU87SUFFNUJaLGdEQUFTQTt1Q0FBQztZQUNSLHlCQUF5QjtZQUN6QixNQUFNc0I7NERBQWU7b0JBQ25CLElBQUk7d0JBQ0YsTUFBTUMsTUFBTSxNQUFNQyxNQUFNO3dCQUN4QixJQUFJLENBQUNELElBQUlFLEVBQUUsRUFBRTs0QkFDWCxNQUFNLElBQUlDLE1BQU07d0JBQ2xCO3dCQUNBLE1BQU1qQixPQUFrQixNQUFNYyxJQUFJSSxJQUFJO3dCQUN0Q2IsWUFBWUw7b0JBQ2QsRUFBRSxPQUFPbUIsS0FBSzt3QkFDWix1RUFBdUU7d0JBQ3ZFLGlEQUFpRDt3QkFDakR4Qix1REFBS0EsQ0FBQzs0QkFDSnlCLE9BQU87NEJBQ1BDLGFBQWE7NEJBQ2JuQixRQUFRO3dCQUNWO29CQUNGLFNBQVU7d0JBQ1JLLGFBQWE7b0JB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LDhEQUFDRDtvQ0FBSUMsV0FBVTs7c0RBQ2IsOERBQUM5Qyx1REFBTUE7NENBQ0w0RSxNQUFLOzRDQUNMUixTQUFROzRDQUNSbEIsU0FBUztnREFDUHJDLGVBQWU7Z0RBQ2ZGLGtCQUFrQjs0Q0FDcEI7c0RBQ0Q7Ozs7OztzREFHRCw4REFBQ1gsdURBQU1BOzRDQUFDNEUsTUFBSztzREFBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEMiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9zcmMvYXBwL2FkbWluL3Byb2plY3RzL3BhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VTZXNzaW9uIH0gZnJvbSAnbmV4dC1hdXRoL3JlYWN0J1xuaW1wb3J0IHsgdXNlUm91dGVyIH0gZnJvbSAnbmV4dC9uYXZpZ2F0aW9uJ1xuLy8gaW1wb3J0IExpbmsgZnJvbSAnbmV4dC9saW5rJ1xuaW1wb3J0IEltYWdlIGZyb20gJ25leHQvaW1hZ2UnXG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gJ0AvaG9va3MvdXNlLXRvYXN0J1xuaW1wb3J0IEZpbGVVcGxvYWQgZnJvbSAnQC9jb21wb25lbnRzL2FkbWluL0ZpbGVVcGxvYWQnXG5pbXBvcnQgeyBQYWdlSGVhZGVyIH0gZnJvbSAnQC9jb21wb25lbnRzL0xheW91dHMnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAL2NvbXBvbmVudHMvQnV0dG9ucydcblxuaW50ZXJmYWNlIFByb2plY3Qge1xuICBpZDogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGxcbiAgdGh1bWJuYWlsOiBzdHJpbmdcbiAgc2l6ZTogJ0JJRycgfCAnU01BTEwnXG4gIGVtYmVkOiBzdHJpbmcgfCBudWxsXG4gIHZpZGVvOiBzdHJpbmcgfCBudWxsXG4gIGNyZWRpdHM6IHN0cmluZ1xuICBpbmZvOiBzdHJpbmdcbiAgY2F0ZWdvcnk6IHN0cmluZyB8IG51bGxcbiAgdGFnczogc3RyaW5nIHwgbnVsbFxuICBmZWF0dXJlZDogYm9vbGVhblxuICBwdWJsaXNoZWQ6IGJvb2xlYW5cbiAgY3JlYXRlZEF0OiBEYXRlXG4gIHVwZGF0ZWRBdDogRGF0ZVxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBBZG1pblByb2plY3RzUGFnZSgpIHtcbiAgY29uc3QgeyBkYXRhOiBzZXNzaW9uLCBzdGF0dXMgfSA9IHVzZVNlc3Npb24oKVxuICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxuICBjb25zdCBbcHJvamVjdHMsIHNldFByb2plY3RzXSA9IHVzZVN0YXRlPFByb2plY3RbXT4oW10pXG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBbZWRpdGluZ1Byb2plY3QsIHNldEVkaXRpbmdQcm9qZWN0XSA9IHVzZVN0YXRlPFByb2plY3QgfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNNb2RhbE9wZW4sIHNldElzTW9kYWxPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHN0YXR1cyA9PT0gJ2xvYWRpbmcnKSByZXR1cm5cbiAgICBpZiAoIXNlc3Npb24pIHJvdXRlci5wdXNoKCcvYWRtaW4vbG9naW4nKVxuICB9LCBbc2Vzc2lvbiwgc3RhdHVzLCByb3V0ZXJdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gTG9hZCBwcm9qZWN0cyBmcm9tIEFQSVxuICAgIGNvbnN0IGxvYWRQcm9qZWN0cyA9IGFzeW5jICgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKCcvYXBpL3Byb2plY3RzJylcbiAgICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBwcm9qZWN0cycpXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGF0YTogUHJvamVjdFtdID0gYXdhaXQgcmVzLmpzb24oKVxuICAgICAgICBzZXRQcm9qZWN0cyhkYXRhKVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIC8vIEluIHByb2R1Y3Rpb24sIHlvdSBtaWdodCB3YW50IHRvIGxvZyB0aGlzIHRvIHlvdXIgbW9uaXRvcmluZyBzZXJ2aWNlXG4gICAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIHByb2plY3RzOicsIGVycilcbiAgICAgICAgdG9hc3Qoe1xuICAgICAgICAgIHRpdGxlOiAnRXJyb3InLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRmFpbGVkIHRvIGxvYWQgcHJvamVjdHMnLFxuICAgICAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgICAgfSlcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc2Vzc2lvbikge1xuICAgICAgbG9hZFByb2plY3RzKClcbiAgICB9XG4gIH0sIFtzZXNzaW9uXSlcblxuICBjb25zdCBoYW5kbGVFZGl0ID0gKHByb2plY3Q6IFByb2plY3QpID0+IHtcbiAgICBzZXRFZGl0aW5nUHJvamVjdChwcm9qZWN0KVxuICAgIHNldElzTW9kYWxPcGVuKHRydWUpXG4gIH1cblxuICBjb25zdCBoYW5kbGVEZWxldGUgPSBhc3luYyAoaWQ6IHN0cmluZykgPT4ge1xuICAgIGlmIChjb25maXJtKCdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgcHJvamVjdD8nKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYC9hcGkvcHJvamVjdHMvJHtpZH1gLCB7XG4gICAgICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGRlbGV0ZSBwcm9qZWN0JylcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlbW92ZSBwcm9qZWN0IGZyb20gc3RhdGVcbiAgICAgICAgc2V0UHJvamVjdHMocHJvamVjdHMuZmlsdGVyKChwKSA9PiBwLmlkICE9PSBpZCkpXG4gICAgICAgIHRvYXN0KHtcbiAgICAgICAgICB0aXRsZTogJ1N1Y2Nlc3MnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnUHJvamVjdCBkZWxldGVkIHN1Y2Nlc3NmdWxseScsXG4gICAgICAgICAgc3RhdHVzOiAnc3VjY2VzcycsXG4gICAgICAgIH0pXG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgLy8gSW4gcHJvZHVjdGlvbiwgeW91IG1pZ2h0IHdhbnQgdG8gbG9nIHRoaXMgdG8geW91ciBtb25pdG9yaW5nIHNlcnZpY2VcbiAgICAgICAgLy8gY29uc29sZS5lcnJvcignRXJyb3IgZGVsZXRpbmcgcHJvamVjdDonLCBlcnIpXG4gICAgICAgIHRvYXN0KHtcbiAgICAgICAgICB0aXRsZTogJ0Vycm9yJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0ZhaWxlZCB0byBkZWxldGUgcHJvamVjdCcsXG4gICAgICAgICAgc3RhdHVzOiAnZXJyb3InLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVNhdmUgPSBhc3luYyAoZTogUmVhY3QuRm9ybUV2ZW50KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgaWYgKCFlZGl0aW5nUHJvamVjdCkgcmV0dXJuXG5cbiAgICAvLyBMb2cgdGhlIGRhdGEgYmVpbmcgc2VudFxuICAgIGNvbnNvbGUubG9nKCdTZW5kaW5nIHByb2plY3QgZGF0YTonLCBlZGl0aW5nUHJvamVjdClcblxuICAgIHRyeSB7XG4gICAgICBsZXQgcmVzXG4gICAgICBpZiAoZWRpdGluZ1Byb2plY3QuaWQpIHtcbiAgICAgICAgLy8gVXBkYXRlIGV4aXN0aW5nIHByb2plY3RcbiAgICAgICAgcmVzID0gYXdhaXQgZmV0Y2goYC9hcGkvcHJvamVjdHMvJHtlZGl0aW5nUHJvamVjdC5pZH1gLCB7XG4gICAgICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoZWRpdGluZ1Byb2plY3QpLFxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQ3JlYXRlIG5ldyBwcm9qZWN0XG4gICAgICAgIHJlcyA9IGF3YWl0IGZldGNoKCcvYXBpL3Byb2plY3RzL2NyZWF0ZScsIHtcbiAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoZWRpdGluZ1Byb2plY3QpLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICBjb25zdCBlcnJvckRhdGEgPSBhd2FpdCByZXMuanNvbigpXG4gICAgICAgIC8vIEluIHByb2R1Y3Rpb24sIHlvdSBtaWdodCB3YW50IHRvIGxvZyB0aGlzIHRvIHlvdXIgbW9uaXRvcmluZyBzZXJ2aWNlXG4gICAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ1NlcnZlciBlcnJvciByZXNwb25zZTonLCBlcnJvckRhdGEpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvckRhdGEuZXJyb3IgfHwgJ0ZhaWxlZCB0byBzYXZlIHByb2plY3QnKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBzYXZlZFByb2plY3Q6IFByb2plY3QgPSBhd2FpdCByZXMuanNvbigpXG5cbiAgICAgIGlmIChlZGl0aW5nUHJvamVjdC5pZCkge1xuICAgICAgICAvLyBVcGRhdGUgcHJvamVjdCBpbiBzdGF0ZVxuICAgICAgICBzZXRQcm9qZWN0cyhcbiAgICAgICAgICBwcm9qZWN0cy5tYXAoKHApID0+IChwLmlkID09PSBzYXZlZFByb2plY3QuaWQgPyBzYXZlZFByb2plY3QgOiBwKSlcbiAgICAgICAgKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQWRkIG5ldyBwcm9qZWN0IHRvIHN0YXRlXG4gICAgICAgIHNldFByb2plY3RzKFsuLi5wcm9qZWN0cywgc2F2ZWRQcm9qZWN0XSlcbiAgICAgIH1cblxuICAgICAgc2V0SXNNb2RhbE9wZW4oZmFsc2UpXG4gICAgICBzZXRFZGl0aW5nUHJvamVjdChudWxsKVxuICAgICAgdG9hc3Qoe1xuICAgICAgICB0aXRsZTogJ1N1Y2Nlc3MnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1Byb2plY3Qgc2F2ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICAgICAgc3RhdHVzOiAnc3VjY2VzcycsXG4gICAgICB9KVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSW4gcHJvZHVjdGlvbiwgeW91IG1pZ2h0IHdhbnQgdG8gbG9nIHRoaXMgdG8geW91ciBtb25pdG9yaW5nIHNlcnZpY2VcbiAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHNhdmluZyBwcm9qZWN0OicsIGVycilcbiAgICAgIHRvYXN0KHtcbiAgICAgICAgdGl0bGU6ICdFcnJvcicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmFpbGVkIHRvIHNhdmUgcHJvamVjdCcsXG4gICAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgaWYgKHN0YXR1cyA9PT0gJ2xvYWRpbmcnIHx8IGlzTG9hZGluZykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG1pbi1oLVs0MHZoXVwiPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzcGlubmVyIHctOCBoLThcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAgPFBhZ2VIZWFkZXJcbiAgICAgICAgdGl0bGU9XCJNYW5hZ2UgUHJvamVjdHNcIlxuICAgICAgICBzdWJ0aXRsZT1cIkNyZWF0ZSwgdXBkYXRlLCBhbmQgcHVibGlzaCBwb3J0Zm9saW8gd29yay5cIlxuICAgICAgICBhY3Rpb25zPXtcbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIHNldEVkaXRpbmdQcm9qZWN0KHtcbiAgICAgICAgICAgICAgICBpZDogJycsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAgICAgICAgICAgIHRodW1ibmFpbDogJycsXG4gICAgICAgICAgICAgICAgc2l6ZTogJ1NNQUxMJyxcbiAgICAgICAgICAgICAgICBlbWJlZDogbnVsbCxcbiAgICAgICAgICAgICAgICB2aWRlbzogbnVsbCxcbiAgICAgICAgICAgICAgICBjcmVkaXRzOiAnJyxcbiAgICAgICAgICAgICAgICBpbmZvOiAnJyxcbiAgICAgICAgICAgICAgICBjYXRlZ29yeTogbnVsbCxcbiAgICAgICAgICAgICAgICB0YWdzOiBudWxsLFxuICAgICAgICAgICAgICAgIGZlYXR1cmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBwdWJsaXNoZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKSxcbiAgICAgICAgICAgICAgICB1cGRhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIHNldElzTW9kYWxPcGVuKHRydWUpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIEFkZCBOZXcgUHJvamVjdFxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICB9XG4gICAgICAvPlxuXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNFwiPlxuICAgICAgICB7cHJvamVjdHMubWFwKChwcm9qZWN0KSA9PiAoXG4gICAgICAgICAgPGRpdiBrZXk9e3Byb2plY3QuaWR9IGNsYXNzTmFtZT1cImNhcmQgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTZcIj5cbiAgICAgICAgICAgICAgey8qIFRodW1ibmFpbCAqL31cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSB3LTMyIGgtMjAgZmxleC1zaHJpbmstMCByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgIDxJbWFnZVxuICAgICAgICAgICAgICAgICAgc3JjPXtwcm9qZWN0LnRodW1ibmFpbH1cbiAgICAgICAgICAgICAgICAgIGFsdD17cHJvamVjdC50aXRsZX1cbiAgICAgICAgICAgICAgICAgIGZpbGxcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm9iamVjdC1jb3ZlclwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgey8qIEluZm8gKi99XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC1ncm93XCI+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICAgICAgICB7cHJvamVjdC50aXRsZX1cbiAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtdGV4dC1tdXRlZCB0ZXh0LXNtXCI+XG4gICAgICAgICAgICAgICAgICB7cHJvamVjdC5jYXRlZ29yeSB8fCAnTm8gY2F0ZWdvcnknfVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICB7cHJvamVjdC5mZWF0dXJlZCAmJiA8c3BhbiBjbGFzc05hbWU9XCJiYWRnZSBiYWRnZS1hY2NlbnQgbXQtMlwiPkZlYXR1cmVkPC9zcGFuPn1cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgey8qIEFjdGlvbnMgKi99XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVFZGl0KHByb2plY3QpfT5cbiAgICAgICAgICAgICAgICAgIEVkaXRcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJkYW5nZXJcIiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVEZWxldGUocHJvamVjdC5pZCl9PlxuICAgICAgICAgICAgICAgICAgRGVsZXRlXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICB7LyogRWRpdCBNb2RhbCAqL31cbiAgICAgIHtpc01vZGFsT3BlbiAmJiBlZGl0aW5nUHJvamVjdCAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9XCJtb2RhbC1iYWNrZHJvcCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTZcIlxuICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICAvLyBDbG9zZSBtb2RhbCB3aGVuIGNsaWNraW5nIG9uIHRoZSBiYWNrZHJvcFxuICAgICAgICAgICAgaWYgKGUudGFyZ2V0ID09PSBlLmN1cnJlbnRUYXJnZXQpIHtcbiAgICAgICAgICAgICAgc2V0SXNNb2RhbE9wZW4oZmFsc2UpXG4gICAgICAgICAgICAgIHNldEVkaXRpbmdQcm9qZWN0KG51bGwpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtY29udGVudCBsZWZ0LTEvMiB0b3AtMS8yIC10cmFuc2xhdGUteC0xLzIgLXRyYW5zbGF0ZS15LTEvMiBtYXgtdy0yeGwgdy1mdWxsIHAtNiBtYXgtaC1bOTB2aF0gb3ZlcmZsb3cteS1hdXRvXCI+XG4gICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlIG1iLTZcIj5cbiAgICAgICAgICAgICAge2VkaXRpbmdQcm9qZWN0LmlkID8gJ0VkaXQgUHJvamVjdCcgOiAnQWRkIE5ldyBQcm9qZWN0J31cbiAgICAgICAgICAgIDwvaDI+XG5cbiAgICAgICAgICAgIDxmb3JtIG9uU3VibWl0PXtoYW5kbGVTYXZlfSBjbGFzc05hbWU9XCJzcGFjZS15LTRcIj5cbiAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwibGFiZWxcIj5UaXRsZTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17ZWRpdGluZ1Byb2plY3QudGl0bGV9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XG4gICAgICAgICAgICAgICAgICAgIHNldEVkaXRpbmdQcm9qZWN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5lZGl0aW5nUHJvamVjdCxcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogZS50YXJnZXQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJpbnB1dFwiXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImJsb2NrIHRleHQtc20gZm9udC1tZWRpdW0gbWItMlwiPlxuICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24gKG9wdGlvbmFsKVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17ZWRpdGluZ1Byb2plY3QuZGVzY3JpcHRpb24gfHwgJyd9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XG4gICAgICAgICAgICAgICAgICAgIHNldEVkaXRpbmdQcm9qZWN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5lZGl0aW5nUHJvamVjdCxcbiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogZS50YXJnZXQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJpbnB1dFwiXG4gICAgICAgICAgICAgICAgICByb3dzPXszfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImJsb2NrIHRleHQtc20gZm9udC1tZWRpdW0gbWItMlwiPlxuICAgICAgICAgICAgICAgICAgQ2F0ZWdvcnkgKG9wdGlvbmFsKVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17ZWRpdGluZ1Byb2plY3QuY2F0ZWdvcnkgfHwgJyd9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XG4gICAgICAgICAgICAgICAgICAgIHNldEVkaXRpbmdQcm9qZWN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5lZGl0aW5nUHJvamVjdCxcbiAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeTogZS50YXJnZXQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJpbnB1dFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiYmxvY2sgdGV4dC1zbSBmb250LW1lZGl1bSBtYi0yXCI+XG4gICAgICAgICAgICAgICAgICBUaHVtYm5haWxcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIHtlZGl0aW5nUHJvamVjdC50aHVtYm5haWwgJiYgKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSB3LTMyIGgtMjAgbWItMlwiPlxuICAgICAgICAgICAgICAgICAgICA8SW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgICBzcmM9e2VkaXRpbmdQcm9qZWN0LnRodW1ibmFpbH1cbiAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJUaHVtYm5haWwgcHJldmlld1wiXG4gICAgICAgICAgICAgICAgICAgICAgZmlsbFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm9iamVjdC1jb3ZlciByb3VuZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPEZpbGVVcGxvYWRcbiAgICAgICAgICAgICAgICAgIGVuZHBvaW50PVwiaW1hZ2VVcGxvYWRlclwiXG4gICAgICAgICAgICAgICAgICBvblVwbG9hZENvbXBsZXRlPXsodXJsKSA9PlxuICAgICAgICAgICAgICAgICAgICBzZXRFZGl0aW5nUHJvamVjdCh7IC4uLmVkaXRpbmdQcm9qZWN0LCB0aHVtYm5haWw6IHVybCB9KVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibWItMlwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtlZGl0aW5nUHJvamVjdC50aHVtYm5haWx9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XG4gICAgICAgICAgICAgICAgICAgIHNldEVkaXRpbmdQcm9qZWN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5lZGl0aW5nUHJvamVjdCxcbiAgICAgICAgICAgICAgICAgICAgICB0aHVtYm5haWw6IGUudGFyZ2V0LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJPciBlbnRlciBVUkwgbWFudWFsbHlcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImJsb2NrIHRleHQtc20gZm9udC1tZWRpdW0gbWItMlwiPlNpemU8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtlZGl0aW5nUHJvamVjdC5zaXplfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxuICAgICAgICAgICAgICAgICAgICBzZXRFZGl0aW5nUHJvamVjdCh7XG4gICAgICAgICAgICAgICAgICAgICAgLi4uZWRpdGluZ1Byb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZTogZS50YXJnZXQudmFsdWUgYXMgJ0JJRycgfCAnU01BTEwnLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW5wdXRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJTTUFMTFwiPlNtYWxsPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiQklHXCI+QmlnPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImJsb2NrIHRleHQtc20gZm9udC1tZWRpdW0gbWItMlwiPlxuICAgICAgICAgICAgICAgICAgVmlkZW8gVXBsb2FkIChvcHRpb25hbClcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIHtlZGl0aW5nUHJvamVjdC52aWRlbyAmJiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIHctZnVsbCBoLTQ4IG1iLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHZpZGVvXG4gICAgICAgICAgICAgICAgICAgICAgc3JjPXtlZGl0aW5nUHJvamVjdC52aWRlb31cbiAgICAgICAgICAgICAgICAgICAgICBjb250cm9sc1xuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCBoLWZ1bGwgb2JqZWN0LWNvdmVyIHJvdW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8RmlsZVVwbG9hZFxuICAgICAgICAgICAgICAgICAgZW5kcG9pbnQ9XCJ2aWRlb1VwbG9hZGVyXCJcbiAgICAgICAgICAgICAgICAgIG9uVXBsb2FkQ29tcGxldGU9eyh1cmwpID0+XG4gICAgICAgICAgICAgICAgICAgIHNldEVkaXRpbmdQcm9qZWN0KHsgLi4uZWRpdGluZ1Byb2plY3QsIHZpZGVvOiB1cmwgfSlcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1iLTJcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17ZWRpdGluZ1Byb2plY3QudmlkZW8gfHwgJyd9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XG4gICAgICAgICAgICAgICAgICAgIHNldEVkaXRpbmdQcm9qZWN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5lZGl0aW5nUHJvamVjdCxcbiAgICAgICAgICAgICAgICAgICAgICB2aWRlbzogZS50YXJnZXQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJpbnB1dFwiXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk9yIGVudGVyIFVSTCBtYW51YWxseVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiYmxvY2sgdGV4dC1zbSBmb250LW1lZGl1bSBtYi0yXCI+XG4gICAgICAgICAgICAgICAgICBFbWJlZCBVUkwgKFlvdVR1YmUvVmltZW8pIChvcHRpb25hbClcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2VkaXRpbmdQcm9qZWN0LmVtYmVkIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PlxuICAgICAgICAgICAgICAgICAgICBzZXRFZGl0aW5nUHJvamVjdCh7XG4gICAgICAgICAgICAgICAgICAgICAgLi4uZWRpdGluZ1Byb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgZW1iZWQ6IGUudGFyZ2V0LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8uLi5cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImJsb2NrIHRleHQtc20gZm9udC1tZWRpdW0gbWItMlwiPlxuICAgICAgICAgICAgICAgICAgQ3JlZGl0c1xuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17ZWRpdGluZ1Byb2plY3QuY3JlZGl0c31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgc2V0RWRpdGluZ1Byb2plY3Qoe1xuICAgICAgICAgICAgICAgICAgICAgIC4uLmVkaXRpbmdQcm9qZWN0LFxuICAgICAgICAgICAgICAgICAgICAgIGNyZWRpdHM6IGUudGFyZ2V0LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgcm93cz17NH1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgcHJvamVjdCBjcmVkaXRzIGRpcmVjdGx5XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJibG9jayB0ZXh0LXNtIGZvbnQtbWVkaXVtIG1iLTJcIj5cbiAgICAgICAgICAgICAgICAgIFByb2plY3QgSW5mb1xuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17ZWRpdGluZ1Byb2plY3QuaW5mb31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgc2V0RWRpdGluZ1Byb2plY3Qoe1xuICAgICAgICAgICAgICAgICAgICAgIC4uLmVkaXRpbmdQcm9qZWN0LFxuICAgICAgICAgICAgICAgICAgICAgIGluZm86IGUudGFyZ2V0LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIHB4LTMgcHktMiBiZy1iZy1kYXJrIGJvcmRlciBib3JkZXItYmctbGlnaHQgcm91bmRlZCBmb2N1czpib3JkZXItYWNjZW50IGZvY3VzOm91dGxpbmUtbm9uZVwiXG4gICAgICAgICAgICAgICAgICByb3dzPXs0fVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbnRlciBwcm9qZWN0IGluZm9ybWF0aW9uIGRpcmVjdGx5XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJmZWF0dXJlZFwiXG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXtlZGl0aW5nUHJvamVjdC5mZWF0dXJlZH1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgc2V0RWRpdGluZ1Byb2plY3Qoe1xuICAgICAgICAgICAgICAgICAgICAgIC4uLmVkaXRpbmdQcm9qZWN0LFxuICAgICAgICAgICAgICAgICAgICAgIGZlYXR1cmVkOiBlLnRhcmdldC5jaGVja2VkLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXItMlwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8bGFiZWwgaHRtbEZvcj1cImZlYXR1cmVkXCIgY2xhc3NOYW1lPVwidGV4dC1zbVwiPlxuICAgICAgICAgICAgICAgICAgRmVhdHVyZWQgUHJvamVjdFxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICBpZD1cInB1Ymxpc2hlZFwiXG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXtlZGl0aW5nUHJvamVjdC5wdWJsaXNoZWR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XG4gICAgICAgICAgICAgICAgICAgIHNldEVkaXRpbmdQcm9qZWN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5lZGl0aW5nUHJvamVjdCxcbiAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoZWQ6IGUudGFyZ2V0LmNoZWNrZWQsXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtci0yXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBodG1sRm9yPVwicHVibGlzaGVkXCIgY2xhc3NOYW1lPVwidGV4dC1zbVwiPlxuICAgICAgICAgICAgICAgICAgUHVibGlzaGVkXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktZW5kIGdhcC0zIHB0LTRcIj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNldElzTW9kYWxPcGVuKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICBzZXRFZGl0aW5nUHJvamVjdChudWxsKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBDYW5jZWxcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJzdWJtaXRcIj5TYXZlIFByb2plY3Q8L0J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlU2Vzc2lvbiIsInVzZVJvdXRlciIsIkltYWdlIiwidG9hc3QiLCJGaWxlVXBsb2FkIiwiUGFnZUhlYWRlciIsIkJ1dHRvbiIsIkFkbWluUHJvamVjdHNQYWdlIiwiZGF0YSIsInNlc3Npb24iLCJzdGF0dXMiLCJyb3V0ZXIiLCJwcm9qZWN0cyIsInNldFByb2plY3RzIiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiZWRpdGluZ1Byb2plY3QiLCJzZXRFZGl0aW5nUHJvamVjdCIsImlzTW9kYWxPcGVuIiwic2V0SXNNb2RhbE9wZW4iLCJwdXNoIiwibG9hZFByb2plY3RzIiwicmVzIiwiZmV0Y2giLCJvayIsIkVycm9yIiwianNvbiIsImVyciIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJoYW5kbGVFZGl0IiwicHJvamVjdCIsImhhbmRsZURlbGV0ZSIsImlkIiwiY29uZmlybSIsIm1ldGhvZCIsImZpbHRlciIsInAiLCJoYW5kbGVTYXZlIiwiZSIsInByZXZlbnREZWZhdWx0IiwiY29uc29sZSIsImxvZyIsImhlYWRlcnMiLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsImVycm9yRGF0YSIsImVycm9yIiwic2F2ZWRQcm9qZWN0IiwibWFwIiwiZGl2IiwiY2xhc3NOYW1lIiwic3BhbiIsInN1YnRpdGxlIiwiYWN0aW9ucyIsIm9uQ2xpY2siLCJ0aHVtYm5haWwiLCJzaXplIiwiZW1iZWQiLCJ2aWRlbyIsImNyZWRpdHMiLCJpbmZvIiwiY2F0ZWdvcnkiLCJ0YWdzIiwiZmVhdHVyZWQiLCJwdWJsaXNoZWQiLCJjcmVhdGVkQXQiLCJEYXRlIiwidXBkYXRlZEF0Iiwic3JjIiwiYWx0IiwiZmlsbCIsImgzIiwidmFyaWFudCIsInRhcmdldCIsImN1cnJlbnRUYXJnZXQiLCJoMiIsImZvcm0iLCJvblN1Ym1pdCIsImxhYmVsIiwiaW5wdXQiLCJ0eXBlIiwidmFsdWUiLCJvbkNoYW5nZSIsInJlcXVpcmVkIiwidGV4dGFyZWEiLCJyb3dzIiwiZW5kcG9pbnQiLCJvblVwbG9hZENvbXBsZXRlIiwidXJsIiwicGxhY2Vob2xkZXIiLCJzZWxlY3QiLCJvcHRpb24iLCJjb250cm9scyIsImNoZWNrZWQiLCJodG1sRm9yIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/app/admin/projects/page.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/Buttons.tsx":
/*!************************************!*\
!*** ./src/components/Buttons.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 */ FloatingActionButton: () => (/* binding */ FloatingActionButton),\n/* harmony export */ IconButton: () => (/* binding */ IconButton),\n/* harmony export */ LinkButton: () => (/* binding */ LinkButton)\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/route-modules/app-page/vendored/ssr/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/dist/client/app-dir/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 react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/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\n\n\nfunction Button({ variant = 'primary', size = 'md', isLoading = false, children, className = '', disabled, ...props }) {\n const variants = {\n primary: 'btn-primary',\n secondary: 'btn-secondary',\n ghost: 'btn-ghost',\n danger: 'btn bg-red-500 hover:bg-red-600 text-white'\n };\n const sizes = {\n sm: 'px-2 py-1 text-xs',\n md: 'px-3 py-1.5 text-sm',\n lg: 'px-4 py-2 text-base'\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: `${variants[variant]} ${sizes[size]} ${className} ${isLoading ? 'opacity-75 cursor-wait' : ''}`,\n disabled: disabled || isLoading,\n ...props,\n children: isLoading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"flex items-center gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"spinner w-3 h-3\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Buttons.tsx\",\n lineNumber: 43,\n columnNumber: 11\n }, this),\n \"Loading...\"\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Buttons.tsx\",\n lineNumber: 42,\n columnNumber: 9\n }, this) : children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Buttons.tsx\",\n lineNumber: 34,\n columnNumber: 5\n }, this);\n}\nfunction LinkButton({ variant = 'primary', size = 'md', children, className = '', href = '#', ...props }) {\n const variants = {\n primary: 'btn-primary',\n secondary: 'btn-secondary',\n ghost: 'btn-ghost'\n };\n const sizes = {\n sm: 'px-2 py-1 text-xs',\n md: 'px-3 py-1.5 text-sm',\n lg: 'px-4 py-2 text-base'\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: href,\n className: `${variants[variant]} ${sizes[size]} ${className}`,\n ...props,\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Buttons.tsx\",\n lineNumber: 79,\n columnNumber: 5\n }, this);\n}\nfunction IconButton({ icon, label, onClick, variant = 'ghost', className = '' }) {\n const variants = {\n primary: 'btn-primary',\n secondary: 'btn-secondary',\n ghost: 'btn-ghost',\n danger: 'btn bg-red-500 hover:bg-red-600 text-white'\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: onClick,\n className: `${variants[variant]} p-1.5 ${className}`,\n \"aria-label\": label,\n children: icon\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Buttons.tsx\",\n lineNumber: 110,\n columnNumber: 5\n }, this);\n}\nfunction FloatingActionButton({ icon, label, onClick, position = 'bottom-right' }) {\n const positions = {\n 'bottom-right': 'bottom-4 right-4',\n 'bottom-left': 'bottom-4 left-4',\n 'top-right': 'top-4 right-4',\n 'top-left': 'top-4 left-4'\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: onClick,\n className: `fixed ${positions[position]} z-40 w-12 h-12 rounded-full bg-accent text-surface-900 flex items-center justify-center`,\n \"aria-label\": label,\n children: icon\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Buttons.tsx\",\n lineNumber: 139,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9CdXR0b25zLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUE0QjtBQUNIO0FBU2xCLFNBQVNFLE9BQU8sRUFDckJDLFVBQVUsU0FBUyxFQUNuQkMsT0FBTyxJQUFJLEVBQ1hDLFlBQVksS0FBSyxFQUNqQkMsUUFBUSxFQUNSQyxZQUFZLEVBQUUsRUFDZEMsUUFBUSxFQUNSLEdBQUdDLE9BQ1M7SUFDWixNQUFNQyxXQUFXO1FBQ2ZDLFNBQVM7UUFDVEMsV0FBVztRQUNYQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtJQUVBLE1BQU1DLFFBQVE7UUFDWkMsSUFBSTtRQUNKQyxJQUFJO1FBQ0pDLElBQUk7SUFDTjtJQUVBLHFCQUNFLDhEQUFDQztRQUNDWixXQUFXLEdBQUdHLFFBQVEsQ0FBQ1AsUUFBUSxDQUFDLENBQUMsRUFBRVksS0FBSyxDQUFDWCxLQUFLLENBQUMsQ0FBQyxFQUFFRyxVQUFVLENBQUMsRUFDM0RGLFlBQVksMkJBQTJCLElBQ3ZDO1FBQ0ZHLFVBQVVBLFlBQVlIO1FBQ3JCLEdBQUdJLEtBQUs7a0JBRVJKLDBCQUNDLDhEQUFDZTtZQUFLYixXQUFVOzs4QkFDZCw4REFBQ2E7b0JBQUtiLFdBQVU7Ozs7OztnQkFBb0I7Ozs7OzttQkFJdENEOzs7Ozs7QUFJUjtBQU9PLFNBQVNlLFdBQVcsRUFDekJsQixVQUFVLFNBQVMsRUFDbkJDLE9BQU8sSUFBSSxFQUNYRSxRQUFRLEVBQ1JDLFlBQVksRUFBRSxFQUNkZSxPQUFPLEdBQUcsRUFDVixHQUFHYixPQUNhO0lBQ2hCLE1BQU1DLFdBQVc7UUFDZkMsU0FBUztRQUNUQyxXQUFXO1FBQ1hDLE9BQU87SUFDVDtJQUVBLE1BQU1FLFFBQVE7UUFDWkMsSUFBSTtRQUNKQyxJQUFJO1FBQ0pDLElBQUk7SUFDTjtJQUVBLHFCQUNFLDhEQUFDbEIsa0RBQUlBO1FBQ0hzQixNQUFNQTtRQUNOZixXQUFXLEdBQUdHLFFBQVEsQ0FBQ1AsUUFBUSxDQUFDLENBQUMsRUFBRVksS0FBSyxDQUFDWCxLQUFLLENBQUMsQ0FBQyxFQUFFRyxXQUFXO1FBQzVELEdBQUdFLEtBQUs7a0JBRVJIOzs7Ozs7QUFHUDtBQUVPLFNBQVNpQixXQUFXLEVBQ3pCQyxJQUFJLEVBQ0pDLEtBQUssRUFDTEMsT0FBTyxFQUNQdkIsVUFBVSxPQUFPLEVBQ2pCSSxZQUFZLEVBQUUsRUFPZjtJQUNDLE1BQU1HLFdBQVc7UUFDZkMsU0FBUztRQUNUQyxXQUFXO1FBQ1hDLE9BQU87UUFDUEMsUUFBUTtJQUNWO0lBRUEscUJBQ0UsOERBQUNLO1FBQ0NPLFNBQVNBO1FBQ1RuQixXQUFXLEdBQUdHLFFBQVEsQ0FBQ1AsUUFBUSxDQUFDLE9BQU8sRUFBRUksV0FBVztRQUNwRG9CLGNBQVlGO2tCQUVYRDs7Ozs7O0FBR1A7QUFFTyxTQUFTSSxxQkFBcUIsRUFDbkNKLElBQUksRUFDSkMsS0FBSyxFQUNMQyxPQUFPLEVBQ1BHLFdBQVcsY0FBYyxFQU0xQjtJQUNDLE1BQU1DLFlBQVk7UUFDaEIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixhQUFhO1FBQ2IsWUFBWTtJQUNkO0lBRUEscUJBQ0UsOERBQUNYO1FBQ0NPLFNBQVNBO1FBQ1RuQixXQUFXLENBQUMsTUFBTSxFQUFFdUIsU0FBUyxDQUFDRCxTQUFTLENBQUMsd0ZBQXdGLENBQUM7UUFDaklGLGNBQVlGO2tCQUVYRDs7Ozs7O0FBR1AiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9zcmMvY29tcG9uZW50cy9CdXR0b25zLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b25IVE1MQXR0cmlidXRlcywgQW5jaG9ySFRNTEF0dHJpYnV0ZXMgfSBmcm9tICdyZWFjdCdcblxuaW50ZXJmYWNlIEJ1dHRvblByb3BzIGV4dGVuZHMgQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcbiAgdmFyaWFudD86ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2dob3N0JyB8ICdkYW5nZXInXG4gIHNpemU/OiAnc20nIHwgJ21kJyB8ICdsZydcbiAgaXNMb2FkaW5nPzogYm9vbGVhblxufVxuXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uKHtcbiAgdmFyaWFudCA9ICdwcmltYXJ5JyxcbiAgc2l6ZSA9ICdtZCcsXG4gIGlzTG9hZGluZyA9IGZhbHNlLFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lID0gJycsXG4gIGRpc2FibGVkLFxuICAuLi5wcm9wc1xufTogQnV0dG9uUHJvcHMpIHtcbiAgY29uc3QgdmFyaWFudHMgPSB7XG4gICAgcHJpbWFyeTogJ2J0bi1wcmltYXJ5JyxcbiAgICBzZWNvbmRhcnk6ICdidG4tc2Vjb25kYXJ5JyxcbiAgICBnaG9zdDogJ2J0bi1naG9zdCcsXG4gICAgZGFuZ2VyOiAnYnRuIGJnLXJlZC01MDAgaG92ZXI6YmctcmVkLTYwMCB0ZXh0LXdoaXRlJyxcbiAgfVxuXG4gIGNvbnN0IHNpemVzID0ge1xuICAgIHNtOiAncHgtMiBweS0xIHRleHQteHMnLFxuICAgIG1kOiAncHgtMyBweS0xLjUgdGV4dC1zbScsXG4gICAgbGc6ICdweC00IHB5LTIgdGV4dC1iYXNlJyxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3NOYW1lPXtgJHt2YXJpYW50c1t2YXJpYW50XX0gJHtzaXplc1tzaXplXX0gJHtjbGFzc05hbWV9ICR7XG4gICAgICAgIGlzTG9hZGluZyA/ICdvcGFjaXR5LTc1IGN1cnNvci13YWl0JyA6ICcnXG4gICAgICB9YH1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZCB8fCBpc0xvYWRpbmd9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgPlxuICAgICAge2lzTG9hZGluZyA/IChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTFcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzcGlubmVyIHctMyBoLTNcIiAvPlxuICAgICAgICAgIExvYWRpbmcuLi5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKSA6IChcbiAgICAgICAgY2hpbGRyZW5cbiAgICAgICl9XG4gICAgPC9idXR0b24+XG4gIClcbn1cblxuaW50ZXJmYWNlIExpbmtCdXR0b25Qcm9wcyBleHRlbmRzIEFuY2hvckhUTUxBdHRyaWJ1dGVzPEhUTUxBbmNob3JFbGVtZW50PiB7XG4gIHZhcmlhbnQ/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdnaG9zdCdcbiAgc2l6ZT86ICdzbScgfCAnbWQnIHwgJ2xnJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTGlua0J1dHRvbih7XG4gIHZhcmlhbnQgPSAncHJpbWFyeScsXG4gIHNpemUgPSAnbWQnLFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lID0gJycsXG4gIGhyZWYgPSAnIycsXG4gIC4uLnByb3BzXG59OiBMaW5rQnV0dG9uUHJvcHMpIHtcbiAgY29uc3QgdmFyaWFudHMgPSB7XG4gICAgcHJpbWFyeTogJ2J0bi1wcmltYXJ5JyxcbiAgICBzZWNvbmRhcnk6ICdidG4tc2Vjb25kYXJ5JyxcbiAgICBnaG9zdDogJ2J0bi1naG9zdCcsXG4gIH1cblxuICBjb25zdCBzaXplcyA9IHtcbiAgICBzbTogJ3B4LTIgcHktMSB0ZXh0LXhzJyxcbiAgICBtZDogJ3B4LTMgcHktMS41IHRleHQtc20nLFxuICAgIGxnOiAncHgtNCBweS0yIHRleHQtYmFzZScsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxMaW5rXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgY2xhc3NOYW1lPXtgJHt2YXJpYW50c1t2YXJpYW50XX0gJHtzaXplc1tzaXplXX0gJHtjbGFzc05hbWV9YH1cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9MaW5rPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBJY29uQnV0dG9uKHtcbiAgaWNvbixcbiAgbGFiZWwsXG4gIG9uQ2xpY2ssXG4gIHZhcmlhbnQgPSAnZ2hvc3QnLFxuICBjbGFzc05hbWUgPSAnJyxcbn06IHtcbiAgaWNvbjogUmVhY3QuUmVhY3ROb2RlXG4gIGxhYmVsOiBzdHJpbmdcbiAgb25DbGljaz86ICgpID0+IHZvaWRcbiAgdmFyaWFudD86ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2dob3N0JyB8ICdkYW5nZXInXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufSkge1xuICBjb25zdCB2YXJpYW50cyA9IHtcbiAgICBwcmltYXJ5OiAnYnRuLXByaW1hcnknLFxuICAgIHNlY29uZGFyeTogJ2J0bi1zZWNvbmRhcnknLFxuICAgIGdob3N0OiAnYnRuLWdob3N0JyxcbiAgICBkYW5nZXI6ICdidG4gYmctcmVkLTUwMCBob3ZlcjpiZy1yZWQtNjAwIHRleHQtd2hpdGUnLFxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgY2xhc3NOYW1lPXtgJHt2YXJpYW50c1t2YXJpYW50XX0gcC0xLjUgJHtjbGFzc05hbWV9YH1cbiAgICAgIGFyaWEtbGFiZWw9e2xhYmVsfVxuICAgID5cbiAgICAgIHtpY29ufVxuICAgIDwvYnV0dG9uPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBGbG9hdGluZ0FjdGlvbkJ1dHRvbih7XG4gIGljb24sXG4gIGxhYmVsLFxuICBvbkNsaWNrLFxuICBwb3NpdGlvbiA9ICdib3R0b20tcmlnaHQnLFxufToge1xuICBpY29uOiBSZWFjdC5SZWFjdE5vZGVcbiAgbGFiZWw6IHN0cmluZ1xuICBvbkNsaWNrOiAoKSA9PiB2b2lkXG4gIHBvc2l0aW9uPzogJ2JvdHRvbS1yaWdodCcgfCAnYm90dG9tLWxlZnQnIHwgJ3RvcC1yaWdodCcgfCAndG9wLWxlZnQnXG59KSB7XG4gIGNvbnN0IHBvc2l0aW9ucyA9IHtcbiAgICAnYm90dG9tLXJpZ2h0JzogJ2JvdHRvbS00IHJpZ2h0LTQnLFxuICAgICdib3R0b20tbGVmdCc6ICdib3R0b20tNCBsZWZ0LTQnLFxuICAgICd0b3AtcmlnaHQnOiAndG9wLTQgcmlnaHQtNCcsXG4gICAgJ3RvcC1sZWZ0JzogJ3RvcC00IGxlZnQtNCcsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICBjbGFzc05hbWU9e2BmaXhlZCAke3Bvc2l0aW9uc1twb3NpdGlvbl19IHotNDAgdy0xMiBoLTEyIHJvdW5kZWQtZnVsbCBiZy1hY2NlbnQgdGV4dC1zdXJmYWNlLTkwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlcmB9XG4gICAgICBhcmlhLWxhYmVsPXtsYWJlbH1cbiAgICA+XG4gICAgICB7aWNvbn1cbiAgICA8L2J1dHRvbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxpbmsiLCJSZWFjdCIsIkJ1dHRvbiIsInZhcmlhbnQiLCJzaXplIiwiaXNMb2FkaW5nIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJkaXNhYmxlZCIsInByb3BzIiwidmFyaWFudHMiLCJwcmltYXJ5Iiwic2Vjb25kYXJ5IiwiZ2hvc3QiLCJkYW5nZXIiLCJzaXplcyIsInNtIiwibWQiLCJsZyIsImJ1dHRvbiIsInNwYW4iLCJMaW5rQnV0dG9uIiwiaHJlZiIsIkljb25CdXR0b24iLCJpY29uIiwibGFiZWwiLCJvbkNsaWNrIiwiYXJpYS1sYWJlbCIsIkZsb2F0aW5nQWN0aW9uQnV0dG9uIiwicG9zaXRpb24iLCJwb3NpdGlvbnMiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Buttons.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/Footer.tsx":
/*!***********************************!*\
!*** ./src/components/Footer.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 */ Footer)\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/route-modules/app-page/vendored/ssr/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/dist/client/app-dir/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 react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/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 _Layouts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Layouts */ \"(ssr)/./src/components/Layouts.tsx\");\n/* harmony import */ var _Forms__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Forms */ \"(ssr)/./src/components/Forms.tsx\");\n/* harmony import */ var _Buttons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Buttons */ \"(ssr)/./src/components/Buttons.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\nfunction Footer() {\n const [email, setEmail] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)('');\n const [firstName, setFirstName] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)('');\n const [message, setMessage] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)('');\n const [isSubmitting, setIsSubmitting] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(false);\n const [submitMessage, setSubmitMessage] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)('');\n const handleSubmit = async (e)=>{\n e.preventDefault();\n setIsSubmitting(true);\n // Simulate form submission\n setTimeout(()=>{\n setSubmitMessage(\"Thank you! We'll be in touch soon.\");\n setEmail('');\n setFirstName('');\n setMessage('');\n setIsSubmitting(false);\n // Clear success message after 5 seconds\n setTimeout(()=>setSubmitMessage(''), 5000);\n }, 1000);\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"footer\", {\n className: \"bg-surface-900 pt-16 pb-8 border-t border-surface-500\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Layouts__WEBPACK_IMPORTED_MODULE_3__.Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 mb-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lg:col-span-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-2xl font-display text-white mb-4\",\n children: \"Biohazard VFX\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 39,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-text-muted text-sm mb-4\",\n children: \"Global visual effects studio delivering world-class VFX supervision, 3D animation, and post-production services.\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 42,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-text-muted text-sm\",\n children: \"We usually reply within 24 hours.\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 46,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 38,\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-lg font-semibold text-white mb-4\",\n children: \"Services\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 53,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"space-y-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/project\",\n className: \"block link-muted text-sm\",\n children: \"VFX Supervision\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 55,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/project\",\n className: \"block link-muted text-sm\",\n children: \"3D Animation\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 58,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/project\",\n className: \"block link-muted text-sm\",\n children: \"Post-Production\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 61,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/project\",\n className: \"block link-muted text-sm\",\n children: \"Motion Graphics\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 64,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 54,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 52,\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-lg font-semibold text-white mb-4\",\n children: \"Company\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 72,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"space-y-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/\",\n className: \"block link-muted text-sm\",\n children: \"Home\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 74,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/crew\",\n className: \"block link-muted text-sm\",\n children: \"Our Crew\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 77,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/blog\",\n className: \"block link-muted text-sm\",\n children: \"Blog\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 80,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/contact\",\n className: \"block link-muted text-sm\",\n children: \"Contact\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 83,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 73,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 71,\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-lg font-semibold text-white mb-4\",\n children: \"Get in Touch\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 91,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: handleSubmit,\n className: \"space-y-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Forms__WEBPACK_IMPORTED_MODULE_4__.Input, {\n type: \"text\",\n placeholder: \"First Name *\",\n value: firstName,\n onChange: (e)=>setFirstName(e.target.value),\n required: true,\n className: \"text-sm\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 95,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Forms__WEBPACK_IMPORTED_MODULE_4__.Input, {\n type: \"email\",\n placeholder: \"Email *\",\n value: email,\n onChange: (e)=>setEmail(e.target.value),\n required: true,\n className: \"text-sm\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 103,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Forms__WEBPACK_IMPORTED_MODULE_4__.Textarea, {\n placeholder: \"Message\",\n value: message,\n onChange: (e)=>setMessage(e.target.value),\n rows: 3,\n className: \"text-sm\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 111,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Buttons__WEBPACK_IMPORTED_MODULE_5__.Button, {\n type: \"submit\",\n disabled: isSubmitting,\n isLoading: isSubmitting,\n size: \"sm\",\n className: \"w-full\",\n children: \"Send\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 118,\n columnNumber: 15\n }, this),\n submitMessage && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-green-400 text-xs text-center\",\n children: submitMessage\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 128,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 94,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 90,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border-t border-surface-500 pt-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col md:flex-row justify-between items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"https://www.instagram.com/biohazardvfx/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"text-text-muted hover:text-accent transition-colors\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 151,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 146,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 140,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"https://vimeo.com/biohazardvfx\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"text-text-muted hover:text-accent transition-colors\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M22.875 10.063c-2.442 5.217-8.337 12.319-12.063 12.319-3.672 0-4.203-7.831-6.208-13.043-.987-2.565-1.624-1.814-3.474-.281L0 8.019c2.698-2.435 5.394-5.391 7.396-5.553 3.162-.242 3.487 2.831 4.024 5.479.699 3.463 1.809 8.845 2.801 8.845.796 0 2.289-3.313 2.428-4.516.222-1.853-1.512-1.879-2.971-1.271C17.503-2.071 22.875 4.44 22.875 10.063z\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 165,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 160,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 154,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"https://www.youtube.com/@biohazardvfx\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"text-text-muted hover:text-accent transition-colors\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 179,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 174,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 168,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 139,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col md:flex-row items-center gap-4 text-sm text-text-muted\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: \"\\xa9 2024 Biohazard VFX. All rights reserved.\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 185,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/privacy\",\n className: \"link-muted\",\n children: \"Privacy Policy\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 187,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/terms\",\n className: \"link-muted\",\n children: \"Terms of Service\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 190,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 186,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 184,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 138,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 137,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 35,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Footer.tsx\",\n lineNumber: 34,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Ozs7OztrREFDSCw4REFBQ0Y7d0NBQUlELFdBQVU7OzBEQUNiLDhEQUFDdEIsa0RBQUlBO2dEQUFDNEIsTUFBSztnREFBV04sV0FBVTswREFBYTs7Ozs7OzBEQUc3Qyw4REFBQ3RCLGtEQUFJQTtnREFBQzRCLE1BQUs7Z0RBQVNOLFdBQVU7MERBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVM0QiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9zcmMvY29tcG9uZW50cy9Gb290ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnLi9MYXlvdXRzJ1xuaW1wb3J0IHsgSW5wdXQsIFRleHRhcmVhIH0gZnJvbSAnLi9Gb3JtcydcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4vQnV0dG9ucydcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRm9vdGVyKCkge1xuICBjb25zdCBbZW1haWwsIHNldEVtYWlsXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbZmlyc3ROYW1lLCBzZXRGaXJzdE5hbWVdID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFttZXNzYWdlLCBzZXRNZXNzYWdlXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbaXNTdWJtaXR0aW5nLCBzZXRJc1N1Ym1pdHRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzdWJtaXRNZXNzYWdlLCBzZXRTdWJtaXRNZXNzYWdlXSA9IHVzZVN0YXRlKCcnKVxuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IGFzeW5jIChlOiBSZWFjdC5Gb3JtRXZlbnQpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBzZXRJc1N1Ym1pdHRpbmcodHJ1ZSlcblxuICAgIC8vIFNpbXVsYXRlIGZvcm0gc3VibWlzc2lvblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2V0U3VibWl0TWVzc2FnZShcIlRoYW5rIHlvdSEgV2UnbGwgYmUgaW4gdG91Y2ggc29vbi5cIilcbiAgICAgIHNldEVtYWlsKCcnKVxuICAgICAgc2V0Rmlyc3ROYW1lKCcnKVxuICAgICAgc2V0TWVzc2FnZSgnJylcbiAgICAgIHNldElzU3VibWl0dGluZyhmYWxzZSlcblxuICAgICAgLy8gQ2xlYXIgc3VjY2VzcyBtZXNzYWdlIGFmdGVyIDUgc2Vjb25kc1xuICAgICAgc2V0VGltZW91dCgoKSA9PiBzZXRTdWJtaXRNZXNzYWdlKCcnKSwgNTAwMClcbiAgICB9LCAxMDAwKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Zm9vdGVyIGNsYXNzTmFtZT1cImJnLXN1cmZhY2UtOTAwIHB0LTE2IHBiLTggYm9yZGVyLXQgYm9yZGVyLXN1cmZhY2UtNTAwXCI+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTQgZ2FwLTggbWItMTJcIj5cbiAgICAgICAgICB7LyogQ29tcGFueSBJbmZvICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGc6Y29sLXNwYW4tMVwiPlxuICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtZGlzcGxheSB0ZXh0LXdoaXRlIG1iLTRcIj5cbiAgICAgICAgICAgICAgQmlvaGF6YXJkIFZGWFxuICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtdGV4dC1tdXRlZCB0ZXh0LXNtIG1iLTRcIj5cbiAgICAgICAgICAgICAgR2xvYmFsIHZpc3VhbCBlZmZlY3RzIHN0dWRpbyBkZWxpdmVyaW5nIHdvcmxkLWNsYXNzIFZGWFxuICAgICAgICAgICAgICBzdXBlcnZpc2lvbiwgM0QgYW5pbWF0aW9uLCBhbmQgcG9zdC1wcm9kdWN0aW9uIHNlcnZpY2VzLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC10ZXh0LW11dGVkIHRleHQtc21cIj5cbiAgICAgICAgICAgICAgV2UgdXN1YWxseSByZXBseSB3aXRoaW4gMjQgaG91cnMuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICB7LyogUXVpY2sgTGlua3MgKi99XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBtYi00XCI+U2VydmljZXM8L2g0PlxuICAgICAgICAgICAgPG5hdiBjbGFzc05hbWU9XCJzcGFjZS15LTNcIj5cbiAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9wcm9qZWN0XCIgY2xhc3NOYW1lPVwiYmxvY2sgbGluay1tdXRlZCB0ZXh0LXNtXCI+XG4gICAgICAgICAgICAgICAgVkZYIFN1cGVydmlzaW9uXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9wcm9qZWN0XCIgY2xhc3NOYW1lPVwiYmxvY2sgbGluay1tdXRlZCB0ZXh0LXNtXCI+XG4gICAgICAgICAgICAgICAgM0QgQW5pbWF0aW9uXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9wcm9qZWN0XCIgY2xhc3NOYW1lPVwiYmxvY2sgbGluay1tdXRlZCB0ZXh0LXNtXCI+XG4gICAgICAgICAgICAgICAgUG9zdC1Qcm9kdWN0aW9uXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9wcm9qZWN0XCIgY2xhc3NOYW1lPVwiYmxvY2sgbGluay1tdXRlZCB0ZXh0LXNtXCI+XG4gICAgICAgICAgICAgICAgTW90aW9uIEdyYXBoaWNzXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgey8qIENvbXBhbnkgTGlua3MgKi99XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBtYi00XCI+Q29tcGFueTwvaDQ+XG4gICAgICAgICAgICA8bmF2IGNsYXNzTmFtZT1cInNwYWNlLXktM1wiPlxuICAgICAgICAgICAgICA8TGluayBocmVmPVwiL1wiIGNsYXNzTmFtZT1cImJsb2NrIGxpbmstbXV0ZWQgdGV4dC1zbVwiPlxuICAgICAgICAgICAgICAgIEhvbWVcbiAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICA8TGluayBocmVmPVwiL2NyZXdcIiBjbGFzc05hbWU9XCJibG9jayBsaW5rLW11dGVkIHRleHQtc21cIj5cbiAgICAgICAgICAgICAgICBPdXIgQ3Jld1xuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvYmxvZ1wiIGNsYXNzTmFtZT1cImJsb2NrIGxpbmstbXV0ZWQgdGV4dC1zbVwiPlxuICAgICAgICAgICAgICAgIEJsb2dcbiAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICA8TGluayBocmVmPVwiL2NvbnRhY3RcIiBjbGFzc05hbWU9XCJibG9jayBsaW5rLW11dGVkIHRleHQtc21cIj5cbiAgICAgICAgICAgICAgICBDb250YWN0XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgey8qIENvbnRhY3QgRm9ybSAqL31cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGg0IGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlIG1iLTRcIj5cbiAgICAgICAgICAgICAgR2V0IGluIFRvdWNoXG4gICAgICAgICAgICA8L2g0PlxuICAgICAgICAgICAgPGZvcm0gb25TdWJtaXQ9e2hhbmRsZVN1Ym1pdH0gY2xhc3NOYW1lPVwic3BhY2UteS0zXCI+XG4gICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkZpcnN0IE5hbWUgKlwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e2ZpcnN0TmFtZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldEZpcnN0TmFtZShlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXNtXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVtYWlsICpcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtlbWFpbH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldEVtYWlsKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtc21cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8VGV4dGFyZWFcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXttZXNzYWdlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0TWVzc2FnZShlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgICAgcm93cz17M31cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXNtXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1N1Ym1pdHRpbmd9XG4gICAgICAgICAgICAgICAgaXNMb2FkaW5nPXtpc1N1Ym1pdHRpbmd9XG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGxcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgU2VuZFxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAge3N1Ym1pdE1lc3NhZ2UgJiYgKFxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtZ3JlZW4tNDAwIHRleHQteHMgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgIHtzdWJtaXRNZXNzYWdlfVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIFNvY2lhbCBMaW5rcyAmIENvcHlyaWdodCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3JkZXItdCBib3JkZXItc3VyZmFjZS01MDAgcHQtOFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBtZDpmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIGdhcC00XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00XCI+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vYmlvaGF6YXJkdmZ4L1wiXG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXRleHQtbXV0ZWQgaG92ZXI6dGV4dC1hY2NlbnQgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy01IGgtNVwiXG4gICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTIgMi4xNjNjMy4yMDQgMCAzLjU4NC4wMTIgNC44NS4wNyAzLjI1Mi4xNDggNC43NzEgMS42OTEgNC45MTkgNC45MTkuMDU4IDEuMjY1LjA2OSAxLjY0NS4wNjkgNC44NDkgMCAzLjIwNS0uMDEyIDMuNTg0LS4wNjkgNC44NDktLjE0OSAzLjIyNS0xLjY2NCA0Ljc3MS00LjkxOSA0LjkxOS0xLjI2Ni4wNTgtMS42NDQuMDctNC44NS4wNy0zLjIwNCAwLTMuNTg0LS4wMTItNC44NDktLjA3LTMuMjYtLjE0OS00Ljc3MS0xLjY5OS00LjkxOS00LjkyLS4wNTgtMS4yNjUtLjA3LTEuNjQ0LS4wNy00Ljg0OSAwLTMuMjA0LjAxMy0zLjU4My4wNy00Ljg0OS4xNDktMy4yMjcgMS42NjQtNC43NzEgNC45MTktNC45MTkgMS4yNjYtLjA1NyAxLjY0NS0uMDY5IDQuODQ5LS4wNjl6bTAtMi4xNjNjLTMuMjU5IDAtMy42NjcuMDE0LTQuOTQ3LjA3Mi00LjM1OC4yLTYuNzggMi42MTgtNi45OCA2Ljk4LS4wNTkgMS4yODEtLjA3MyAxLjY4OS0uMDczIDQuOTQ4IDAgMy4yNTkuMDE0IDMuNjY4LjA3MiA0Ljk0OC4yIDQuMzU4IDIuNjE4IDYuNzggNi45OCA2Ljk4IDEuMjgxLjA1OCAxLjY4OS4wNzIgNC45NDguMDcyIDMuMjU5IDAgMy42NjgtLjAxNCA0Ljk0OC0uMDcyIDQuMzU0LS4yIDYuNzgyLTIuNjE4IDYuOTc5LTYuOTguMDU5LTEuMjguMDczLTEuNjg5LjA3My00Ljk0OCAwLTMuMjU5LS4wMTQtMy42NjctLjA3Mi00Ljk0Ny0uMTk2LTQuMzU0LTIuNjE3LTYuNzgtNi45NzktNi45OC0xLjI4MS0uMDU5LTEuNjktLjA3My00Ljk0OS0uMDczem0wIDUuODM4Yy0zLjQwMyAwLTYuMTYyIDIuNzU5LTYuMTYyIDYuMTYyczIuNzU5IDYuMTYzIDYuMTYyIDYuMTYzIDYuMTYyLTIuNzU5IDYuMTYyLTYuMTYzYzAtMy40MDMtMi43NTktNi4xNjItNi4xNjItNi4xNjJ6bTAgMTAuMTYyYy0yLjIwOSAwLTQtMS43OS00LTQgMC0yLjIwOSAxLjc5MS00IDQtNHM0IDEuNzkxIDQgNGMwIDIuMjEtMS43OTEgNC00IDR6bTYuNDA2LTExLjg0NWMtLjc5NiAwLTEuNDQxLjY0NS0xLjQ0MSAxLjQ0cy42NDUgMS40NCAxLjQ0MSAxLjQ0Yy43OTUgMCAxLjQzOS0uNjQ1IDEuNDM5LTEuNDRzLS42NDQtMS40NC0xLjQzOS0xLjQ0elwiIC8+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly92aW1lby5jb20vYmlvaGF6YXJkdmZ4XCJcbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtdGV4dC1tdXRlZCBob3Zlcjp0ZXh0LWFjY2VudCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LTUgaC01XCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yMi44NzUgMTAuMDYzYy0yLjQ0MiA1LjIxNy04LjMzNyAxMi4zMTktMTIuMDYzIDEyLjMxOS0zLjY3MiAwLTQuMjAzLTcuODMxLTYuMjA4LTEzLjA0My0uOTg3LTIuNTY1LTEuNjI0LTEuODE0LTMuNDc0LS4yODFMMCA4LjAxOWMyLjY5OC0yLjQzNSA1LjM5NC01LjM5MSA3LjM5Ni01LjU1MyAzLjE2Mi0uMjQyIDMuNDg3IDIuODMxIDQuMDI0IDUuNDc5LjY5OSAzLjQ2MyAxLjgwOSA4Ljg0NSAyLjgwMSA4Ljg0NS43OTYgMCAyLjI4OS0zLjMxMyAyLjQyOC00LjUxNi4yMjItMS44NTMtMS41MTItMS44NzktMi45NzEtMS4yNzFDMTcuNTAzLTIuMDcxIDIyLjg3NSA0LjQ0IDIyLjg3NSAxMC4wNjN6XCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9AYmlvaGF6YXJkdmZ4XCJcbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtdGV4dC1tdXRlZCBob3Zlcjp0ZXh0LWFjY2VudCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LTUgaC01XCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yMy40OTggNi4xODZhMy4wMTYgMy4wMTYgMCAwIDAtMi4xMjItMi4xMzZDMTkuNTA1IDMuNTQ1IDEyIDMuNTQ1IDEyIDMuNTQ1cy03LjUwNSAwLTkuMzc3LjUwNUEzLjAxNyAzLjAxNyAwIDAgMCAuNTAyIDYuMTg2QzAgOC4wNyAwIDEyIDAgMTJzMCAzLjkzLjUwMiA1LjgxNGEzLjAxNiAzLjAxNiAwIDAgMCAyLjEyMiAyLjEzNmMxLjg3MS41MDUgOS4zNzYuNTA1IDkuMzc2LjUwNXM3LjUwNSAwIDkuMzc3LS41MDVhMy4wMTUgMy4wMTUgMCAwIDAgMi4xMjItMi4xMzZDMjQgMTUuOTMgMjQgMTIgMjQgMTJzMC0zLjkzLS41MDItNS44MTR6TTkuNTQ1IDE1LjU2OFY4LjQzMkwxNS44MTggMTJsLTYuMjczIDMuNTY4elwiIC8+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgaXRlbXMtY2VudGVyIGdhcC00IHRleHQtc20gdGV4dC10ZXh0LW11dGVkXCI+XG4gICAgICAgICAgICAgIDxwPsKpIDIwMjQgQmlvaGF6YXJkIFZGWC4gQWxsIHJpZ2h0cyByZXNlcnZlZC48L3A+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBnYXAtNFwiPlxuICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvcHJpdmFjeVwiIGNsYXNzTmFtZT1cImxpbmstbXV0ZWRcIj5cbiAgICAgICAgICAgICAgICAgIFByaXZhY3kgUG9saWN5XG4gICAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvdGVybXNcIiBjbGFzc05hbWU9XCJsaW5rLW11dGVkXCI+XG4gICAgICAgICAgICAgICAgICBUZXJtcyBvZiBTZXJ2aWNlXG4gICAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvZm9vdGVyPlxuICApXG59XG4iXSwibmFtZXMiOlsiTGluayIsInVzZVN0YXRlIiwiQ29udGFpbmVyIiwiSW5wdXQiLCJUZXh0YXJlYSIsIkJ1dHRvbiIsIkZvb3RlciIsImVtYWlsIiwic2V0RW1haWwiLCJmaXJzdE5hbWUiLCJzZXRGaXJzdE5hbWUiLCJtZXNzYWdlIiwic2V0TWVzc2FnZSIsImlzU3VibWl0dGluZyIsInNldElzU3VibWl0dGluZyIsInN1Ym1pdE1lc3NhZ2UiLCJzZXRTdWJtaXRNZXNzYWdlIiwiaGFuZGxlU3VibWl0IiwiZSIsInByZXZlbnREZWZhdWx0Iiwic2V0VGltZW91dCIsImZvb3RlciIsImNsYXNzTmFtZSIsImRpdiIsImgzIiwicCIsImg0IiwibmF2IiwiaHJlZiIsImZvcm0iLCJvblN1Ym1pdCIsInR5cGUiLCJwbGFjZWhvbGRlciIsInZhbHVlIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJyZXF1aXJlZCIsInJvd3MiLCJkaXNhYmxlZCIsImlzTG9hZGluZyIsInNpemUiLCJhIiwicmVsIiwic3ZnIiwiZmlsbCIsInZpZXdCb3giLCJwYXRoIiwiZCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Footer.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/Forms.tsx":
/*!**********************************!*\
!*** ./src/components/Forms.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 */ FormGroup: () => (/* binding */ FormGroup),\n/* harmony export */ FormSection: () => (/* binding */ FormSection),\n/* harmony export */ Input: () => (/* binding */ Input),\n/* harmony export */ Radio: () => (/* binding */ Radio),\n/* harmony export */ Select: () => (/* binding */ Select),\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/route-modules/app-page/vendored/ssr/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/* __next_internal_client_entry_do_not_use__ Input,Textarea,Select,Checkbox,Radio,FormGroup,FormSection auto */ \nfunction Input({ label, error, helperText, className = '', id, ...props }) {\n const inputId = id || label?.toLowerCase().replace(/\\s+/g, '-');\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n label && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: inputId,\n className: \"label\",\n children: label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 28,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n id: inputId,\n className: `input ${error ? 'border-red-500' : ''} ${className}`,\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 32,\n columnNumber: 7\n }, this),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-red-400\",\n children: error\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 37,\n columnNumber: 17\n }, this),\n helperText && !error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-text-muted\",\n children: helperText\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 39,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 26,\n columnNumber: 5\n }, this);\n}\nfunction Textarea({ label, error, helperText, className = '', id, ...props }) {\n const textareaId = id || label?.toLowerCase().replace(/\\s+/g, '-');\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n label && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: textareaId,\n className: \"label\",\n children: label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n id: textareaId,\n className: `input min-h-[120px] ${error ? 'border-red-500' : ''} ${className}`,\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 68,\n columnNumber: 7\n }, this),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-red-400\",\n children: error\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 73,\n columnNumber: 17\n }, this),\n helperText && !error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-text-muted\",\n children: helperText\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 75,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 62,\n columnNumber: 5\n }, this);\n}\nfunction Select({ label, error, helperText, options, className = '', id, ...props }) {\n const selectId = id || label?.toLowerCase().replace(/\\s+/g, '-');\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n label && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: selectId,\n className: \"label\",\n children: label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 102,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n id: selectId,\n className: `input ${error ? 'border-red-500' : ''} ${className}`,\n ...props,\n children: options.map((option)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: option.value,\n children: option.label\n }, option.value, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 112,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 106,\n columnNumber: 7\n }, this),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-red-400\",\n children: error\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 117,\n columnNumber: 17\n }, this),\n helperText && !error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-text-muted\",\n children: helperText\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 119,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 100,\n columnNumber: 5\n }, this);\n}\nfunction Checkbox({ label, className = '', id, ...props }) {\n const checkboxId = id || label.toLowerCase().replace(/\\s+/g, '-');\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"checkbox\",\n id: checkboxId,\n className: `w-4 h-4 rounded border-surface-500 bg-surface-600 text-accent focus:ring-accent focus:ring-offset-0 ${className}`,\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 139,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: checkboxId,\n className: \"text-sm text-text-secondary\",\n children: label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 145,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 138,\n columnNumber: 5\n }, this);\n}\nfunction Radio({ label, className = '', id, ...props }) {\n const radioId = id || label.toLowerCase().replace(/\\s+/g, '-');\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"radio\",\n id: radioId,\n className: `w-4 h-4 border-surface-500 bg-surface-600 text-accent focus:ring-accent focus:ring-offset-0 ${className}`,\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 161,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: radioId,\n className: \"text-sm text-text-secondary\",\n children: label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 167,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 160,\n columnNumber: 5\n }, this);\n}\nfunction FormGroup({ children, className = '' }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `space-y-4 ${className}`,\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 180,\n columnNumber: 10\n }, this);\n}\nfunction FormSection({ title, description, children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4\",\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)(\"h3\", {\n className: \"text-lg font-semibold text-white\",\n children: title\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 197,\n columnNumber: 9\n }, this),\n description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-text-muted mt-1\",\n children: description\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 199,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 196,\n columnNumber: 7\n }, this),\n children\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Forms.tsx\",\n lineNumber: 195,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9Gb3Jtcy50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQWNPLFNBQVNBLE1BQU0sRUFDcEJDLEtBQUssRUFDTEMsS0FBSyxFQUNMQyxVQUFVLEVBQ1ZDLFlBQVksRUFBRSxFQUNkQyxFQUFFLEVBQ0YsR0FBR0MsT0FDUTtJQUNYLE1BQU1DLFVBQVVGLE1BQU1KLE9BQU9PLGNBQWNDLFFBQVEsUUFBUTtJQUUzRCxxQkFDRSw4REFBQ0M7UUFBSU4sV0FBVTs7WUFDWkgsdUJBQ0MsOERBQUNBO2dCQUFNVSxTQUFTSjtnQkFBU0gsV0FBVTswQkFDaENIOzs7Ozs7MEJBR0wsOERBQUNXO2dCQUNDUCxJQUFJRTtnQkFDSkgsV0FBVyxDQUFDLE1BQU0sRUFBRUYsUUFBUSxtQkFBbUIsR0FBRyxDQUFDLEVBQUVFLFdBQVc7Z0JBQy9ELEdBQUdFLEtBQUs7Ozs7OztZQUVWSix1QkFBUyw4REFBQ1c7Z0JBQUVULFdBQVU7MEJBQXdCRjs7Ozs7O1lBQzlDQyxjQUFjLENBQUNELHVCQUNkLDhEQUFDVztnQkFBRVQsV0FBVTswQkFBMkJEOzs7Ozs7Ozs7Ozs7QUFJaEQ7QUFRTyxTQUFTVyxTQUFTLEVBQ3ZCYixLQUFLLEVBQ0xDLEtBQUssRUFDTEMsVUFBVSxFQUNWQyxZQUFZLEVBQUUsRUFDZEMsRUFBRSxFQUNGLEdBQUdDLE9BQ1c7SUFDZCxNQUFNUyxhQUFhVixNQUFNSixPQUFPTyxjQUFjQyxRQUFRLFFBQVE7SUFFOUQscUJBQ0UsOERBQUNDO1FBQUlOLFdBQVU7O1lBQ1pILHVCQUNDLDhEQUFDQTtnQkFBTVUsU0FBU0k7Z0JBQVlYLFdBQVU7MEJBQ25DSDs7Ozs7OzBCQUdMLDhEQUFDZTtnQkFDQ1gsSUFBSVU7Z0JBQ0pYLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRUYsUUFBUSxtQkFBbUIsR0FBRyxDQUFDLEVBQUVFLFdBQVc7Z0JBQzdFLEdBQUdFLEtBQUs7Ozs7OztZQUVWSix1QkFBUyw4REFBQ1c7Z0JBQUVULFdBQVU7MEJBQXdCRjs7Ozs7O1lBQzlDQyxjQUFjLENBQUNELHVCQUNkLDhEQUFDVztnQkFBRVQsV0FBVTswQkFBMkJEOzs7Ozs7Ozs7Ozs7QUFJaEQ7QUFTTyxTQUFTYyxPQUFPLEVBQ3JCaEIsS0FBSyxFQUNMQyxLQUFLLEVBQ0xDLFVBQVUsRUFDVmUsT0FBTyxFQUNQZCxZQUFZLEVBQUUsRUFDZEMsRUFBRSxFQUNGLEdBQUdDLE9BQ1M7SUFDWixNQUFNYSxXQUFXZCxNQUFNSixPQUFPTyxjQUFjQyxRQUFRLFFBQVE7SUFFNUQscUJBQ0UsOERBQUNDO1FBQUlOLFdBQVU7O1lBQ1pILHVCQUNDLDhEQUFDQTtnQkFBTVUsU0FBU1E7Z0JBQVVmLFdBQVU7MEJBQ2pDSDs7Ozs7OzBCQUdMLDhEQUFDbUI7Z0JBQ0NmLElBQUljO2dCQUNKZixXQUFXLENBQUMsTUFBTSxFQUFFRixRQUFRLG1CQUFtQixHQUFHLENBQUMsRUFBRUUsV0FBVztnQkFDL0QsR0FBR0UsS0FBSzswQkFFUlksUUFBUUcsR0FBRyxDQUFDLENBQUNDLHVCQUNaLDhEQUFDQTt3QkFBMEJDLE9BQU9ELE9BQU9DLEtBQUs7a0NBQzNDRCxPQUFPckIsS0FBSzt1QkFERnFCLE9BQU9DLEtBQUs7Ozs7Ozs7Ozs7WUFLNUJyQix1QkFBUyw4REFBQ1c7Z0JBQUVULFdBQVU7MEJBQXdCRjs7Ozs7O1lBQzlDQyxjQUFjLENBQUNELHVCQUNkLDhEQUFDVztnQkFBRVQsV0FBVTswQkFBMkJEOzs7Ozs7Ozs7Ozs7QUFJaEQ7QUFNTyxTQUFTcUIsU0FBUyxFQUN2QnZCLEtBQUssRUFDTEcsWUFBWSxFQUFFLEVBQ2RDLEVBQUUsRUFDRixHQUFHQyxPQUNXO0lBQ2QsTUFBTW1CLGFBQWFwQixNQUFNSixNQUFNTyxXQUFXLEdBQUdDLE9BQU8sQ0FBQyxRQUFRO0lBRTdELHFCQUNFLDhEQUFDQztRQUFJTixXQUFVOzswQkFDYiw4REFBQ1E7Z0JBQ0NjLE1BQUs7Z0JBQ0xyQixJQUFJb0I7Z0JBQ0pyQixXQUFXLENBQUMsb0dBQW9HLEVBQUVBLFdBQVc7Z0JBQzVILEdBQUdFLEtBQUs7Ozs7OzswQkFFWCw4REFBQ0w7Z0JBQU1VLFNBQVNjO2dCQUFZckIsV0FBVTswQkFDbkNIOzs7Ozs7Ozs7Ozs7QUFJVDtBQU1PLFNBQVMwQixNQUFNLEVBQUUxQixLQUFLLEVBQUVHLFlBQVksRUFBRSxFQUFFQyxFQUFFLEVBQUUsR0FBR0MsT0FBbUI7SUFDdkUsTUFBTXNCLFVBQVV2QixNQUFNSixNQUFNTyxXQUFXLEdBQUdDLE9BQU8sQ0FBQyxRQUFRO0lBRTFELHFCQUNFLDhEQUFDQztRQUFJTixXQUFVOzswQkFDYiw4REFBQ1E7Z0JBQ0NjLE1BQUs7Z0JBQ0xyQixJQUFJdUI7Z0JBQ0p4QixXQUFXLENBQUMsNEZBQTRGLEVBQUVBLFdBQVc7Z0JBQ3BILEdBQUdFLEtBQUs7Ozs7OzswQkFFWCw4REFBQ0w7Z0JBQU1VLFNBQVNpQjtnQkFBU3hCLFdBQVU7MEJBQ2hDSDs7Ozs7Ozs7Ozs7O0FBSVQ7QUFPTyxTQUFTNEIsVUFBVSxFQUFFQyxRQUFRLEVBQUUxQixZQUFZLEVBQUUsRUFBa0I7SUFDcEUscUJBQU8sOERBQUNNO1FBQUlOLFdBQVcsQ0FBQyxVQUFVLEVBQUVBLFdBQVc7a0JBQUcwQjs7Ozs7O0FBQ3BEO0FBUU8sU0FBU0MsWUFBWSxFQUMxQkMsS0FBSyxFQUNMQyxXQUFXLEVBQ1hILFFBQVEsRUFDUztJQUNqQixxQkFDRSw4REFBQ3BCO1FBQUlOLFdBQVU7OzBCQUNiLDhEQUFDTTs7a0NBQ0MsOERBQUN3Qjt3QkFBRzlCLFdBQVU7a0NBQW9DNEI7Ozs7OztvQkFDakRDLDZCQUNDLDhEQUFDcEI7d0JBQUVULFdBQVU7a0NBQWdDNkI7Ozs7Ozs7Ozs7OztZQUdoREg7Ozs7Ozs7QUFHUCIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L3NyYy9jb21wb25lbnRzL0Zvcm1zLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHtcbiAgSW5wdXRIVE1MQXR0cmlidXRlcyxcbiAgVGV4dGFyZWFIVE1MQXR0cmlidXRlcyxcbiAgU2VsZWN0SFRNTEF0dHJpYnV0ZXMsXG59IGZyb20gJ3JlYWN0J1xuXG5pbnRlcmZhY2UgSW5wdXRQcm9wcyBleHRlbmRzIElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD4ge1xuICBsYWJlbD86IHN0cmluZ1xuICBlcnJvcj86IHN0cmluZ1xuICBoZWxwZXJUZXh0Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBJbnB1dCh7XG4gIGxhYmVsLFxuICBlcnJvcixcbiAgaGVscGVyVGV4dCxcbiAgY2xhc3NOYW1lID0gJycsXG4gIGlkLFxuICAuLi5wcm9wc1xufTogSW5wdXRQcm9wcykge1xuICBjb25zdCBpbnB1dElkID0gaWQgfHwgbGFiZWw/LnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFxzKy9nLCAnLScpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMlwiPlxuICAgICAge2xhYmVsICYmIChcbiAgICAgICAgPGxhYmVsIGh0bWxGb3I9e2lucHV0SWR9IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgKX1cbiAgICAgIDxpbnB1dFxuICAgICAgICBpZD17aW5wdXRJZH1cbiAgICAgICAgY2xhc3NOYW1lPXtgaW5wdXQgJHtlcnJvciA/ICdib3JkZXItcmVkLTUwMCcgOiAnJ30gJHtjbGFzc05hbWV9YH1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgLz5cbiAgICAgIHtlcnJvciAmJiA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtcmVkLTQwMFwiPntlcnJvcn08L3A+fVxuICAgICAge2hlbHBlclRleHQgJiYgIWVycm9yICYmIChcbiAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LXRleHQtbXV0ZWRcIj57aGVscGVyVGV4dH08L3A+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG5cbmludGVyZmFjZSBUZXh0YXJlYVByb3BzIGV4dGVuZHMgVGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50PiB7XG4gIGxhYmVsPzogc3RyaW5nXG4gIGVycm9yPzogc3RyaW5nXG4gIGhlbHBlclRleHQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRleHRhcmVhKHtcbiAgbGFiZWwsXG4gIGVycm9yLFxuICBoZWxwZXJUZXh0LFxuICBjbGFzc05hbWUgPSAnJyxcbiAgaWQsXG4gIC4uLnByb3BzXG59OiBUZXh0YXJlYVByb3BzKSB7XG4gIGNvbnN0IHRleHRhcmVhSWQgPSBpZCB8fCBsYWJlbD8udG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXHMrL2csICctJylcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XG4gICAgICB7bGFiZWwgJiYgKFxuICAgICAgICA8bGFiZWwgaHRtbEZvcj17dGV4dGFyZWFJZH0gY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICApfVxuICAgICAgPHRleHRhcmVhXG4gICAgICAgIGlkPXt0ZXh0YXJlYUlkfVxuICAgICAgICBjbGFzc05hbWU9e2BpbnB1dCBtaW4taC1bMTIwcHhdICR7ZXJyb3IgPyAnYm9yZGVyLXJlZC01MDAnIDogJyd9ICR7Y2xhc3NOYW1lfWB9XG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgIC8+XG4gICAgICB7ZXJyb3IgJiYgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LXJlZC00MDBcIj57ZXJyb3J9PC9wPn1cbiAgICAgIHtoZWxwZXJUZXh0ICYmICFlcnJvciAmJiAoXG4gICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC10ZXh0LW11dGVkXCI+e2hlbHBlclRleHR9PC9wPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5pbnRlcmZhY2UgU2VsZWN0UHJvcHMgZXh0ZW5kcyBTZWxlY3RIVE1MQXR0cmlidXRlczxIVE1MU2VsZWN0RWxlbWVudD4ge1xuICBsYWJlbD86IHN0cmluZ1xuICBlcnJvcj86IHN0cmluZ1xuICBoZWxwZXJUZXh0Pzogc3RyaW5nXG4gIG9wdGlvbnM6IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9W11cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNlbGVjdCh7XG4gIGxhYmVsLFxuICBlcnJvcixcbiAgaGVscGVyVGV4dCxcbiAgb3B0aW9ucyxcbiAgY2xhc3NOYW1lID0gJycsXG4gIGlkLFxuICAuLi5wcm9wc1xufTogU2VsZWN0UHJvcHMpIHtcbiAgY29uc3Qgc2VsZWN0SWQgPSBpZCB8fCBsYWJlbD8udG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXHMrL2csICctJylcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XG4gICAgICB7bGFiZWwgJiYgKFxuICAgICAgICA8bGFiZWwgaHRtbEZvcj17c2VsZWN0SWR9IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgKX1cbiAgICAgIDxzZWxlY3RcbiAgICAgICAgaWQ9e3NlbGVjdElkfVxuICAgICAgICBjbGFzc05hbWU9e2BpbnB1dCAke2Vycm9yID8gJ2JvcmRlci1yZWQtNTAwJyA6ICcnfSAke2NsYXNzTmFtZX1gfVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICA+XG4gICAgICAgIHtvcHRpb25zLm1hcCgob3B0aW9uKSA9PiAoXG4gICAgICAgICAgPG9wdGlvbiBrZXk9e29wdGlvbi52YWx1ZX0gdmFsdWU9e29wdGlvbi52YWx1ZX0+XG4gICAgICAgICAgICB7b3B0aW9uLmxhYmVsfVxuICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICApKX1cbiAgICAgIDwvc2VsZWN0PlxuICAgICAge2Vycm9yICYmIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1yZWQtNDAwXCI+e2Vycm9yfTwvcD59XG4gICAgICB7aGVscGVyVGV4dCAmJiAhZXJyb3IgJiYgKFxuICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtdGV4dC1tdXRlZFwiPntoZWxwZXJUZXh0fTwvcD5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cblxuaW50ZXJmYWNlIENoZWNrYm94UHJvcHMgZXh0ZW5kcyBJbnB1dEhUTUxBdHRyaWJ1dGVzPEhUTUxJbnB1dEVsZW1lbnQ+IHtcbiAgbGFiZWw6IHN0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ2hlY2tib3goe1xuICBsYWJlbCxcbiAgY2xhc3NOYW1lID0gJycsXG4gIGlkLFxuICAuLi5wcm9wc1xufTogQ2hlY2tib3hQcm9wcykge1xuICBjb25zdCBjaGVja2JveElkID0gaWQgfHwgbGFiZWwudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXHMrL2csICctJylcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBpZD17Y2hlY2tib3hJZH1cbiAgICAgICAgY2xhc3NOYW1lPXtgdy00IGgtNCByb3VuZGVkIGJvcmRlci1zdXJmYWNlLTUwMCBiZy1zdXJmYWNlLTYwMCB0ZXh0LWFjY2VudCBmb2N1czpyaW5nLWFjY2VudCBmb2N1czpyaW5nLW9mZnNldC0wICR7Y2xhc3NOYW1lfWB9XG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgIC8+XG4gICAgICA8bGFiZWwgaHRtbEZvcj17Y2hlY2tib3hJZH0gY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LXRleHQtc2Vjb25kYXJ5XCI+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuaW50ZXJmYWNlIFJhZGlvUHJvcHMgZXh0ZW5kcyBJbnB1dEhUTUxBdHRyaWJ1dGVzPEhUTUxJbnB1dEVsZW1lbnQ+IHtcbiAgbGFiZWw6IHN0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUmFkaW8oeyBsYWJlbCwgY2xhc3NOYW1lID0gJycsIGlkLCAuLi5wcm9wcyB9OiBSYWRpb1Byb3BzKSB7XG4gIGNvbnN0IHJhZGlvSWQgPSBpZCB8fCBsYWJlbC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xccysvZywgJy0nKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIGlkPXtyYWRpb0lkfVxuICAgICAgICBjbGFzc05hbWU9e2B3LTQgaC00IGJvcmRlci1zdXJmYWNlLTUwMCBiZy1zdXJmYWNlLTYwMCB0ZXh0LWFjY2VudCBmb2N1czpyaW5nLWFjY2VudCBmb2N1czpyaW5nLW9mZnNldC0wICR7Y2xhc3NOYW1lfWB9XG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgIC8+XG4gICAgICA8bGFiZWwgaHRtbEZvcj17cmFkaW9JZH0gY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LXRleHQtc2Vjb25kYXJ5XCI+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuaW50ZXJmYWNlIEZvcm1Hcm91cFByb3BzIHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEZvcm1Hcm91cCh7IGNoaWxkcmVuLCBjbGFzc05hbWUgPSAnJyB9OiBGb3JtR3JvdXBQcm9wcykge1xuICByZXR1cm4gPGRpdiBjbGFzc05hbWU9e2BzcGFjZS15LTQgJHtjbGFzc05hbWV9YH0+e2NoaWxkcmVufTwvZGl2PlxufVxuXG5pbnRlcmZhY2UgRm9ybVNlY3Rpb25Qcm9wcyB7XG4gIHRpdGxlOiBzdHJpbmdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gRm9ybVNlY3Rpb24oe1xuICB0aXRsZSxcbiAgZGVzY3JpcHRpb24sXG4gIGNoaWxkcmVuLFxufTogRm9ybVNlY3Rpb25Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS00XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC1sZyBmb250LXNlbWlib2xkIHRleHQtd2hpdGVcIj57dGl0bGV9PC9oMz5cbiAgICAgICAge2Rlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtdGV4dC1tdXRlZCBtdC0xXCI+e2Rlc2NyaXB0aW9ufTwvcD5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiSW5wdXQiLCJsYWJlbCIsImVycm9yIiwiaGVscGVyVGV4dCIsImNsYXNzTmFtZSIsImlkIiwicHJvcHMiLCJpbnB1dElkIiwidG9Mb3dlckNhc2UiLCJyZXBsYWNlIiwiZGl2IiwiaHRtbEZvciIsImlucHV0IiwicCIsIlRleHRhcmVhIiwidGV4dGFyZWFJZCIsInRleHRhcmVhIiwiU2VsZWN0Iiwib3B0aW9ucyIsInNlbGVjdElkIiwic2VsZWN0IiwibWFwIiwib3B0aW9uIiwidmFsdWUiLCJDaGVja2JveCIsImNoZWNrYm94SWQiLCJ0eXBlIiwiUmFkaW8iLCJyYWRpb0lkIiwiRm9ybUdyb3VwIiwiY2hpbGRyZW4iLCJGb3JtU2VjdGlvbiIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJoMyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Forms.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/Layouts.tsx":
/*!************************************!*\
!*** ./src/components/Layouts.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 */ Container: () => (/* binding */ Container),\n/* harmony export */ EmptyState: () => (/* binding */ EmptyState),\n/* harmony export */ Grid: () => (/* binding */ Grid),\n/* harmony export */ Hero: () => (/* binding */ Hero),\n/* harmony export */ PageHeader: () => (/* binding */ PageHeader),\n/* harmony export */ Section: () => (/* binding */ Section),\n/* harmony export */ SplitLayout: () => (/* binding */ SplitLayout)\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/route-modules/app-page/vendored/ssr/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/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\n\nfunction PageHeader({ title, subtitle, actions }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start 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)(\"h1\", {\n className: \"text-3xl font-display tracking-tight text-white mb-2\",\n children: title\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 14,\n columnNumber: 11\n }, this),\n subtitle && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-text-muted text-base max-w-3xl\",\n children: subtitle\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 17,\n columnNumber: 24\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 13,\n columnNumber: 9\n }, this),\n actions && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: actions\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 19,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this);\n}\nfunction Section({ children, className = '' }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: `section-spacing ${className}`,\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 32,\n columnNumber: 5\n }, this);\n}\nfunction Container({ children, className = '' }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `w-full px-4 sm:px-6 lg:px-8 ${className}`,\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 42,\n columnNumber: 10\n }, this);\n}\nfunction Grid({ children, cols = 3, gap = 'md', className = '' }) {\n const colClasses = {\n 1: 'grid-cols-1',\n 2: 'grid-cols-1 md:grid-cols-2',\n 3: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3',\n 4: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-4'\n };\n const gapClasses = {\n sm: 'gap-3',\n md: 'gap-4',\n lg: 'gap-6'\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `grid ${colClasses[cols]} ${gapClasses[gap]} ${className}`,\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 72,\n columnNumber: 5\n }, this);\n}\nfunction SplitLayout({ left, right, className = '' }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `grid grid-cols-1 lg:grid-cols-2 gap-6 lg:gap-8 ${className}`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: left\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 89,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: right\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 90,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 86,\n columnNumber: 5\n }, this);\n}\nfunction Hero({ title, subtitle, backgroundImage, children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative min-h-[50vh] flex items-center justify-center text-center\",\n style: backgroundImage ? {\n backgroundImage: `linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)), url(${backgroundImage})`,\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n } : {},\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Container, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-4xl md:text-6xl font-display tracking-tight text-white mb-3\",\n children: title\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 122,\n columnNumber: 9\n }, this),\n subtitle && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-lg md:text-xl text-text-muted mb-6\",\n children: subtitle\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 126,\n columnNumber: 11\n }, this),\n children\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 121,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 109,\n columnNumber: 5\n }, this);\n}\nfunction EmptyState({ icon, title, description, action }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-8\",\n children: [\n icon && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-4xl mb-3 opacity-20\",\n children: icon\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 149,\n columnNumber: 16\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold text-white mb-2\",\n children: title\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 150,\n columnNumber: 7\n }, this),\n description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-text-muted mb-4\",\n children: description\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 151,\n columnNumber: 23\n }, this),\n action\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Layouts.tsx\",\n lineNumber: 148,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9MYXlvdXRzLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBeUI7QUFRbEIsU0FBU0MsV0FBVyxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRUMsT0FBTyxFQUFtQjtJQUN0RSxxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7WUFBSUMsV0FBVTs7OEJBQ2IsOERBQUNEOztzQ0FDQyw4REFBQ0U7NEJBQUdELFdBQVU7c0NBQ1hKOzs7Ozs7d0JBRUZDLDBCQUFZLDhEQUFDSzs0QkFBRUYsV0FBVTtzQ0FBdUNIOzs7Ozs7Ozs7Ozs7Z0JBRWxFQyx5QkFBVyw4REFBQ0M7b0JBQUlDLFdBQVU7OEJBQTJCRjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJOUQ7QUFPTyxTQUFTSyxRQUFRLEVBQUVDLFFBQVEsRUFBRUosWUFBWSxFQUFFLEVBQWdCO0lBQ2hFLHFCQUNFLDhEQUFDSztRQUFRTCxXQUFXLENBQUMsZ0JBQWdCLEVBQUVBLFdBQVc7a0JBQUdJOzs7Ozs7QUFFekQ7QUFPTyxTQUFTRSxVQUFVLEVBQUVGLFFBQVEsRUFBRUosWUFBWSxFQUFFLEVBQWtCO0lBQ3BFLHFCQUFPLDhEQUFDRDtRQUFJQyxXQUFXLENBQUMsNEJBQTRCLEVBQUVBLFdBQVc7a0JBQUdJOzs7Ozs7QUFDdEU7QUFTTyxTQUFTRyxLQUFLLEVBQ25CSCxRQUFRLEVBQ1JJLE9BQU8sQ0FBQyxFQUNSQyxNQUFNLElBQUksRUFDVlQsWUFBWSxFQUFFLEVBQ0o7SUFDVixNQUFNVSxhQUFhO1FBQ2pCLEdBQUc7UUFDSCxHQUFHO1FBQ0gsR0FBRztRQUNILEdBQUc7SUFDTDtJQUVBLE1BQU1DLGFBQWE7UUFDakJDLElBQUk7UUFDSkMsSUFBSTtRQUNKQyxJQUFJO0lBQ047SUFFQSxxQkFDRSw4REFBQ2Y7UUFBSUMsV0FBVyxDQUFDLEtBQUssRUFBRVUsVUFBVSxDQUFDRixLQUFLLENBQUMsQ0FBQyxFQUFFRyxVQUFVLENBQUNGLElBQUksQ0FBQyxDQUFDLEVBQUVULFdBQVc7a0JBQ3ZFSTs7Ozs7O0FBR1A7QUFRTyxTQUFTVyxZQUFZLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFakIsWUFBWSxFQUFFLEVBQW9CO0lBQzNFLHFCQUNFLDhEQUFDRDtRQUNDQyxXQUFXLENBQUMsK0NBQStDLEVBQUVBLFdBQVc7OzBCQUV4RSw4REFBQ0Q7MEJBQUtpQjs7Ozs7OzBCQUNOLDhEQUFDakI7MEJBQUtrQjs7Ozs7Ozs7Ozs7O0FBR1o7QUFTTyxTQUFTQyxLQUFLLEVBQ25CdEIsS0FBSyxFQUNMQyxRQUFRLEVBQ1JzQixlQUFlLEVBQ2ZmLFFBQVEsRUFDRTtJQUNWLHFCQUNFLDhEQUFDTDtRQUNDQyxXQUFVO1FBQ1ZvQixPQUNFRCxrQkFDSTtZQUNFQSxpQkFBaUIsQ0FBQyx1REFBdUQsRUFBRUEsZ0JBQWdCLENBQUMsQ0FBQztZQUM3RkUsZ0JBQWdCO1lBQ2hCQyxvQkFBb0I7UUFDdEIsSUFDQSxDQUFDO2tCQUdQLDRFQUFDaEI7OzhCQUNDLDhEQUFDTDtvQkFBR0QsV0FBVTs4QkFDWEo7Ozs7OztnQkFFRkMsMEJBQ0MsOERBQUNLO29CQUFFRixXQUFVOzhCQUEyQ0g7Ozs7OztnQkFFekRPOzs7Ozs7Ozs7Ozs7QUFJVDtBQVNPLFNBQVNtQixXQUFXLEVBQ3pCQyxJQUFJLEVBQ0o1QixLQUFLLEVBQ0w2QixXQUFXLEVBQ1hDLE1BQU0sRUFDVTtJQUNoQixxQkFDRSw4REFBQzNCO1FBQUlDLFdBQVU7O1lBQ1p3QixzQkFBUSw4REFBQ3pCO2dCQUFJQyxXQUFVOzBCQUE0QndCOzs7Ozs7MEJBQ3BELDhEQUFDRztnQkFBRzNCLFdBQVU7MEJBQXlDSjs7Ozs7O1lBQ3RENkIsNkJBQWUsOERBQUN2QjtnQkFBRUYsV0FBVTswQkFBd0J5Qjs7Ozs7O1lBQ3BEQzs7Ozs7OztBQUdQIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2NvbXBvbmVudHMvTGF5b3V0cy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbnRlcmZhY2UgUGFnZUhlYWRlclByb3BzIHtcbiAgdGl0bGU6IHN0cmluZ1xuICBzdWJ0aXRsZT86IHN0cmluZ1xuICBhY3Rpb25zPzogUmVhY3QuUmVhY3ROb2RlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQYWdlSGVhZGVyKHsgdGl0bGUsIHN1YnRpdGxlLCBhY3Rpb25zIH06IFBhZ2VIZWFkZXJQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwibWItNlwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLXN0YXJ0IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTN4bCBmb250LWRpc3BsYXkgdHJhY2tpbmctdGlnaHQgdGV4dC13aGl0ZSBtYi0yXCI+XG4gICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgPC9oMT5cbiAgICAgICAgICB7c3VidGl0bGUgJiYgPHAgY2xhc3NOYW1lPVwidGV4dC10ZXh0LW11dGVkIHRleHQtYmFzZSBtYXgtdy0zeGxcIj57c3VidGl0bGV9PC9wPn1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIHthY3Rpb25zICYmIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj57YWN0aW9uc308L2Rpdj59XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5pbnRlcmZhY2UgU2VjdGlvblByb3BzIHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNlY3Rpb24oeyBjaGlsZHJlbiwgY2xhc3NOYW1lID0gJycgfTogU2VjdGlvblByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb24gY2xhc3NOYW1lPXtgc2VjdGlvbi1zcGFjaW5nICR7Y2xhc3NOYW1lfWB9PntjaGlsZHJlbn08L3NlY3Rpb24+XG4gIClcbn1cblxuaW50ZXJmYWNlIENvbnRhaW5lclByb3BzIHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENvbnRhaW5lcih7IGNoaWxkcmVuLCBjbGFzc05hbWUgPSAnJyB9OiBDb250YWluZXJQcm9wcykge1xuICByZXR1cm4gPGRpdiBjbGFzc05hbWU9e2B3LWZ1bGwgcHgtNCBzbTpweC02IGxnOnB4LTggJHtjbGFzc05hbWV9YH0+e2NoaWxkcmVufTwvZGl2PlxufVxuXG5pbnRlcmZhY2UgR3JpZFByb3BzIHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxuICBjb2xzPzogMSB8IDIgfCAzIHwgNFxuICBnYXA/OiAnc20nIHwgJ21kJyB8ICdsZydcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBHcmlkKHtcbiAgY2hpbGRyZW4sXG4gIGNvbHMgPSAzLFxuICBnYXAgPSAnbWQnLFxuICBjbGFzc05hbWUgPSAnJyxcbn06IEdyaWRQcm9wcykge1xuICBjb25zdCBjb2xDbGFzc2VzID0ge1xuICAgIDE6ICdncmlkLWNvbHMtMScsXG4gICAgMjogJ2dyaWQtY29scy0xIG1kOmdyaWQtY29scy0yJyxcbiAgICAzOiAnZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTMnLFxuICAgIDQ6ICdncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBsZzpncmlkLWNvbHMtNCcsXG4gIH1cblxuICBjb25zdCBnYXBDbGFzc2VzID0ge1xuICAgIHNtOiAnZ2FwLTMnLFxuICAgIG1kOiAnZ2FwLTQnLFxuICAgIGxnOiAnZ2FwLTYnLFxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YGdyaWQgJHtjb2xDbGFzc2VzW2NvbHNdfSAke2dhcENsYXNzZXNbZ2FwXX0gJHtjbGFzc05hbWV9YH0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9kaXY+XG4gIClcbn1cblxuaW50ZXJmYWNlIFNwbGl0TGF5b3V0UHJvcHMge1xuICBsZWZ0OiBSZWFjdC5SZWFjdE5vZGVcbiAgcmlnaHQ6IFJlYWN0LlJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNwbGl0TGF5b3V0KHsgbGVmdCwgcmlnaHQsIGNsYXNzTmFtZSA9ICcnIH06IFNwbGl0TGF5b3V0UHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2BncmlkIGdyaWQtY29scy0xIGxnOmdyaWQtY29scy0yIGdhcC02IGxnOmdhcC04ICR7Y2xhc3NOYW1lfWB9XG4gICAgPlxuICAgICAgPGRpdj57bGVmdH08L2Rpdj5cbiAgICAgIDxkaXY+e3JpZ2h0fTwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG5cbmludGVyZmFjZSBIZXJvUHJvcHMge1xuICB0aXRsZTogc3RyaW5nXG4gIHN1YnRpdGxlPzogc3RyaW5nXG4gIGJhY2tncm91bmRJbWFnZT86IHN0cmluZ1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSGVybyh7XG4gIHRpdGxlLFxuICBzdWJ0aXRsZSxcbiAgYmFja2dyb3VuZEltYWdlLFxuICBjaGlsZHJlbixcbn06IEhlcm9Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT1cInJlbGF0aXZlIG1pbi1oLVs1MHZoXSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LWNlbnRlclwiXG4gICAgICBzdHlsZT17XG4gICAgICAgIGJhY2tncm91bmRJbWFnZVxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IGBsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwwLjcpLCByZ2JhKDAsMCwwLDAuNykpLCB1cmwoJHtiYWNrZ3JvdW5kSW1hZ2V9KWAsXG4gICAgICAgICAgICAgIGJhY2tncm91bmRTaXplOiAnY292ZXInLFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kUG9zaXRpb246ICdjZW50ZXInLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge31cbiAgICAgIH1cbiAgICA+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC00eGwgbWQ6dGV4dC02eGwgZm9udC1kaXNwbGF5IHRyYWNraW5nLXRpZ2h0IHRleHQtd2hpdGUgbWItM1wiPlxuICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgPC9oMT5cbiAgICAgICAge3N1YnRpdGxlICYmIChcbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWxnIG1kOnRleHQteGwgdGV4dC10ZXh0LW11dGVkIG1iLTZcIj57c3VidGl0bGV9PC9wPlxuICAgICAgICApfVxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5pbnRlcmZhY2UgRW1wdHlTdGF0ZVByb3BzIHtcbiAgaWNvbj86IFJlYWN0LlJlYWN0Tm9kZVxuICB0aXRsZTogc3RyaW5nXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIGFjdGlvbj86IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gRW1wdHlTdGF0ZSh7XG4gIGljb24sXG4gIHRpdGxlLFxuICBkZXNjcmlwdGlvbixcbiAgYWN0aW9uLFxufTogRW1wdHlTdGF0ZVByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBweS04XCI+XG4gICAgICB7aWNvbiAmJiA8ZGl2IGNsYXNzTmFtZT1cInRleHQtNHhsIG1iLTMgb3BhY2l0eS0yMFwiPntpY29ufTwvZGl2Pn1cbiAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBtYi0yXCI+e3RpdGxlfTwvaDM+XG4gICAgICB7ZGVzY3JpcHRpb24gJiYgPHAgY2xhc3NOYW1lPVwidGV4dC10ZXh0LW11dGVkIG1iLTRcIj57ZGVzY3JpcHRpb259PC9wPn1cbiAgICAgIHthY3Rpb259XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlBhZ2VIZWFkZXIiLCJ0aXRsZSIsInN1YnRpdGxlIiwiYWN0aW9ucyIsImRpdiIsImNsYXNzTmFtZSIsImgxIiwicCIsIlNlY3Rpb24iLCJjaGlsZHJlbiIsInNlY3Rpb24iLCJDb250YWluZXIiLCJHcmlkIiwiY29scyIsImdhcCIsImNvbENsYXNzZXMiLCJnYXBDbGFzc2VzIiwic20iLCJtZCIsImxnIiwiU3BsaXRMYXlvdXQiLCJsZWZ0IiwicmlnaHQiLCJIZXJvIiwiYmFja2dyb3VuZEltYWdlIiwic3R5bGUiLCJiYWNrZ3JvdW5kU2l6ZSIsImJhY2tncm91bmRQb3NpdGlvbiIsIkVtcHR5U3RhdGUiLCJpY29uIiwiZGVzY3JpcHRpb24iLCJhY3Rpb24iLCJoMyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Layouts.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/LoadingAnimationDNA.tsx":
/*!************************************************!*\
!*** ./src/components/LoadingAnimationDNA.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 */ LoadingAnimationDNA)\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/route-modules/app-page/vendored/ssr/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/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/* __next_internal_client_entry_do_not_use__ default auto */ \n\nfunction LoadingAnimationDNA({ onComplete }) {\n const [show, setShow] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [isExiting, setIsExiting] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"LoadingAnimationDNA.useEffect\": ()=>{\n // Small delay before showing to ensure smooth start\n setTimeout({\n \"LoadingAnimationDNA.useEffect\": ()=>setShow(true)\n }[\"LoadingAnimationDNA.useEffect\"], 100);\n const exitTimer = setTimeout({\n \"LoadingAnimationDNA.useEffect.exitTimer\": ()=>{\n setIsExiting(true);\n setTimeout(onComplete, 800);\n }\n }[\"LoadingAnimationDNA.useEffect.exitTimer\"], 2500);\n return ({\n \"LoadingAnimationDNA.useEffect\": ()=>{\n clearTimeout(exitTimer);\n }\n })[\"LoadingAnimationDNA.useEffect\"];\n }\n }[\"LoadingAnimationDNA.useEffect\"], [\n onComplete\n ]);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `fixed inset-0 z-[100] bg-black flex items-center justify-center overflow-hidden transition-opacity duration-700 ${isExiting ? 'opacity-0' : 'opacity-100'}`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `text-2xl md:text-3xl font-light tracking-[0.5em] text-white transition-all duration-1000 ${show ? 'opacity-100' : 'opacity-0'}`,\n children: \"BIOHAZARD VFX\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LoadingAnimationDNA.tsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute -bottom-4 left-0 right-0 h-px bg-white overflow-hidden\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `h-full bg-accent transition-all duration-2000 ease-out ${show ? 'translate-x-0' : '-translate-x-full'}`\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LoadingAnimationDNA.tsx\",\n lineNumber: 46,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LoadingAnimationDNA.tsx\",\n lineNumber: 45,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LoadingAnimationDNA.tsx\",\n lineNumber: 34,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LoadingAnimationDNA.tsx\",\n lineNumber: 28,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9Mb2FkaW5nQW5pbWF0aW9uRE5BLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFFMkM7QUFFNUIsU0FBU0Usb0JBQW9CLEVBQzFDQyxVQUFVLEVBR1g7SUFDQyxNQUFNLENBQUNDLE1BQU1DLFFBQVEsR0FBR0osK0NBQVFBLENBQUM7SUFDakMsTUFBTSxDQUFDSyxXQUFXQyxhQUFhLEdBQUdOLCtDQUFRQSxDQUFDO0lBRTNDRCxnREFBU0E7eUNBQUM7WUFDUixvREFBb0Q7WUFDcERRO2lEQUFXLElBQU1ILFFBQVE7Z0RBQU87WUFFaEMsTUFBTUksWUFBWUQ7MkRBQVc7b0JBQzNCRCxhQUFhO29CQUNiQyxXQUFXTCxZQUFZO2dCQUN6QjswREFBRztZQUVIO2lEQUFPO29CQUNMTyxhQUFhRDtnQkFDZjs7UUFDRjt3Q0FBRztRQUFDTjtLQUFXO0lBRWYscUJBQ0UsOERBQUNRO1FBQ0NDLFdBQVcsQ0FBQyxnSEFBZ0gsRUFDMUhOLFlBQVksY0FBYyxlQUMxQjtrQkFHRiw0RUFBQ0s7WUFBSUMsV0FBVTs7OEJBRWIsOERBQUNEO29CQUNDQyxXQUFXLENBQUMseUZBQXlGLEVBQ25HUixPQUFPLGdCQUFnQixhQUN2Qjs4QkFDSDs7Ozs7OzhCQUtELDhEQUFDTztvQkFBSUMsV0FBVTs4QkFDYiw0RUFBQ0Q7d0JBQ0NDLFdBQVcsQ0FBQyx1REFBdUQsRUFDakVSLE9BQU8sa0JBQWtCLHFCQUN6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1kIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2NvbXBvbmVudHMvTG9hZGluZ0FuaW1hdGlvbkROQS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTG9hZGluZ0FuaW1hdGlvbkROQSh7XG4gIG9uQ29tcGxldGUsXG59OiB7XG4gIG9uQ29tcGxldGU6ICgpID0+IHZvaWRcbn0pIHtcbiAgY29uc3QgW3Nob3csIHNldFNob3ddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpc0V4aXRpbmcsIHNldElzRXhpdGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFNtYWxsIGRlbGF5IGJlZm9yZSBzaG93aW5nIHRvIGVuc3VyZSBzbW9vdGggc3RhcnRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHNldFNob3codHJ1ZSksIDEwMClcblxuICAgIGNvbnN0IGV4aXRUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2V0SXNFeGl0aW5nKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KG9uQ29tcGxldGUsIDgwMClcbiAgICB9LCAyNTAwKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNsZWFyVGltZW91dChleGl0VGltZXIpXG4gICAgfVxuICB9LCBbb25Db21wbGV0ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2BmaXhlZCBpbnNldC0wIHotWzEwMF0gYmctYmxhY2sgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgb3ZlcmZsb3ctaGlkZGVuIHRyYW5zaXRpb24tb3BhY2l0eSBkdXJhdGlvbi03MDAgJHtcbiAgICAgICAgaXNFeGl0aW5nID8gJ29wYWNpdHktMCcgOiAnb3BhY2l0eS0xMDAnXG4gICAgICB9YH1cbiAgICA+XG4gICAgICB7LyogU2ltcGxlIGxpbmUgdGhhdCBleHBhbmRzICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICB7LyogVGV4dCAqL31cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17YHRleHQtMnhsIG1kOnRleHQtM3hsIGZvbnQtbGlnaHQgdHJhY2tpbmctWzAuNWVtXSB0ZXh0LXdoaXRlIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTEwMDAgJHtcbiAgICAgICAgICAgIHNob3cgPyAnb3BhY2l0eS0xMDAnIDogJ29wYWNpdHktMCdcbiAgICAgICAgICB9YH1cbiAgICAgICAgPlxuICAgICAgICAgIEJJT0hBWkFSRCBWRlhcbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIFVuZGVybGluZSB0aGF0IGV4cGFuZHMgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgLWJvdHRvbS00IGxlZnQtMCByaWdodC0wIGgtcHggYmctd2hpdGUgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgaC1mdWxsIGJnLWFjY2VudCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAwIGVhc2Utb3V0ICR7XG4gICAgICAgICAgICAgIHNob3cgPyAndHJhbnNsYXRlLXgtMCcgOiAnLXRyYW5zbGF0ZS14LWZ1bGwnXG4gICAgICAgICAgICB9YH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJMb2FkaW5nQW5pbWF0aW9uRE5BIiwib25Db21wbGV0ZSIsInNob3ciLCJzZXRTaG93IiwiaXNFeGl0aW5nIiwic2V0SXNFeGl0aW5nIiwic2V0VGltZW91dCIsImV4aXRUaW1lciIsImNsZWFyVGltZW91dCIsImRpdiIsImNsYXNzTmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/LoadingAnimationDNA.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/LoadingProvider.tsx":
/*!********************************************!*\
!*** ./src/components/LoadingProvider.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 */ LoadingProvider),\n/* harmony export */ useLoading: () => (/* binding */ useLoading)\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/route-modules/app-page/vendored/ssr/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/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 _LoadingAnimationDNA__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./LoadingAnimationDNA */ \"(ssr)/./src/components/LoadingAnimationDNA.tsx\");\n/* __next_internal_client_entry_do_not_use__ useLoading,default auto */ \n\n// import LoadingAnimation from './LoadingAnimation'\n// Or use LoadingAnimationDNA for the alternative version\n\nconst LoadingContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)({\n isLoading: true,\n setIsLoading: ()=>{}\n});\nconst useLoading = ()=>(0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(LoadingContext);\nfunction LoadingProvider({ children }) {\n const [isLoading, setIsLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [showLoader, setShowLoader] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [isMounted, setIsMounted] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"LoadingProvider.useEffect\": ()=>{\n setIsMounted(true);\n // Check URL params for force loading\n const urlParams = new URLSearchParams(window.location.search);\n const forceLoading = urlParams.get('loading') === 'true';\n // Check if this is the first visit\n const hasVisited = sessionStorage.getItem('hasVisited');\n if (hasVisited && !forceLoading) {\n // Still show a brief loading for smooth transition\n setTimeout({\n \"LoadingProvider.useEffect\": ()=>{\n setIsLoading(false);\n setShowLoader(false);\n }\n }[\"LoadingProvider.useEffect\"], 100);\n } else {\n sessionStorage.setItem('hasVisited', 'true');\n }\n }\n }[\"LoadingProvider.useEffect\"], []);\n const handleLoadingComplete = ()=>{\n setShowLoader(false);\n // Small delay to ensure smooth transition\n setTimeout(()=>{\n setIsLoading(false);\n }, 100);\n };\n // Don't render anything until mounted to avoid hydration issues\n if (!isMounted) {\n return null;\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(LoadingContext.Provider, {\n value: {\n isLoading,\n setIsLoading\n },\n children: [\n showLoader && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_LoadingAnimationDNA__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n onComplete: handleLoadingComplete\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LoadingProvider.tsx\",\n lineNumber: 65,\n columnNumber: 22\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `transition-opacity duration-1000 ${isLoading ? 'opacity-0' : 'opacity-100'}`,\n children: children\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LoadingProvider.tsx\",\n lineNumber: 66,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LoadingProvider.tsx\",\n lineNumber: 64,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9Mb2FkaW5nUHJvdmlkZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRXNFO0FBQ3RFLG9EQUFvRDtBQUNwRCx5REFBeUQ7QUFDRjtBQU92RCxNQUFNSywrQkFBaUJMLG9EQUFhQSxDQUFxQjtJQUN2RE0sV0FBVztJQUNYQyxjQUFjLEtBQU87QUFDdkI7QUFFTyxNQUFNQyxhQUFhLElBQU1QLGlEQUFVQSxDQUFDSSxnQkFBZTtBQUUzQyxTQUFTSSxnQkFBZ0IsRUFDdENDLFFBQVEsRUFHVDtJQUNDLE1BQU0sQ0FBQ0osV0FBV0MsYUFBYSxHQUFHTCwrQ0FBUUEsQ0FBQztJQUMzQyxNQUFNLENBQUNTLFlBQVlDLGNBQWMsR0FBR1YsK0NBQVFBLENBQUM7SUFDN0MsTUFBTSxDQUFDVyxXQUFXQyxhQUFhLEdBQUdaLCtDQUFRQSxDQUFDO0lBRTNDQyxnREFBU0E7cUNBQUM7WUFDUlcsYUFBYTtZQUViLHFDQUFxQztZQUNyQyxNQUFNQyxZQUFZLElBQUlDLGdCQUFnQkMsT0FBT0MsUUFBUSxDQUFDQyxNQUFNO1lBQzVELE1BQU1DLGVBQWVMLFVBQVVNLEdBQUcsQ0FBQyxlQUFlO1lBRWxELG1DQUFtQztZQUNuQyxNQUFNQyxhQUFhQyxlQUFlQyxPQUFPLENBQUM7WUFFMUMsSUFBSUYsY0FBYyxDQUFDRixjQUFjO2dCQUMvQixtREFBbUQ7Z0JBQ25ESztpREFBVzt3QkFDVGxCLGFBQWE7d0JBQ2JLLGNBQWM7b0JBQ2hCO2dEQUFHO1lBQ0wsT0FBTztnQkFDTFcsZUFBZUcsT0FBTyxDQUFDLGNBQWM7WUFDdkM7UUFDRjtvQ0FBRyxFQUFFO0lBRUwsTUFBTUMsd0JBQXdCO1FBQzVCZixjQUFjO1FBQ2QsMENBQTBDO1FBQzFDYSxXQUFXO1lBQ1RsQixhQUFhO1FBQ2YsR0FBRztJQUNMO0lBRUEsZ0VBQWdFO0lBQ2hFLElBQUksQ0FBQ00sV0FBVztRQUNkLE9BQU87SUFDVDtJQUVBLHFCQUNFLDhEQUFDUixlQUFldUIsUUFBUTtRQUFDQyxPQUFPO1lBQUV2QjtZQUFXQztRQUFhOztZQUN2REksNEJBQWMsOERBQUNQLDREQUFtQkE7Z0JBQUMwQixZQUFZSDs7Ozs7OzBCQUNoRCw4REFBQ0k7Z0JBQ0NDLFdBQVcsQ0FBQyxpQ0FBaUMsRUFBRTFCLFlBQVksY0FBYyxlQUFlOzBCQUV2Rkk7Ozs7Ozs7Ozs7OztBQUlUIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2NvbXBvbmVudHMvTG9hZGluZ1Byb3ZpZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuLy8gaW1wb3J0IExvYWRpbmdBbmltYXRpb24gZnJvbSAnLi9Mb2FkaW5nQW5pbWF0aW9uJ1xuLy8gT3IgdXNlIExvYWRpbmdBbmltYXRpb25ETkEgZm9yIHRoZSBhbHRlcm5hdGl2ZSB2ZXJzaW9uXG5pbXBvcnQgTG9hZGluZ0FuaW1hdGlvbkROQSBmcm9tICcuL0xvYWRpbmdBbmltYXRpb25ETkEnXG5cbmludGVyZmFjZSBMb2FkaW5nQ29udGV4dFR5cGUge1xuICBpc0xvYWRpbmc6IGJvb2xlYW5cbiAgc2V0SXNMb2FkaW5nOiAobG9hZGluZzogYm9vbGVhbikgPT4gdm9pZFxufVxuXG5jb25zdCBMb2FkaW5nQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8TG9hZGluZ0NvbnRleHRUeXBlPih7XG4gIGlzTG9hZGluZzogdHJ1ZSxcbiAgc2V0SXNMb2FkaW5nOiAoKSA9PiB7fSxcbn0pXG5cbmV4cG9ydCBjb25zdCB1c2VMb2FkaW5nID0gKCkgPT4gdXNlQ29udGV4dChMb2FkaW5nQ29udGV4dClcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTG9hZGluZ1Byb3ZpZGVyKHtcbiAgY2hpbGRyZW4sXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbn0pIHtcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpXG4gIGNvbnN0IFtzaG93TG9hZGVyLCBzZXRTaG93TG9hZGVyXSA9IHVzZVN0YXRlKHRydWUpXG4gIGNvbnN0IFtpc01vdW50ZWQsIHNldElzTW91bnRlZF0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldElzTW91bnRlZCh0cnVlKVxuXG4gICAgLy8gQ2hlY2sgVVJMIHBhcmFtcyBmb3IgZm9yY2UgbG9hZGluZ1xuICAgIGNvbnN0IHVybFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaClcbiAgICBjb25zdCBmb3JjZUxvYWRpbmcgPSB1cmxQYXJhbXMuZ2V0KCdsb2FkaW5nJykgPT09ICd0cnVlJ1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgZmlyc3QgdmlzaXRcbiAgICBjb25zdCBoYXNWaXNpdGVkID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnaGFzVmlzaXRlZCcpXG5cbiAgICBpZiAoaGFzVmlzaXRlZCAmJiAhZm9yY2VMb2FkaW5nKSB7XG4gICAgICAvLyBTdGlsbCBzaG93IGEgYnJpZWYgbG9hZGluZyBmb3Igc21vb3RoIHRyYW5zaXRpb25cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICAgIHNldFNob3dMb2FkZXIoZmFsc2UpXG4gICAgICB9LCAxMDApXG4gICAgfSBlbHNlIHtcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2hhc1Zpc2l0ZWQnLCAndHJ1ZScpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVMb2FkaW5nQ29tcGxldGUgPSAoKSA9PiB7XG4gICAgc2V0U2hvd0xvYWRlcihmYWxzZSlcbiAgICAvLyBTbWFsbCBkZWxheSB0byBlbnN1cmUgc21vb3RoIHRyYW5zaXRpb25cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICB9LCAxMDApXG4gIH1cblxuICAvLyBEb24ndCByZW5kZXIgYW55dGhpbmcgdW50aWwgbW91bnRlZCB0byBhdm9pZCBoeWRyYXRpb24gaXNzdWVzXG4gIGlmICghaXNNb3VudGVkKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPExvYWRpbmdDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7IGlzTG9hZGluZywgc2V0SXNMb2FkaW5nIH19PlxuICAgICAge3Nob3dMb2FkZXIgJiYgPExvYWRpbmdBbmltYXRpb25ETkEgb25Db21wbGV0ZT17aGFuZGxlTG9hZGluZ0NvbXBsZXRlfSAvPn1cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtgdHJhbnNpdGlvbi1vcGFjaXR5IGR1cmF0aW9uLTEwMDAgJHtpc0xvYWRpbmcgPyAnb3BhY2l0eS0wJyA6ICdvcGFjaXR5LTEwMCd9YH1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgPC9Mb2FkaW5nQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUNvbnRleHQiLCJ1c2VDb250ZXh0IiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJMb2FkaW5nQW5pbWF0aW9uRE5BIiwiTG9hZGluZ0NvbnRleHQiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJ1c2VMb2FkaW5nIiwiTG9hZGluZ1Byb3ZpZGVyIiwiY2hpbGRyZW4iLCJzaG93TG9hZGVyIiwic2V0U2hvd0xvYWRlciIsImlzTW91bnRlZCIsInNldElzTW91bnRlZCIsInVybFBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsIndpbmRvdyIsImxvY2F0aW9uIiwic2VhcmNoIiwiZm9yY2VMb2FkaW5nIiwiZ2V0IiwiaGFzVmlzaXRlZCIsInNlc3Npb25TdG9yYWdlIiwiZ2V0SXRlbSIsInNldFRpbWVvdXQiLCJzZXRJdGVtIiwiaGFuZGxlTG9hZGluZ0NvbXBsZXRlIiwiUHJvdmlkZXIiLCJ2YWx1ZSIsIm9uQ29tcGxldGUiLCJkaXYiLCJjbGFzc05hbWUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/LoadingProvider.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/LogoutDialog.tsx":
/*!*****************************************!*\
!*** ./src/components/LogoutDialog.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 */ LogoutDialog)\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/route-modules/app-page/vendored/ssr/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/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_auth_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-auth/react */ \"(ssr)/./node_modules/next-auth/react/index.js\");\n/* harmony import */ var next_auth_react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_auth_react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _components_Buttons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Buttons */ \"(ssr)/./src/components/Buttons.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\nfunction LogoutDialog({ className = '' }) {\n const [open, setOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [isLoading, setIsLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\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)(_components_Buttons__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"secondary\",\n size: \"sm\",\n className: className,\n onClick: ()=>setOpen(true),\n children: \"Sign Out\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LogoutDialog.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, this),\n open && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 z-50 flex items-center justify-center p-6\",\n onClick: (e)=>{\n if (e.target === e.currentTarget) setOpen(false);\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-black/60 backdrop-blur-sm\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LogoutDialog.tsx\",\n lineNumber: 33,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative w-full max-w-md bg-surface-900 border border-surface-600 rounded-xl shadow-xl p-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl font-semibold text-white mb-2\",\n children: \"Sign out\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LogoutDialog.tsx\",\n lineNumber: 35,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-text-muted mb-6\",\n children: \"Are you sure you want to sign out of your account?\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LogoutDialog.tsx\",\n lineNumber: 36,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-end gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Buttons__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n onClick: ()=>setOpen(false),\n children: \"Cancel\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LogoutDialog.tsx\",\n lineNumber: 40,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Buttons__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"danger\",\n isLoading: isLoading,\n onClick: async ()=>{\n try {\n setIsLoading(true);\n await (0,next_auth_react__WEBPACK_IMPORTED_MODULE_2__.signOut)({\n callbackUrl: '/'\n });\n } finally{\n setIsLoading(false);\n }\n },\n children: \"Sign Out\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LogoutDialog.tsx\",\n lineNumber: 43,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LogoutDialog.tsx\",\n lineNumber: 39,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LogoutDialog.tsx\",\n lineNumber: 34,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/LogoutDialog.tsx\",\n lineNumber: 27,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9Mb2dvdXREaWFsb2cudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUVnQztBQUNTO0FBQ0k7QUFFOUIsU0FBU0csYUFBYSxFQUNuQ0MsWUFBWSxFQUFFLEVBR2Y7SUFDQyxNQUFNLENBQUNDLE1BQU1DLFFBQVEsR0FBR04sK0NBQVFBLENBQUM7SUFDakMsTUFBTSxDQUFDTyxXQUFXQyxhQUFhLEdBQUdSLCtDQUFRQSxDQUFDO0lBRTNDLHFCQUNFOzswQkFDRSw4REFBQ0UsdURBQU1BO2dCQUNMTyxTQUFRO2dCQUNSQyxNQUFLO2dCQUNMTixXQUFXQTtnQkFDWE8sU0FBUyxJQUFNTCxRQUFROzBCQUN4Qjs7Ozs7O1lBSUFELHNCQUNDLDhEQUFDTztnQkFDQ1IsV0FBVTtnQkFDVk8sU0FBUyxDQUFDRTtvQkFDUixJQUFJQSxFQUFFQyxNQUFNLEtBQUtELEVBQUVFLGFBQWEsRUFBRVQsUUFBUTtnQkFDNUM7O2tDQUVBLDhEQUFDTTt3QkFBSVIsV0FBVTs7Ozs7O2tDQUNmLDhEQUFDUTt3QkFBSVIsV0FBVTs7MENBQ2IsOERBQUNZO2dDQUFHWixXQUFVOzBDQUF3Qzs7Ozs7OzBDQUN0RCw4REFBQ2E7Z0NBQUViLFdBQVU7MENBQXVCOzs7Ozs7MENBR3BDLDhEQUFDUTtnQ0FBSVIsV0FBVTs7a0RBQ2IsOERBQUNGLHVEQUFNQTt3Q0FBQ08sU0FBUTt3Q0FBUUUsU0FBUyxJQUFNTCxRQUFRO2tEQUFROzs7Ozs7a0RBR3ZELDhEQUFDSix1REFBTUE7d0NBQ0xPLFNBQVE7d0NBQ1JGLFdBQVdBO3dDQUNYSSxTQUFTOzRDQUNQLElBQUk7Z0RBQ0ZILGFBQWE7Z0RBQ2IsTUFBTVAsd0RBQU9BLENBQUM7b0RBQUVpQixhQUFhO2dEQUFJOzRDQUNuQyxTQUFVO2dEQUNSVixhQUFhOzRDQUNmO3dDQUNGO2tEQUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNmIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2NvbXBvbmVudHMvTG9nb3V0RGlhbG9nLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHNpZ25PdXQgfSBmcm9tICduZXh0LWF1dGgvcmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAL2NvbXBvbmVudHMvQnV0dG9ucydcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTG9nb3V0RGlhbG9nKHtcbiAgY2xhc3NOYW1lID0gJycsXG59OiB7XG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufSkge1xuICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxCdXR0b25cbiAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRPcGVuKHRydWUpfVxuICAgICAgPlxuICAgICAgICBTaWduIE91dFxuICAgICAgPC9CdXR0b24+XG5cbiAgICAgIHtvcGVuICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT1cImZpeGVkIGluc2V0LTAgei01MCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTZcIlxuICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICBpZiAoZS50YXJnZXQgPT09IGUuY3VycmVudFRhcmdldCkgc2V0T3BlbihmYWxzZSlcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWJsYWNrLzYwIGJhY2tkcm9wLWJsdXItc21cIiAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgdy1mdWxsIG1heC13LW1kIGJnLXN1cmZhY2UtOTAwIGJvcmRlciBib3JkZXItc3VyZmFjZS02MDAgcm91bmRlZC14bCBzaGFkb3cteGwgcC02XCI+XG4gICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LXNlbWlib2xkIHRleHQtd2hpdGUgbWItMlwiPlNpZ24gb3V0PC9oMz5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtdGV4dC1tdXRlZCBtYi02XCI+XG4gICAgICAgICAgICAgIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBzaWduIG91dCBvZiB5b3VyIGFjY291bnQ/XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktZW5kIGdhcC0yXCI+XG4gICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cImdob3N0XCIgb25DbGljaz17KCkgPT4gc2V0T3BlbihmYWxzZSl9PlxuICAgICAgICAgICAgICAgIENhbmNlbFxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJkYW5nZXJcIlxuICAgICAgICAgICAgICAgIGlzTG9hZGluZz17aXNMb2FkaW5nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2FzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHNldElzTG9hZGluZyh0cnVlKVxuICAgICAgICAgICAgICAgICAgICBhd2FpdCBzaWduT3V0KHsgY2FsbGJhY2tVcmw6ICcvJyB9KVxuICAgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBTaWduIE91dFxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC8+XG4gIClcbn1cblxuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwic2lnbk91dCIsIkJ1dHRvbiIsIkxvZ291dERpYWxvZyIsImNsYXNzTmFtZSIsIm9wZW4iLCJzZXRPcGVuIiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwidmFyaWFudCIsInNpemUiLCJvbkNsaWNrIiwiZGl2IiwiZSIsInRhcmdldCIsImN1cnJlbnRUYXJnZXQiLCJoMyIsInAiLCJjYWxsYmFja1VybCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/LogoutDialog.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/Navigation.tsx":
/*!***************************************!*\
!*** ./src/components/Navigation.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 */ AdminSidebar: () => (/* binding */ AdminSidebar),\n/* harmony export */ Breadcrumbs: () => (/* binding */ Breadcrumbs),\n/* harmony export */ Navigation: () => (/* binding */ Navigation)\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/route-modules/app-page/vendored/ssr/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/dist/client/app-dir/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 next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var next_auth_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next-auth/react */ \"(ssr)/./node_modules/next-auth/react/index.js\");\n/* harmony import */ var next_auth_react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_auth_react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _LogoutDialog__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./LogoutDialog */ \"(ssr)/./src/components/LogoutDialog.tsx\");\n/* __next_internal_client_entry_do_not_use__ Navigation,AdminSidebar,Breadcrumbs auto */ \n\n\n\n\n\nfunction Navigation() {\n const [isOpen, setIsOpen] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(false);\n const pathname = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.usePathname)();\n const { data: session, status } = (0,next_auth_react__WEBPACK_IMPORTED_MODULE_4__.useSession)();\n const navItems = [\n {\n href: '/',\n label: 'Home'\n },\n {\n href: '/projects',\n label: 'Projects'\n },\n {\n href: '/crew',\n label: 'Crew'\n },\n {\n href: '/blog',\n label: 'Blog'\n },\n {\n href: '/faq',\n label: 'FAQ'\n },\n {\n href: '/contact',\n label: 'Contact'\n }\n ];\n // Add admin link if user is logged in\n const navItemsWithAdmin = status === 'authenticated' ? [\n ...navItems,\n {\n href: '/admin',\n label: 'Admin'\n }\n ] : navItems;\n // Close menu when clicking outside\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)({\n \"Navigation.useEffect\": ()=>{\n const handleClickOutside = {\n \"Navigation.useEffect.handleClickOutside\": (event)=>{\n const nav = document.getElementById('navigation-panel');\n const button = document.getElementById('menu-button');\n if (isOpen && nav && button && !nav.contains(event.target) && !button.contains(event.target)) {\n setIsOpen(false);\n }\n }\n }[\"Navigation.useEffect.handleClickOutside\"];\n document.addEventListener('mousedown', handleClickOutside);\n return ({\n \"Navigation.useEffect\": ()=>{\n document.removeEventListener('mousedown', handleClickOutside);\n }\n })[\"Navigation.useEffect\"];\n }\n }[\"Navigation.useEffect\"], [\n isOpen\n ]);\n // Close menu on escape key\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)({\n \"Navigation.useEffect\": ()=>{\n const handleEscape = {\n \"Navigation.useEffect.handleEscape\": (event)=>{\n if (event.key === 'Escape' && isOpen) {\n setIsOpen(false);\n }\n }\n }[\"Navigation.useEffect.handleEscape\"];\n document.addEventListener('keydown', handleEscape);\n return ({\n \"Navigation.useEffect\": ()=>{\n document.removeEventListener('keydown', handleEscape);\n }\n })[\"Navigation.useEffect\"];\n }\n }[\"Navigation.useEffect\"], [\n isOpen\n ]);\n // Hide site navigation on admin routes to avoid overlap with AdminSidebar\n if (pathname?.startsWith('/admin')) {\n return null;\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)(\"nav\", {\n className: \"hidden md:flex fixed top-0 left-0 right-0 z-50 h-14 items-center border-b border-surface-500/60 bg-surface-900/90 px-4 backdrop-blur-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/\",\n className: \"text-lg font-display tracking-tight text-white\",\n children: \"Biohazard VFX\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 76,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4\",\n children: [\n navItems.map((item)=>{\n const active = pathname === item.href;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: item.href,\n className: `text-sm font-medium transition-colors duration-200 ${active ? 'text-white' : 'text-text-muted hover:text-text-secondary'}`,\n children: item.label\n }, item.href, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 83,\n columnNumber: 17\n }, this);\n }),\n status === 'authenticated' && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/admin\",\n className: \"text-sm font-medium text-text-muted hover:text-text-secondary transition-colors duration-200\",\n children: \"Admin\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 97,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 79,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 75,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"ml-auto flex items-center gap-2\",\n children: status === 'authenticated' ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-text-muted\",\n children: session?.user?.email\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 109,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_LogoutDialog__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {}, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 112,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 108,\n columnNumber: 13\n }, this) : null\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 106,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 74,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n id: \"menu-button\",\n \"aria-label\": \"Toggle menu\",\n \"aria-expanded\": isOpen,\n \"aria-controls\": \"navigation-panel\",\n onClick: ()=>setIsOpen(!isOpen),\n className: `fixed top-4 left-4 z-50 w-10 h-10 rounded-lg border border-surface-500/60 bg-surface-900/80 transition-all duration-200 md:hidden ${isOpen ? 'ring-1 ring-accent/30' : ''}`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Open menu\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 129,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative h-full w-full flex items-center justify-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `block w-5 h-0.5 bg-white transition-all duration-200 ${isOpen ? 'rotate-45 translate-y-0.5' : '-translate-y-0.5'}`\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 131,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `block w-5 h-0.5 bg-white transition-all duration-200 absolute ${isOpen ? 'opacity-0' : 'opacity-100'}`\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 136,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `block w-5 h-0.5 bg-white transition-all duration-200 ${isOpen ? '-rotate-45 -translate-y-0.5' : 'translate-y-0.5'}`\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 141,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 130,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 119,\n columnNumber: 7\n }, this),\n isOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 z-40 bg-black/70 transition-opacity duration-200 md:hidden\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 151,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n id: \"navigation-panel\",\n className: `fixed left-0 top-0 z-50 h-full w-80 max-w-[90vw] border-r border-surface-500/60 bg-surface-900/95 transition-transform duration-200 ease-out md:hidden ${isOpen ? 'translate-x-0' : '-translate-x-full'}`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex h-full flex-col pt-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-5 pb-5 border-b border-surface-500/40\",\n children: /*#__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-xl font-display tracking-tight text-white\",\n children: \"Biohazard VFX\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 165,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-text-muted mt-1\",\n children: \"Visual Effects Studio\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 166,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 164,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 163,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 overflow-y-auto px-5 py-5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"space-y-1\",\n children: navItemsWithAdmin.map((item)=>{\n const active = pathname === item.href;\n return /*#__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: item.href,\n onClick: ()=>setIsOpen(false),\n className: `block px-3 py-2 rounded text-sm font-medium transition-colors duration-150 ${active ? 'text-white bg-surface-700' : 'text-text-muted hover:text-white hover:bg-surface-700'}`,\n children: item.label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 177,\n columnNumber: 21\n }, this)\n }, item.href, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 176,\n columnNumber: 19\n }, this);\n })\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 172,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 171,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-5 border-t border-surface-500/40\",\n children: status === 'authenticated' ? /*#__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 className: \"text-xs text-text-muted\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: [\n \"Signed in as \",\n session?.user?.email\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 199,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 198,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_LogoutDialog__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {}, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 201,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 197,\n columnNumber: 15\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-text-muted\",\n children: [\n \"\\xa9 \",\n new Date().getFullYear(),\n \" Biohazard VFX\"\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 205,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 204,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 195,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 161,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 155,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n}\nfunction AdminSidebar() {\n const pathname = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.usePathname)();\n const navItems = [\n {\n href: '/admin',\n label: 'Dashboard'\n },\n {\n href: '/admin/projects',\n label: 'Projects'\n },\n {\n href: '/admin/blog',\n label: 'Blog'\n },\n {\n href: '/admin/team',\n label: 'Team'\n },\n {\n href: '/admin/faq',\n label: 'FAQs'\n },\n {\n href: '/admin/media',\n label: 'Media'\n },\n {\n href: '/admin/assets',\n label: 'Site Assets'\n }\n ];\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"aside\", {\n className: \"w-60 h-screen fixed left-0 top-0 z-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-full bg-surface-900/90 border-r border-surface-500/70 flex flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-5 border-b border-surface-500/60\",\n children: /*#__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-base font-semibold text-white leading-tight\",\n children: \"Admin Dashboard\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 233,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-text-muted\",\n children: \"Biohazard VFX\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 234,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 232,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 231,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"p-3\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"space-y-1\",\n children: navItems.map((item)=>{\n const active = pathname === item.href;\n return /*#__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: item.href,\n className: `block px-3 py-2 rounded text-sm transition-colors ${active ? 'bg-surface-700 text-white' : 'text-text-muted hover:bg-surface-700 hover:text-white'}`,\n children: item.label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 243,\n columnNumber: 19\n }, this)\n }, item.href, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 242,\n columnNumber: 17\n }, this);\n })\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 238,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 237,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-auto p-3 border-t border-surface-500/60\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/\",\n className: \"btn-secondary w-full inline-flex items-center justify-center gap-2 text-sm\",\n title: \"Return to site\",\n children: \"← Back to site\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 258,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 257,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 230,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 229,\n columnNumber: 5\n }, this);\n}\nfunction Breadcrumbs({ items }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"flex items-center space-x-2 text-sm text-text-muted mb-4\",\n children: items.map((item, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center\",\n children: [\n index > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"mx-2\",\n children: \"/\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 280,\n columnNumber: 25\n }, this),\n item.href ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: item.href,\n className: \"link-muted\",\n children: item.label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 282,\n columnNumber: 13\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-text-primary\",\n children: item.label\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 286,\n columnNumber: 13\n }, this)\n ]\n }, index, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 279,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Navigation.tsx\",\n lineNumber: 277,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUU0QjtBQUNpQjtBQUNGO0FBQ0M7QUFDSDtBQUVsQyxTQUFTTTtJQUNkLE1BQU0sQ0FBQ0MsUUFBUUMsVUFBVSxHQUFHTiwrQ0FBUUEsQ0FBQztJQUNyQyxNQUFNTyxXQUFXUiw0REFBV0E7SUFDNUIsTUFBTSxFQUFFUyxNQUFNQyxPQUFPLEVBQUVDLE1BQU0sRUFBRSxHQUFHUiwyREFBVUE7SUFFNUMsTUFBTVMsV0FBVztRQUNmO1lBQUVDLE1BQU07WUFBS0MsT0FBTztRQUFPO1FBQzNCO1lBQUVELE1BQU07WUFBYUMsT0FBTztRQUFXO1FBQ3ZDO1lBQUVELE1BQU07WUFBU0MsT0FBTztRQUFPO1FBQy9CO1lBQUVELE1BQU07WUFBU0MsT0FBTztRQUFPO1FBQy9CO1lBQUVELE1BQU07WUFBUUMsT0FBTztRQUFNO1FBQzdCO1lBQUVELE1BQU07WUFBWUMsT0FBTztRQUFVO0tBQ3RDO0lBRUQsc0NBQXNDO0lBQ3RDLE1BQU1DLG9CQUNKSixXQUFXLGtCQUNQO1dBQUlDO1FBQVU7WUFBRUMsTUFBTTtZQUFVQyxPQUFPO1FBQVE7S0FBRSxHQUNqREY7SUFFTixtQ0FBbUM7SUFDbkNWLGdEQUFTQTtnQ0FBQztZQUNSLE1BQU1jOzJEQUFxQixDQUFDQztvQkFDMUIsTUFBTUMsTUFBTUMsU0FBU0MsY0FBYyxDQUFDO29CQUNwQyxNQUFNQyxTQUFTRixTQUFTQyxjQUFjLENBQUM7b0JBRXZDLElBQ0VkLFVBQ0FZLE9BQ0FHLFVBQ0EsQ0FBQ0gsSUFBSUksUUFBUSxDQUFDTCxNQUFNTSxNQUFNLEtBQzFCLENBQUNGLE9BQU9DLFFBQVEsQ0FBQ0wsTUFBTU0sTUFBTSxHQUM3Qjt3QkFDQWhCLFVBQVU7b0JBQ1o7Z0JBQ0Y7O1lBRUFZLFNBQVNLLGdCQUFnQixDQUFDLGFBQWFSO1lBQ3ZDO3dDQUFPO29CQUNMRyxTQUFTTSxtQkFBbUIsQ0FBQyxhQUFhVDtnQkFDNUM7O1FBQ0Y7K0JBQUc7UUFBQ1Y7S0FBTztJQUVYLDJCQUEyQjtJQUMzQkosZ0RBQVNBO2dDQUFDO1lBQ1IsTUFBTXdCO3FEQUFlLENBQUNUO29CQUNwQixJQUFJQSxNQUFNVSxHQUFHLEtBQUssWUFBWXJCLFFBQVE7d0JBQ3BDQyxVQUFVO29CQUNaO2dCQUNGOztZQUVBWSxTQUFTSyxnQkFBZ0IsQ0FBQyxXQUFXRTtZQUNyQzt3Q0FBTztvQkFDTFAsU0FBU00sbUJBQW1CLENBQUMsV0FBV0M7Z0JBQzFDOztRQUNGOytCQUFHO1FBQUNwQjtLQUFPO0lBRVgsMEVBQTBFO0lBQzFFLElBQUlFLFVBQVVvQixXQUFXLFdBQVc7UUFDbEMsT0FBTztJQUNUO0lBRUEscUJBQ0U7OzBCQUVFLDhEQUFDVjtnQkFBSVcsV0FBVTs7a0NBQ2IsOERBQUNDO3dCQUFJRCxXQUFVOzswQ0FDYiw4REFBQzlCLGtEQUFJQTtnQ0FBQ2MsTUFBSztnQ0FBSWdCLFdBQVU7MENBQWlEOzs7Ozs7MENBRzFFLDhEQUFDQztnQ0FBSUQsV0FBVTs7b0NBQ1pqQixTQUFTbUIsR0FBRyxDQUFDLENBQUNDO3dDQUNiLE1BQU1DLFNBQVN6QixhQUFhd0IsS0FBS25CLElBQUk7d0NBQ3JDLHFCQUNFLDhEQUFDZCxrREFBSUE7NENBRUhjLE1BQU1tQixLQUFLbkIsSUFBSTs0Q0FDZmdCLFdBQVcsQ0FBQyxtREFBbUQsRUFDN0RJLFNBQ0ksZUFDQSw2Q0FDSjtzREFFREQsS0FBS2xCLEtBQUs7MkNBUk5rQixLQUFLbkIsSUFBSTs7Ozs7b0NBV3BCO29DQUNDRixXQUFXLGlDQUNWLDhEQUFDWixrREFBSUE7d0NBQ0hjLE1BQUs7d0NBQ0xnQixXQUFVO2tEQUNYOzs7Ozs7Ozs7Ozs7Ozs7Ozs7a0NBTVAsOERBQUNDO3dCQUFJRCxXQUFVO2tDQUNabEIsV0FBVyxnQ0FDViw4REFBQ21COzRCQUFJRCxXQUFVOzs4Q0FDYiw4REFBQ0s7b0NBQUtMLFdBQVU7OENBQ2JuQixTQUFTeUIsTUFBTUM7Ozs7Ozs4Q0FFbEIsOERBQUNoQyxxREFBWUE7Ozs7Ozs7Ozs7bUNBRWI7Ozs7Ozs7Ozs7OzswQkFLUiw4REFBQ2lCO2dCQUNDZ0IsSUFBRztnQkFDSEMsY0FBVztnQkFDWEMsaUJBQWVqQztnQkFDZmtDLGlCQUFjO2dCQUNkQyxTQUFTLElBQU1sQyxVQUFVLENBQUNEO2dCQUMxQnVCLFdBQVcsQ0FBQyxrSUFBa0ksRUFDNUl2QixTQUFTLDBCQUEwQixJQUNuQzs7a0NBRUYsOERBQUM0Qjt3QkFBS0wsV0FBVTtrQ0FBVTs7Ozs7O2tDQUMxQiw4REFBQ0M7d0JBQUlELFdBQVU7OzBDQUNiLDhEQUFDSztnQ0FDQ0wsV0FBVyxDQUFDLHFEQUFxRCxFQUMvRHZCLFNBQVMsOEJBQThCLG9CQUN2Qzs7Ozs7OzBDQUVKLDhEQUFDNEI7Z0NBQ0NMLFdBQVcsQ0FBQyw4REFBOEQsRUFDeEV2QixTQUFTLGNBQWMsZUFDdkI7Ozs7OzswQ0FFSiw4REFBQzRCO2dDQUNDTCxXQUFXLENBQUMscURBQXFELEVBQy9EdkIsU0FBUyxnQ0FBZ0MsbUJBQ3pDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7WUFNUEEsd0JBQ0MsOERBQUN3QjtnQkFBSUQsV0FBVTs7Ozs7OzBCQUlqQiw4REFBQ1g7Z0JBQ0NtQixJQUFHO2dCQUNIUixXQUFXLENBQUMsdUpBQXVKLEVBQ2pLdkIsU0FBUyxrQkFBa0IscUJBQzNCOzBCQUVGLDRFQUFDd0I7b0JBQUlELFdBQVU7O3NDQUViLDhEQUFDQzs0QkFBSUQsV0FBVTtzQ0FDYiw0RUFBQ0M7O2tEQUNDLDhEQUFDWTt3Q0FBR2IsV0FBVTtrREFBaUQ7Ozs7OztrREFDL0QsOERBQUNjO3dDQUFFZCxXQUFVO2tEQUErQjs7Ozs7Ozs7Ozs7Ozs7Ozs7c0NBS2hELDhEQUFDQzs0QkFBSUQsV0FBVTtzQ0FDYiw0RUFBQ2U7Z0NBQUdmLFdBQVU7MENBQ1hkLGtCQUFrQmdCLEdBQUcsQ0FBQyxDQUFDQztvQ0FDdEIsTUFBTUMsU0FBU3pCLGFBQWF3QixLQUFLbkIsSUFBSTtvQ0FDckMscUJBQ0UsOERBQUNnQztrREFDQyw0RUFBQzlDLGtEQUFJQTs0Q0FDSGMsTUFBTW1CLEtBQUtuQixJQUFJOzRDQUNmNEIsU0FBUyxJQUFNbEMsVUFBVTs0Q0FDekJzQixXQUFXLENBQUMsMkVBQTJFLEVBQ3JGSSxTQUNJLDhCQUNBLHlEQUNKO3NEQUVERCxLQUFLbEIsS0FBSzs7Ozs7O3VDQVZOa0IsS0FBS25CLElBQUk7Ozs7O2dDQWN0Qjs7Ozs7Ozs7Ozs7c0NBS0osOERBQUNpQjs0QkFBSUQsV0FBVTtzQ0FDWmxCLFdBQVcsZ0NBQ1YsOERBQUNtQjtnQ0FBSUQsV0FBVTs7a0RBQ2IsOERBQUNDO3dDQUFJRCxXQUFVO2tEQUNiLDRFQUFDYzs7Z0RBQUU7Z0RBQWNqQyxTQUFTeUIsTUFBTUM7Ozs7Ozs7Ozs7OztrREFFbEMsOERBQUNoQyxxREFBWUE7Ozs7Ozs7Ozs7cURBR2YsOERBQUMwQjtnQ0FBSUQsV0FBVTswQ0FDYiw0RUFBQ2M7b0NBQUVkLFdBQVU7O3dDQUEwQjt3Q0FBRyxJQUFJaUIsT0FBT0MsV0FBVzt3Q0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUW5GO0FBRU8sU0FBU0M7SUFDZCxNQUFNeEMsV0FBV1IsNERBQVdBO0lBRTVCLE1BQU1ZLFdBQVc7UUFDZjtZQUFFQyxNQUFNO1lBQVVDLE9BQU87UUFBWTtRQUNyQztZQUFFRCxNQUFNO1lBQW1CQyxPQUFPO1FBQVc7UUFDN0M7WUFBRUQsTUFBTTtZQUFlQyxPQUFPO1FBQU87UUFDckM7WUFBRUQsTUFBTTtZQUFlQyxPQUFPO1FBQU87UUFDckM7WUFBRUQsTUFBTTtZQUFjQyxPQUFPO1FBQU87UUFDcEM7WUFBRUQsTUFBTTtZQUFnQkMsT0FBTztRQUFRO1FBQ3ZDO1lBQUVELE1BQU07WUFBaUJDLE9BQU87UUFBYztLQUMvQztJQUVELHFCQUNFLDhEQUFDbUM7UUFBTXBCLFdBQVU7a0JBQ2YsNEVBQUNDO1lBQUlELFdBQVU7OzhCQUNiLDhEQUFDQztvQkFBSUQsV0FBVTs4QkFDYiw0RUFBQ0M7OzBDQUNDLDhEQUFDWTtnQ0FBR2IsV0FBVTswQ0FBbUQ7Ozs7OzswQ0FDakUsOERBQUNjO2dDQUFFZCxXQUFVOzBDQUEwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBRzNDLDhEQUFDWDtvQkFBSVcsV0FBVTs4QkFDYiw0RUFBQ2U7d0JBQUdmLFdBQVU7a0NBQ1hqQixTQUFTbUIsR0FBRyxDQUFDLENBQUNDOzRCQUNiLE1BQU1DLFNBQVN6QixhQUFhd0IsS0FBS25CLElBQUk7NEJBQ3JDLHFCQUNFLDhEQUFDZ0M7MENBQ0MsNEVBQUM5QyxrREFBSUE7b0NBQ0hjLE1BQU1tQixLQUFLbkIsSUFBSTtvQ0FDZmdCLFdBQVcsQ0FBQyxrREFBa0QsRUFDNURJLFNBQ0ksOEJBQ0EseURBQ0o7OENBRURELEtBQUtsQixLQUFLOzs7Ozs7K0JBVE5rQixLQUFLbkIsSUFBSTs7Ozs7d0JBWW5COzs7Ozs7Ozs7Ozs4QkFHUCw4REFBQ2lCO29CQUFJRCxXQUFVOzhCQUNiLDRFQUFDOUIsa0RBQUlBO3dCQUNIYyxNQUFLO3dCQUNMZ0IsV0FBVTt3QkFDVnFCLE9BQU07a0NBQ1A7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPWDtBQUVPLFNBQVNDLFlBQVksRUFDMUJDLEtBQUssRUFHTjtJQUNDLHFCQUNFLDhEQUFDbEM7UUFBSVcsV0FBVTtrQkFDWnVCLE1BQU1yQixHQUFHLENBQUMsQ0FBQ0MsTUFBTXFCLHNCQUNoQiw4REFBQ3ZCO2dCQUFnQkQsV0FBVTs7b0JBQ3hCd0IsUUFBUSxtQkFBSyw4REFBQ25CO3dCQUFLTCxXQUFVO2tDQUFPOzs7Ozs7b0JBQ3BDRyxLQUFLbkIsSUFBSSxpQkFDUiw4REFBQ2Qsa0RBQUlBO3dCQUFDYyxNQUFNbUIsS0FBS25CLElBQUk7d0JBQUVnQixXQUFVO2tDQUM5QkcsS0FBS2xCLEtBQUs7Ozs7OzZDQUdiLDhEQUFDb0I7d0JBQUtMLFdBQVU7a0NBQXFCRyxLQUFLbEIsS0FBSzs7Ozs7OztlQVB6Q3VDOzs7Ozs7Ozs7O0FBYWxCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCBMaW5rIGZyb20gJ25leHQvbGluaydcbmltcG9ydCB7IHVzZVBhdGhuYW1lIH0gZnJvbSAnbmV4dC9uYXZpZ2F0aW9uJ1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlU2Vzc2lvbiB9IGZyb20gJ25leHQtYXV0aC9yZWFjdCdcbmltcG9ydCBMb2dvdXREaWFsb2cgZnJvbSAnLi9Mb2dvdXREaWFsb2cnXG5cbmV4cG9ydCBmdW5jdGlvbiBOYXZpZ2F0aW9uKCkge1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHBhdGhuYW1lID0gdXNlUGF0aG5hbWUoKVxuICBjb25zdCB7IGRhdGE6IHNlc3Npb24sIHN0YXR1cyB9ID0gdXNlU2Vzc2lvbigpXG5cbiAgY29uc3QgbmF2SXRlbXMgPSBbXG4gICAgeyBocmVmOiAnLycsIGxhYmVsOiAnSG9tZScgfSxcbiAgICB7IGhyZWY6ICcvcHJvamVjdHMnLCBsYWJlbDogJ1Byb2plY3RzJyB9LFxuICAgIHsgaHJlZjogJy9jcmV3JywgbGFiZWw6ICdDcmV3JyB9LFxuICAgIHsgaHJlZjogJy9ibG9nJywgbGFiZWw6ICdCbG9nJyB9LFxuICAgIHsgaHJlZjogJy9mYXEnLCBsYWJlbDogJ0ZBUScgfSxcbiAgICB7IGhyZWY6ICcvY29udGFjdCcsIGxhYmVsOiAnQ29udGFjdCcgfSxcbiAgXVxuXG4gIC8vIEFkZCBhZG1pbiBsaW5rIGlmIHVzZXIgaXMgbG9nZ2VkIGluXG4gIGNvbnN0IG5hdkl0ZW1zV2l0aEFkbWluID1cbiAgICBzdGF0dXMgPT09ICdhdXRoZW50aWNhdGVkJ1xuICAgICAgPyBbLi4ubmF2SXRlbXMsIHsgaHJlZjogJy9hZG1pbicsIGxhYmVsOiAnQWRtaW4nIH1dXG4gICAgICA6IG5hdkl0ZW1zXG5cbiAgLy8gQ2xvc2UgbWVudSB3aGVuIGNsaWNraW5nIG91dHNpZGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IG5hdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduYXZpZ2F0aW9uLXBhbmVsJylcbiAgICAgIGNvbnN0IGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZW51LWJ1dHRvbicpXG5cbiAgICAgIGlmIChcbiAgICAgICAgaXNPcGVuICYmXG4gICAgICAgIG5hdiAmJlxuICAgICAgICBidXR0b24gJiZcbiAgICAgICAgIW5hdi5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgIWJ1dHRvbi5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSlcbiAgICAgICkge1xuICAgICAgICBzZXRJc09wZW4oZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbaXNPcGVuXSlcblxuICAvLyBDbG9zZSBtZW51IG9uIGVzY2FwZSBrZXlcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVFc2NhcGUgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnICYmIGlzT3Blbikge1xuICAgICAgICBzZXRJc09wZW4oZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGhhbmRsZUVzY2FwZSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGhhbmRsZUVzY2FwZSlcbiAgICB9XG4gIH0sIFtpc09wZW5dKVxuXG4gIC8vIEhpZGUgc2l0ZSBuYXZpZ2F0aW9uIG9uIGFkbWluIHJvdXRlcyB0byBhdm9pZCBvdmVybGFwIHdpdGggQWRtaW5TaWRlYmFyXG4gIGlmIChwYXRobmFtZT8uc3RhcnRzV2l0aCgnL2FkbWluJykpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgey8qIERlc2t0b3AgTmF2aWdhdGlvbiAtIFRvcCBCYXIgKi99XG4gICAgICA8bmF2IGNsYXNzTmFtZT1cImhpZGRlbiBtZDpmbGV4IGZpeGVkIHRvcC0wIGxlZnQtMCByaWdodC0wIHotNTAgaC0xNCBpdGVtcy1jZW50ZXIgYm9yZGVyLWIgYm9yZGVyLXN1cmZhY2UtNTAwLzYwIGJnLXN1cmZhY2UtOTAwLzkwIHB4LTQgYmFja2Ryb3AtYmx1ci1zbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC02XCI+XG4gICAgICAgICAgPExpbmsgaHJlZj1cIi9cIiBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtZGlzcGxheSB0cmFja2luZy10aWdodCB0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICBCaW9oYXphcmQgVkZYXG4gICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTRcIj5cbiAgICAgICAgICAgIHtuYXZJdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gcGF0aG5hbWUgPT09IGl0ZW0uaHJlZlxuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgICBrZXk9e2l0ZW0uaHJlZn1cbiAgICAgICAgICAgICAgICAgIGhyZWY9e2l0ZW0uaHJlZn1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YHRleHQtc20gZm9udC1tZWRpdW0gdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMjAwICR7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgICAgICAgICAgICAgID8gJ3RleHQtd2hpdGUnXG4gICAgICAgICAgICAgICAgICAgICAgOiAndGV4dC10ZXh0LW11dGVkIGhvdmVyOnRleHQtdGV4dC1zZWNvbmRhcnknXG4gICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7aXRlbS5sYWJlbH1cbiAgICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAge3N0YXR1cyA9PT0gJ2F1dGhlbnRpY2F0ZWQnICYmIChcbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL2FkbWluXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtdGV4dC1tdXRlZCBob3Zlcjp0ZXh0LXRleHQtc2Vjb25kYXJ5IHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTIwMFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBBZG1pblxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtbC1hdXRvIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAge3N0YXR1cyA9PT0gJ2F1dGhlbnRpY2F0ZWQnID8gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtdGV4dC1tdXRlZFwiPlxuICAgICAgICAgICAgICAgIHtzZXNzaW9uPy51c2VyPy5lbWFpbH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8TG9nb3V0RGlhbG9nIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25hdj5cblxuICAgICAgey8qIE1vYmlsZSBNZW51IFRyaWdnZXIgKi99XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGlkPVwibWVudS1idXR0b25cIlxuICAgICAgICBhcmlhLWxhYmVsPVwiVG9nZ2xlIG1lbnVcIlxuICAgICAgICBhcmlhLWV4cGFuZGVkPXtpc09wZW59XG4gICAgICAgIGFyaWEtY29udHJvbHM9XCJuYXZpZ2F0aW9uLXBhbmVsXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNPcGVuKCFpc09wZW4pfVxuICAgICAgICBjbGFzc05hbWU9e2BmaXhlZCB0b3AtNCBsZWZ0LTQgei01MCB3LTEwIGgtMTAgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLXN1cmZhY2UtNTAwLzYwIGJnLXN1cmZhY2UtOTAwLzgwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBtZDpoaWRkZW4gJHtcbiAgICAgICAgICBpc09wZW4gPyAncmluZy0xIHJpbmctYWNjZW50LzMwJyA6ICcnXG4gICAgICAgIH1gfVxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+T3BlbiBtZW51PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGgtZnVsbCB3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgYmxvY2sgdy01IGgtMC41IGJnLXdoaXRlIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCAke1xuICAgICAgICAgICAgICBpc09wZW4gPyAncm90YXRlLTQ1IHRyYW5zbGF0ZS15LTAuNScgOiAnLXRyYW5zbGF0ZS15LTAuNSdcbiAgICAgICAgICAgIH1gfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzTmFtZT17YGJsb2NrIHctNSBoLTAuNSBiZy13aGl0ZSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgYWJzb2x1dGUgJHtcbiAgICAgICAgICAgICAgaXNPcGVuID8gJ29wYWNpdHktMCcgOiAnb3BhY2l0eS0xMDAnXG4gICAgICAgICAgICB9YH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzc05hbWU9e2BibG9jayB3LTUgaC0wLjUgYmctd2hpdGUgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwICR7XG4gICAgICAgICAgICAgIGlzT3BlbiA/ICctcm90YXRlLTQ1IC10cmFuc2xhdGUteS0wLjUnIDogJ3RyYW5zbGF0ZS15LTAuNSdcbiAgICAgICAgICAgIH1gfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIHsvKiBNb2JpbGUgQmFja2Ryb3AgKi99XG4gICAgICB7aXNPcGVuICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaXhlZCBpbnNldC0wIHotNDAgYmctYmxhY2svNzAgdHJhbnNpdGlvbi1vcGFjaXR5IGR1cmF0aW9uLTIwMCBtZDpoaWRkZW5cIiAvPlxuICAgICAgKX1cblxuICAgICAgey8qIE1vYmlsZSBOYXZpZ2F0aW9uIERyYXdlciAqL31cbiAgICAgIDxuYXZcbiAgICAgICAgaWQ9XCJuYXZpZ2F0aW9uLXBhbmVsXCJcbiAgICAgICAgY2xhc3NOYW1lPXtgZml4ZWQgbGVmdC0wIHRvcC0wIHotNTAgaC1mdWxsIHctODAgbWF4LXctWzkwdnddIGJvcmRlci1yIGJvcmRlci1zdXJmYWNlLTUwMC82MCBiZy1zdXJmYWNlLTkwMC85NSB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0yMDAgZWFzZS1vdXQgbWQ6aGlkZGVuICR7XG4gICAgICAgICAgaXNPcGVuID8gJ3RyYW5zbGF0ZS14LTAnIDogJy10cmFuc2xhdGUteC1mdWxsJ1xuICAgICAgICB9YH1cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGgtZnVsbCBmbGV4LWNvbCBwdC0xNlwiPlxuICAgICAgICAgIHsvKiBCcmFuZCAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInB4LTUgcGItNSBib3JkZXItYiBib3JkZXItc3VyZmFjZS01MDAvNDBcIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtZGlzcGxheSB0cmFja2luZy10aWdodCB0ZXh0LXdoaXRlXCI+QmlvaGF6YXJkIFZGWDwvaDI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC10ZXh0LW11dGVkIG10LTFcIj5WaXN1YWwgRWZmZWN0cyBTdHVkaW88L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIHsvKiBMaW5rcyAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgtMSBvdmVyZmxvdy15LWF1dG8gcHgtNSBweS01XCI+XG4gICAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwic3BhY2UteS0xXCI+XG4gICAgICAgICAgICAgIHtuYXZJdGVtc1dpdGhBZG1pbi5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBwYXRobmFtZSA9PT0gaXRlbS5ocmVmXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxsaSBrZXk9e2l0ZW0uaHJlZn0+XG4gICAgICAgICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzT3BlbihmYWxzZSl9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgYmxvY2sgcHgtMyBweS0yIHJvdW5kZWQgdGV4dC1zbSBmb250LW1lZGl1bSB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0xNTAgJHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyAndGV4dC13aGl0ZSBiZy1zdXJmYWNlLTcwMCcgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3RleHQtdGV4dC1tdXRlZCBob3Zlcjp0ZXh0LXdoaXRlIGhvdmVyOmJnLXN1cmZhY2UtNzAwJ1xuICAgICAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge2l0ZW0ubGFiZWx9XG4gICAgICAgICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICB7LyogRm9vdGVyICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicC01IGJvcmRlci10IGJvcmRlci1zdXJmYWNlLTUwMC80MFwiPlxuICAgICAgICAgICAge3N0YXR1cyA9PT0gJ2F1dGhlbnRpY2F0ZWQnID8gKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXRleHQtbXV0ZWRcIj5cbiAgICAgICAgICAgICAgICAgIDxwPlNpZ25lZCBpbiBhcyB7c2Vzc2lvbj8udXNlcj8uZW1haWx9PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxMb2dvdXREaWFsb2cgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC10ZXh0LW11dGVkXCI+wqkge25ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKX0gQmlvaGF6YXJkIFZGWDwvcD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmF2PlxuICAgIDwvPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBZG1pblNpZGViYXIoKSB7XG4gIGNvbnN0IHBhdGhuYW1lID0gdXNlUGF0aG5hbWUoKVxuXG4gIGNvbnN0IG5hdkl0ZW1zID0gW1xuICAgIHsgaHJlZjogJy9hZG1pbicsIGxhYmVsOiAnRGFzaGJvYXJkJyB9LFxuICAgIHsgaHJlZjogJy9hZG1pbi9wcm9qZWN0cycsIGxhYmVsOiAnUHJvamVjdHMnIH0sXG4gICAgeyBocmVmOiAnL2FkbWluL2Jsb2cnLCBsYWJlbDogJ0Jsb2cnIH0sXG4gICAgeyBocmVmOiAnL2FkbWluL3RlYW0nLCBsYWJlbDogJ1RlYW0nIH0sXG4gICAgeyBocmVmOiAnL2FkbWluL2ZhcScsIGxhYmVsOiAnRkFRcycgfSxcbiAgICB7IGhyZWY6ICcvYWRtaW4vbWVkaWEnLCBsYWJlbDogJ01lZGlhJyB9LFxuICAgIHsgaHJlZjogJy9hZG1pbi9hc3NldHMnLCBsYWJlbDogJ1NpdGUgQXNzZXRzJyB9LFxuICBdXG5cbiAgcmV0dXJuIChcbiAgICA8YXNpZGUgY2xhc3NOYW1lPVwidy02MCBoLXNjcmVlbiBmaXhlZCBsZWZ0LTAgdG9wLTAgei00MFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJoLWZ1bGwgYmctc3VyZmFjZS05MDAvOTAgYm9yZGVyLXIgYm9yZGVyLXN1cmZhY2UtNTAwLzcwIGZsZXggZmxleC1jb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTUgYm9yZGVyLWIgYm9yZGVyLXN1cmZhY2UtNTAwLzYwXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LWJhc2UgZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlIGxlYWRpbmctdGlnaHRcIj5BZG1pbiBEYXNoYm9hcmQ8L2gyPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXRleHQtbXV0ZWRcIj5CaW9oYXphcmQgVkZYPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5hdiBjbGFzc05hbWU9XCJwLTNcIj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwic3BhY2UteS0xXCI+XG4gICAgICAgICAgICB7bmF2SXRlbXMubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IHBhdGhuYW1lID09PSBpdGVtLmhyZWZcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8bGkga2V5PXtpdGVtLmhyZWZ9PlxuICAgICAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BibG9jayBweC0zIHB5LTIgcm91bmRlZCB0ZXh0LXNtIHRyYW5zaXRpb24tY29sb3JzICR7XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgICAgICAgICAgICAgICA/ICdiZy1zdXJmYWNlLTcwMCB0ZXh0LXdoaXRlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiAndGV4dC10ZXh0LW11dGVkIGhvdmVyOmJnLXN1cmZhY2UtNzAwIGhvdmVyOnRleHQtd2hpdGUnXG4gICAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7aXRlbS5sYWJlbH1cbiAgICAgICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICApfSl9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9uYXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtYXV0byBwLTMgYm9yZGVyLXQgYm9yZGVyLXN1cmZhY2UtNTAwLzYwXCI+XG4gICAgICAgICAgPExpbmtcbiAgICAgICAgICAgIGhyZWY9XCIvXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJ0bi1zZWNvbmRhcnkgdy1mdWxsIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiB0ZXh0LXNtXCJcbiAgICAgICAgICAgIHRpdGxlPVwiUmV0dXJuIHRvIHNpdGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIOKGkCBCYWNrIHRvIHNpdGVcbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9hc2lkZT5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQnJlYWRjcnVtYnMoe1xuICBpdGVtcyxcbn06IHtcbiAgaXRlbXM6IHsgbGFiZWw6IHN0cmluZzsgaHJlZj86IHN0cmluZyB9W11cbn0pIHtcbiAgcmV0dXJuIChcbiAgICA8bmF2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMiB0ZXh0LXNtIHRleHQtdGV4dC1tdXRlZCBtYi00XCI+XG4gICAgICB7aXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4gKFxuICAgICAgICA8ZGl2IGtleT17aW5kZXh9IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAge2luZGV4ID4gMCAmJiA8c3BhbiBjbGFzc05hbWU9XCJteC0yXCI+Lzwvc3Bhbj59XG4gICAgICAgICAge2l0ZW0uaHJlZiA/IChcbiAgICAgICAgICAgIDxMaW5rIGhyZWY9e2l0ZW0uaHJlZn0gY2xhc3NOYW1lPVwibGluay1tdXRlZFwiPlxuICAgICAgICAgICAgICB7aXRlbS5sYWJlbH1cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC10ZXh0LXByaW1hcnlcIj57aXRlbS5sYWJlbH08L3NwYW4+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApKX1cbiAgICA8L25hdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxpbmsiLCJ1c2VQYXRobmFtZSIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlU2Vzc2lvbiIsIkxvZ291dERpYWxvZyIsIk5hdmlnYXRpb24iLCJpc09wZW4iLCJzZXRJc09wZW4iLCJwYXRobmFtZSIsImRhdGEiLCJzZXNzaW9uIiwic3RhdHVzIiwibmF2SXRlbXMiLCJocmVmIiwibGFiZWwiLCJuYXZJdGVtc1dpdGhBZG1pbiIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImV2ZW50IiwibmF2IiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImJ1dHRvbiIsImNvbnRhaW5zIiwidGFyZ2V0IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVFc2NhcGUiLCJrZXkiLCJzdGFydHNXaXRoIiwiY2xhc3NOYW1lIiwiZGl2IiwibWFwIiwiaXRlbSIsImFjdGl2ZSIsInNwYW4iLCJ1c2VyIiwiZW1haWwiLCJpZCIsImFyaWEtbGFiZWwiLCJhcmlhLWV4cGFuZGVkIiwiYXJpYS1jb250cm9scyIsIm9uQ2xpY2siLCJoMiIsInAiLCJ1bCIsImxpIiwiRGF0ZSIsImdldEZ1bGxZZWFyIiwiQWRtaW5TaWRlYmFyIiwiYXNpZGUiLCJ0aXRsZSIsIkJyZWFkY3J1bWJzIiwiaXRlbXMiLCJpbmRleCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Navigation.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/Providers.tsx":
/*!**************************************!*\
!*** ./src/components/Providers.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 */ Providers)\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/route-modules/app-page/vendored/ssr/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_auth_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-auth/react */ \"(ssr)/./node_modules/next-auth/react/index.js\");\n/* harmony import */ var next_auth_react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_auth_react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var _components_ui_toaster__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/toaster */ \"(ssr)/./src/components/ui/toaster.tsx\");\n/* harmony import */ var _LoadingProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./LoadingProvider */ \"(ssr)/./src/components/LoadingProvider.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\nfunction Providers({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_auth_react__WEBPACK_IMPORTED_MODULE_1__.SessionProvider, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_themes__WEBPACK_IMPORTED_MODULE_2__.ThemeProvider, {\n attribute: \"class\",\n defaultTheme: \"dark\",\n enableSystem: false,\n disableTransitionOnChange: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_LoadingProvider__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_toaster__WEBPACK_IMPORTED_MODULE_3__.Toaster, {}, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Providers.tsx\",\n lineNumber: 19,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Providers.tsx\",\n lineNumber: 17,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Providers.tsx\",\n lineNumber: 11,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/Providers.tsx\",\n lineNumber: 10,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9Qcm92aWRlcnMudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUVpRDtBQUNOO0FBQ007QUFDRjtBQUVoQyxTQUFTSSxVQUFVLEVBQUVDLFFBQVEsRUFBaUM7SUFDM0UscUJBQ0UsOERBQUNMLDREQUFlQTtrQkFDZCw0RUFBQ0Msc0RBQWFBO1lBQ1pLLFdBQVU7WUFDVkMsY0FBYTtZQUNiQyxjQUFjO1lBQ2RDLHlCQUF5QjtzQkFFekIsNEVBQUNOLHdEQUFlQTs7b0JBQ2JFO2tDQUNELDhEQUFDSCwyREFBT0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUtsQiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L3NyYy9jb21wb25lbnRzL1Byb3ZpZGVycy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IFNlc3Npb25Qcm92aWRlciB9IGZyb20gJ25leHQtYXV0aC9yZWFjdCdcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgfSBmcm9tICduZXh0LXRoZW1lcydcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvdG9hc3RlcidcbmltcG9ydCBMb2FkaW5nUHJvdmlkZXIgZnJvbSAnLi9Mb2FkaW5nUHJvdmlkZXInXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFByb3ZpZGVycyh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPFNlc3Npb25Qcm92aWRlcj5cbiAgICAgIDxUaGVtZVByb3ZpZGVyXG4gICAgICAgIGF0dHJpYnV0ZT1cImNsYXNzXCJcbiAgICAgICAgZGVmYXVsdFRoZW1lPVwiZGFya1wiXG4gICAgICAgIGVuYWJsZVN5c3RlbT17ZmFsc2V9XG4gICAgICAgIGRpc2FibGVUcmFuc2l0aW9uT25DaGFuZ2VcbiAgICAgID5cbiAgICAgICAgPExvYWRpbmdQcm92aWRlcj5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPFRvYXN0ZXIgLz5cbiAgICAgICAgPC9Mb2FkaW5nUHJvdmlkZXI+XG4gICAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICAgPC9TZXNzaW9uUHJvdmlkZXI+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJTZXNzaW9uUHJvdmlkZXIiLCJUaGVtZVByb3ZpZGVyIiwiVG9hc3RlciIsIkxvYWRpbmdQcm92aWRlciIsIlByb3ZpZGVycyIsImNoaWxkcmVuIiwiYXR0cmlidXRlIiwiZGVmYXVsdFRoZW1lIiwiZW5hYmxlU3lzdGVtIiwiZGlzYWJsZVRyYW5zaXRpb25PbkNoYW5nZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/Providers.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/admin/FileUpload.tsx":
/*!*********************************************!*\
!*** ./src/components/admin/FileUpload.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 */ FileUpload)\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/route-modules/app-page/vendored/ssr/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/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_uploadthing__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/uploadthing */ \"(ssr)/./src/lib/uploadthing.ts\");\n/* harmony import */ var _hooks_use_toast__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/hooks/use-toast */ \"(ssr)/./src/hooks/use-toast.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\nfunction FileUpload({ endpoint, onUploadComplete, className }) {\n const [uploading, setUploading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const { startUpload, permittedFileInfo } = (0,_lib_uploadthing__WEBPACK_IMPORTED_MODULE_2__.useUploadThing)(endpoint, {\n onClientUploadComplete: {\n \"FileUpload.useUploadThing\": (res)=>{\n setUploading(false);\n if (res && res[0]) {\n // Note: We're not passing the actual File object here since it's not available in the response\n // In a real implementation, you might want to modify this component to store the file object\n // when it's selected and pass it along with the URL\n onUploadComplete?.(res[0].url, new File([], res[0].name));\n (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_3__.toast)({\n title: 'Success',\n description: 'File uploaded successfully!',\n status: 'success'\n });\n }\n }\n }[\"FileUpload.useUploadThing\"],\n onUploadError: {\n \"FileUpload.useUploadThing\": (error)=>{\n setUploading(false);\n // In production, you might want to log this to your monitoring service\n // console.error('Upload error:', error)\n (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_3__.toast)({\n title: 'Error',\n description: `Upload failed: ${error.message}`,\n status: 'error'\n });\n }\n }[\"FileUpload.useUploadThing\"],\n onUploadBegin: {\n \"FileUpload.useUploadThing\": ()=>{\n setUploading(true);\n }\n }[\"FileUpload.useUploadThing\"]\n });\n const handleFileChange = (e)=>{\n const file = e.target.files?.[0];\n if (file) {\n startUpload([\n file\n ]).catch((error)=>{\n // In production, you might want to log this to your monitoring service\n // console.error('Upload failed:', error)\n (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_3__.toast)({\n title: 'Error',\n description: 'Upload failed. Please try again.',\n status: 'error'\n });\n });\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: className,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-center w-full\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"flex flex-col items-center justify-center w-full h-64 border-2 border-dashed border-text-muted rounded-lg cursor-pointer bg-bg-light hover:bg-bg-light/50 transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center justify-center pt-5 pb-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-8 h-8 mb-4 text-text-muted\",\n \"aria-hidden\": \"true\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 20 16\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"2\",\n d: \"M13 13h3a3 3 0 0 0 0-6h-.025A5.56 5.56 0 0 0 16 6.5 5.5 5.5 0 0 0 5.207 5.021C5.137 5.017 5.071 5 5 5a4 4 0 0 0 0 8h2.167M10 15V6m0 0L8 8m2-2 2 2\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/admin/FileUpload.tsx\",\n lineNumber: 77,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/admin/FileUpload.tsx\",\n lineNumber: 70,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mb-2 text-sm text-text-muted\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold\",\n children: \"Click to upload\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/admin/FileUpload.tsx\",\n lineNumber: 86,\n columnNumber: 15\n }, this),\n \" or drag and drop\"\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/admin/FileUpload.tsx\",\n lineNumber: 85,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-text-muted\",\n children: permittedFileInfo?.config.image?.maxFileSize || permittedFileInfo?.config.video?.maxFileSize || 'Any file type'\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/admin/FileUpload.tsx\",\n lineNumber: 89,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/admin/FileUpload.tsx\",\n lineNumber: 69,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"file\",\n className: \"hidden\",\n onChange: handleFileChange,\n disabled: uploading\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/admin/FileUpload.tsx\",\n lineNumber: 95,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/admin/FileUpload.tsx\",\n lineNumber: 68,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/admin/FileUpload.tsx\",\n lineNumber: 67,\n columnNumber: 7\n }, this),\n uploading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-text-muted mt-2 text-center\",\n children: \"Uploading...\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/admin/FileUpload.tsx\",\n lineNumber: 104,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/admin/FileUpload.tsx\",\n lineNumber: 66,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9hZG1pbi9GaWxlVXBsb2FkLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUV1QztBQUNXO0FBRVQ7QUFRMUIsU0FBU0ksV0FBVyxFQUNqQ0MsUUFBUSxFQUNSQyxnQkFBZ0IsRUFDaEJDLFNBQVMsRUFDTztJQUNoQixNQUFNLENBQUNDLFdBQVdDLGFBQWEsR0FBR1IsK0NBQVFBLENBQUM7SUFDM0MsTUFBTSxFQUFFUyxXQUFXLEVBQUVDLGlCQUFpQixFQUFFLEdBQUdULGdFQUFjQSxDQUFDRyxVQUFVO1FBQ2xFTyxzQkFBc0I7eUNBQUUsQ0FBQ0M7Z0JBQ3ZCSixhQUFhO2dCQUNiLElBQUlJLE9BQU9BLEdBQUcsQ0FBQyxFQUFFLEVBQUU7b0JBQ2pCLCtGQUErRjtvQkFDL0YsNkZBQTZGO29CQUM3RixvREFBb0Q7b0JBQ3BEUCxtQkFBbUJPLEdBQUcsQ0FBQyxFQUFFLENBQUNDLEdBQUcsRUFBRSxJQUFJQyxLQUFLLEVBQUUsRUFBRUYsR0FBRyxDQUFDLEVBQUUsQ0FBQ0csSUFBSTtvQkFDdkRiLHVEQUFLQSxDQUFDO3dCQUNKYyxPQUFPO3dCQUNQQyxhQUFhO3dCQUNiQyxRQUFRO29CQUNWO2dCQUNGO1lBQ0Y7O1FBQ0FDLGFBQWE7eUNBQUUsQ0FBQ0M7Z0JBQ2RaLGFBQWE7Z0JBQ2IsdUVBQXVFO2dCQUN2RSx3Q0FBd0M7Z0JBQ3hDTix1REFBS0EsQ0FBQztvQkFDSmMsT0FBTztvQkFDUEMsYUFBYSxDQUFDLGVBQWUsRUFBRUcsTUFBTUMsT0FBTyxFQUFFO29CQUM5Q0gsUUFBUTtnQkFDVjtZQUNGOztRQUNBSSxhQUFhO3lDQUFFO2dCQUNiZCxhQUFhO1lBQ2Y7O0lBQ0Y7SUFFQSxNQUFNZSxtQkFBbUIsQ0FBQ0M7UUFDeEIsTUFBTUMsT0FBT0QsRUFBRUUsTUFBTSxDQUFDQyxLQUFLLEVBQUUsQ0FBQyxFQUFFO1FBQ2hDLElBQUlGLE1BQU07WUFDUmhCLFlBQVk7Z0JBQUNnQjthQUFLLEVBQUVHLEtBQUssQ0FBQyxDQUFDUjtnQkFDekIsdUVBQXVFO2dCQUN2RSx5Q0FBeUM7Z0JBQ3pDbEIsdURBQUtBLENBQUM7b0JBQ0pjLE9BQU87b0JBQ1BDLGFBQWE7b0JBQ2JDLFFBQVE7Z0JBQ1Y7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxxQkFDRSw4REFBQ1c7UUFBSXZCLFdBQVdBOzswQkFDZCw4REFBQ3VCO2dCQUFJdkIsV0FBVTswQkFDYiw0RUFBQ3dCO29CQUFNeEIsV0FBVTs7c0NBQ2YsOERBQUN1Qjs0QkFBSXZCLFdBQVU7OzhDQUNiLDhEQUFDeUI7b0NBQ0N6QixXQUFVO29DQUNWMEIsZUFBWTtvQ0FDWkMsT0FBTTtvQ0FDTkMsTUFBSztvQ0FDTEMsU0FBUTs4Q0FFUiw0RUFBQ0M7d0NBQ0NDLFFBQU87d0NBQ1BDLGVBQWM7d0NBQ2RDLGdCQUFlO3dDQUNmQyxhQUFZO3dDQUNaQyxHQUFFOzs7Ozs7Ozs7Ozs4Q0FHTiw4REFBQ0M7b0NBQUVwQyxXQUFVOztzREFDWCw4REFBQ3FDOzRDQUFLckMsV0FBVTtzREFBZ0I7Ozs7Ozt3Q0FBc0I7Ozs7Ozs7OENBR3hELDhEQUFDb0M7b0NBQUVwQyxXQUFVOzhDQUNWSSxtQkFBbUJrQyxPQUFPQyxPQUFPQyxlQUNoQ3BDLG1CQUFtQmtDLE9BQU9HLE9BQU9ELGVBQ2pDOzs7Ozs7Ozs7Ozs7c0NBR04sOERBQUNFOzRCQUNDQyxNQUFLOzRCQUNMM0MsV0FBVTs0QkFDVjRDLFVBQVUzQjs0QkFDVjRCLFVBQVU1Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7WUFJZkEsMkJBQ0MsOERBQUNtQztnQkFBRXBDLFdBQVU7MEJBQW1DOzs7Ozs7Ozs7Ozs7QUFJeEQiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9zcmMvY29tcG9uZW50cy9hZG1pbi9GaWxlVXBsb2FkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VVcGxvYWRUaGluZyB9IGZyb20gJ0AvbGliL3VwbG9hZHRoaW5nJ1xuaW1wb3J0IHsgVXBsb2FkRHJvcHpvbmUgfSBmcm9tICdAL2xpYi91cGxvYWR0aGluZydcbmltcG9ydCB7IHRvYXN0IH0gZnJvbSAnQC9ob29rcy91c2UtdG9hc3QnXG5cbmludGVyZmFjZSBGaWxlVXBsb2FkUHJvcHMge1xuICBlbmRwb2ludDogJ2ltYWdlVXBsb2FkZXInIHwgJ3ZpZGVvVXBsb2FkZXInXG4gIG9uVXBsb2FkQ29tcGxldGU/OiAodXJsOiBzdHJpbmcsIGZpbGU6IEZpbGUpID0+IHZvaWRcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEZpbGVVcGxvYWQoe1xuICBlbmRwb2ludCxcbiAgb25VcGxvYWRDb21wbGV0ZSxcbiAgY2xhc3NOYW1lLFxufTogRmlsZVVwbG9hZFByb3BzKSB7XG4gIGNvbnN0IFt1cGxvYWRpbmcsIHNldFVwbG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgeyBzdGFydFVwbG9hZCwgcGVybWl0dGVkRmlsZUluZm8gfSA9IHVzZVVwbG9hZFRoaW5nKGVuZHBvaW50LCB7XG4gICAgb25DbGllbnRVcGxvYWRDb21wbGV0ZTogKHJlcykgPT4ge1xuICAgICAgc2V0VXBsb2FkaW5nKGZhbHNlKVxuICAgICAgaWYgKHJlcyAmJiByZXNbMF0pIHtcbiAgICAgICAgLy8gTm90ZTogV2UncmUgbm90IHBhc3NpbmcgdGhlIGFjdHVhbCBGaWxlIG9iamVjdCBoZXJlIHNpbmNlIGl0J3Mgbm90IGF2YWlsYWJsZSBpbiB0aGUgcmVzcG9uc2VcbiAgICAgICAgLy8gSW4gYSByZWFsIGltcGxlbWVudGF0aW9uLCB5b3UgbWlnaHQgd2FudCB0byBtb2RpZnkgdGhpcyBjb21wb25lbnQgdG8gc3RvcmUgdGhlIGZpbGUgb2JqZWN0XG4gICAgICAgIC8vIHdoZW4gaXQncyBzZWxlY3RlZCBhbmQgcGFzcyBpdCBhbG9uZyB3aXRoIHRoZSBVUkxcbiAgICAgICAgb25VcGxvYWRDb21wbGV0ZT8uKHJlc1swXS51cmwsIG5ldyBGaWxlKFtdLCByZXNbMF0ubmFtZSkpXG4gICAgICAgIHRvYXN0KHtcbiAgICAgICAgICB0aXRsZTogJ1N1Y2Nlc3MnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRmlsZSB1cGxvYWRlZCBzdWNjZXNzZnVsbHkhJyxcbiAgICAgICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIG9uVXBsb2FkRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHNldFVwbG9hZGluZyhmYWxzZSlcbiAgICAgIC8vIEluIHByb2R1Y3Rpb24sIHlvdSBtaWdodCB3YW50IHRvIGxvZyB0aGlzIHRvIHlvdXIgbW9uaXRvcmluZyBzZXJ2aWNlXG4gICAgICAvLyBjb25zb2xlLmVycm9yKCdVcGxvYWQgZXJyb3I6JywgZXJyb3IpXG4gICAgICB0b2FzdCh7XG4gICAgICAgIHRpdGxlOiAnRXJyb3InLFxuICAgICAgICBkZXNjcmlwdGlvbjogYFVwbG9hZCBmYWlsZWQ6ICR7ZXJyb3IubWVzc2FnZX1gLFxuICAgICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICB9KVxuICAgIH0sXG4gICAgb25VcGxvYWRCZWdpbjogKCkgPT4ge1xuICAgICAgc2V0VXBsb2FkaW5nKHRydWUpXG4gICAgfSxcbiAgfSlcblxuICBjb25zdCBoYW5kbGVGaWxlQ2hhbmdlID0gKGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgZmlsZSA9IGUudGFyZ2V0LmZpbGVzPy5bMF1cbiAgICBpZiAoZmlsZSkge1xuICAgICAgc3RhcnRVcGxvYWQoW2ZpbGVdKS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgLy8gSW4gcHJvZHVjdGlvbiwgeW91IG1pZ2h0IHdhbnQgdG8gbG9nIHRoaXMgdG8geW91ciBtb25pdG9yaW5nIHNlcnZpY2VcbiAgICAgICAgLy8gY29uc29sZS5lcnJvcignVXBsb2FkIGZhaWxlZDonLCBlcnJvcilcbiAgICAgICAgdG9hc3Qoe1xuICAgICAgICAgIHRpdGxlOiAnRXJyb3InLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXBsb2FkIGZhaWxlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nLFxuICAgICAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdy1mdWxsXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LWZ1bGwgaC02NCBib3JkZXItMiBib3JkZXItZGFzaGVkIGJvcmRlci10ZXh0LW11dGVkIHJvdW5kZWQtbGcgY3Vyc29yLXBvaW50ZXIgYmctYmctbGlnaHQgaG92ZXI6YmctYmctbGlnaHQvNTAgdHJhbnNpdGlvbi1jb2xvcnNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB0LTUgcGItNlwiPlxuICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LTggaC04IG1iLTQgdGV4dC10ZXh0LW11dGVkXCJcbiAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAxNlwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgICAgICAgICAgZD1cIk0xMyAxM2gzYTMgMyAwIDAgMCAwLTZoLS4wMjVBNS41NiA1LjU2IDAgMCAwIDE2IDYuNSA1LjUgNS41IDAgMCAwIDUuMjA3IDUuMDIxQzUuMTM3IDUuMDE3IDUuMDcxIDUgNSA1YTQgNCAwIDAgMCAwIDhoMi4xNjdNMTAgMTVWNm0wIDBMOCA4bTItMiAyIDJcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtYi0yIHRleHQtc20gdGV4dC10ZXh0LW11dGVkXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtc2VtaWJvbGRcIj5DbGljayB0byB1cGxvYWQ8L3NwYW4+IG9yIGRyYWcgYW5kXG4gICAgICAgICAgICAgIGRyb3BcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC10ZXh0LW11dGVkXCI+XG4gICAgICAgICAgICAgIHtwZXJtaXR0ZWRGaWxlSW5mbz8uY29uZmlnLmltYWdlPy5tYXhGaWxlU2l6ZSB8fFxuICAgICAgICAgICAgICAgIHBlcm1pdHRlZEZpbGVJbmZvPy5jb25maWcudmlkZW8/Lm1heEZpbGVTaXplIHx8XG4gICAgICAgICAgICAgICAgJ0FueSBmaWxlIHR5cGUnfVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiaGlkZGVuXCJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVGaWxlQ2hhbmdlfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e3VwbG9hZGluZ31cbiAgICAgICAgICAvPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgICB7dXBsb2FkaW5nICYmIChcbiAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC10ZXh0LW11dGVkIG10LTIgdGV4dC1jZW50ZXJcIj5VcGxvYWRpbmcuLi48L3A+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsInVzZVVwbG9hZFRoaW5nIiwidG9hc3QiLCJGaWxlVXBsb2FkIiwiZW5kcG9pbnQiLCJvblVwbG9hZENvbXBsZXRlIiwiY2xhc3NOYW1lIiwidXBsb2FkaW5nIiwic2V0VXBsb2FkaW5nIiwic3RhcnRVcGxvYWQiLCJwZXJtaXR0ZWRGaWxlSW5mbyIsIm9uQ2xpZW50VXBsb2FkQ29tcGxldGUiLCJyZXMiLCJ1cmwiLCJGaWxlIiwibmFtZSIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJzdGF0dXMiLCJvblVwbG9hZEVycm9yIiwiZXJyb3IiLCJtZXNzYWdlIiwib25VcGxvYWRCZWdpbiIsImhhbmRsZUZpbGVDaGFuZ2UiLCJlIiwiZmlsZSIsInRhcmdldCIsImZpbGVzIiwiY2F0Y2giLCJkaXYiLCJsYWJlbCIsInN2ZyIsImFyaWEtaGlkZGVuIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsInBhdGgiLCJzdHJva2UiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJzdHJva2VXaWR0aCIsImQiLCJwIiwic3BhbiIsImNvbmZpZyIsImltYWdlIiwibWF4RmlsZVNpemUiLCJ2aWRlbyIsImlucHV0IiwidHlwZSIsIm9uQ2hhbmdlIiwiZGlzYWJsZWQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/admin/FileUpload.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/ui/toast.tsx":
/*!*************************************!*\
!*** ./src/components/ui/toast.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 */ Toast: () => (/* binding */ Toast),\n/* harmony export */ ToastClose: () => (/* binding */ ToastClose),\n/* harmony export */ ToastDescription: () => (/* binding */ ToastDescription),\n/* harmony export */ ToastProvider: () => (/* binding */ ToastProvider),\n/* harmony export */ ToastTitle: () => (/* binding */ ToastTitle),\n/* harmony export */ ToastViewport: () => (/* binding */ ToastViewport)\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/route-modules/app-page/vendored/ssr/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/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_toast__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-toast */ \"(ssr)/./node_modules/@radix-ui/react-toast/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)/./src/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Toast,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport auto */ \n\n\n\n\nconst ToastProvider = _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Provider;\nconst ToastViewport = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Viewport, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)('fixed bottom-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-4 sm:right-4 sm:w-[390px]', className),\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/ui/toast.tsx\",\n lineNumber: 14,\n columnNumber: 3\n }, undefined));\nToastViewport.displayName = _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Viewport.displayName;\nconst toastVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)('group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none', {\n variants: {\n variant: {\n default: 'border-bg-light bg-bg text-text',\n destructive: 'destructive group border-destructive bg-destructive text-destructive-foreground'\n }\n },\n defaultVariants: {\n variant: 'default'\n }\n});\nconst Toast = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, variant, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Root, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(toastVariants({\n variant\n }), className),\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/ui/toast.tsx\",\n lineNumber: 47,\n columnNumber: 5\n }, undefined);\n});\nToast.displayName = _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Root.displayName;\nconst ToastTitle = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Title, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)('text-sm font-semibold', className),\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/ui/toast.tsx\",\n lineNumber: 60,\n columnNumber: 3\n }, undefined));\nToastTitle.displayName = _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Title.displayName;\nconst ToastDescription = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Description, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)('text-sm opacity-90', className),\n ...props\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/ui/toast.tsx\",\n lineNumber: 72,\n columnNumber: 3\n }, undefined));\nToastDescription.displayName = _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Description.displayName;\nconst ToastClose = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Close, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)('absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none group-hover:opacity-100', className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/ui/toast.tsx\",\n lineNumber: 99,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/ui/toast.tsx\",\n lineNumber: 92,\n columnNumber: 5\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/ui/toast.tsx\",\n lineNumber: 84,\n columnNumber: 3\n }, undefined));\nToastClose.displayName = _radix_ui_react_toast__WEBPACK_IMPORTED_MODULE_4__.Close.displayName;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS90b2FzdC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOEI7QUFDMEI7QUFDUztBQUVqQztBQUVoQyxNQUFNSSxnQkFBZ0JILDJEQUF3QjtBQUM5QyxNQUFNSyw4QkFBZ0JOLDZDQUFnQixDQUdwQyxDQUFDLEVBQUVRLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUMxQiw4REFBQ1QsMkRBQXdCO1FBQ3ZCUyxLQUFLQTtRQUNMRixXQUFXTCw4Q0FBRUEsQ0FDWCw0R0FDQUs7UUFFRCxHQUFHQyxLQUFLOzs7Ozs7QUFHYkgsY0FBY00sV0FBVyxHQUFHWCwyREFBd0IsQ0FBQ1csV0FBVztBQUVoRSxNQUFNQyxnQkFBZ0JYLDZEQUFHQSxDQUN2QiwrVkFDQTtJQUNFWSxVQUFVO1FBQ1JDLFNBQVM7WUFDUEMsU0FBUztZQUNUQyxhQUNFO1FBQ0o7SUFDRjtJQUNBQyxpQkFBaUI7UUFDZkgsU0FBUztJQUNYO0FBQ0Y7QUFHRixNQUFNSSxzQkFBUW5CLDZDQUFnQixDQUk1QixDQUFDLEVBQUVRLFNBQVMsRUFBRU8sT0FBTyxFQUFFLEdBQUdOLE9BQU8sRUFBRUM7SUFDbkMscUJBQ0UsOERBQUNULHVEQUFvQjtRQUNuQlMsS0FBS0E7UUFDTEYsV0FBV0wsOENBQUVBLENBQUNVLGNBQWM7WUFBRUU7UUFBUSxJQUFJUDtRQUN6QyxHQUFHQyxLQUFLOzs7Ozs7QUFHZjtBQUNBVSxNQUFNUCxXQUFXLEdBQUdYLHVEQUFvQixDQUFDVyxXQUFXO0FBRXBELE1BQU1TLDJCQUFhckIsNkNBQWdCLENBR2pDLENBQUMsRUFBRVEsU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQzFCLDhEQUFDVCx3REFBcUI7UUFDcEJTLEtBQUtBO1FBQ0xGLFdBQVdMLDhDQUFFQSxDQUFDLHlCQUF5Qks7UUFDdEMsR0FBR0MsS0FBSzs7Ozs7O0FBR2JZLFdBQVdULFdBQVcsR0FBR1gsd0RBQXFCLENBQUNXLFdBQVc7QUFFMUQsTUFBTVcsaUNBQW1CdkIsNkNBQWdCLENBR3ZDLENBQUMsRUFBRVEsU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQzFCLDhEQUFDVCw4REFBMkI7UUFDMUJTLEtBQUtBO1FBQ0xGLFdBQVdMLDhDQUFFQSxDQUFDLHNCQUFzQks7UUFDbkMsR0FBR0MsS0FBSzs7Ozs7O0FBR2JjLGlCQUFpQlgsV0FBVyxHQUFHWCw4REFBMkIsQ0FBQ1csV0FBVztBQUV0RSxNQUFNYSwyQkFBYXpCLDZDQUFnQixDQUdqQyxDQUFDLEVBQUVRLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUMxQiw4REFBQ1Qsd0RBQXFCO1FBQ3BCUyxLQUFLQTtRQUNMRixXQUFXTCw4Q0FBRUEsQ0FDWCw0S0FDQUs7UUFFRCxHQUFHQyxLQUFLO2tCQUVULDRFQUFDa0I7WUFDQ0MsT0FBTTtZQUNOQyxRQUFPO1lBQ1BDLFNBQVE7WUFDUkMsTUFBSztZQUNMQyxPQUFNO3NCQUVOLDRFQUFDQztnQkFDQ0MsR0FBRTtnQkFDRkgsTUFBSztnQkFDTEksVUFBUztnQkFDVEMsVUFBUzs7Ozs7Ozs7Ozs7Ozs7OztBQUtqQlgsV0FBV2IsV0FBVyxHQUFHWCx3REFBcUIsQ0FBQ1csV0FBVztBQVN6RCIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L3NyYy9jb21wb25lbnRzL3VpL3RvYXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgKiBhcyBUb2FzdFByaW1pdGl2ZXMgZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXRvYXN0J1xuaW1wb3J0IHsgY3ZhLCB0eXBlIFZhcmlhbnRQcm9wcyB9IGZyb20gJ2NsYXNzLXZhcmlhbmNlLWF1dGhvcml0eSdcblxuaW1wb3J0IHsgY24gfSBmcm9tICdAL2xpYi91dGlscydcblxuY29uc3QgVG9hc3RQcm92aWRlciA9IFRvYXN0UHJpbWl0aXZlcy5Qcm92aWRlclxuY29uc3QgVG9hc3RWaWV3cG9ydCA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFRvYXN0UHJpbWl0aXZlcy5WaWV3cG9ydD4sXG4gIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgVG9hc3RQcmltaXRpdmVzLlZpZXdwb3J0PlxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxuICA8VG9hc3RQcmltaXRpdmVzLlZpZXdwb3J0XG4gICAgcmVmPXtyZWZ9XG4gICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICdmaXhlZCBib3R0b20tMCB6LVsxMDBdIGZsZXggbWF4LWgtc2NyZWVuIHctZnVsbCBmbGV4LWNvbC1yZXZlcnNlIHAtNCBzbTpib3R0b20tNCBzbTpyaWdodC00IHNtOnctWzM5MHB4XScsXG4gICAgICBjbGFzc05hbWVcbiAgICApfVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbikpXG5Ub2FzdFZpZXdwb3J0LmRpc3BsYXlOYW1lID0gVG9hc3RQcmltaXRpdmVzLlZpZXdwb3J0LmRpc3BsYXlOYW1lXG5cbmNvbnN0IHRvYXN0VmFyaWFudHMgPSBjdmEoXG4gICdncm91cCBwb2ludGVyLWV2ZW50cy1hdXRvIHJlbGF0aXZlIGZsZXggdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gc3BhY2UteC00IG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLW1kIGJvcmRlciBwLTYgcHItOCBzaGFkb3ctbGcgdHJhbnNpdGlvbi1hbGwgZGF0YS1bc3dpcGU9Y2FuY2VsXTp0cmFuc2xhdGUteC0wIGRhdGEtW3N3aXBlPWVuZF06dHJhbnNsYXRlLXgtW3ZhcigtLXJhZGl4LXRvYXN0LXN3aXBlLWVuZC14KV0gZGF0YS1bc3dpcGU9bW92ZV06dHJhbnNsYXRlLXgtW3ZhcigtLXJhZGl4LXRvYXN0LXN3aXBlLW1vdmUteCldIGRhdGEtW3N3aXBlPW1vdmVdOnRyYW5zaXRpb24tbm9uZScsXG4gIHtcbiAgICB2YXJpYW50czoge1xuICAgICAgdmFyaWFudDoge1xuICAgICAgICBkZWZhdWx0OiAnYm9yZGVyLWJnLWxpZ2h0IGJnLWJnIHRleHQtdGV4dCcsXG4gICAgICAgIGRlc3RydWN0aXZlOlxuICAgICAgICAgICdkZXN0cnVjdGl2ZSBncm91cCBib3JkZXItZGVzdHJ1Y3RpdmUgYmctZGVzdHJ1Y3RpdmUgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZWZhdWx0VmFyaWFudHM6IHtcbiAgICAgIHZhcmlhbnQ6ICdkZWZhdWx0JyxcbiAgICB9LFxuICB9XG4pXG5cbmNvbnN0IFRvYXN0ID0gUmVhY3QuZm9yd2FyZFJlZjxcbiAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgVG9hc3RQcmltaXRpdmVzLlJvb3Q+LFxuICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFRvYXN0UHJpbWl0aXZlcy5Sb290PiAmXG4gICAgVmFyaWFudFByb3BzPHR5cGVvZiB0b2FzdFZhcmlhbnRzPlxuPigoeyBjbGFzc05hbWUsIHZhcmlhbnQsIC4uLnByb3BzIH0sIHJlZikgPT4ge1xuICByZXR1cm4gKFxuICAgIDxUb2FzdFByaW1pdGl2ZXMuUm9vdFxuICAgICAgcmVmPXtyZWZ9XG4gICAgICBjbGFzc05hbWU9e2NuKHRvYXN0VmFyaWFudHMoeyB2YXJpYW50IH0pLCBjbGFzc05hbWUpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn0pXG5Ub2FzdC5kaXNwbGF5TmFtZSA9IFRvYXN0UHJpbWl0aXZlcy5Sb290LmRpc3BsYXlOYW1lXG5cbmNvbnN0IFRvYXN0VGl0bGUgPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBUb2FzdFByaW1pdGl2ZXMuVGl0bGU+LFxuICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFRvYXN0UHJpbWl0aXZlcy5UaXRsZT5cbj4oKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9LCByZWYpID0+IChcbiAgPFRvYXN0UHJpbWl0aXZlcy5UaXRsZVxuICAgIHJlZj17cmVmfVxuICAgIGNsYXNzTmFtZT17Y24oJ3RleHQtc20gZm9udC1zZW1pYm9sZCcsIGNsYXNzTmFtZSl9XG4gICAgey4uLnByb3BzfVxuICAvPlxuKSlcblRvYXN0VGl0bGUuZGlzcGxheU5hbWUgPSBUb2FzdFByaW1pdGl2ZXMuVGl0bGUuZGlzcGxheU5hbWVcblxuY29uc3QgVG9hc3REZXNjcmlwdGlvbiA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFRvYXN0UHJpbWl0aXZlcy5EZXNjcmlwdGlvbj4sXG4gIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgVG9hc3RQcmltaXRpdmVzLkRlc2NyaXB0aW9uPlxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxuICA8VG9hc3RQcmltaXRpdmVzLkRlc2NyaXB0aW9uXG4gICAgcmVmPXtyZWZ9XG4gICAgY2xhc3NOYW1lPXtjbigndGV4dC1zbSBvcGFjaXR5LTkwJywgY2xhc3NOYW1lKX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pKVxuVG9hc3REZXNjcmlwdGlvbi5kaXNwbGF5TmFtZSA9IFRvYXN0UHJpbWl0aXZlcy5EZXNjcmlwdGlvbi5kaXNwbGF5TmFtZVxuXG5jb25zdCBUb2FzdENsb3NlID0gUmVhY3QuZm9yd2FyZFJlZjxcbiAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgVG9hc3RQcmltaXRpdmVzLkNsb3NlPixcbiAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBUb2FzdFByaW1pdGl2ZXMuQ2xvc2U+XG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXG4gIDxUb2FzdFByaW1pdGl2ZXMuQ2xvc2VcbiAgICByZWY9e3JlZn1cbiAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgJ2Fic29sdXRlIHJpZ2h0LTIgdG9wLTIgcm91bmRlZC1tZCBwLTEgdGV4dC1mb3JlZ3JvdW5kLzUwIG9wYWNpdHktMCB0cmFuc2l0aW9uLW9wYWNpdHkgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kIGZvY3VzOm9wYWNpdHktMTAwIGZvY3VzOm91dGxpbmUtbm9uZSBncm91cC1ob3ZlcjpvcGFjaXR5LTEwMCcsXG4gICAgICBjbGFzc05hbWVcbiAgICApfVxuICAgIHsuLi5wcm9wc31cbiAgPlxuICAgIDxzdmdcbiAgICAgIHdpZHRoPVwiMTVcIlxuICAgICAgaGVpZ2h0PVwiMTVcIlxuICAgICAgdmlld0JveD1cIjAgMCAxNSAxNVwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTExLjc4MTYgNC4wMzE1N0MxMi4wMDYyIDMuODA3MDIgMTIuMDA2MiAzLjQ0Mjk1IDExLjc4MTYgMy4yMTg0QzExLjU1NzEgMi45OTM4NSAxMS4xOTMgMi45OTM4NSAxMC45Njg1IDMuMjE4NEw3LjUwMDA1IDYuNjg2ODJMNC4wMzE2NCAzLjIxODRDMy44MDcwOCAyLjk5Mzg1IDMuNDQzMDEgMi45OTM4NSAzLjIxODQ2IDMuMjE4NEMyLjk5MzkxIDMuNDQyOTUgMi45OTM5MSAzLjgwNzAyIDMuMjE4NDYgNC4wMzE1N0w2LjY4Njg4IDcuNDk5OTlMMy4yMTg0NiAxMC45Njg0QzIuOTkzOTEgMTEuMTkzIDIuOTkzOTEgMTEuNTU3IDMuMjE4NDYgMTEuNzgxNkMzLjQ0MzAxIDEyLjAwNjEgMy44MDcwOCAxMi4wMDYxIDQuMDMxNjQgMTEuNzgxNkw3LjUwMDA1IDguMzEzMTZMMTAuOTY4NSAxMS43ODE2QzExLjE5MyAxMi4wMDYxIDExLjU1NzEgMTIuMDA2MSAxMS43ODE2IDExLjc4MTZDMTIuMDA2MiAxMS41NTcgMTIuMDA2MiAxMS4xOTMgMTEuNzgxNiAxMC45Njg0TDguMzEzMjIgNy40OTk5OUwxMS43ODE2IDQuMDMxNTdaXCJcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGNsaXBSdWxlPVwiZXZlbm9kZFwiXG4gICAgICA+PC9wYXRoPlxuICAgIDwvc3ZnPlxuICA8L1RvYXN0UHJpbWl0aXZlcy5DbG9zZT5cbikpXG5Ub2FzdENsb3NlLmRpc3BsYXlOYW1lID0gVG9hc3RQcmltaXRpdmVzLkNsb3NlLmRpc3BsYXlOYW1lXG5cbmV4cG9ydCB7XG4gIFRvYXN0LFxuICBUb2FzdENsb3NlLFxuICBUb2FzdERlc2NyaXB0aW9uLFxuICBUb2FzdFByb3ZpZGVyLFxuICBUb2FzdFRpdGxlLFxuICBUb2FzdFZpZXdwb3J0LFxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiVG9hc3RQcmltaXRpdmVzIiwiY3ZhIiwiY24iLCJUb2FzdFByb3ZpZGVyIiwiUHJvdmlkZXIiLCJUb2FzdFZpZXdwb3J0IiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsInByb3BzIiwicmVmIiwiVmlld3BvcnQiLCJkaXNwbGF5TmFtZSIsInRvYXN0VmFyaWFudHMiLCJ2YXJpYW50cyIsInZhcmlhbnQiLCJkZWZhdWx0IiwiZGVzdHJ1Y3RpdmUiLCJkZWZhdWx0VmFyaWFudHMiLCJUb2FzdCIsIlJvb3QiLCJUb2FzdFRpdGxlIiwiVGl0bGUiLCJUb2FzdERlc2NyaXB0aW9uIiwiRGVzY3JpcHRpb24iLCJUb2FzdENsb3NlIiwiQ2xvc2UiLCJzdmciLCJ3aWR0aCIsImhlaWdodCIsInZpZXdCb3giLCJmaWxsIiwieG1sbnMiLCJwYXRoIiwiZCIsImZpbGxSdWxlIiwiY2xpcFJ1bGUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/toast.tsx\n");
/***/ }),
/***/ "(ssr)/./src/components/ui/toaster.tsx":
/*!***************************************!*\
!*** ./src/components/ui/toaster.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 */ Toaster: () => (/* binding */ Toaster)\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/route-modules/app-page/vendored/ssr/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_toast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/ui/toast */ \"(ssr)/./src/components/ui/toast.tsx\");\n/* harmony import */ var _hooks_use_toast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/hooks/use-toast */ \"(ssr)/./src/hooks/use-toast.ts\");\n/* __next_internal_client_entry_do_not_use__ Toaster auto */ \n\n\nfunction Toaster() {\n const { toasts } = (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_2__.useToast)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_toast__WEBPACK_IMPORTED_MODULE_1__.ToastProvider, {\n children: [\n toasts.map(function({ id, title, description, action, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_toast__WEBPACK_IMPORTED_MODULE_1__.Toast, {\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid gap-1\",\n children: [\n title && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_toast__WEBPACK_IMPORTED_MODULE_1__.ToastTitle, {\n children: title\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/ui/toaster.tsx\",\n lineNumber: 22,\n columnNumber: 25\n }, this),\n description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_toast__WEBPACK_IMPORTED_MODULE_1__.ToastDescription, {\n children: description\n }, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/ui/toaster.tsx\",\n lineNumber: 24,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/ui/toaster.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, this),\n action,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_toast__WEBPACK_IMPORTED_MODULE_1__.ToastClose, {}, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/ui/toaster.tsx\",\n lineNumber: 28,\n columnNumber: 13\n }, this)\n ]\n }, id, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/ui/toaster.tsx\",\n lineNumber: 20,\n columnNumber: 11\n }, this);\n }),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_toast__WEBPACK_IMPORTED_MODULE_1__.ToastViewport, {}, void 0, false, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/ui/toaster.tsx\",\n lineNumber: 32,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/Nicholai/Nextcloud/Dev/BiohazardVFX_Website/biohazard-vfx/src/components/ui/toaster.tsx\",\n lineNumber: 17,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS90b2FzdGVyLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFTOEI7QUFDYztBQUVyQyxTQUFTTztJQUNkLE1BQU0sRUFBRUMsTUFBTSxFQUFFLEdBQUdGLDBEQUFRQTtJQUUzQixxQkFDRSw4REFBQ0gsK0RBQWFBOztZQUNYSyxPQUFPQyxHQUFHLENBQUMsU0FBVSxFQUFFQyxFQUFFLEVBQUVDLEtBQUssRUFBRUMsV0FBVyxFQUFFQyxNQUFNLEVBQUUsR0FBR0MsT0FBTztnQkFDaEUscUJBQ0UsOERBQUNkLHVEQUFLQTtvQkFBVyxHQUFHYyxLQUFLOztzQ0FDdkIsOERBQUNDOzRCQUFJQyxXQUFVOztnQ0FDWkwsdUJBQVMsOERBQUNQLDREQUFVQTs4Q0FBRU87Ozs7OztnQ0FDdEJDLDZCQUNDLDhEQUFDVixrRUFBZ0JBOzhDQUFFVTs7Ozs7Ozs7Ozs7O3dCQUd0QkM7c0NBQ0QsOERBQUNaLDREQUFVQTs7Ozs7O21CQVJEUzs7Ozs7WUFXaEI7MEJBQ0EsOERBQUNMLCtEQUFhQTs7Ozs7Ozs7Ozs7QUFHcEIiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9zcmMvY29tcG9uZW50cy91aS90b2FzdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHtcbiAgVG9hc3QsXG4gIFRvYXN0Q2xvc2UsXG4gIFRvYXN0RGVzY3JpcHRpb24sXG4gIFRvYXN0UHJvdmlkZXIsXG4gIFRvYXN0VGl0bGUsXG4gIFRvYXN0Vmlld3BvcnQsXG59IGZyb20gJ0AvY29tcG9uZW50cy91aS90b2FzdCdcbmltcG9ydCB7IHVzZVRvYXN0IH0gZnJvbSAnQC9ob29rcy91c2UtdG9hc3QnXG5cbmV4cG9ydCBmdW5jdGlvbiBUb2FzdGVyKCkge1xuICBjb25zdCB7IHRvYXN0cyB9ID0gdXNlVG9hc3QoKVxuXG4gIHJldHVybiAoXG4gICAgPFRvYXN0UHJvdmlkZXI+XG4gICAgICB7dG9hc3RzLm1hcChmdW5jdGlvbiAoeyBpZCwgdGl0bGUsIGRlc2NyaXB0aW9uLCBhY3Rpb24sIC4uLnByb3BzIH0pIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8VG9hc3Qga2V5PXtpZH0gey4uLnByb3BzfT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBnYXAtMVwiPlxuICAgICAgICAgICAgICB7dGl0bGUgJiYgPFRvYXN0VGl0bGU+e3RpdGxlfTwvVG9hc3RUaXRsZT59XG4gICAgICAgICAgICAgIHtkZXNjcmlwdGlvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFRvYXN0RGVzY3JpcHRpb24+e2Rlc2NyaXB0aW9ufTwvVG9hc3REZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2FjdGlvbn1cbiAgICAgICAgICAgIDxUb2FzdENsb3NlIC8+XG4gICAgICAgICAgPC9Ub2FzdD5cbiAgICAgICAgKVxuICAgICAgfSl9XG4gICAgICA8VG9hc3RWaWV3cG9ydCAvPlxuICAgIDwvVG9hc3RQcm92aWRlcj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlRvYXN0IiwiVG9hc3RDbG9zZSIsIlRvYXN0RGVzY3JpcHRpb24iLCJUb2FzdFByb3ZpZGVyIiwiVG9hc3RUaXRsZSIsIlRvYXN0Vmlld3BvcnQiLCJ1c2VUb2FzdCIsIlRvYXN0ZXIiLCJ0b2FzdHMiLCJtYXAiLCJpZCIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJhY3Rpb24iLCJwcm9wcyIsImRpdiIsImNsYXNzTmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/toaster.tsx\n");
/***/ }),
/***/ "(ssr)/./src/hooks/use-toast.ts":
/*!********************************!*\
!*** ./src/hooks/use-toast.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 */ toast: () => (/* binding */ toast),\n/* harmony export */ useToast: () => (/* binding */ useToast)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/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/* __next_internal_client_entry_do_not_use__ useToast,toast auto */ \nconst TOAST_LIMIT = 3;\nconst TOAST_REMOVE_DELAY = 1000000;\nconst actionTypes = {\n ADD_TOAST: 'ADD_TOAST',\n UPDATE_TOAST: 'UPDATE_TOAST',\n DISMISS_TOAST: 'DISMISS_TOAST',\n REMOVE_TOAST: 'REMOVE_TOAST'\n};\nlet count = 0;\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\nconst reducer = (state, action)=>{\n switch(action.type){\n case actionTypes.ADD_TOAST:\n return {\n ...state,\n toasts: [\n action.toast,\n ...state.toasts\n ].slice(0, TOAST_LIMIT)\n };\n case actionTypes.DISMISS_TOAST:\n {\n const { toastId } = action;\n return {\n ...state,\n toasts: state.toasts.map((toast)=>toast.id === toastId ? {\n ...toast,\n status: 'error'\n } : toast)\n };\n }\n case actionTypes.REMOVE_TOAST:\n return {\n ...state,\n toasts: state.toasts.filter((toast)=>toast.id !== action.toastId)\n };\n }\n};\nconst listeners = [];\nlet memoryState = {\n toasts: []\n};\nfunction dispatch(action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener)=>{\n listener(memoryState);\n });\n}\nfunction toast({ ...props }) {\n const id = genId();\n const update = (props)=>dispatch({\n type: actionTypes.UPDATE_TOAST,\n toast: {\n ...props,\n id\n }\n });\n const dismiss = ()=>dispatch({\n type: actionTypes.DISMISS_TOAST,\n toastId: id\n });\n dispatch({\n type: actionTypes.ADD_TOAST,\n toast: {\n ...props,\n id,\n status: props.status ?? 'info',\n title: props.title,\n description: props.description,\n action: props.action\n }\n });\n return {\n id: id,\n dismiss,\n update\n };\n}\nfunction useToast() {\n const [state, setState] = react__WEBPACK_IMPORTED_MODULE_0__.useState(memoryState);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"useToast.useEffect\": ()=>{\n listeners.push(setState);\n return ({\n \"useToast.useEffect\": ()=>{\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n }\n })[\"useToast.useEffect\"];\n }\n }[\"useToast.useEffect\"], [\n state\n ]);\n return {\n ...state,\n toast,\n dismiss: (toastId)=>dispatch({\n type: actionTypes.DISMISS_TOAST,\n toastId\n })\n };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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b3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvYmlvaGF6YXJkLXZmeC9zcmMvaG9va3MvdXNlLXRvYXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcblxuY29uc3QgVE9BU1RfTElNSVQgPSAzXG5jb25zdCBUT0FTVF9SRU1PVkVfREVMQVkgPSAxMDAwMDAwXG5cbnR5cGUgVG9hc3RlclRvYXN0ID0ge1xuICBpZDogc3RyaW5nXG4gIHRpdGxlPzogUmVhY3QuUmVhY3ROb2RlXG4gIGRlc2NyaXB0aW9uPzogUmVhY3QuUmVhY3ROb2RlXG4gIGFjdGlvbj86IFJlYWN0LlJlYWN0Tm9kZVxuICBzdGF0dXM/OiAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ2luZm8nIHwgJ3dhcm5pbmcnXG59XG5cbmNvbnN0IGFjdGlvblR5cGVzID0ge1xuICBBRERfVE9BU1Q6ICdBRERfVE9BU1QnLFxuICBVUERBVEVfVE9BU1Q6ICdVUERBVEVfVE9BU1QnLFxuICBESVNNSVNTX1RPQVNUOiAnRElTTUlTU19UT0FTVCcsXG4gIFJFTU9WRV9UT0FTVDogJ1JFTU9WRV9UT0FTVCcsXG59IGFzIGNvbnN0XG5cbmxldCBjb3VudCA9IDBcblxuZnVuY3Rpb24gZ2VuSWQoKSB7XG4gIGNvdW50ID0gKGNvdW50ICsgMSkgJSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICByZXR1cm4gY291bnQudG9TdHJpbmcoKVxufVxuXG50eXBlIFN0YXRlID0ge1xuICB0b2FzdHM6IFRvYXN0ZXJUb2FzdFtdXG59XG5cbnR5cGUgQWN0aW9uID1cbiAgfCB7XG4gICAgICB0eXBlOiB0eXBlb2YgYWN0aW9uVHlwZXMuQUREX1RPQVNUXG4gICAgICB0b2FzdDogVG9hc3RlclRvYXN0XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IHR5cGVvZiBhY3Rpb25UeXBlcy5ESVNNSVNTX1RPQVNUXG4gICAgICB0b2FzdElkPzogVG9hc3RlclRvYXN0WydpZCddXG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IHR5cGVvZiBhY3Rpb25UeXBlcy5SRU1PVkVfVE9BU1RcbiAgICAgIHRvYXN0SWQ/OiBUb2FzdGVyVG9hc3RbJ2lkJ11cbiAgICB9XG5cbmNvbnN0IHJlZHVjZXIgPSAoc3RhdGU6IFN0YXRlLCBhY3Rpb246IEFjdGlvbik6IFN0YXRlID0+IHtcbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgIGNhc2UgYWN0aW9uVHlwZXMuQUREX1RPQVNUOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHRvYXN0czogW2FjdGlvbi50b2FzdCwgLi4uc3RhdGUudG9hc3RzXS5zbGljZSgwLCBUT0FTVF9MSU1JVCksXG4gICAgICB9XG5cbiAgICBjYXNlIGFjdGlvblR5cGVzLkRJU01JU1NfVE9BU1Q6IHtcbiAgICAgIGNvbnN0IHsgdG9hc3RJZCB9ID0gYWN0aW9uXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICB0b2FzdHM6IHN0YXRlLnRvYXN0cy5tYXAoKHRvYXN0KSA9PlxuICAgICAgICAgIHRvYXN0LmlkID09PSB0b2FzdElkID8geyAuLi50b2FzdCwgc3RhdHVzOiAnZXJyb3InIH0gOiB0b2FzdFxuICAgICAgICApLFxuICAgICAgfVxuICAgIH1cbiAgICBjYXNlIGFjdGlvblR5cGVzLlJFTU9WRV9UT0FTVDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICB0b2FzdHM6IHN0YXRlLnRvYXN0cy5maWx0ZXIoKHRvYXN0KSA9PiB0b2FzdC5pZCAhPT0gYWN0aW9uLnRvYXN0SWQpLFxuICAgICAgfVxuICB9XG59XG5cbmNvbnN0IGxpc3RlbmVyczogQXJyYXk8KHN0YXRlOiBTdGF0ZSkgPT4gdm9pZD4gPSBbXVxuXG5sZXQgbWVtb3J5U3RhdGU6IFN0YXRlID0geyB0b2FzdHM6IFtdIH1cblxuZnVuY3Rpb24gZGlzcGF0Y2goYWN0aW9uOiBBY3Rpb24pIHtcbiAgbWVtb3J5U3RhdGUgPSByZWR1Y2VyKG1lbW9yeVN0YXRlLCBhY3Rpb24pXG4gIGxpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcikgPT4ge1xuICAgIGxpc3RlbmVyKG1lbW9yeVN0YXRlKVxuICB9KVxufVxuXG5mdW5jdGlvbiB0b2FzdCh7IC4uLnByb3BzIH06IFRvYXN0ZXJUb2FzdCkge1xuICBjb25zdCBpZCA9IGdlbklkKClcblxuICBjb25zdCB1cGRhdGUgPSAocHJvcHM/OiBUb2FzdGVyVG9hc3QpID0+XG4gICAgZGlzcGF0Y2goe1xuICAgICAgdHlwZTogYWN0aW9uVHlwZXMuVVBEQVRFX1RPQVNULFxuICAgICAgdG9hc3Q6IHsgLi4ucHJvcHMsIGlkIH0sXG4gICAgfSlcblxuICBjb25zdCBkaXNtaXNzID0gKCkgPT5cbiAgICBkaXNwYXRjaCh7IHR5cGU6IGFjdGlvblR5cGVzLkRJU01JU1NfVE9BU1QsIHRvYXN0SWQ6IGlkIH0pXG5cbiAgZGlzcGF0Y2goe1xuICAgIHR5cGU6IGFjdGlvblR5cGVzLkFERF9UT0FTVCxcbiAgICB0b2FzdDoge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBpZCxcbiAgICAgIHN0YXR1czogcHJvcHMuc3RhdHVzID8/ICdpbmZvJyxcbiAgICAgIHRpdGxlOiBwcm9wcy50aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIGFjdGlvbjogcHJvcHMuYWN0aW9uLFxuICAgIH0sXG4gIH0pXG5cbiAgcmV0dXJuIHtcbiAgICBpZDogaWQsXG4gICAgZGlzbWlzcyxcbiAgICB1cGRhdGUsXG4gIH1cbn1cblxuZnVuY3Rpb24gdXNlVG9hc3QoKSB7XG4gIGNvbnN0IFtzdGF0ZSwgc2V0U3RhdGVdID0gUmVhY3QudXNlU3RhdGU8U3RhdGU+KG1lbW9yeVN0YXRlKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGlzdGVuZXJzLnB1c2goc2V0U3RhdGUpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gbGlzdGVuZXJzLmluZGV4T2Yoc2V0U3RhdGUpXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICBsaXN0ZW5lcnMuc3BsaWNlKGluZGV4LCAxKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW3N0YXRlXSlcblxuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIHRvYXN0LFxuICAgIGRpc21pc3M6ICh0b2FzdElkPzogc3RyaW5nKSA9PlxuICAgICAgZGlzcGF0Y2goeyB0eXBlOiBhY3Rpb25UeXBlcy5ESVNNSVNTX1RPQVNULCB0b2FzdElkIH0pLFxuICB9XG59XG5cbmV4cG9ydCB7IHVzZVRvYXN0LCB0b2FzdCB9XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJUT0FTVF9MSU1JVCIsIlRPQVNUX1JFTU9WRV9ERUxBWSIsImFjdGlvblR5cGVzIiwiQUREX1RPQVNUIiwiVVBEQVRFX1RPQVNUIiwiRElTTUlTU19UT0FTVCIsIlJFTU9WRV9UT0FTVCIsImNvdW50IiwiZ2VuSWQiLCJOdW1iZXIiLCJNQVhfU0FGRV9JTlRFR0VSIiwidG9TdHJpbmciLCJyZWR1Y2VyIiwic3RhdGUiLCJhY3Rpb24iLCJ0eXBlIiwidG9hc3RzIiwidG9hc3QiLCJzbGljZSIsInRvYXN0SWQiLCJtYXAiLCJpZCIsInN0YXR1cyIsImZpbHRlciIsImxpc3RlbmVycyIsIm1lbW9yeVN0YXRlIiwiZGlzcGF0Y2giLCJmb3JFYWNoIiwibGlzdGVuZXIiLCJwcm9wcyIsInVwZGF0ZSIsImRpc21pc3MiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwidXNlVG9hc3QiLCJzZXRTdGF0ZSIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwicHVzaCIsImluZGV4IiwiaW5kZXhPZiIsInNwbGljZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/hooks/use-toast.ts\n");
/***/ }),
/***/ "(ssr)/./src/lib/uploadthing.ts":
/*!********************************!*\
!*** ./src/lib/uploadthing.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 */ uploadFiles: () => (/* binding */ uploadFiles),\n/* harmony export */ useUploadThing: () => (/* binding */ useUploadThing)\n/* harmony export */ });\n/* harmony import */ var _uploadthing_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @uploadthing/react */ \"(ssr)/./node_modules/@uploadthing/react/dist/use-uploadthing-be6B2S--.js\");\n\nconst { useUploadThing, uploadFiles } = (0,_uploadthing_react__WEBPACK_IMPORTED_MODULE_0__.generateReactHelpers)();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3VwbG9hZHRoaW5nLnRzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUF5RDtBQUlsRCxNQUFNLEVBQUVDLGNBQWMsRUFBRUMsV0FBVyxFQUFFLEdBQzFDRix3RUFBb0JBLEdBQWlCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL2Jpb2hhemFyZC12Zngvc3JjL2xpYi91cGxvYWR0aGluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZW5lcmF0ZVJlYWN0SGVscGVycyB9IGZyb20gJ0B1cGxvYWR0aGluZy9yZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBPdXJGaWxlUm91dGVyIH0gZnJvbSAnQC9hcHAvYXBpL3VwbG9hZHRoaW5nL2NvcmUnXG5cbmV4cG9ydCBjb25zdCB7IHVzZVVwbG9hZFRoaW5nLCB1cGxvYWRGaWxlcyB9ID1cbiAgZ2VuZXJhdGVSZWFjdEhlbHBlcnM8T3VyRmlsZVJvdXRlcj4oKVxuIl0sIm5hbWVzIjpbImdlbmVyYXRlUmVhY3RIZWxwZXJzIiwidXNlVXBsb2FkVGhpbmciLCJ1cGxvYWRGaWxlcyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/uploadthing.ts\n");
/***/ }),
/***/ "(ssr)/./src/lib/utils.ts":
/*!**************************!*\
!*** ./src/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3V0aWxzLnRzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE0QztBQUNKO0FBRWpDLFNBQVNFLEdBQUcsR0FBR0MsTUFBb0I7SUFDeEMsT0FBT0YsdURBQU9BLENBQUNELDBDQUFJQSxDQUFDRztBQUN0QiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9iaW9oYXphcmQtdmZ4L3NyYy9saWIvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDbGFzc1ZhbHVlLCBjbHN4IH0gZnJvbSAnY2xzeCdcbmltcG9ydCB7IHR3TWVyZ2UgfSBmcm9tICd0YWlsd2luZC1tZXJnZSdcblxuZXhwb3J0IGZ1bmN0aW9uIGNuKC4uLmlucHV0czogQ2xhc3NWYWx1ZVtdKSB7XG4gIHJldHVybiB0d01lcmdlKGNsc3goaW5wdXRzKSlcbn1cbiJdLCJuYW1lcyI6WyJjbHN4IiwidHdNZXJnZSIsImNuIiwiaW5wdXRzIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/utils.ts\n");
/***/ }),
/***/ "../app-render/action-async-storage.external":
/*!*******************************************************************************!*\
!*** external "next/dist/server/app-render/action-async-storage.external.js" ***!
\*******************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/server/app-render/action-async-storage.external.js");
/***/ }),
/***/ "../app-render/after-task-async-storage.external":
/*!***********************************************************************************!*\
!*** external "next/dist/server/app-render/after-task-async-storage.external.js" ***!
\***********************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js");
/***/ }),
/***/ "../app-render/dynamic-access-async-storage.external":
/*!***************************************************************************************!*\
!*** external "next/dist/server/app-render/dynamic-access-async-storage.external.js" ***!
\***************************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/server/app-render/dynamic-access-async-storage.external.js");
/***/ }),
/***/ "./work-async-storage.external":
/*!*****************************************************************************!*\
!*** external "next/dist/server/app-render/work-async-storage.external.js" ***!
\*****************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/server/app-render/work-async-storage.external.js");
/***/ }),
/***/ "./work-unit-async-storage.external":
/*!**********************************************************************************!*\
!*** external "next/dist/server/app-render/work-unit-async-storage.external.js" ***!
\**********************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/server/app-render/work-unit-async-storage.external.js");
/***/ }),
/***/ "module":
/*!*************************!*\
!*** external "module" ***!
\*************************/
/***/ ((module) => {
"use strict";
module.exports = require("module");
/***/ }),
/***/ "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");
/***/ }),
/***/ "next/dist/shared/lib/no-fallback-error.external":
/*!******************************************************************!*\
!*** external "next/dist/shared/lib/no-fallback-error.external" ***!
\******************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/shared/lib/no-fallback-error.external");
/***/ }),
/***/ "next/dist/shared/lib/router/utils/app-paths":
/*!**************************************************************!*\
!*** external "next/dist/shared/lib/router/utils/app-paths" ***!
\**************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/shared/lib/router/utils/app-paths");
/***/ }),
/***/ "next/dist/shared/lib/router/utils/is-bot":
/*!***********************************************************!*\
!*** external "next/dist/shared/lib/router/utils/is-bot" ***!
\***********************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/shared/lib/router/utils/is-bot");
/***/ }),
/***/ "path":
/*!***********************!*\
!*** external "path" ***!
\***********************/
/***/ ((module) => {
"use strict";
module.exports = require("path");
/***/ }),
/***/ "util":
/*!***********************!*\
!*** external "util" ***!
\***********************/
/***/ ((module) => {
"use strict";
module.exports = require("util");
/***/ })
};
;
// 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/@swc","vendor-chunks/next-auth","vendor-chunks/@babel","vendor-chunks/@radix-ui","vendor-chunks/tailwind-merge","vendor-chunks/next-themes","vendor-chunks/class-variance-authority","vendor-chunks/clsx","vendor-chunks/effect","vendor-chunks/@uploadthing","vendor-chunks/uploadthing","vendor-chunks/sqids"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fadmin%2Fprojects%2Fpage&page=%2Fadmin%2Fprojects%2Fpage&appPaths=%2Fadmin%2Fprojects%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fprojects%2Fpage.tsx&appDir=%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2Fhome%2FNicholai%2FNextcloud%2FDev%2FBiohazardVFX_Website%2Fbiohazard-vfx&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=!")));
module.exports = __webpack_exports__;
})();