Correspondents/.next/static/webpack/app/page.78ef8fbf0180ff84.hot-update.js
2025-11-14 06:32:36 -07:00

22 lines
24 KiB
JavaScript

"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("app/page",{
/***/ "(app-pages-browser)/./src/app/page.tsx":
/*!**************************!*\
!*** ./src/app/page.tsx ***!
\**************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Home)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@15.5.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! framer-motion */ \"(app-pages-browser)/./node_modules/.pnpm/framer-motion@12.23.24_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs\");\n/* harmony import */ var _components_chat_interface__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/chat-interface */ \"(app-pages-browser)/./src/components/chat-interface.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n\nfunction Home() {\n _s();\n const [selectedAgent, setSelectedAgent] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [isLoading, setIsLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [agents, setAgents] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [agentsError, setAgentsError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [isAgentsLoading, setIsAgentsLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"Home.useEffect\": ()=>{\n // Try to load previously selected agent from localStorage\n const savedAgent = localStorage.getItem(\"selected-agent\");\n if (savedAgent) {\n try {\n const agent = JSON.parse(savedAgent);\n setSelectedAgent(agent);\n } catch (err) {\n console.error(\"[home] Failed to load saved agent:\", err);\n }\n }\n setIsLoading(false);\n }\n }[\"Home.useEffect\"], []);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"Home.useEffect\": ()=>{\n const fetchAgents = {\n \"Home.useEffect.fetchAgents\": async ()=>{\n try {\n setIsAgentsLoading(true);\n setAgentsError(null);\n const response = await fetch(\"/api/agents\");\n const data = await response.json();\n if (!response.ok || !data.agents) {\n throw new Error(data.error || \"Failed to load agents\");\n }\n setAgents(data.agents);\n } catch (err) {\n setAgents([]);\n setAgentsError(err instanceof Error ? err.message : \"Failed to load agents\");\n } finally{\n setIsAgentsLoading(false);\n }\n }\n }[\"Home.useEffect.fetchAgents\"];\n fetchAgents();\n }\n }[\"Home.useEffect\"], []);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"Home.useEffect\": ()=>{\n if (!selectedAgent || agents.length === 0) return;\n const match = agents.find({\n \"Home.useEffect.match\": (agent)=>agent.id === selectedAgent.id\n }[\"Home.useEffect.match\"]);\n if (!match) {\n setSelectedAgent(null);\n localStorage.removeItem(\"selected-agent\");\n localStorage.removeItem(\"selected-agent-id\");\n return;\n }\n if (match.name !== selectedAgent.name || match.description !== selectedAgent.description) {\n setSelectedAgent(match);\n localStorage.setItem(\"selected-agent-id\", match.id);\n localStorage.setItem(\"selected-agent\", JSON.stringify(match));\n }\n }\n }[\"Home.useEffect\"], [\n agents,\n selectedAgent\n ]);\n const handleAgentSelected = (agent)=>{\n setSelectedAgent(agent);\n localStorage.setItem(\"selected-agent-id\", agent.id);\n localStorage.setItem(\"selected-agent\", JSON.stringify(agent));\n };\n if (isLoading) {\n return null // Avoid hydration mismatch\n ;\n }\n // If no agent is selected but we have agents loaded, select the first one\n // This ensures we always show the ChatInterface with its beautiful selection UI\n const activeAgent = selectedAgent || (agents.length > 0 ? agents[0] : null);\n if (!activeAgent) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_3__.motion.div, {\n className: \"gallery-shell\",\n initial: {\n opacity: 0,\n y: 25\n },\n animate: {\n opacity: 1,\n y: 0\n },\n transition: {\n duration: 0.9,\n ease: \"easeOut\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex min-h-screen flex-col items-center justify-center gap-4 px-6 text-center\",\n children: agentsError ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-destructive\",\n children: agentsError\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 99,\n columnNumber: 13\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm uppercase tracking-[0.2em] text-muted-foreground\",\n children: \"Loading agents...\"\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 101,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 97,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 91,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_3__.motion.div, {\n className: \"gallery-shell\",\n initial: {\n opacity: 0,\n y: 25\n },\n animate: {\n opacity: 1,\n y: 0\n },\n transition: {\n duration: 0.9,\n ease: \"easeOut\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex min-h-screen flex-col\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1 px-3 py-4 sm:px-6 sm:py-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex max-w-5xl justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_chat_interface__WEBPACK_IMPORTED_MODULE_2__.ChatInterface, {\n agent: activeAgent,\n agents: agents,\n onAgentSelected: handleAgentSelected,\n isAgentsLoading: isAgentsLoading\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 121,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 120,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 119,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 118,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 117,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 111,\n columnNumber: 5\n }, this);\n}\n_s(Home, \"nAu8aLC/dMIdZ+hKvHcjNKcIu8Y=\");\n_c = Home;\nvar _c;\n$RefreshReg$(_c, \"Home\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0FBQ2lDLGFBQWE7UUFDaEIscUJBQ0UsOERBQUN4QyxpREFBTUEsQ0FBQ3lDLEdBQUc7WUFDVEMsV0FBVTtZQUNWQyxTQUFTO2dCQUFFQyxTQUFTO2dCQUFHQyxHQUFHO1lBQUc7WUFDN0JDLFNBQVM7Z0JBQUVGLFNBQVM7Z0JBQUdDLEdBQUc7WUFBRTtZQUM1QkUsWUFBWTtnQkFBRUMsVUFBVTtnQkFBS0MsTUFBTTtZQUFVO3NCQUU3Qyw0RUFBQ1I7Z0JBQUlDLFdBQVU7MEJBQ1pqQyw0QkFDQyw4REFBQ3lDO29CQUFFUixXQUFVOzhCQUE0QmpDOzs7Ozt5Q0FFekMsOERBQUN5QztvQkFBRVIsV0FBVTs4QkFBMkQ7Ozs7Ozs7Ozs7Ozs7Ozs7SUFPbEY7SUFFQSxxQkFDRSw4REFBQzFDLGlEQUFNQSxDQUFDeUMsR0FBRztRQUNUQyxXQUFVO1FBQ1ZDLFNBQVM7WUFBRUMsU0FBUztZQUFHQyxHQUFHO1FBQUc7UUFDN0JDLFNBQVM7WUFBRUYsU0FBUztZQUFHQyxHQUFHO1FBQUU7UUFDNUJFLFlBQVk7WUFBRUMsVUFBVTtZQUFLQyxNQUFNO1FBQVU7a0JBRTdDLDRFQUFDUjtZQUFJQyxXQUFVO3NCQUNiLDRFQUFDUztnQkFBS1QsV0FBVTswQkFDZCw0RUFBQ0Q7b0JBQUlDLFdBQVU7OEJBQ2IsNEVBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDekMscUVBQWFBOzRCQUNaZSxPQUFPd0I7NEJBQ1BqQyxRQUFRQTs0QkFDUjZDLGlCQUFpQmI7NEJBQ2pCNUIsaUJBQWlCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFqQztHQTdId0JUO0tBQUFBIiwic291cmNlcyI6WyIvaG9tZS9uaWNob2xhaS9Eb2N1bWVudHMvZGV2L211bHRpLWFnZW50X2NoYXRfaW50ZXJmYWNlL3NyYy9hcHAvcGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcblxuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgeyBtb3Rpb24gfSBmcm9tIFwiZnJhbWVyLW1vdGlvblwiXG5pbXBvcnQgeyBDaGF0SW50ZXJmYWNlIH0gZnJvbSBcIkAvY29tcG9uZW50cy9jaGF0LWludGVyZmFjZVwiXG5pbXBvcnQgdHlwZSB7IEFnZW50IH0gZnJvbSBcIkAvbGliL3R5cGVzXCJcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSG9tZSgpIHtcbiAgY29uc3QgW3NlbGVjdGVkQWdlbnQsIHNldFNlbGVjdGVkQWdlbnRdID0gdXNlU3RhdGU8QWdlbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSlcbiAgY29uc3QgW2FnZW50cywgc2V0QWdlbnRzXSA9IHVzZVN0YXRlPEFnZW50W10+KFtdKVxuICBjb25zdCBbYWdlbnRzRXJyb3IsIHNldEFnZW50c0Vycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtpc0FnZW50c0xvYWRpbmcsIHNldElzQWdlbnRzTG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gVHJ5IHRvIGxvYWQgcHJldmlvdXNseSBzZWxlY3RlZCBhZ2VudCBmcm9tIGxvY2FsU3RvcmFnZVxuICAgIGNvbnN0IHNhdmVkQWdlbnQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInNlbGVjdGVkLWFnZW50XCIpXG5cbiAgICBpZiAoc2F2ZWRBZ2VudCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgYWdlbnQgPSBKU09OLnBhcnNlKHNhdmVkQWdlbnQpXG4gICAgICAgIHNldFNlbGVjdGVkQWdlbnQoYWdlbnQpXG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIltob21lXSBGYWlsZWQgdG8gbG9hZCBzYXZlZCBhZ2VudDpcIiwgZXJyKVxuICAgICAgfVxuICAgIH1cblxuICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBmZXRjaEFnZW50cyA9IGFzeW5jICgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHNldElzQWdlbnRzTG9hZGluZyh0cnVlKVxuICAgICAgICBzZXRBZ2VudHNFcnJvcihudWxsKVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFwiL2FwaS9hZ2VudHNcIilcbiAgICAgICAgY29uc3QgZGF0YSA9IChhd2FpdCByZXNwb25zZS5qc29uKCkpIGFzIHsgYWdlbnRzPzogdW5rbm93bjsgZXJyb3I/OiBzdHJpbmcgfVxuXG4gICAgICAgIGlmICghcmVzcG9uc2Uub2sgfHwgIWRhdGEuYWdlbnRzKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGRhdGEuZXJyb3IgfHwgXCJGYWlsZWQgdG8gbG9hZCBhZ2VudHNcIilcbiAgICAgICAgfVxuXG4gICAgICAgIHNldEFnZW50cyhkYXRhLmFnZW50cyBhcyB0eXBlb2YgYWdlbnRzKVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHNldEFnZW50cyhbXSlcbiAgICAgICAgc2V0QWdlbnRzRXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IFwiRmFpbGVkIHRvIGxvYWQgYWdlbnRzXCIpXG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRJc0FnZW50c0xvYWRpbmcoZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZmV0Y2hBZ2VudHMoKVxuICB9LCBbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghc2VsZWN0ZWRBZ2VudCB8fCBhZ2VudHMubGVuZ3RoID09PSAwKSByZXR1cm5cbiAgICBjb25zdCBtYXRjaCA9IGFnZW50cy5maW5kKChhZ2VudCkgPT4gYWdlbnQuaWQgPT09IHNlbGVjdGVkQWdlbnQuaWQpXG4gICAgaWYgKCFtYXRjaCkge1xuICAgICAgc2V0U2VsZWN0ZWRBZ2VudChudWxsKVxuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJzZWxlY3RlZC1hZ2VudFwiKVxuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJzZWxlY3RlZC1hZ2VudC1pZFwiKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgbWF0Y2gubmFtZSAhPT0gc2VsZWN0ZWRBZ2VudC5uYW1lIHx8XG4gICAgICBtYXRjaC5kZXNjcmlwdGlvbiAhPT0gc2VsZWN0ZWRBZ2VudC5kZXNjcmlwdGlvblxuICAgICkge1xuICAgICAgc2V0U2VsZWN0ZWRBZ2VudChtYXRjaClcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwic2VsZWN0ZWQtYWdlbnQtaWRcIiwgbWF0Y2guaWQpXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInNlbGVjdGVkLWFnZW50XCIsIEpTT04uc3RyaW5naWZ5KG1hdGNoKSlcbiAgICB9XG4gIH0sIFthZ2VudHMsIHNlbGVjdGVkQWdlbnRdKVxuXG4gIGNvbnN0IGhhbmRsZUFnZW50U2VsZWN0ZWQgPSAoYWdlbnQ6IEFnZW50KSA9PiB7XG4gICAgc2V0U2VsZWN0ZWRBZ2VudChhZ2VudClcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInNlbGVjdGVkLWFnZW50LWlkXCIsIGFnZW50LmlkKVxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwic2VsZWN0ZWQtYWdlbnRcIiwgSlNPTi5zdHJpbmdpZnkoYWdlbnQpKVxuICB9XG5cbiAgaWYgKGlzTG9hZGluZykge1xuICAgIHJldHVybiBudWxsIC8vIEF2b2lkIGh5ZHJhdGlvbiBtaXNtYXRjaFxuICB9XG5cbiAgLy8gSWYgbm8gYWdlbnQgaXMgc2VsZWN0ZWQgYnV0IHdlIGhhdmUgYWdlbnRzIGxvYWRlZCwgc2VsZWN0IHRoZSBmaXJzdCBvbmVcbiAgLy8gVGhpcyBlbnN1cmVzIHdlIGFsd2F5cyBzaG93IHRoZSBDaGF0SW50ZXJmYWNlIHdpdGggaXRzIGJlYXV0aWZ1bCBzZWxlY3Rpb24gVUlcbiAgY29uc3QgYWN0aXZlQWdlbnQgPSBzZWxlY3RlZEFnZW50IHx8IChhZ2VudHMubGVuZ3RoID4gMCA/IGFnZW50c1swXSA6IG51bGwpXG5cbiAgaWYgKCFhY3RpdmVBZ2VudCkge1xuICAgIHJldHVybiAoXG4gICAgICA8bW90aW9uLmRpdlxuICAgICAgICBjbGFzc05hbWU9XCJnYWxsZXJ5LXNoZWxsXCJcbiAgICAgICAgaW5pdGlhbD17eyBvcGFjaXR5OiAwLCB5OiAyNSB9fVxuICAgICAgICBhbmltYXRlPXt7IG9wYWNpdHk6IDEsIHk6IDAgfX1cbiAgICAgICAgdHJhbnNpdGlvbj17eyBkdXJhdGlvbjogMC45LCBlYXNlOiBcImVhc2VPdXRcIiB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggbWluLWgtc2NyZWVuIGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtNCBweC02IHRleHQtY2VudGVyXCI+XG4gICAgICAgICAge2FnZW50c0Vycm9yID8gKFxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWRlc3RydWN0aXZlXCI+e2FnZW50c0Vycm9yfTwvcD5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMmVtXSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj5cbiAgICAgICAgICAgICAgTG9hZGluZyBhZ2VudHMuLi5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbW90aW9uLmRpdj5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxtb3Rpb24uZGl2XG4gICAgICBjbGFzc05hbWU9XCJnYWxsZXJ5LXNoZWxsXCJcbiAgICAgIGluaXRpYWw9e3sgb3BhY2l0eTogMCwgeTogMjUgfX1cbiAgICAgIGFuaW1hdGU9e3sgb3BhY2l0eTogMSwgeTogMCB9fVxuICAgICAgdHJhbnNpdGlvbj17eyBkdXJhdGlvbjogMC45LCBlYXNlOiBcImVhc2VPdXRcIiB9fVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBtaW4taC1zY3JlZW4gZmxleC1jb2xcIj5cbiAgICAgICAgPG1haW4gY2xhc3NOYW1lPVwiZmxleC0xIHB4LTMgcHktNCBzbTpweC02IHNtOnB5LTZcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gZmxleCBtYXgtdy01eGwganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsXCI+XG4gICAgICAgICAgICAgIDxDaGF0SW50ZXJmYWNlXG4gICAgICAgICAgICAgICAgYWdlbnQ9e2FjdGl2ZUFnZW50fVxuICAgICAgICAgICAgICAgIGFnZW50cz17YWdlbnRzfVxuICAgICAgICAgICAgICAgIG9uQWdlbnRTZWxlY3RlZD17aGFuZGxlQWdlbnRTZWxlY3RlZH1cbiAgICAgICAgICAgICAgICBpc0FnZW50c0xvYWRpbmc9e2lzQWdlbnRzTG9hZGluZ31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21haW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L21vdGlvbi5kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIm1vdGlvbiIsIkNoYXRJbnRlcmZhY2UiLCJIb21lIiwic2VsZWN0ZWRBZ2VudCIsInNldFNlbGVjdGVkQWdlbnQiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJhZ2VudHMiLCJzZXRBZ2VudHMiLCJhZ2VudHNFcnJvciIsInNldEFnZW50c0Vycm9yIiwiaXNBZ2VudHNMb2FkaW5nIiwic2V0SXNBZ2VudHNMb2FkaW5nIiwic2F2ZWRBZ2VudCIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJhZ2VudCIsIkpTT04iLCJwYXJzZSIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImZldGNoQWdlbnRzIiwicmVzcG9uc2UiLCJmZXRjaCIsImRhdGEiLCJqc29uIiwib2siLCJFcnJvciIsIm1lc3NhZ2UiLCJsZW5ndGgiLCJtYXRjaCIsImZpbmQiLCJpZCIsInJlbW92ZUl0ZW0iLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJzZXRJdGVtIiwic3RyaW5naWZ5IiwiaGFuZGxlQWdlbnRTZWxlY3RlZCIsImFjdGl2ZUFnZW50IiwiZGl2IiwiY2xhc3NOYW1lIiwiaW5pdGlhbCIsIm9wYWNpdHkiLCJ5IiwiYW5pbWF0ZSIsInRyYW5zaXRpb24iLCJkdXJhdGlvbiIsImVhc2UiLCJwIiwibWFpbiIsIm9uQWdlbnRTZWxlY3RlZCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/app/page.tsx\n"));
/***/ })
});