22 lines
26 KiB
JavaScript
22 lines
26 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 _components_chat_interface__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/chat-interface */ \"(app-pages-browser)/./src/components/chat-interface.tsx\");\n/* harmony import */ var _components_header__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/header */ \"(app-pages-browser)/./src/components/header.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 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)(\"div\", {\n className: \"gallery-shell\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex min-h-screen flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_header__WEBPACK_IMPORTED_MODULE_3__.Header, {\n agent: selectedAgent,\n agents: agents,\n onAgentSelected: handleAgentSelected,\n isLoadingAgents: isAgentsLoading\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 89,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1 overflow-hidden px-3 py-4 sm:px-6 sm:py-8\",\n children: selectedAgent ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex h-full max-w-5xl justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-full 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: selectedAgent\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 99,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 98,\n columnNumber: 17\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: 15\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex h-full flex-col items-center justify-center gap-4 px-6 text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"max-w-sm text-sm uppercase tracking-[0.2em] text-muted-foreground\",\n children: \"Select a correspondent from the switch above to begin\"\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 104,\n columnNumber: 17\n }, this),\n 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: 108,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 103,\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: 95,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 88,\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: 87,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"footer\", {\n className: \"py-6 text-center text-xs uppercase tracking-[0.3em] text-muted-foreground\",\n children: [\n \"\\xa9 \",\n new Date().getFullYear(),\n \" Nicholai Vogel \\xb7\",\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"https://www.instagram.com/nicholai.exe\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"text-white hover:text-burnt\",\n children: \"@nicholai.exe\"\n }, void 0, false, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 119,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/nicholai/Documents/dev/multi-agent_chat_interface/src/app/page.tsx\",\n lineNumber: 117,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\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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aUJBQWlCSDs0QkFDakJJLGlCQUFpQmhDOzs7Ozs7c0NBRW5CLDhEQUFDaUM7NEJBQUtILFdBQVU7c0NBQ2J0Qyw4QkFDQyw4REFBQ3FDO2dDQUFJQyxXQUFVOzBDQUNiLDRFQUFDRDtvQ0FBSUMsV0FBVTs4Q0FDYiw0RUFBQ3pDLHFFQUFhQTt3Q0FBQ2dCLE9BQU9iOzs7Ozs7Ozs7Ozs7Ozs7cURBSTFCLDhEQUFDcUM7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDSTt3Q0FBRUosV0FBVTtrREFBb0U7Ozs7OztvQ0FHaEZoQyw2QkFDQyw4REFBQ29DO3dDQUFFSixXQUFVO2tEQUNWaEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBUWYsOERBQUNxQztnQkFBT0wsV0FBVTs7b0JBQTRFO29CQUN6RixJQUFJTSxPQUFPQyxXQUFXO29CQUFHO29CQUFrQjtrQ0FDOUMsOERBQUNDO3dCQUNDQyxNQUFLO3dCQUNMQyxRQUFPO3dCQUNQQyxLQUFJO3dCQUNKWCxXQUFVO2tDQUNYOzs7Ozs7Ozs7Ozs7OztBQU1UO0dBMUh3QnZDO0tBQUFBIiwic291cmNlcyI6WyIvaG9tZS9uaWNob2xhaS9Eb2N1bWVudHMvZGV2L211bHRpLWFnZW50X2NoYXRfaW50ZXJmYWNlL3NyYy9hcHAvcGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcblxuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgeyBDaGF0SW50ZXJmYWNlIH0gZnJvbSBcIkAvY29tcG9uZW50cy9jaGF0LWludGVyZmFjZVwiXG5pbXBvcnQgeyBIZWFkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL2hlYWRlclwiXG5pbXBvcnQgdHlwZSB7IEFnZW50IH0gZnJvbSBcIkAvbGliL3R5cGVzXCJcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSG9tZSgpIHtcbiAgY29uc3QgW3NlbGVjdGVkQWdlbnQsIHNldFNlbGVjdGVkQWdlbnRdID0gdXNlU3RhdGU8QWdlbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSlcbiAgY29uc3QgW2FnZW50cywgc2V0QWdlbnRzXSA9IHVzZVN0YXRlPEFnZW50W10+KFtdKVxuICBjb25zdCBbYWdlbnRzRXJyb3IsIHNldEFnZW50c0Vycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtpc0FnZW50c0xvYWRpbmcsIHNldElzQWdlbnRzTG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gVHJ5IHRvIGxvYWQgcHJldmlvdXNseSBzZWxlY3RlZCBhZ2VudCBmcm9tIGxvY2FsU3RvcmFnZVxuICAgIGNvbnN0IHNhdmVkQWdlbnQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInNlbGVjdGVkLWFnZW50XCIpXG5cbiAgICBpZiAoc2F2ZWRBZ2VudCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgYWdlbnQgPSBKU09OLnBhcnNlKHNhdmVkQWdlbnQpXG4gICAgICAgIHNldFNlbGVjdGVkQWdlbnQoYWdlbnQpXG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIltob21lXSBGYWlsZWQgdG8gbG9hZCBzYXZlZCBhZ2VudDpcIiwgZXJyKVxuICAgICAgfVxuICAgIH1cblxuICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBmZXRjaEFnZW50cyA9IGFzeW5jICgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHNldElzQWdlbnRzTG9hZGluZyh0cnVlKVxuICAgICAgICBzZXRBZ2VudHNFcnJvcihudWxsKVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFwiL2FwaS9hZ2VudHNcIilcbiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuXG4gICAgICAgIGlmICghcmVzcG9uc2Uub2sgfHwgIWRhdGEuYWdlbnRzKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGRhdGEuZXJyb3IgfHwgXCJGYWlsZWQgdG8gbG9hZCBhZ2VudHNcIilcbiAgICAgICAgfVxuXG4gICAgICAgIHNldEFnZW50cyhkYXRhLmFnZW50cylcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBzZXRBZ2VudHMoW10pXG4gICAgICAgIHNldEFnZW50c0Vycm9yKGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiBcIkZhaWxlZCB0byBsb2FkIGFnZW50c1wiKVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0SXNBZ2VudHNMb2FkaW5nKGZhbHNlKVxuICAgICAgfVxuICAgIH1cblxuICAgIGZldGNoQWdlbnRzKClcbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXNlbGVjdGVkQWdlbnQgfHwgYWdlbnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuXG4gICAgY29uc3QgbWF0Y2ggPSBhZ2VudHMuZmluZCgoYWdlbnQpID0+IGFnZW50LmlkID09PSBzZWxlY3RlZEFnZW50LmlkKVxuICAgIGlmICghbWF0Y2gpIHtcbiAgICAgIHNldFNlbGVjdGVkQWdlbnQobnVsbClcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwic2VsZWN0ZWQtYWdlbnRcIilcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwic2VsZWN0ZWQtYWdlbnQtaWRcIilcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIG1hdGNoLm5hbWUgIT09IHNlbGVjdGVkQWdlbnQubmFtZSB8fFxuICAgICAgbWF0Y2guZGVzY3JpcHRpb24gIT09IHNlbGVjdGVkQWdlbnQuZGVzY3JpcHRpb25cbiAgICApIHtcbiAgICAgIHNldFNlbGVjdGVkQWdlbnQobWF0Y2gpXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInNlbGVjdGVkLWFnZW50LWlkXCIsIG1hdGNoLmlkKVxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJzZWxlY3RlZC1hZ2VudFwiLCBKU09OLnN0cmluZ2lmeShtYXRjaCkpXG4gICAgfVxuICB9LCBbYWdlbnRzLCBzZWxlY3RlZEFnZW50XSlcblxuICBjb25zdCBoYW5kbGVBZ2VudFNlbGVjdGVkID0gKGFnZW50OiBBZ2VudCkgPT4ge1xuICAgIHNldFNlbGVjdGVkQWdlbnQoYWdlbnQpXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJzZWxlY3RlZC1hZ2VudC1pZFwiLCBhZ2VudC5pZClcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInNlbGVjdGVkLWFnZW50XCIsIEpTT04uc3RyaW5naWZ5KGFnZW50KSlcbiAgfVxuXG4gIGlmIChpc0xvYWRpbmcpIHtcbiAgICByZXR1cm4gbnVsbCAvLyBBdm9pZCBoeWRyYXRpb24gbWlzbWF0Y2hcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ2FsbGVyeS1zaGVsbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggbWluLWgtc2NyZWVuIGZsZXgtY29sXCI+XG4gICAgICAgICAgPEhlYWRlclxuICAgICAgICAgICAgYWdlbnQ9e3NlbGVjdGVkQWdlbnR9XG4gICAgICAgICAgICBhZ2VudHM9e2FnZW50c31cbiAgICAgICAgICAgIG9uQWdlbnRTZWxlY3RlZD17aGFuZGxlQWdlbnRTZWxlY3RlZH1cbiAgICAgICAgICAgIGlzTG9hZGluZ0FnZW50cz17aXNBZ2VudHNMb2FkaW5nfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPG1haW4gY2xhc3NOYW1lPVwiZmxleC0xIG92ZXJmbG93LWhpZGRlbiBweC0zIHB5LTQgc206cHgtNiBzbTpweS04XCI+XG4gICAgICAgICAgICB7c2VsZWN0ZWRBZ2VudCA/IChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIGZsZXggaC1mdWxsIG1heC13LTV4bCBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaC1mdWxsIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgPENoYXRJbnRlcmZhY2UgYWdlbnQ9e3NlbGVjdGVkQWdlbnR9IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGgtZnVsbCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTQgcHgtNiB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm1heC13LXNtIHRleHQtc20gdXBwZXJjYXNlIHRyYWNraW5nLVswLjJlbV0gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+XG4gICAgICAgICAgICAgICAgICBTZWxlY3QgYSBjb3JyZXNwb25kZW50IGZyb20gdGhlIHN3aXRjaCBhYm92ZSB0byBiZWdpblxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICB7YWdlbnRzRXJyb3IgJiYgKFxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWRlc3RydWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgIHthZ2VudHNFcnJvcn1cbiAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9tYWluPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGZvb3RlciBjbGFzc05hbWU9XCJweS02IHRleHQtY2VudGVyIHRleHQteHMgdXBwZXJjYXNlIHRyYWNraW5nLVswLjNlbV0gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+XG4gICAgICAgIMKpIHtuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCl9IE5pY2hvbGFpIFZvZ2VsIMK3e1wiIFwifVxuICAgICAgICA8YVxuICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL25pY2hvbGFpLmV4ZVwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXdoaXRlIGhvdmVyOnRleHQtYnVybnRcIlxuICAgICAgICA+XG4gICAgICAgICAgQG5pY2hvbGFpLmV4ZVxuICAgICAgICA8L2E+XG4gICAgICA8L2Zvb3Rlcj5cbiAgICA8Lz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiQ2hhdEludGVyZmFjZSIsIkhlYWRlciIsIkhvbWUiLCJzZWxlY3RlZEFnZW50Iiwic2V0U2VsZWN0ZWRBZ2VudCIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsImFnZW50cyIsInNldEFnZW50cyIsImFnZW50c0Vycm9yIiwic2V0QWdlbnRzRXJyb3IiLCJpc0FnZW50c0xvYWRpbmciLCJzZXRJc0FnZW50c0xvYWRpbmciLCJzYXZlZEFnZW50IiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsImFnZW50IiwiSlNPTiIsInBhcnNlIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiZmV0Y2hBZ2VudHMiLCJyZXNwb25zZSIsImZldGNoIiwiZGF0YSIsImpzb24iLCJvayIsIkVycm9yIiwibWVzc2FnZSIsImxlbmd0aCIsIm1hdGNoIiwiZmluZCIsImlkIiwicmVtb3ZlSXRlbSIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsInNldEl0ZW0iLCJzdHJpbmdpZnkiLCJoYW5kbGVBZ2VudFNlbGVjdGVkIiwiZGl2IiwiY2xhc3NOYW1lIiwib25BZ2VudFNlbGVjdGVkIiwiaXNMb2FkaW5nQWdlbnRzIiwibWFpbiIsInAiLCJmb290ZXIiLCJEYXRlIiwiZ2V0RnVsbFllYXIiLCJhIiwiaHJlZiIsInRhcmdldCIsInJlbCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/app/page.tsx\n"));
|
|
|
|
/***/ })
|
|
|
|
}); |