\n );\n}"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0094840b2b9dbf3e4c8313b55c5bcf4a030b8478e0a3325ba30c4e48f22e4a77.json b/mern/client/node_modules/.cache/babel-loader/0094840b2b9dbf3e4c8313b55c5bcf4a030b8478e0a3325ba30c4e48f22e4a77.json
deleted file mode 100644
index bff44c89b..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0094840b2b9dbf3e4c8313b55c5bcf4a030b8478e0a3325ba30c4e48f22e4a77.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var _jsxFileName = \"/Users/shannonharrison/QuadraTech-1/mern/client/src/App.js\",\n _s = $RefreshSig$();\nimport React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { BrowserRouter as Router, Routes, Route } from \"react-router-dom\";\nimport axios from 'axios';\nimport { createContext, useState, useEffect } from 'react';\n\n// We import all the components we need in our app\nimport Home from \"./\";\nimport Login from \"./components/webpages/login\";\nimport Register from \"./components/webpages/register.js\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport const UserContext = /*#__PURE__*/createContext();\nfunction App() {\n _s();\n const [userData, setUserData] = useState({\n token: undefined,\n user: undefined\n });\n useEffect(() => {\n const isLoggedIn = async () => {\n let token = localStorage.getItem(\"auth-token\");\n if (token == null) {\n localStorage.setItem(\"auth-token\", \"\");\n token = \"\";\n }\n const tokenResponse = await axios.post('http://localhost:5000/api/auth/tokenIsValid', null, {\n headers: {\n \"auth-token\": token\n }\n });\n console.log(tokenResponse.data);\n if (tokenResponse.data) {\n const userResponse = await axios.get('http://localhost:5000/api/auth/profile', {\n headers: {\n 'auth-token': token\n }\n });\n setUserData({\n token: token,\n user: userResponse.data\n });\n }\n };\n isLoggedIn();\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(UserContext.Provider, {\n value: {\n userData,\n setUserData\n },\n children: /*#__PURE__*/_jsxDEV(Router, {\n children: [\" \", /*#__PURE__*/_jsxDEV(Routes, {\n children: [\" \", /*#__PURE__*/_jsxDEV(Route, {\n path: \"/\",\n element: /*#__PURE__*/_jsxDEV(Home, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 36\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"/Login\",\n element: /*#__PURE__*/_jsxDEV(Login, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 58,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 58,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"/Register\",\n element: /*#__PURE__*/_jsxDEV(Register, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 44\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 56,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 53,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 5\n }, this);\n}\n_s(App, \"kBdZ41MIyrwc6QRSBnYASrPRV+8=\");\n_c = App;\nexport default App;\nvar _c;\n$RefreshReg$(_c, \"App\");","map":{"version":3,"names":["React","BrowserRouter","Router","Routes","Route","axios","createContext","useState","useEffect","Home","Login","Register","UserContext","App","userData","setUserData","token","undefined","user","isLoggedIn","localStorage","getItem","setItem","tokenResponse","post","headers","console","log","data","userResponse","get"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/src/App.js"],"sourcesContent":["import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { BrowserRouter as Router, Routes, Route } from \"react-router-dom\";\nimport axios from 'axios'\nimport { createContext, useState, useEffect } from 'react'\n\n\n// We import all the components we need in our app\nimport Home from \"./\"\nimport Login from \"./components/webpages/login\"\nimport Register from \"./components/webpages/register.js\"\n\nexport const UserContext = createContext()\n\nfunction App() {\n\n const [userData, setUserData] = useState({\n token: undefined,\n user: undefined,\n })\n\n useEffect(() => {\n const isLoggedIn = async () => {\n let token = localStorage.getItem(\"auth-token\")\n if (token == null){\n localStorage.setItem(\"auth-token\", \"\")\n token = \"\"\n }\n\n const tokenResponse = await axios.post(\n 'http://localhost:5000/api/auth/tokenIsValid', \n null, \n {headers: {\"auth-token\": token}}\n )\n\n console.log(tokenResponse.data)\n if(tokenResponse.data){\n const userResponse = await axios.get('http://localhost:5000/api/auth/profile',\n {headers: {'auth-token': token}}\n )\n setUserData({\n token: token,\n user: userResponse.data\n })\n }\n }\n isLoggedIn()\n }, [])\n \n return (\n
\n \n {/* Router lets page render different components based on address path */}\n \n {/* Routes contained for router */}\n } />\n } />\n } />\n \n\n \n \n \n
\n\n );\n}\n\nexport default App;"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB;AACA,SAASC,aAAa,IAAIC,MAAM,EAAEC,MAAM,EAAEC,KAAK,QAAQ,kBAAkB;AACzE,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;;AAG1D;AACA,OAAOC,IAAI,MAAM,IAAI;AACrB,OAAOC,KAAK,MAAM,6BAA6B;AAC/C,OAAOC,QAAQ,MAAM,mCAAmC;AAAA;AAExD,OAAO,MAAMC,WAAW,gBAAGN,aAAa,EAAE;AAE1C,SAASO,GAAG,GAAG;EAAA;EAEb,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGR,QAAQ,CAAC;IACvCS,KAAK,EAAEC,SAAS;IAChBC,IAAI,EAAED;EACR,CAAC,CAAC;EAEFT,SAAS,CAAC,MAAM;IACd,MAAMW,UAAU,GAAG,YAAY;MAC7B,IAAIH,KAAK,GAAGI,YAAY,CAACC,OAAO,CAAC,YAAY,CAAC;MAC9C,IAAIL,KAAK,IAAI,IAAI,EAAC;QAChBI,YAAY,CAACE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;QACtCN,KAAK,GAAG,EAAE;MACZ;MAEA,MAAMO,aAAa,GAAG,MAAMlB,KAAK,CAACmB,IAAI,CACpC,6CAA6C,EAC7C,IAAI,EACJ;QAACC,OAAO,EAAE;UAAC,YAAY,EAAET;QAAK;MAAC,CAAC,CACjC;MAEDU,OAAO,CAACC,GAAG,CAACJ,aAAa,CAACK,IAAI,CAAC;MAC/B,IAAGL,aAAa,CAACK,IAAI,EAAC;QACpB,MAAMC,YAAY,GAAG,MAAMxB,KAAK,CAACyB,GAAG,CAAC,wCAAwC,EAC3E;UAACL,OAAO,EAAE;YAAC,YAAY,EAAET;UAAK;QAAC,CAAC,CACjC;QACDD,WAAW,CAAC;UACVC,KAAK,EAAEA,KAAK;UACZE,IAAI,EAAEW,YAAY,CAACD;QACrB,CAAC,CAAC;MACJ;IACF,CAAC;IACDT,UAAU,EAAE;EACd,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE;IAAA,uBACE,QAAC,WAAW,CAAC,QAAQ;MAAC,KAAK,EAAE;QAAEL,QAAQ;QAAEC;MAAY,CAAE;MAAA,uBACrD,QAAC,MAAM;QAAA,6BAEP,QAAC,MAAM;UAAA,6BACL,QAAC,KAAK;YAAC,IAAI,EAAC,GAAG;YAAC,OAAO,eAAE,QAAC,IAAI;cAAA;cAAA;cAAA;YAAA;UAAI;YAAA;YAAA;YAAA;UAAA,QAAG,eACrC,QAAC,KAAK;YAAC,IAAI,EAAC,QAAQ;YAAC,OAAO,eAAE,QAAC,KAAK;cAAA;cAAA;cAAA;YAAA;UAAG;YAAA;YAAA;YAAA;UAAA,QAAG,eAC1C,QAAC,KAAK;YAAC,IAAI,EAAC,WAAW;YAAC,OAAO,eAAE,QAAC,QAAQ;cAAA;cAAA;cAAA;YAAA;UAAG;YAAA;YAAA;YAAA;UAAA,QAAG;QAAA;UAAA;UAAA;UAAA;QAAA,QACzC;MAAA;QAAA;QAAA;QAAA;MAAA;IAEF;MAAA;MAAA;MAAA;IAAA;EAEc;IAAA;IAAA;IAAA;EAAA,QACnB;AAGV;AAAC,GApDQF,GAAG;AAAA,KAAHA,GAAG;AAsDZ,eAAeA,GAAG;AAAC;AAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/01075e14e8dce80955a2af8ce0702cf5.json b/mern/client/node_modules/.cache/babel-loader/01075e14e8dce80955a2af8ce0702cf5.json
deleted file mode 100644
index 5c8091ea1..000000000
--- a/mern/client/node_modules/.cache/babel-loader/01075e14e8dce80955a2af8ce0702cf5.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}","map":{"version":3,"names":["process","env","NODE_ENV","module","exports","require"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech/node_modules/react/index.js"],"sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n"],"mappings":"AAAA,YAAY;;AAEZ,IAAIA,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCC,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,+BAA+B,CAAC;AAC3D,CAAC,MAAM;EACLF,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,4BAA4B,CAAC;AACxD"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/012e289c19920bfd2f29f8d3a1aac99d0aef8b78bef0b4f8fd61e912f126e28d.json b/mern/client/node_modules/.cache/babel-loader/012e289c19920bfd2f29f8d3a1aac99d0aef8b78bef0b4f8fd61e912f126e28d.json
deleted file mode 100644
index 02493d010..000000000
--- a/mern/client/node_modules/.cache/babel-loader/012e289c19920bfd2f29f8d3a1aac99d0aef8b78bef0b4f8fd61e912f126e28d.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var _jsxFileName = \"/Users/shannonharrison/QuadraTech-1/mern/client/src/App.js\",\n _s = $RefreshSig$();\nimport React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { BrowserRouter as Router, Routes, Route } from \"react-router-dom\";\nimport axios from 'axios';\nimport { createContext, useState, useEffect } from 'react';\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\nimport Login from \"./components/webpages/login\";\nimport Register from \"./components/webpages/register.js\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport const UserContext = /*#__PURE__*/createContext();\nfunction App() {\n _s();\n const [userData, setUserData] = useState({\n token: undefined,\n user: undefined\n });\n useEffect(() => {\n const isLoggedIn = async () => {\n let token = localStorage.getItem(\"auth-token\");\n if (token == null) {\n localStorage.setItem(\"auth-token\", \"\");\n token = \"\";\n }\n const tokenResponse = await axios.post('http://localhost:5000/api/auth/tokenIsValid', null, {\n headers: {\n \"auth-token\": token\n }\n });\n console.log(tokenResponse.data);\n if (tokenResponse.data) {\n const userResponse = await axios.get('http://localhost:5000/api/auth/profile', {\n headers: {\n 'auth-token': token\n }\n });\n setUserData({\n token: token,\n user: userResponse.data\n });\n }\n };\n isLoggedIn();\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(UserContext.Provider, {\n value: {\n userData,\n setUserData\n },\n children: /*#__PURE__*/_jsxDEV(Router, {\n children: [\" \", /*#__PURE__*/_jsxDEV(Routes, {\n children: [\" \", /*#__PURE__*/_jsxDEV(Route, {\n path: \"/Login\",\n element: /*#__PURE__*/_jsxDEV(Login, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 39\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"/Register\",\n element: /*#__PURE__*/_jsxDEV(Register, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 42\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 56,\n columnNumber: 6\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 55,\n columnNumber: 5\n }, this);\n}\n_s(App, \"kBdZ41MIyrwc6QRSBnYASrPRV+8=\");\n_c = App;\nexport default App;\nvar _c;\n$RefreshReg$(_c, \"App\");","map":{"version":3,"names":["React","BrowserRouter","Router","Routes","Route","axios","createContext","useState","useEffect","Navbar","RecordList","Edit","Create","Login","Register","UserContext","App","userData","setUserData","token","undefined","user","isLoggedIn","localStorage","getItem","setItem","tokenResponse","post","headers","console","log","data","userResponse","get"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/src/App.js"],"sourcesContent":["import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { BrowserRouter as Router, Routes, Route } from \"react-router-dom\";\nimport axios from 'axios'\nimport { createContext, useState, useEffect } from 'react'\n\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\nimport Login from \"./components/webpages/login\"\nimport Register from \"./components/webpages/register.js\"\n\nexport const UserContext = createContext()\n\nfunction App() {\n\n const [userData, setUserData] = useState({\n token: undefined,\n user: undefined,\n })\n\n useEffect(() => {\n const isLoggedIn = async () => {\n let token = localStorage.getItem(\"auth-token\")\n if (token == null){\n localStorage.setItem(\"auth-token\", \"\")\n token = \"\"\n }\n\n const tokenResponse = await axios.post(\n 'http://localhost:5000/api/auth/tokenIsValid', \n null, \n {headers: {\"auth-token\": token}}\n )\n\n console.log(tokenResponse.data)\n if(tokenResponse.data){\n const userResponse = await axios.get('http://localhost:5000/api/auth/profile',\n {headers: {'auth-token': token}}\n )\n setUserData({\n token: token,\n user: userResponse.data\n })\n }\n }\n isLoggedIn()\n }, [])\n \n return (\n
\n \n {/* Router lets page render different components based on address path */}\n \n {/* Routes contained for router */}\n } />\n } />\n \n\n \n \n \n
\n\n );\n}\n\n\n\nexport default App;"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB;AACA,SAASC,aAAa,IAAIC,MAAM,EAAEC,MAAM,EAAEC,KAAK,QAAQ,kBAAkB;AACzE,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;;AAG1D;AACA,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,UAAU,MAAM,yBAAyB;AAChD,OAAOC,IAAI,MAAM,mBAAmB;AACpC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,KAAK,MAAM,6BAA6B;AAC/C,OAAOC,QAAQ,MAAM,mCAAmC;AAAA;AAExD,OAAO,MAAMC,WAAW,gBAAGT,aAAa,EAAE;AAE1C,SAASU,GAAG,GAAG;EAAA;EAEb,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGX,QAAQ,CAAC;IACvCY,KAAK,EAAEC,SAAS;IAChBC,IAAI,EAAED;EACR,CAAC,CAAC;EAEFZ,SAAS,CAAC,MAAM;IACd,MAAMc,UAAU,GAAG,YAAY;MAC7B,IAAIH,KAAK,GAAGI,YAAY,CAACC,OAAO,CAAC,YAAY,CAAC;MAC9C,IAAIL,KAAK,IAAI,IAAI,EAAC;QAChBI,YAAY,CAACE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;QACtCN,KAAK,GAAG,EAAE;MACZ;MAEA,MAAMO,aAAa,GAAG,MAAMrB,KAAK,CAACsB,IAAI,CACpC,6CAA6C,EAC7C,IAAI,EACJ;QAACC,OAAO,EAAE;UAAC,YAAY,EAAET;QAAK;MAAC,CAAC,CACjC;MAEDU,OAAO,CAACC,GAAG,CAACJ,aAAa,CAACK,IAAI,CAAC;MAC/B,IAAGL,aAAa,CAACK,IAAI,EAAC;QACpB,MAAMC,YAAY,GAAG,MAAM3B,KAAK,CAAC4B,GAAG,CAAC,wCAAwC,EAC3E;UAACL,OAAO,EAAE;YAAC,YAAY,EAAET;UAAK;QAAC,CAAC,CACjC;QACDD,WAAW,CAAC;UACVC,KAAK,EAAEA,KAAK;UACZE,IAAI,EAAEW,YAAY,CAACD;QACrB,CAAC,CAAC;MACJ;IACF,CAAC;IACDT,UAAU,EAAE;EACd,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE;IAAA,uBACC,QAAC,WAAW,CAAC,QAAQ;MAAC,KAAK,EAAE;QAAEL,QAAQ;QAAEC;MAAY,CAAE;MAAA,uBACtD,QAAC,MAAM;QAAA,6BAEP,QAAC,MAAM;UAAA,6BACL,QAAC,KAAK;YAAC,IAAI,EAAC,QAAQ;YAAC,OAAO,eAAE,QAAC,KAAK;cAAA;cAAA;cAAA;YAAA;UAAG;YAAA;YAAA;YAAA;UAAA,QAAG,eAC1C,QAAC,KAAK;YAAC,IAAI,EAAC,WAAW;YAAC,OAAO,eAAE,QAAC,QAAQ;cAAA;cAAA;cAAA;YAAA;UAAG;YAAA;YAAA;YAAA;UAAA,QAAG;QAAA;UAAA;UAAA;UAAA;QAAA,QACzC;MAAA;QAAA;QAAA;QAAA;MAAA;IAEF;MAAA;MAAA;MAAA;IAAA;EAEc;IAAA;IAAA;IAAA;EAAA,QACjB;AAGV;AAAC,GAnDQF,GAAG;AAAA,KAAHA,GAAG;AAuDZ,eAAeA,GAAG;AAAC;AAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/017adde5591f6202cb1f7c7693051d97.json b/mern/client/node_modules/.cache/babel-loader/017adde5591f6202cb1f7c7693051d97.json
deleted file mode 100644
index ee836e772..000000000
--- a/mern/client/node_modules/.cache/babel-loader/017adde5591f6202cb1f7c7693051d97.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"/* global __webpack_require__ */\nvar Refresh = require('react-refresh/runtime');\n\n/**\n * Extracts exports from a webpack module object.\n * @param {string} moduleId A Webpack module ID.\n * @returns {*} An exports object from the module.\n */\nfunction getModuleExports(moduleId) {\n if (typeof moduleId === 'undefined') {\n // `moduleId` is unavailable, which indicates that this module is not in the cache,\n // which means we won't be able to capture any exports,\n // and thus they cannot be refreshed safely.\n // These are likely runtime or dynamically generated modules.\n return {};\n }\n var maybeModule = __webpack_require__.c[moduleId];\n if (typeof maybeModule === 'undefined') {\n // `moduleId` is available but the module in cache is unavailable,\n // which indicates the module is somehow corrupted (e.g. broken Webpacak `module` globals).\n // We will warn the user (as this is likely a mistake) and assume they cannot be refreshed.\n console.warn('[React Refresh] Failed to get exports for module: ' + moduleId + '.');\n return {};\n }\n var exportsOrPromise = maybeModule.exports;\n if (typeof Promise !== 'undefined' && exportsOrPromise instanceof Promise) {\n return exportsOrPromise.then(function (exports) {\n return exports;\n });\n }\n return exportsOrPromise;\n}\n\n/**\n * Calculates the signature of a React refresh boundary.\n * If this signature changes, it's unsafe to accept the boundary.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/907d6af22ac6ebe58572be418e9253a90665ecbd/packages/metro/src/lib/polyfills/require.js#L795-L816).\n * @param {*} moduleExports A Webpack module exports object.\n * @returns {string[]} A React refresh boundary signature array.\n */\nfunction getReactRefreshBoundarySignature(moduleExports) {\n var signature = [];\n signature.push(Refresh.getFamilyByType(moduleExports));\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n return signature;\n }\n for (var key in moduleExports) {\n if (key === '__esModule') {\n continue;\n }\n signature.push(key);\n signature.push(Refresh.getFamilyByType(moduleExports[key]));\n }\n return signature;\n}\n\n/**\n * Creates a helper that performs a delayed React refresh.\n * @returns {function(function(): void): void} A debounced React refresh function.\n */\nfunction createDebounceUpdate() {\n /**\n * A cached setTimeout handler.\n * @type {number | undefined}\n */\n var refreshTimeout;\n\n /**\n * Performs react refresh on a delay and clears the error overlay.\n * @param {function(): void} callback\n * @returns {void}\n */\n function enqueueUpdate(callback) {\n if (typeof refreshTimeout === 'undefined') {\n refreshTimeout = setTimeout(function () {\n refreshTimeout = undefined;\n Refresh.performReactRefresh();\n callback();\n }, 30);\n }\n }\n return enqueueUpdate;\n}\n\n/**\n * Checks if all exports are likely a React component.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/febdba2383113c88296c61e28e4ef6a7f4939fda/packages/metro/src/lib/polyfills/require.js#L748-L774).\n * @param {*} moduleExports A Webpack module exports object.\n * @returns {boolean} Whether the exports are React component like.\n */\nfunction isReactRefreshBoundary(moduleExports) {\n if (Refresh.isLikelyComponentType(moduleExports)) {\n return true;\n }\n if (moduleExports === undefined || moduleExports === null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n return false;\n }\n var hasExports = false;\n var areAllExportsComponents = true;\n for (var key in moduleExports) {\n hasExports = true;\n\n // This is the ES Module indicator flag\n if (key === '__esModule') {\n continue;\n }\n\n // We can (and have to) safely execute getters here,\n // as Webpack manually assigns harmony exports to getters,\n // without any side-effects attached.\n // Ref: https://github.com/webpack/webpack/blob/b93048643fe74de2a6931755911da1212df55897/lib/MainTemplate.js#L281\n var exportValue = moduleExports[key];\n if (!Refresh.isLikelyComponentType(exportValue)) {\n areAllExportsComponents = false;\n }\n }\n return hasExports && areAllExportsComponents;\n}\n\n/**\n * Checks if exports are likely a React component and registers them.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/febdba2383113c88296c61e28e4ef6a7f4939fda/packages/metro/src/lib/polyfills/require.js#L818-L835).\n * @param {*} moduleExports A Webpack module exports object.\n * @param {string} moduleId A Webpack module ID.\n * @returns {void}\n */\nfunction registerExportsForReactRefresh(moduleExports, moduleId) {\n if (Refresh.isLikelyComponentType(moduleExports)) {\n // Register module.exports if it is likely a component\n Refresh.register(moduleExports, moduleId + ' %exports%');\n }\n if (moduleExports === undefined || moduleExports === null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over the exports.\n return;\n }\n for (var key in moduleExports) {\n // Skip registering the ES Module indicator\n if (key === '__esModule') {\n continue;\n }\n var exportValue = moduleExports[key];\n if (Refresh.isLikelyComponentType(exportValue)) {\n var typeID = moduleId + ' %exports% ' + key;\n Refresh.register(exportValue, typeID);\n }\n }\n}\n\n/**\n * Compares previous and next module objects to check for mutated boundaries.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/907d6af22ac6ebe58572be418e9253a90665ecbd/packages/metro/src/lib/polyfills/require.js#L776-L792).\n * @param {*} prevExports The current Webpack module exports object.\n * @param {*} nextExports The next Webpack module exports object.\n * @returns {boolean} Whether the React refresh boundary should be invalidated.\n */\nfunction shouldInvalidateReactRefreshBoundary(prevExports, nextExports) {\n var prevSignature = getReactRefreshBoundarySignature(prevExports);\n var nextSignature = getReactRefreshBoundarySignature(nextExports);\n if (prevSignature.length !== nextSignature.length) {\n return true;\n }\n for (var i = 0; i < nextSignature.length; i += 1) {\n if (prevSignature[i] !== nextSignature[i]) {\n return true;\n }\n }\n return false;\n}\nvar enqueueUpdate = createDebounceUpdate();\nfunction executeRuntime(moduleExports, moduleId, webpackHot, refreshOverlay, isTest) {\n registerExportsForReactRefresh(moduleExports, moduleId);\n if (webpackHot) {\n var isHotUpdate = !!webpackHot.data;\n var prevExports;\n if (isHotUpdate) {\n prevExports = webpackHot.data.prevExports;\n }\n if (isReactRefreshBoundary(moduleExports)) {\n webpackHot.dispose(\n /**\n * A callback to performs a full refresh if React has unrecoverable errors,\n * and also caches the to-be-disposed module.\n * @param {*} data A hot module data object from Webpack HMR.\n * @returns {void}\n */\n function hotDisposeCallback(data) {\n // We have to mutate the data object to get data registered and cached\n data.prevExports = moduleExports;\n });\n webpackHot.accept(\n /**\n * An error handler to allow self-recovering behaviours.\n * @param {Error} error An error occurred during evaluation of a module.\n * @returns {void}\n */\n function hotErrorHandler(error) {\n if (typeof refreshOverlay !== 'undefined' && refreshOverlay) {\n refreshOverlay.handleRuntimeError(error);\n }\n if (typeof isTest !== 'undefined' && isTest) {\n if (window.onHotAcceptError) {\n window.onHotAcceptError(error.message);\n }\n }\n __webpack_require__.c[moduleId].hot.accept(hotErrorHandler);\n });\n if (isHotUpdate) {\n if (isReactRefreshBoundary(prevExports) && shouldInvalidateReactRefreshBoundary(prevExports, moduleExports)) {\n webpackHot.invalidate();\n } else {\n enqueueUpdate(\n /**\n * A function to dismiss the error overlay after performing React refresh.\n * @returns {void}\n */\n function updateCallback() {\n if (typeof refreshOverlay !== 'undefined' && refreshOverlay) {\n refreshOverlay.clearRuntimeErrors();\n }\n });\n }\n }\n } else {\n if (isHotUpdate && typeof prevExports !== 'undefined') {\n webpackHot.invalidate();\n }\n }\n }\n}\nmodule.exports = Object.freeze({\n enqueueUpdate: enqueueUpdate,\n executeRuntime: executeRuntime,\n getModuleExports: getModuleExports,\n isReactRefreshBoundary: isReactRefreshBoundary,\n shouldInvalidateReactRefreshBoundary: shouldInvalidateReactRefreshBoundary,\n registerExportsForReactRefresh: registerExportsForReactRefresh\n});","map":{"version":3,"names":["Refresh","require","getModuleExports","moduleId","maybeModule","__webpack_require__","c","console","warn","exportsOrPromise","exports","Promise","then","getReactRefreshBoundarySignature","moduleExports","signature","push","getFamilyByType","key","createDebounceUpdate","refreshTimeout","enqueueUpdate","callback","setTimeout","undefined","performReactRefresh","isReactRefreshBoundary","isLikelyComponentType","hasExports","areAllExportsComponents","exportValue","registerExportsForReactRefresh","register","typeID","shouldInvalidateReactRefreshBoundary","prevExports","nextExports","prevSignature","nextSignature","length","i","executeRuntime","webpackHot","refreshOverlay","isTest","isHotUpdate","data","dispose","hotDisposeCallback","accept","hotErrorHandler","error","handleRuntimeError","window","onHotAcceptError","message","hot","invalidate","updateCallback","clearRuntimeErrors","module","Object","freeze"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech/node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js"],"sourcesContent":["/* global __webpack_require__ */\nvar Refresh = require('react-refresh/runtime');\n\n/**\n * Extracts exports from a webpack module object.\n * @param {string} moduleId A Webpack module ID.\n * @returns {*} An exports object from the module.\n */\nfunction getModuleExports(moduleId) {\n if (typeof moduleId === 'undefined') {\n // `moduleId` is unavailable, which indicates that this module is not in the cache,\n // which means we won't be able to capture any exports,\n // and thus they cannot be refreshed safely.\n // These are likely runtime or dynamically generated modules.\n return {};\n }\n\n var maybeModule = __webpack_require__.c[moduleId];\n if (typeof maybeModule === 'undefined') {\n // `moduleId` is available but the module in cache is unavailable,\n // which indicates the module is somehow corrupted (e.g. broken Webpacak `module` globals).\n // We will warn the user (as this is likely a mistake) and assume they cannot be refreshed.\n console.warn('[React Refresh] Failed to get exports for module: ' + moduleId + '.');\n return {};\n }\n\n var exportsOrPromise = maybeModule.exports;\n if (typeof Promise !== 'undefined' && exportsOrPromise instanceof Promise) {\n return exportsOrPromise.then(function (exports) {\n return exports;\n });\n }\n return exportsOrPromise;\n}\n\n/**\n * Calculates the signature of a React refresh boundary.\n * If this signature changes, it's unsafe to accept the boundary.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/907d6af22ac6ebe58572be418e9253a90665ecbd/packages/metro/src/lib/polyfills/require.js#L795-L816).\n * @param {*} moduleExports A Webpack module exports object.\n * @returns {string[]} A React refresh boundary signature array.\n */\nfunction getReactRefreshBoundarySignature(moduleExports) {\n var signature = [];\n signature.push(Refresh.getFamilyByType(moduleExports));\n\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n return signature;\n }\n\n for (var key in moduleExports) {\n if (key === '__esModule') {\n continue;\n }\n\n signature.push(key);\n signature.push(Refresh.getFamilyByType(moduleExports[key]));\n }\n\n return signature;\n}\n\n/**\n * Creates a helper that performs a delayed React refresh.\n * @returns {function(function(): void): void} A debounced React refresh function.\n */\nfunction createDebounceUpdate() {\n /**\n * A cached setTimeout handler.\n * @type {number | undefined}\n */\n var refreshTimeout;\n\n /**\n * Performs react refresh on a delay and clears the error overlay.\n * @param {function(): void} callback\n * @returns {void}\n */\n function enqueueUpdate(callback) {\n if (typeof refreshTimeout === 'undefined') {\n refreshTimeout = setTimeout(function () {\n refreshTimeout = undefined;\n Refresh.performReactRefresh();\n callback();\n }, 30);\n }\n }\n\n return enqueueUpdate;\n}\n\n/**\n * Checks if all exports are likely a React component.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/febdba2383113c88296c61e28e4ef6a7f4939fda/packages/metro/src/lib/polyfills/require.js#L748-L774).\n * @param {*} moduleExports A Webpack module exports object.\n * @returns {boolean} Whether the exports are React component like.\n */\nfunction isReactRefreshBoundary(moduleExports) {\n if (Refresh.isLikelyComponentType(moduleExports)) {\n return true;\n }\n if (moduleExports === undefined || moduleExports === null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n return false;\n }\n\n var hasExports = false;\n var areAllExportsComponents = true;\n for (var key in moduleExports) {\n hasExports = true;\n\n // This is the ES Module indicator flag\n if (key === '__esModule') {\n continue;\n }\n\n // We can (and have to) safely execute getters here,\n // as Webpack manually assigns harmony exports to getters,\n // without any side-effects attached.\n // Ref: https://github.com/webpack/webpack/blob/b93048643fe74de2a6931755911da1212df55897/lib/MainTemplate.js#L281\n var exportValue = moduleExports[key];\n if (!Refresh.isLikelyComponentType(exportValue)) {\n areAllExportsComponents = false;\n }\n }\n\n return hasExports && areAllExportsComponents;\n}\n\n/**\n * Checks if exports are likely a React component and registers them.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/febdba2383113c88296c61e28e4ef6a7f4939fda/packages/metro/src/lib/polyfills/require.js#L818-L835).\n * @param {*} moduleExports A Webpack module exports object.\n * @param {string} moduleId A Webpack module ID.\n * @returns {void}\n */\nfunction registerExportsForReactRefresh(moduleExports, moduleId) {\n if (Refresh.isLikelyComponentType(moduleExports)) {\n // Register module.exports if it is likely a component\n Refresh.register(moduleExports, moduleId + ' %exports%');\n }\n\n if (moduleExports === undefined || moduleExports === null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over the exports.\n return;\n }\n\n for (var key in moduleExports) {\n // Skip registering the ES Module indicator\n if (key === '__esModule') {\n continue;\n }\n\n var exportValue = moduleExports[key];\n if (Refresh.isLikelyComponentType(exportValue)) {\n var typeID = moduleId + ' %exports% ' + key;\n Refresh.register(exportValue, typeID);\n }\n }\n}\n\n/**\n * Compares previous and next module objects to check for mutated boundaries.\n *\n * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/907d6af22ac6ebe58572be418e9253a90665ecbd/packages/metro/src/lib/polyfills/require.js#L776-L792).\n * @param {*} prevExports The current Webpack module exports object.\n * @param {*} nextExports The next Webpack module exports object.\n * @returns {boolean} Whether the React refresh boundary should be invalidated.\n */\nfunction shouldInvalidateReactRefreshBoundary(prevExports, nextExports) {\n var prevSignature = getReactRefreshBoundarySignature(prevExports);\n var nextSignature = getReactRefreshBoundarySignature(nextExports);\n\n if (prevSignature.length !== nextSignature.length) {\n return true;\n }\n\n for (var i = 0; i < nextSignature.length; i += 1) {\n if (prevSignature[i] !== nextSignature[i]) {\n return true;\n }\n }\n\n return false;\n}\n\nvar enqueueUpdate = createDebounceUpdate();\nfunction executeRuntime(moduleExports, moduleId, webpackHot, refreshOverlay, isTest) {\n registerExportsForReactRefresh(moduleExports, moduleId);\n\n if (webpackHot) {\n var isHotUpdate = !!webpackHot.data;\n var prevExports;\n if (isHotUpdate) {\n prevExports = webpackHot.data.prevExports;\n }\n\n if (isReactRefreshBoundary(moduleExports)) {\n webpackHot.dispose(\n /**\n * A callback to performs a full refresh if React has unrecoverable errors,\n * and also caches the to-be-disposed module.\n * @param {*} data A hot module data object from Webpack HMR.\n * @returns {void}\n */\n function hotDisposeCallback(data) {\n // We have to mutate the data object to get data registered and cached\n data.prevExports = moduleExports;\n }\n );\n webpackHot.accept(\n /**\n * An error handler to allow self-recovering behaviours.\n * @param {Error} error An error occurred during evaluation of a module.\n * @returns {void}\n */\n function hotErrorHandler(error) {\n if (typeof refreshOverlay !== 'undefined' && refreshOverlay) {\n refreshOverlay.handleRuntimeError(error);\n }\n\n if (typeof isTest !== 'undefined' && isTest) {\n if (window.onHotAcceptError) {\n window.onHotAcceptError(error.message);\n }\n }\n\n __webpack_require__.c[moduleId].hot.accept(hotErrorHandler);\n }\n );\n\n if (isHotUpdate) {\n if (\n isReactRefreshBoundary(prevExports) &&\n shouldInvalidateReactRefreshBoundary(prevExports, moduleExports)\n ) {\n webpackHot.invalidate();\n } else {\n enqueueUpdate(\n /**\n * A function to dismiss the error overlay after performing React refresh.\n * @returns {void}\n */\n function updateCallback() {\n if (typeof refreshOverlay !== 'undefined' && refreshOverlay) {\n refreshOverlay.clearRuntimeErrors();\n }\n }\n );\n }\n }\n } else {\n if (isHotUpdate && typeof prevExports !== 'undefined') {\n webpackHot.invalidate();\n }\n }\n }\n}\n\nmodule.exports = Object.freeze({\n enqueueUpdate: enqueueUpdate,\n executeRuntime: executeRuntime,\n getModuleExports: getModuleExports,\n isReactRefreshBoundary: isReactRefreshBoundary,\n shouldInvalidateReactRefreshBoundary: shouldInvalidateReactRefreshBoundary,\n registerExportsForReactRefresh: registerExportsForReactRefresh,\n});\n"],"mappings":"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"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/01fcd4c981e8d4a3dd436982b7d4afd9.json b/mern/client/node_modules/.cache/babel-loader/01fcd4c981e8d4a3dd436982b7d4afd9.json
deleted file mode 100644
index a3a5e9cd2..000000000
--- a/mern/client/node_modules/.cache/babel-loader/01fcd4c981e8d4a3dd436982b7d4afd9.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"import getCurrentScriptSource from \"./getCurrentScriptSource.js\";\n/**\n * @param {string} resourceQuery\n * @returns {{ [key: string]: string | boolean }}\n */\n\nfunction parseURL(resourceQuery) {\n /** @type {{ [key: string]: string }} */\n var options = {};\n if (typeof resourceQuery === \"string\" && resourceQuery !== \"\") {\n var searchParams = resourceQuery.slice(1).split(\"&\");\n for (var i = 0; i < searchParams.length; i++) {\n var pair = searchParams[i].split(\"=\");\n options[pair[0]] = decodeURIComponent(pair[1]);\n }\n } else {\n // Else, get the url from the \n \n\n \n \n );\n };\n\nexport default App;"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB;AACA,SAASC,KAAK,EAAEC,MAAM,QAAQ,kBAAkB;;AAEhD;AACA,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,UAAU,MAAM,yBAAyB;AAChD,OAAOC,IAAI,MAAM,mBAAmB;AACpC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,KAAK,MAAM,wBAAwB;AAAA;AAE1C,MAAMC,GAAG,GAAG,MAAM;EAChB,oBACE;IAAA,wBACE;MAAQ,GAAG,EAAC,wCAAwC;MAAC,KAAK;MAAC,KAAK;IAAA;MAAA;MAAA;MAAA;IAAA,QAAU,eAC1E;MAAM,IAAI,EAAC,yBAAyB;MAAC,OAAO,EAAC;IAA0E;MAAA;MAAA;MAAA;IAAA,QAAQ,eAE/H;MAAK,KAAK,EAAC,WAAW;MAAC,kBAAe;IAAU;MAAA;MAAA;MAAA;IAAA,QAAO;EAAA;IAAA;IAAA;IAAA;EAAA,QACnD;AAET,CAAC;AAAC,KATGA,GAAG;AAWT,eAAeA,GAAG;AAAC;AAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/054c94b3a7d306a386897fd368966916dc9376e78c66771028f519a7418cb504.json b/mern/client/node_modules/.cache/babel-loader/054c94b3a7d306a386897fd368966916dc9376e78c66771028f519a7418cb504.json
deleted file mode 100644
index 7654db8aa..000000000
--- a/mern/client/node_modules/.cache/babel-loader/054c94b3a7d306a386897fd368966916dc9376e78c66771028f519a7418cb504.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\r\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\r\n *\r\n * @class\r\n * @param {Function} executor The executor function.\r\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function (cancel) {\n if (!token._listeners) return;\n var i;\n var l = token._listeners.length;\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function (onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function (resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n return promise;\n };\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\r\n * Throws a `Cancel` if cancellation has been requested.\r\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\r\n * Subscribe to the cancel signal\r\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\r\n * Unsubscribe from the cancel signal\r\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\r\n * Returns an object that contains a new `CancelToken` and a function that, when called,\r\n * cancels the `CancelToken`.\r\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\nmodule.exports = CancelToken;","map":{"version":3,"names":["Cancel","require","CancelToken","executor","TypeError","resolvePromise","promise","Promise","promiseExecutor","resolve","token","then","cancel","_listeners","i","l","length","onfulfilled","_resolve","subscribe","reject","unsubscribe","message","reason","prototype","throwIfRequested","listener","push","index","indexOf","splice","source","c","module","exports"],"sources":["H:/QuadraTech/QuadraTech/mern/client/node_modules/axios/lib/cancel/CancelToken.js"],"sourcesContent":["'use strict';\r\n\r\nvar Cancel = require('./Cancel');\r\n\r\n/**\r\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\r\n *\r\n * @class\r\n * @param {Function} executor The executor function.\r\n */\r\nfunction CancelToken(executor) {\r\n if (typeof executor !== 'function') {\r\n throw new TypeError('executor must be a function.');\r\n }\r\n\r\n var resolvePromise;\r\n\r\n this.promise = new Promise(function promiseExecutor(resolve) {\r\n resolvePromise = resolve;\r\n });\r\n\r\n var token = this;\r\n\r\n // eslint-disable-next-line func-names\r\n this.promise.then(function(cancel) {\r\n if (!token._listeners) return;\r\n\r\n var i;\r\n var l = token._listeners.length;\r\n\r\n for (i = 0; i < l; i++) {\r\n token._listeners[i](cancel);\r\n }\r\n token._listeners = null;\r\n });\r\n\r\n // eslint-disable-next-line func-names\r\n this.promise.then = function(onfulfilled) {\r\n var _resolve;\r\n // eslint-disable-next-line func-names\r\n var promise = new Promise(function(resolve) {\r\n token.subscribe(resolve);\r\n _resolve = resolve;\r\n }).then(onfulfilled);\r\n\r\n promise.cancel = function reject() {\r\n token.unsubscribe(_resolve);\r\n };\r\n\r\n return promise;\r\n };\r\n\r\n executor(function cancel(message) {\r\n if (token.reason) {\r\n // Cancellation has already been requested\r\n return;\r\n }\r\n\r\n token.reason = new Cancel(message);\r\n resolvePromise(token.reason);\r\n });\r\n}\r\n\r\n/**\r\n * Throws a `Cancel` if cancellation has been requested.\r\n */\r\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\r\n if (this.reason) {\r\n throw this.reason;\r\n }\r\n};\r\n\r\n/**\r\n * Subscribe to the cancel signal\r\n */\r\n\r\nCancelToken.prototype.subscribe = function subscribe(listener) {\r\n if (this.reason) {\r\n listener(this.reason);\r\n return;\r\n }\r\n\r\n if (this._listeners) {\r\n this._listeners.push(listener);\r\n } else {\r\n this._listeners = [listener];\r\n }\r\n};\r\n\r\n/**\r\n * Unsubscribe from the cancel signal\r\n */\r\n\r\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\r\n if (!this._listeners) {\r\n return;\r\n }\r\n var index = this._listeners.indexOf(listener);\r\n if (index !== -1) {\r\n this._listeners.splice(index, 1);\r\n }\r\n};\r\n\r\n/**\r\n * Returns an object that contains a new `CancelToken` and a function that, when called,\r\n * cancels the `CancelToken`.\r\n */\r\nCancelToken.source = function source() {\r\n var cancel;\r\n var token = new CancelToken(function executor(c) {\r\n cancel = c;\r\n });\r\n return {\r\n token: token,\r\n cancel: cancel\r\n };\r\n};\r\n\r\nmodule.exports = CancelToken;\r\n"],"mappings":"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"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/055e93e3e88038e3c684344366fef326a0e98f3b7e0f53852c54e381da9e2034.json b/mern/client/node_modules/.cache/babel-loader/055e93e3e88038e3c684344366fef326a0e98f3b7e0f53852c54e381da9e2034.json
deleted file mode 100644
index 6ee52ddb7..000000000
--- a/mern/client/node_modules/.cache/babel-loader/055e93e3e88038e3c684344366fef326a0e98f3b7e0f53852c54e381da9e2034.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var _jsxFileName = \"/Users/shannonharrison/QuadraTech-1/mern/client/src/App.js\",\n _s = $RefreshSig$();\nimport React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { BrowserRouter as Router, Routes, Route } from \"react-router-dom\";\nimport axios from 'axios';\nimport { createContext, useState, useEffect } from 'react';\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\nimport Login from \"./components/webpages/login\";\nimport Register from \"./components/webpages/register.js\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport const UserContext = /*#__PURE__*/createContext();\nfunction App() {\n _s();\n const [userData, setUserData] = useState({\n token: undefined,\n user: undefined\n });\n useEffect(() => {\n const isLoggedIn = async () => {\n let token = localStorage.getItem(\"auth-token\");\n if (token == null) {\n localStorage.setItem(\"auth-token\", \"\");\n token = \"\";\n }\n const tokenResponse = await axios.post('http://localhost:5000/api/auth/tokenIsValid', null, {\n headers: {\n \"auth-token\": token\n }\n });\n console.log(tokenResponse.data);\n if (tokenResponse.data) {\n const userResponse = await axios.get('http://localhost:5000/api/auth/profile', {\n headers: {\n 'auth-token': token\n }\n });\n setUserData({\n token: token,\n user: userResponse.data\n });\n }\n };\n isLoggedIn();\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(UserContext.Provider, {\n value: {\n userData,\n setUserData\n },\n children: /*#__PURE__*/_jsxDEV(Router, {\n children: [\" \", /*#__PURE__*/_jsxDEV(Routes, {\n children: [\" \", /*#__PURE__*/_jsxDEV(Route, {\n path: \"/Login\",\n element: /*#__PURE__*/_jsxDEV(Login, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 39\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"/Register\",\n element: /*#__PURE__*/_jsxDEV(Register, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 42\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 56,\n columnNumber: 6\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 55,\n columnNumber: 5\n }, this);\n}\n_s(App, \"kBdZ41MIyrwc6QRSBnYASrPRV+8=\");\n_c = App;\nexport default App;\nvar _c;\n$RefreshReg$(_c, \"App\");","map":{"version":3,"names":["React","BrowserRouter","Router","Routes","Route","axios","createContext","useState","useEffect","Navbar","RecordList","Edit","Create","Login","Register","UserContext","App","userData","setUserData","token","undefined","user","isLoggedIn","localStorage","getItem","setItem","tokenResponse","post","headers","console","log","data","userResponse","get"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/src/App.js"],"sourcesContent":["import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { BrowserRouter as Router, Routes, Route } from \"react-router-dom\";\nimport axios from 'axios'\nimport { createContext, useState, useEffect } from 'react'\n\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\nimport Login from \"./components/webpages/login\"\nimport Register from \"./components/webpages/register.js\"\n\nexport const UserContext = createContext()\n\nfunction App() {\n\n const [userData, setUserData] = useState({\n token: undefined,\n user: undefined,\n })\n\n useEffect(() => {\n const isLoggedIn = async () => {\n let token = localStorage.getItem(\"auth-token\")\n if (token == null){\n localStorage.setItem(\"auth-token\", \"\")\n token = \"\"\n }\n\n const tokenResponse = await axios.post(\n 'http://localhost:5000/api/auth/tokenIsValid', \n null, \n {headers: {\"auth-token\": token}}\n )\n\n console.log(tokenResponse.data)\n if(tokenResponse.data){\n const userResponse = await axios.get('http://localhost:5000/api/auth/profile',\n {headers: {'auth-token': token}}\n )\n setUserData({\n token: token,\n user: userResponse.data\n })\n }\n }\n isLoggedIn()\n }, [])\n \n return (\n
\n \n {/* Router lets page render different components based on address path */}\n \n {/* Routes contained for router */}\n } />\n } />\n \n\n \n \n \n
\n\n );\n}\n\nexport default App;"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB;AACA,SAASC,aAAa,IAAIC,MAAM,EAAEC,MAAM,EAAEC,KAAK,QAAQ,kBAAkB;AACzE,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;;AAG1D;AACA,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,UAAU,MAAM,yBAAyB;AAChD,OAAOC,IAAI,MAAM,mBAAmB;AACpC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,KAAK,MAAM,6BAA6B;AAC/C,OAAOC,QAAQ,MAAM,mCAAmC;AAAA;AAExD,OAAO,MAAMC,WAAW,gBAAGT,aAAa,EAAE;AAE1C,SAASU,GAAG,GAAG;EAAA;EAEb,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGX,QAAQ,CAAC;IACvCY,KAAK,EAAEC,SAAS;IAChBC,IAAI,EAAED;EACR,CAAC,CAAC;EAEFZ,SAAS,CAAC,MAAM;IACd,MAAMc,UAAU,GAAG,YAAY;MAC7B,IAAIH,KAAK,GAAGI,YAAY,CAACC,OAAO,CAAC,YAAY,CAAC;MAC9C,IAAIL,KAAK,IAAI,IAAI,EAAC;QAChBI,YAAY,CAACE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;QACtCN,KAAK,GAAG,EAAE;MACZ;MAEA,MAAMO,aAAa,GAAG,MAAMrB,KAAK,CAACsB,IAAI,CACpC,6CAA6C,EAC7C,IAAI,EACJ;QAACC,OAAO,EAAE;UAAC,YAAY,EAAET;QAAK;MAAC,CAAC,CACjC;MAEDU,OAAO,CAACC,GAAG,CAACJ,aAAa,CAACK,IAAI,CAAC;MAC/B,IAAGL,aAAa,CAACK,IAAI,EAAC;QACpB,MAAMC,YAAY,GAAG,MAAM3B,KAAK,CAAC4B,GAAG,CAAC,wCAAwC,EAC3E;UAACL,OAAO,EAAE;YAAC,YAAY,EAAET;UAAK;QAAC,CAAC,CACjC;QACDD,WAAW,CAAC;UACVC,KAAK,EAAEA,KAAK;UACZE,IAAI,EAAEW,YAAY,CAACD;QACrB,CAAC,CAAC;MACJ;IACF,CAAC;IACDT,UAAU,EAAE;EACd,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE;IAAA,uBACC,QAAC,WAAW,CAAC,QAAQ;MAAC,KAAK,EAAE;QAAEL,QAAQ;QAAEC;MAAY,CAAE;MAAA,uBACtD,QAAC,MAAM;QAAA,6BAEP,QAAC,MAAM;UAAA,6BACL,QAAC,KAAK;YAAC,IAAI,EAAC,QAAQ;YAAC,OAAO,eAAE,QAAC,KAAK;cAAA;cAAA;cAAA;YAAA;UAAG;YAAA;YAAA;YAAA;UAAA,QAAG,eAC1C,QAAC,KAAK;YAAC,IAAI,EAAC,WAAW;YAAC,OAAO,eAAE,QAAC,QAAQ;cAAA;cAAA;cAAA;YAAA;UAAG;YAAA;YAAA;YAAA;UAAA,QAAG;QAAA;UAAA;UAAA;UAAA;QAAA,QACzC;MAAA;QAAA;QAAA;QAAA;MAAA;IAEF;MAAA;MAAA;MAAA;IAAA;EAEc;IAAA;IAAA;IAAA;EAAA,QACjB;AAGV;AAAC,GAnDQF,GAAG;AAAA,KAAHA,GAAG;AAqDZ,eAAeA,GAAG;AAAC;AAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/05a09021f718259046c6cbc76eb4d120df888f89e4f9457a9ff5f0fac565f35c.json b/mern/client/node_modules/.cache/babel-loader/05a09021f718259046c6cbc76eb4d120df888f89e4f9457a9ff5f0fac565f35c.json
deleted file mode 100644
index 5661b7031..000000000
--- a/mern/client/node_modules/.cache/babel-loader/05a09021f718259046c6cbc76eb4d120df888f89e4f9457a9ff5f0fac565f35c.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","map":{"version":3,"names":["module","exports","isAbsoluteURL","url","test"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/axios/lib/helpers/isAbsoluteURL.js"],"sourcesContent":["'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n"],"mappings":"AAAA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACAA,MAAM,CAACC,OAAO,GAAG,SAASC,aAAa,CAACC,GAAG,EAAE;EAC3C;EACA;EACA;EACA,OAAO,+BAA+B,CAACC,IAAI,CAACD,GAAG,CAAC;AAClD,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/05b033e93a4fad5a6868184d7834e0f5371e66f419a6648343c8b3f8614cccd2.json b/mern/client/node_modules/.cache/babel-loader/05b033e93a4fad5a6868184d7834e0f5371e66f419a6648343c8b3f8614cccd2.json
deleted file mode 100644
index da9fb2f8c..000000000
--- a/mern/client/node_modules/.cache/babel-loader/05b033e93a4fad5a6868184d7834e0f5371e66f419a6648343c8b3f8614cccd2.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n// eslint-disable-next-line es/no-global-this -- safe\ncheck(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) ||\n// eslint-disable-next-line no-restricted-globals -- safe\ncheck(typeof self == 'object' && self) || check(typeof global == 'object' && global) ||\n// eslint-disable-next-line no-new-func -- fallback\nfunction () {\n return this;\n}() || Function('return this')();","map":{"version":3,"names":["check","it","Math","module","exports","globalThis","window","self","global","Function"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/core-js-pure/internals/global.js"],"sourcesContent":["var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n"],"mappings":"AAAA,IAAIA,KAAK,GAAG,UAAUC,EAAE,EAAE;EACxB,OAAOA,EAAE,IAAIA,EAAE,CAACC,IAAI,IAAIA,IAAI,IAAID,EAAE;AACpC,CAAC;;AAED;AACAE,MAAM,CAACC,OAAO;AACZ;AACAJ,KAAK,CAAC,OAAOK,UAAU,IAAI,QAAQ,IAAIA,UAAU,CAAC,IAClDL,KAAK,CAAC,OAAOM,MAAM,IAAI,QAAQ,IAAIA,MAAM,CAAC;AAC1C;AACAN,KAAK,CAAC,OAAOO,IAAI,IAAI,QAAQ,IAAIA,IAAI,CAAC,IACtCP,KAAK,CAAC,OAAOQ,MAAM,IAAI,QAAQ,IAAIA,MAAM,CAAC;AAC1C;AACC,YAAY;EAAE,OAAO,IAAI;AAAE,CAAC,EAAG,IAAIC,QAAQ,CAAC,aAAa,CAAC,EAAE"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/05c20461f3d87dfd3bebcc14d035a32bdd2ae648f516aa9546c1503222fe04c1.json b/mern/client/node_modules/.cache/babel-loader/05c20461f3d87dfd3bebcc14d035a32bdd2ae648f516aa9546c1503222fe04c1.json
deleted file mode 100644
index 858523b44..000000000
--- a/mern/client/node_modules/.cache/babel-loader/05c20461f3d87dfd3bebcc14d035a32bdd2ae648f516aa9546c1503222fe04c1.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}","map":{"version":3,"names":["process","env","NODE_ENV","module","exports","require"],"sources":["H:/QuadraTech/QuadraTech/mern/client/node_modules/react/index.js"],"sourcesContent":["'use strict';\r\n\r\nif (process.env.NODE_ENV === 'production') {\r\n module.exports = require('./cjs/react.production.min.js');\r\n} else {\r\n module.exports = require('./cjs/react.development.js');\r\n}\r\n"],"mappings":"AAAA,YAAY;;AAEZ,IAAIA,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCC,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,+BAA+B,CAAC;AAC3D,CAAC,MAAM;EACLF,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,4BAA4B,CAAC;AACxD"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0608be27a185f42708335c5b1027b568.json b/mern/client/node_modules/.cache/babel-loader/0608be27a185f42708335c5b1027b568.json
deleted file mode 100644
index 3514aa276..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0608be27a185f42708335c5b1027b568.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var $String = String;\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};","map":{"version":3,"names":["$String","String","module","exports","argument","error"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech/node_modules/core-js-pure/internals/try-to-string.js"],"sourcesContent":["var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n"],"mappings":"AAAA,IAAIA,OAAO,GAAGC,MAAM;AAEpBC,MAAM,CAACC,OAAO,GAAG,UAAUC,QAAQ,EAAE;EACnC,IAAI;IACF,OAAOJ,OAAO,CAACI,QAAQ,CAAC;EAC1B,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO,QAAQ;EACjB;AACF,CAAC"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0788d3617f3566735643e12b2c6a9e456a3953e91eda1ecee91fe2ad55a401fc.json b/mern/client/node_modules/.cache/babel-loader/0788d3617f3566735643e12b2c6a9e456a3953e91eda1ecee91fe2ad55a401fc.json
deleted file mode 100644
index 13811abd6..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0788d3617f3566735643e12b2c6a9e456a3953e91eda1ecee91fe2ad55a401fc.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;","map":{"version":3,"names":["utils","require","bind","Axios","mergeConfig","defaults","createInstance","defaultConfig","context","instance","prototype","request","extend","create","instanceConfig","axios","Cancel","CancelToken","isCancel","VERSION","version","all","promises","Promise","spread","isAxiosError","module","exports","default"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/axios/lib/axios.js"],"sourcesContent":["'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n"],"mappings":"AAAA,YAAY;;AAEZ,IAAIA,KAAK,GAAGC,OAAO,CAAC,SAAS,CAAC;AAC9B,IAAIC,IAAI,GAAGD,OAAO,CAAC,gBAAgB,CAAC;AACpC,IAAIE,KAAK,GAAGF,OAAO,CAAC,cAAc,CAAC;AACnC,IAAIG,WAAW,GAAGH,OAAO,CAAC,oBAAoB,CAAC;AAC/C,IAAII,QAAQ,GAAGJ,OAAO,CAAC,YAAY,CAAC;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,cAAc,CAACC,aAAa,EAAE;EACrC,IAAIC,OAAO,GAAG,IAAIL,KAAK,CAACI,aAAa,CAAC;EACtC,IAAIE,QAAQ,GAAGP,IAAI,CAACC,KAAK,CAACO,SAAS,CAACC,OAAO,EAAEH,OAAO,CAAC;;EAErD;EACAR,KAAK,CAACY,MAAM,CAACH,QAAQ,EAAEN,KAAK,CAACO,SAAS,EAAEF,OAAO,CAAC;;EAEhD;EACAR,KAAK,CAACY,MAAM,CAACH,QAAQ,EAAED,OAAO,CAAC;;EAE/B;EACAC,QAAQ,CAACI,MAAM,GAAG,SAASA,MAAM,CAACC,cAAc,EAAE;IAChD,OAAOR,cAAc,CAACF,WAAW,CAACG,aAAa,EAAEO,cAAc,CAAC,CAAC;EACnE,CAAC;EAED,OAAOL,QAAQ;AACjB;;AAEA;AACA,IAAIM,KAAK,GAAGT,cAAc,CAACD,QAAQ,CAAC;;AAEpC;AACAU,KAAK,CAACZ,KAAK,GAAGA,KAAK;;AAEnB;AACAY,KAAK,CAACC,MAAM,GAAGf,OAAO,CAAC,iBAAiB,CAAC;AACzCc,KAAK,CAACE,WAAW,GAAGhB,OAAO,CAAC,sBAAsB,CAAC;AACnDc,KAAK,CAACG,QAAQ,GAAGjB,OAAO,CAAC,mBAAmB,CAAC;AAC7Cc,KAAK,CAACI,OAAO,GAAGlB,OAAO,CAAC,YAAY,CAAC,CAACmB,OAAO;;AAE7C;AACAL,KAAK,CAACM,GAAG,GAAG,SAASA,GAAG,CAACC,QAAQ,EAAE;EACjC,OAAOC,OAAO,CAACF,GAAG,CAACC,QAAQ,CAAC;AAC9B,CAAC;AACDP,KAAK,CAACS,MAAM,GAAGvB,OAAO,CAAC,kBAAkB,CAAC;;AAE1C;AACAc,KAAK,CAACU,YAAY,GAAGxB,OAAO,CAAC,wBAAwB,CAAC;AAEtDyB,MAAM,CAACC,OAAO,GAAGZ,KAAK;;AAEtB;AACAW,MAAM,CAACC,OAAO,CAACC,OAAO,GAAGb,KAAK"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/07a0f4ac314f82cd883d59f6d63cd2969b06e73aa57bad11a07933e30e9a8ec9.json b/mern/client/node_modules/.cache/babel-loader/07a0f4ac314f82cd883d59f6d63cd2969b06e73aa57bad11a07933e30e9a8ec9.json
deleted file mode 100644
index 8a70ab005..000000000
--- a/mern/client/node_modules/.cache/babel-loader/07a0f4ac314f82cd883d59f6d63cd2969b06e73aa57bad11a07933e30e9a8ec9.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var _jsxFileName = \"/Users/shannonharrison/QuadraTech-1/mern/client/src/components/create.js\",\n _s = $RefreshSig$();\nimport React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function Create() {\n _s();\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\"\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm(prev => {\n return {\n ...prev,\n ...value\n };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = {\n ...form\n };\n await fetch(\"http://localhost:5000/record/add\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(newPerson)\n }).catch(error => {\n window.alert(error);\n return;\n });\n setForm({\n name: \"\",\n position: \"\",\n level: \"\"\n });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"Create New \"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 45,\n columnNumber: 6\n }, this), /*#__PURE__*/_jsxDEV(\"form\", {\n onSubmit: onSubmit,\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"name\",\n children: \"Name\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 48,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"text\",\n className: \"form-control\",\n id: \"name\",\n value: form.name,\n onChange: e => updateForm({\n name: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 49,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"position\",\n children: \"Position\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 58,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"text\",\n className: \"form-control\",\n id: \"position\",\n value: form.position,\n onChange: e => updateForm({\n position: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-check form-check-inline\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"form-check-input\",\n type: \"radio\",\n name: \"positionOptions\",\n id: \"positionIntern\",\n value: \"Intern\",\n checked: form.level === \"Intern\",\n onChange: e => updateForm({\n level: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 69,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"positionIntern\",\n className: \"form-check-label\",\n children: \"Intern\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 12\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 68,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-check form-check-inline\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"form-check-input\",\n type: \"radio\",\n name: \"positionOptions\",\n id: \"positionJunior\",\n value: \"Junior\",\n checked: form.level === \"Junior\",\n onChange: e => updateForm({\n level: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 81,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"positionJunior\",\n className: \"form-check-label\",\n children: \"Junior\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 90,\n columnNumber: 12\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 80,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-check form-check-inline\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"form-check-input\",\n type: \"radio\",\n name: \"positionOptions\",\n id: \"positionSenior\",\n value: \"Senior\",\n checked: form.level === \"Senior\",\n onChange: e => updateForm({\n level: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 93,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"positionSenior\",\n className: \"form-check-label\",\n children: \"Senior\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 102,\n columnNumber: 12\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 92,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 67,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"submit\",\n value: \"Create person\",\n className: \"btn btn-primary\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 106,\n columnNumber: 10\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 105,\n columnNumber: 8\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 46,\n columnNumber: 6\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 4\n }, this);\n}\n_s(Create, \"mAn4SoK23TZ0AjERsCWM9pa2nyg=\", false, function () {\n return [useNavigate];\n});\n_c = Create;\nvar _c;\n$RefreshReg$(_c, \"Create\");","map":{"version":3,"names":["React","useState","useNavigate","Create","form","setForm","name","position","level","navigate","updateForm","value","prev","onSubmit","e","preventDefault","newPerson","fetch","method","headers","body","JSON","stringify","catch","error","window","alert","target"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/src/components/create.js"],"sourcesContent":["import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\n \nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n \n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n \n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n \n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n \n await fetch(\"http://localhost:5000/record/add\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n .catch(error => {\n window.alert(error);\n return;\n });\n \n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n \n // This following section will display the form that takes the input from the user.\n return (\n
\n
Create New
\n \n
\n );\n} "],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/07cbadbbb54ae8733312bfd11fb94ca56252429fc61297cdb35adcac8aefda4e.json b/mern/client/node_modules/.cache/babel-loader/07cbadbbb54ae8733312bfd11fb94ca56252429fc61297cdb35adcac8aefda4e.json
deleted file mode 100644
index 37cb56b5a..000000000
--- a/mern/client/node_modules/.cache/babel-loader/07cbadbbb54ae8733312bfd11fb94ca56252429fc61297cdb35adcac8aefda4e.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var _jsxFileName = \"/Users/shannonharrison/QuadraTech-1/mern/client/src/components/create.js\",\n _s = $RefreshSig$();\nimport React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function Create() {\n _s();\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\"\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm(prev => {\n return {\n ...prev,\n ...value\n };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = {\n ...form\n };\n await fetch(\"http://localhost:5000/record/add\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(newPerson)\n }).catch(error => {\n window.alert(error);\n return;\n });\n setForm({\n name: \"\",\n position: \"\",\n level: \"\"\n });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"Add New \"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 45,\n columnNumber: 6\n }, this), /*#__PURE__*/_jsxDEV(\"form\", {\n onSubmit: onSubmit,\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"name\",\n children: \"Name\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 48,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"text\",\n className: \"form-control\",\n id: \"name\",\n value: form.name,\n onChange: e => updateForm({\n name: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 49,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"position\",\n children: \"Position\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 58,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"text\",\n className: \"form-control\",\n id: \"position\",\n value: form.position,\n onChange: e => updateForm({\n position: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-check form-check-inline\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"form-check-input\",\n type: \"radio\",\n name: \"positionOptions\",\n id: \"positionIntern\",\n value: \"Intern\",\n checked: form.level === \"Intern\",\n onChange: e => updateForm({\n level: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 69,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"positionIntern\",\n className: \"form-check-label\",\n children: \"Intern\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 12\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 68,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-check form-check-inline\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"form-check-input\",\n type: \"radio\",\n name: \"positionOptions\",\n id: \"positionJunior\",\n value: \"Junior\",\n checked: form.level === \"Junior\",\n onChange: e => updateForm({\n level: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 81,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"positionJunior\",\n className: \"form-check-label\",\n children: \"Junior\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 90,\n columnNumber: 12\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 80,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-check form-check-inline\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"form-check-input\",\n type: \"radio\",\n name: \"positionOptions\",\n id: \"positionSenior\",\n value: \"Senior\",\n checked: form.level === \"Senior\",\n onChange: e => updateForm({\n level: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 93,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"positionSenior\",\n className: \"form-check-label\",\n children: \"Senior\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 102,\n columnNumber: 12\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 92,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 67,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"submit\",\n value: \"Create person\",\n className: \"btn btn-primary\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 106,\n columnNumber: 10\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 105,\n columnNumber: 8\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 46,\n columnNumber: 6\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 4\n }, this);\n}\n_s(Create, \"mAn4SoK23TZ0AjERsCWM9pa2nyg=\", false, function () {\n return [useNavigate];\n});\n_c = Create;\nvar _c;\n$RefreshReg$(_c, \"Create\");","map":{"version":3,"names":["React","useState","useNavigate","Create","form","setForm","name","position","level","navigate","updateForm","value","prev","onSubmit","e","preventDefault","newPerson","fetch","method","headers","body","JSON","stringify","catch","error","window","alert","target"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/src/components/create.js"],"sourcesContent":["import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\n \nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n \n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n \n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n \n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n \n await fetch(\"http://localhost:5000/record/add\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n .catch(error => {\n window.alert(error);\n return;\n });\n \n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n \n // This following section will display the form that takes the input from the user.\n return (\n
\n
Add New
\n \n
\n );\n} "],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/08428e275dcabc8072aabaa85226ce64.json b/mern/client/node_modules/.cache/babel-loader/08428e275dcabc8072aabaa85226ce64.json
deleted file mode 100644
index e93985c61..000000000
--- a/mern/client/node_modules/.cache/babel-loader/08428e275dcabc8072aabaa85226ce64.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var parent = require('../stable/global-this');\nmodule.exports = parent;","map":{"version":3,"names":["parent","require","module","exports"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech-2/mern/client/node_modules/core-js-pure/actual/global-this.js"],"sourcesContent":["var parent = require('../stable/global-this');\n\nmodule.exports = parent;\n"],"mappings":"AAAA,IAAIA,MAAM,GAAGC,OAAO,CAAC,uBAAuB,CAAC;AAE7CC,MAAM,CAACC,OAAO,GAAGH,MAAM"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/085246a9af8f639bc14023db85fab587.json b/mern/client/node_modules/.cache/babel-loader/085246a9af8f639bc14023db85fab587.json
deleted file mode 100644
index 74130771d..000000000
--- a/mern/client/node_modules/.cache/babel-loader/085246a9af8f639bc14023db85fab587.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n }\n return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) {/* empty */}\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};","map":{"version":3,"names":["DESCRIPTORS","require","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$TypeError","TypeError","$defineProperty","Object","defineProperty","$getOwnPropertyDescriptor","getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE","WRITABLE","exports","f","O","P","Attributes","current","value","configurable","enumerable","writable","error"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech-2/mern/client/node_modules/core-js-pure/internals/object-define-property.js"],"sourcesContent":["var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n"],"mappings":"AAAA,IAAIA,WAAW,GAAGC,OAAO,CAAC,0BAA0B,CAAC;AACrD,IAAIC,cAAc,GAAGD,OAAO,CAAC,6BAA6B,CAAC;AAC3D,IAAIE,uBAAuB,GAAGF,OAAO,CAAC,sCAAsC,CAAC;AAC7E,IAAIG,QAAQ,GAAGH,OAAO,CAAC,wBAAwB,CAAC;AAChD,IAAII,aAAa,GAAGJ,OAAO,CAAC,8BAA8B,CAAC;AAE3D,IAAIK,UAAU,GAAGC,SAAS;AAC1B;AACA,IAAIC,eAAe,GAAGC,MAAM,CAACC,cAAc;AAC3C;AACA,IAAIC,yBAAyB,GAAGF,MAAM,CAACG,wBAAwB;AAC/D,IAAIC,UAAU,GAAG,YAAY;AAC7B,IAAIC,YAAY,GAAG,cAAc;AACjC,IAAIC,QAAQ,GAAG,UAAU;;AAEzB;AACA;AACAC,OAAO,CAACC,CAAC,GAAGjB,WAAW,GAAGG,uBAAuB,GAAG,SAASO,cAAc,CAACQ,CAAC,EAAEC,CAAC,EAAEC,UAAU,EAAE;EAC5FhB,QAAQ,CAACc,CAAC,CAAC;EACXC,CAAC,GAAGd,aAAa,CAACc,CAAC,CAAC;EACpBf,QAAQ,CAACgB,UAAU,CAAC;EACpB,IAAI,OAAOF,CAAC,KAAK,UAAU,IAAIC,CAAC,KAAK,WAAW,IAAI,OAAO,IAAIC,UAAU,IAAIL,QAAQ,IAAIK,UAAU,IAAI,CAACA,UAAU,CAACL,QAAQ,CAAC,EAAE;IAC5H,IAAIM,OAAO,GAAGV,yBAAyB,CAACO,CAAC,EAAEC,CAAC,CAAC;IAC7C,IAAIE,OAAO,IAAIA,OAAO,CAACN,QAAQ,CAAC,EAAE;MAChCG,CAAC,CAACC,CAAC,CAAC,GAAGC,UAAU,CAACE,KAAK;MACvBF,UAAU,GAAG;QACXG,YAAY,EAAET,YAAY,IAAIM,UAAU,GAAGA,UAAU,CAACN,YAAY,CAAC,GAAGO,OAAO,CAACP,YAAY,CAAC;QAC3FU,UAAU,EAAEX,UAAU,IAAIO,UAAU,GAAGA,UAAU,CAACP,UAAU,CAAC,GAAGQ,OAAO,CAACR,UAAU,CAAC;QACnFY,QAAQ,EAAE;MACZ,CAAC;IACH;EACF;EAAE,OAAOjB,eAAe,CAACU,CAAC,EAAEC,CAAC,EAAEC,UAAU,CAAC;AAC5C,CAAC,GAAGZ,eAAe,GAAG,SAASE,cAAc,CAACQ,CAAC,EAAEC,CAAC,EAAEC,UAAU,EAAE;EAC9DhB,QAAQ,CAACc,CAAC,CAAC;EACXC,CAAC,GAAGd,aAAa,CAACc,CAAC,CAAC;EACpBf,QAAQ,CAACgB,UAAU,CAAC;EACpB,IAAIlB,cAAc,EAAE,IAAI;IACtB,OAAOM,eAAe,CAACU,CAAC,EAAEC,CAAC,EAAEC,UAAU,CAAC;EAC1C,CAAC,CAAC,OAAOM,KAAK,EAAE,CAAE,WAAY;EAC9B,IAAI,KAAK,IAAIN,UAAU,IAAI,KAAK,IAAIA,UAAU,EAAE,MAAMd,UAAU,CAAC,yBAAyB,CAAC;EAC3F,IAAI,OAAO,IAAIc,UAAU,EAAEF,CAAC,CAACC,CAAC,CAAC,GAAGC,UAAU,CAACE,KAAK;EAClD,OAAOJ,CAAC;AACV,CAAC"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0876c88f2e2b4437ffc08149ceac95ea4fcac38097ae75fa6e8956bad3b8cdb4.json b/mern/client/node_modules/.cache/babel-loader/0876c88f2e2b4437ffc08149ceac95ea4fcac38097ae75fa6e8956bad3b8cdb4.json
deleted file mode 100644
index 925274a8a..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0876c88f2e2b4437ffc08149ceac95ea4fcac38097ae75fa6e8956bad3b8cdb4.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var requireObjectCoercible = require('../internals/require-object-coercible');\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};","map":{"version":3,"names":["requireObjectCoercible","require","$Object","Object","module","exports","argument"],"sources":["H:/QuadraTech/QuadraTech/mern/client/node_modules/core-js-pure/internals/to-object.js"],"sourcesContent":["var requireObjectCoercible = require('../internals/require-object-coercible');\r\n\r\nvar $Object = Object;\r\n\r\n// `ToObject` abstract operation\r\n// https://tc39.es/ecma262/#sec-toobject\r\nmodule.exports = function (argument) {\r\n return $Object(requireObjectCoercible(argument));\r\n};\r\n"],"mappings":"AAAA,IAAIA,sBAAsB,GAAGC,OAAO,CAAC,uCAAuC,CAAC;AAE7E,IAAIC,OAAO,GAAGC,MAAM;;AAEpB;AACA;AACAC,MAAM,CAACC,OAAO,GAAG,UAAUC,QAAQ,EAAE;EACnC,OAAOJ,OAAO,CAACF,sBAAsB,CAACM,QAAQ,CAAC,CAAC;AAClD,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/08c55dbacb2441d55b939e4b9189acca.json b/mern/client/node_modules/.cache/babel-loader/08c55dbacb2441d55b939e4b9189acca.json
deleted file mode 100644
index e20ff7f9d..000000000
--- a/mern/client/node_modules/.cache/babel-loader/08c55dbacb2441d55b939e4b9189acca.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(_ref => {\n let {\n getCLS,\n getFID,\n getFCP,\n getLCP,\n getTTFB\n } = _ref;\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\nexport default reportWebVitals;","map":{"version":3,"names":["reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech-2/mern/client/src/reportWebVitals.js"],"sourcesContent":["const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n"],"mappings":"AAAA,MAAMA,eAAe,GAAGC,WAAW,IAAI;EACrC,IAAIA,WAAW,IAAIA,WAAW,YAAYC,QAAQ,EAAE;IAClD,MAAM,CAAC,YAAY,CAAC,CAACC,IAAI,CAAC,QAAiD;MAAA,IAAhD;QAAEC,MAAM;QAAEC,MAAM;QAAEC,MAAM;QAAEC,MAAM;QAAEC;MAAQ,CAAC;MACpEJ,MAAM,CAACH,WAAW,CAAC;MACnBI,MAAM,CAACJ,WAAW,CAAC;MACnBK,MAAM,CAACL,WAAW,CAAC;MACnBM,MAAM,CAACN,WAAW,CAAC;MACnBO,OAAO,CAACP,WAAW,CAAC;IACtB,CAAC,CAAC;EACJ;AACF,CAAC;AAED,eAAeD,eAAe"},"metadata":{},"sourceType":"module"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/099b0ecd8e5f62bcc51b47279236ef8292fd8d736afa78ca66b8b1a0d05d0e7c.json b/mern/client/node_modules/.cache/babel-loader/099b0ecd8e5f62bcc51b47279236ef8292fd8d736afa78ca66b8b1a0d05d0e7c.json
deleted file mode 100644
index 19bb82038..000000000
--- a/mern/client/node_modules/.cache/babel-loader/099b0ecd8e5f62bcc51b47279236ef8292fd8d736afa78ca66b8b1a0d05d0e7c.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var _jsxFileName = \"/Users/shannonharrison/QuadraTech-1/mern/client/src/components/webpages/login.js\",\n _s = $RefreshSig$();\nimport '../webpages/login.css';\nimport { useState, useEffect } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport Navbar from '../navbar.js';\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport axios from 'axios';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function Login() {\n _s();\n const [user, setUser] = useState({});\n function handleCallbackResponse(response) {\n console.log(\"Encoded JWT ID token: \" + response.credential);\n document.getElementById(\"signInDiv\").hidden = true;\n }\n useEffect(() => {\n /*global google*/\n google.accounts.id.initialize({\n client_id: \"134714984207-tt7re6jjvblakkftihp0vha2u13fs7us.apps.googleusercontent.com\",\n callback: handleCallbackResponse\n });\n google.accounts.id.renderButton(document.getElementById(\"signInDiv\"), {\n theme: \"outline\",\n size: \"large\"\n });\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"signInDiv\",\n children: user && /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(Link, {\n to: \"/Add\",\n children: [\" \", /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"main-btn new-occ\",\n children: \"Add New Occupant\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 29\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/Occupants\",\n children: [\" \", /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"main-btn records\",\n children: \"See Existing Occupants\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 34\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 5\n }, this);\n}\n\n/* const Login= ({ history }) => {\n const [email, setEmail] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [error, setError] = useState(\"\");\n\n const loginHandler = async (e) => {\n e.preventDefault();\n\n const config = {\n header: {\n \"Content-Type\": \"application/json\",\n },\n };\n\n try {\n const { data } = await axios.post(\n \"http://localhost:5000/api/auth/login\",\n { email, password },\n config\n );\n\n localStorage.setItem(\"auth-token\", data.token);\n console.log(localStorage.getItem(\"auth-token\"));\n\n alert('Login successful')\n\t\t\twindow.location.href = '/Home'\n } catch (error) {\n alert('Login unsuccessful')\n window.location.href ='/'\n setError(error.response.data.error);\n setTimeout(() => {\n setError(\"\");\n }, 5000);\n }\n };\n return (\n
\n \n
\n
\n
Login Form
\n \n
\n
\n
\n )\n \n } */\n\n//export default Login;\n_s(Login, \"l0nCqodPWuiGgcnCHidP90F0Gls=\");\n_c = Login;\nvar _c;\n$RefreshReg$(_c, \"Login\");","map":{"version":3,"names":["useState","useEffect","Link","Navbar","axios","Login","user","setUser","handleCallbackResponse","response","console","log","credential","document","getElementById","hidden","google","accounts","id","initialize","client_id","callback","renderButton","theme","size"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/src/components/webpages/login.js"],"sourcesContent":["import '../webpages/login.css';\nimport { useState, useEffect } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport Navbar from '../navbar.js';\nimport \"bootstrap/dist/css/bootstrap.min.css\"\nimport axios from 'axios'\n\nexport default function Login() {\n const [user, setUser] = useState({});\n\n function handleCallbackResponse(response){\n console.log(\"Encoded JWT ID token: \" + response.credential);\n document.getElementById(\"signInDiv\").hidden = true;\n }\n\n useEffect(() => {\n /*global google*/\n google.accounts.id.initialize({\n client_id: \"134714984207-tt7re6jjvblakkftihp0vha2u13fs7us.apps.googleusercontent.com\",\n callback: handleCallbackResponse\n });\n\n google.accounts.id.renderButton(\n document.getElementById(\"signInDiv\"),\n {theme: \"outline\", size: \"large\"}\n );\n }, []);\n\n return( \n
\n )\n \n } */\n\n //export default Login;"],"mappings":";;AAAA,OAAO,uBAAuB;AAC9B,SAASA,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAC3C,SAASC,IAAI,QAAQ,kBAAkB;AACvC,OAAOC,MAAM,MAAM,cAAc;AACjC,OAAO,sCAAsC;AAC7C,OAAOC,KAAK,MAAM,OAAO;AAAA;AAEzB,eAAe,SAASC,KAAK,GAAG;EAAA;EAC9B,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGP,QAAQ,CAAC,CAAC,CAAC,CAAC;EAEpC,SAASQ,sBAAsB,CAACC,QAAQ,EAAC;IACvCC,OAAO,CAACC,GAAG,CAAC,wBAAwB,GAAGF,QAAQ,CAACG,UAAU,CAAC;IAC3DC,QAAQ,CAACC,cAAc,CAAC,WAAW,CAAC,CAACC,MAAM,GAAG,IAAI;EACpD;EAEAd,SAAS,CAAC,MAAM;IACd;IACAe,MAAM,CAACC,QAAQ,CAACC,EAAE,CAACC,UAAU,CAAC;MAC5BC,SAAS,EAAE,0EAA0E;MACrFC,QAAQ,EAAEb;IACZ,CAAC,CAAC;IAEFQ,MAAM,CAACC,QAAQ,CAACC,EAAE,CAACI,YAAY,CAC7BT,QAAQ,CAACC,cAAc,CAAC,WAAW,CAAC,EACpC;MAACS,KAAK,EAAE,SAAS;MAAEC,IAAI,EAAE;IAAO,CAAC,CAClC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE;IAAA,uBACE;MAAK,EAAE,EAAC,WAAW;MAAA,UAChBlB,IAAI,iBACH;QAAA,wBACA,QAAC,IAAI;UAAC,EAAE,EAAC,MAAM;UAAA,6BAAG;YAAQ,SAAS,EAAC,kBAAkB;YAAA;UAAA;YAAA;YAAA;YAAA;UAAA,QAA0B;QAAA;UAAA;UAAA;UAAA;QAAA,QAAO,eACvF,QAAC,IAAI;UAAC,EAAE,EAAC,YAAY;UAAA,6BAAE;YAAQ,SAAS,EAAC,kBAAkB;YAAA;UAAA;YAAA;YAAA;YAAA;UAAA,QAAgC;QAAA;UAAA;UAAA;UAAA;QAAA,QAAO;MAAA;QAAA;QAAA;QAAA;MAAA;IAC5F;MAAA;MAAA;MAAA;IAAA;EAEJ;IAAA;IAAA;IAAA;EAAA,QACF;AAEV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEE;AAAA,GA7GsBD,KAAK;AAAA,KAALA,KAAK;AAAA;AAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/09b0278d9631f6433e2641ae5c617021ce8ccc5b73b90fab036d3975d84bd4ce.json b/mern/client/node_modules/.cache/babel-loader/09b0278d9631f6433e2641ae5c617021ce8ccc5b73b90fab036d3975d84bd4ce.json
deleted file mode 100644
index 5e93899db..000000000
--- a/mern/client/node_modules/.cache/babel-loader/09b0278d9631f6433e2641ae5c617021ce8ccc5b73b90fab036d3975d84bd4ce.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n utils.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue);\n });\n return config;\n};","map":{"version":3,"names":["utils","require","module","exports","mergeConfig","config1","config2","config","getMergedValue","target","source","isPlainObject","merge","isArray","slice","mergeDeepProperties","prop","isUndefined","undefined","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","forEach","Object","keys","concat","computeConfigValue","configValue"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/axios/lib/core/mergeConfig.js"],"sourcesContent":["'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n"],"mappings":"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"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/09b7a93891ee96e68c73c2b6882edc24.json b/mern/client/node_modules/.cache/babel-loader/09b7a93891ee96e68c73c2b6882edc24.json
deleted file mode 100644
index 6bf7f80ae..000000000
--- a/mern/client/node_modules/.cache/babel-loader/09b7a93891ee96e68c73c2b6882edc24.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.numericUnicodeMap = {\n 0: 65533,\n 128: 8364,\n 130: 8218,\n 131: 402,\n 132: 8222,\n 133: 8230,\n 134: 8224,\n 135: 8225,\n 136: 710,\n 137: 8240,\n 138: 352,\n 139: 8249,\n 140: 338,\n 142: 381,\n 145: 8216,\n 146: 8217,\n 147: 8220,\n 148: 8221,\n 149: 8226,\n 150: 8211,\n 151: 8212,\n 152: 732,\n 153: 8482,\n 154: 353,\n 155: 8250,\n 156: 339,\n 158: 382,\n 159: 376\n};","map":{"version":3,"names":["Object","defineProperty","exports","value","numericUnicodeMap"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech/node_modules/html-entities/lib/numeric-unicode-map.js"],"sourcesContent":["\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.numericUnicodeMap={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};"],"mappings":"AAAA,YAAY;;AAACA,MAAM,CAACC,cAAc,CAACC,OAAO,EAAC,YAAY,EAAC;EAACC,KAAK,EAAC;AAAI,CAAC,CAAC;AAACD,OAAO,CAACE,iBAAiB,GAAC;EAAC,CAAC,EAAC,KAAK;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,GAAG;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,GAAG;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,GAAG;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,GAAG;EAAC,GAAG,EAAC,GAAG;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,GAAG;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,GAAG;EAAC,GAAG,EAAC,IAAI;EAAC,GAAG,EAAC,GAAG;EAAC,GAAG,EAAC,GAAG;EAAC,GAAG,EAAC;AAAG,CAAC"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0a02a07e63a0dec4d4359cfc153b1963f76d4fdaa8222565a07c0d2a262ad8fb.json b/mern/client/node_modules/.cache/babel-loader/0a02a07e63a0dec4d4359cfc153b1963f76d4fdaa8222565a07c0d2a262ad8fb.json
deleted file mode 100644
index a49557f0c..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0a02a07e63a0dec4d4359cfc153b1963f76d4fdaa8222565a07c0d2a262ad8fb.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};","map":{"version":3,"names":["module","exports","bitmap","value","enumerable","configurable","writable"],"sources":["H:/QuadraTech/QuadraTech/mern/client/node_modules/core-js-pure/internals/create-property-descriptor.js"],"sourcesContent":["module.exports = function (bitmap, value) {\r\n return {\r\n enumerable: !(bitmap & 1),\r\n configurable: !(bitmap & 2),\r\n writable: !(bitmap & 4),\r\n value: value\r\n };\r\n};\r\n"],"mappings":"AAAAA,MAAM,CAACC,OAAO,GAAG,UAAUC,MAAM,EAAEC,KAAK,EAAE;EACxC,OAAO;IACLC,UAAU,EAAE,EAAEF,MAAM,GAAG,CAAC,CAAC;IACzBG,YAAY,EAAE,EAAEH,MAAM,GAAG,CAAC,CAAC;IAC3BI,QAAQ,EAAE,EAAEJ,MAAM,GAAG,CAAC,CAAC;IACvBC,KAAK,EAAEA;EACT,CAAC;AACH,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0a128f0a8f5d7f898a3a148ff6dbcf3710a0fa661f2587d7d56af042f7e7a57c.json b/mern/client/node_modules/.cache/babel-loader/0a128f0a8f5d7f898a3a148ff6dbcf3710a0fa661f2587d7d56af042f7e7a57c.json
deleted file mode 100644
index c7a12a020..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0a128f0a8f5d7f898a3a148ff6dbcf3710a0fa661f2587d7d56af042f7e7a57c.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var _jsxFileName = \"/Users/shannonharrison/QuadraTech-1/mern/client/src/components/webpages/home.js\";\nimport '../webpages/home.css';\nimport React from 'react';\nimport { Link } from \"react-router-dom\";\nimport Navbar from '../navbar.js';\nimport Create from \"../create.js\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(Navbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"home\",\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Welcome to Quadra Tech\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/Login\",\n children: [\" \", /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"main-btn login-register\",\n children: \"Login/Register\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 37\n }, this), \" \"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/Add\",\n children: [\" \", /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"main-btn new-occ\",\n children: \"Add New Occupant\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 35\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/Record\",\n children: [\" \", /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"main-btn records\",\n children: \"See Existing occupants\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 37\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 9\n }, this);\n}\n_c = Home;\nvar _c;\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"names":["React","Link","Navbar","Create","Home"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/src/components/webpages/home.js"],"sourcesContent":["import '../webpages/home.css';\nimport React from 'react'\nimport {Link} from \"react-router-dom\";\nimport Navbar from '../navbar.js';\nimport Create from \"../create.js\"\n\nexport default function Home() {\n return (\n
\n \n
\n
Welcome to Quadra Tech
\n \n \n \n
\n
\n )\n}"],"mappings":";AAAA,OAAO,sBAAsB;AAC7B,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAQC,IAAI,QAAO,kBAAkB;AACrC,OAAOC,MAAM,MAAM,cAAc;AACjC,OAAOC,MAAM,MAAM,cAAc;AAAA;AAEjC,eAAe,SAASC,IAAI,GAAG;EAC3B,oBACI;IAAA,wBACI,QAAC,MAAM;MAAA;MAAA;MAAA;IAAA,QAAG,eACV;MAAK,EAAE,EAAC,MAAM;MAAA,wBACV;QAAA;MAAA;QAAA;QAAA;QAAA;MAAA,QAA+B,eAC/B,QAAC,IAAI;QAAC,EAAE,EAAC,QAAQ;QAAA,6BAAG;UAAQ,SAAS,EAAC,yBAAyB;UAAA;QAAA;UAAA;UAAA;UAAA;QAAA,QAAwB;MAAA;QAAA;QAAA;QAAA;MAAA,QAAQ,eAC/F,QAAC,IAAI;QAAC,EAAE,EAAC,MAAM;QAAA,6BAAG;UAAQ,SAAS,EAAC,kBAAkB;UAAA;QAAA;UAAA;UAAA;UAAA;QAAA,QAA0B;MAAA;QAAA;QAAA;QAAA;MAAA,QAAO,eACvF,QAAC,IAAI;QAAC,EAAE,EAAC,SAAS;QAAA,6BAAE;UAAQ,SAAS,EAAC,kBAAkB;UAAA;QAAA;UAAA;UAAA;UAAA;QAAA,QAAgC;MAAA;QAAA;QAAA;QAAA;MAAA,QAAO;IAAA;MAAA;MAAA;MAAA;IAAA,QAC7F;EAAA;IAAA;IAAA;IAAA;EAAA,QACJ;AAEd;AAAC,KAZuBA,IAAI;AAAA;AAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0a2b949aaaf143201804b22f9e21e798.json b/mern/client/node_modules/.cache/babel-loader/0a2b949aaaf143201804b22f9e21e798.json
deleted file mode 100644
index 2f414a076..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0a2b949aaaf143201804b22f9e21e798.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"/**\n * React Router v6.4.3\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { invariant, joinPaths, matchPath, UNSAFE_getPathContributingMatches, warning, resolveTo, parsePath, matchRoutes, Action, isRouteErrorResponse, createMemoryHistory, stripBasename, AbortedDeferredError, createRouter } from '@remix-run/router';\nexport { AbortedDeferredError, Action as NavigationType, createPath, defer, generatePath, isRouteErrorResponse, json, matchPath, matchRoutes, parsePath, redirect, resolvePath } from '@remix-run/router';\nimport * as React from 'react';\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n\nfunction isPolyfill(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nconst is = typeof Object.is === \"function\" ? Object.is : isPolyfill; // Intentionally not using named imports because Rollup uses dynamic\n// dispatch for CommonJS interop named imports.\n\nconst {\n useState,\n useEffect,\n useLayoutEffect,\n useDebugValue\n} = React;\nlet didWarnOld18Alpha = false;\nlet didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\n\nfunction useSyncExternalStore$2(subscribe, getSnapshot,\n// Note: The shim does not use getServerSnapshot, because pre-18 versions of\n// React do not expose a way to check if we're hydrating. So users of the shim\n// will need to track that themselves and return the correct value\n// from `getSnapshot`.\ngetServerSnapshot) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!didWarnOld18Alpha) {\n if (\"startTransition\" in React) {\n didWarnOld18Alpha = true;\n console.error(\"You are using an outdated, pre-release alpha of React 18 that \" + \"does not support useSyncExternalStore. The \" + \"use-sync-external-store shim will not work correctly. Upgrade \" + \"to a newer pre-release.\");\n }\n }\n } // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n\n const value = getSnapshot();\n if (process.env.NODE_ENV !== \"production\") {\n if (!didWarnUncachedGetSnapshot) {\n const cachedValue = getSnapshot();\n if (!is(value, cachedValue)) {\n console.error(\"The result of getSnapshot should be cached to avoid an infinite loop\");\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n\n const [{\n inst\n }, forceUpdate] = useState({\n inst: {\n value,\n getSnapshot\n }\n }); // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n\n useLayoutEffect(() => {\n inst.value = value;\n inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst\n });\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe, value, getSnapshot]);\n useEffect(() => {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst\n });\n }\n const handleStoreChange = () => {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst\n });\n }\n }; // Subscribe to the store and return a clean-up function.\n\n return subscribe(handleStoreChange); // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe]);\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n const latestGetSnapshot = inst.getSnapshot;\n const prevValue = inst.value;\n try {\n const nextValue = latestGetSnapshot();\n return !is(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n */\nfunction useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) {\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n return getSnapshot();\n}\n\n/**\n * Inlined into the react-router repo since use-sync-external-store does not\n * provide a UMD-compatible package, so we need this to be able to distribute\n * UMD react-router bundles\n */\nconst canUseDOM = !!(typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\");\nconst isServerEnvironment = !canUseDOM;\nconst shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore$2;\nconst useSyncExternalStore = \"useSyncExternalStore\" in React ? (module => module.useSyncExternalStore)(React) : shim;\n\n// Contexts for data routers\nconst DataStaticRouterContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n DataStaticRouterContext.displayName = \"DataStaticRouterContext\";\n}\nconst DataRouterContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n DataRouterContext.displayName = \"DataRouter\";\n}\nconst DataRouterStateContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\nconst AwaitContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n AwaitContext.displayName = \"Await\";\n}\nconst NavigationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n NavigationContext.displayName = \"Navigation\";\n}\nconst LocationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n LocationContext.displayName = \"Location\";\n}\nconst RouteContext = /*#__PURE__*/React.createContext({\n outlet: null,\n matches: []\n});\nif (process.env.NODE_ENV !== \"production\") {\n RouteContext.displayName = \"Route\";\n}\nconst RouteErrorContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n RouteErrorContext.displayName = \"RouteError\";\n}\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-href\n */\n\nfunction useHref(to, _temp) {\n let {\n relative\n } = _temp === void 0 ? {} : _temp;\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false,\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useHref() may be used only in the context of a component.\") : invariant(false) : void 0;\n let {\n basename,\n navigator\n } = React.useContext(NavigationContext);\n let {\n hash,\n pathname,\n search\n } = useResolvedPath(to, {\n relative\n });\n let joinedPathname = pathname; // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n\n if (basename !== \"/\") {\n joinedPathname = pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n return navigator.createHref({\n pathname: joinedPathname,\n search,\n hash\n });\n}\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-in-router-context\n */\n\nfunction useInRouterContext() {\n return React.useContext(LocationContext) != null;\n}\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-location\n */\n\nfunction useLocation() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false,\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useLocation() may be used only in the context of a component.\") : invariant(false) : void 0;\n return React.useContext(LocationContext).location;\n}\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-navigation-type\n */\n\nfunction useNavigationType() {\n return React.useContext(LocationContext).navigationType;\n}\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-match\n */\n\nfunction useMatch(pattern) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false,\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useMatch() may be used only in the context of a component.\") : invariant(false) : void 0;\n let {\n pathname\n } = useLocation();\n return React.useMemo(() => matchPath(pattern, pathname), [pathname, pattern]);\n}\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-navigate\n */\nfunction useNavigate() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false,\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useNavigate() may be used only in the context of a component.\") : invariant(false) : void 0;\n let {\n basename,\n navigator\n } = React.useContext(NavigationContext);\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(UNSAFE_getPathContributingMatches(matches).map(match => match.pathnameBase));\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n let navigate = React.useCallback(function (to, options) {\n if (options === void 0) {\n options = {};\n }\n process.env.NODE_ENV !== \"production\" ? warning(activeRef.current, \"You should call navigate() in a React.useEffect(), not when \" + \"your component is first rendered.\") : void 0;\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n let path = resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, options.relative === \"path\"); // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history. If this is a root navigation, then we\n // navigate to the raw basename which allows the basename to have full\n // control over the presence of a trailing slash on root links\n\n if (basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n (!!options.replace ? navigator.replace : navigator.push)(path, options.state, options);\n }, [basename, navigator, routePathnamesJson, locationPathname]);\n return navigate;\n}\nconst OutletContext = /*#__PURE__*/React.createContext(null);\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/hooks/use-outlet-context\n */\n\nfunction useOutletContext() {\n return React.useContext(OutletContext);\n}\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-outlet\n */\n\nfunction useOutlet(context) {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return /*#__PURE__*/React.createElement(OutletContext.Provider, {\n value: context\n }, outlet);\n }\n return outlet;\n}\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-params\n */\n\nfunction useParams() {\n let {\n matches\n } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? routeMatch.params : {};\n}\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-resolved-path\n */\n\nfunction useResolvedPath(to, _temp2) {\n let {\n relative\n } = _temp2 === void 0 ? {} : _temp2;\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(UNSAFE_getPathContributingMatches(matches).map(match => match.pathnameBase));\n return React.useMemo(() => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, relative === \"path\"), [to, routePathnamesJson, locationPathname, relative]);\n}\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-routes\n */\n\nfunction useRoutes(routes, locationArg) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false,\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useRoutes() may be used only in the context of a component.\") : invariant(false) : void 0;\n let dataRouterStateContext = React.useContext(DataRouterStateContext);\n let {\n matches: parentMatches\n } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n if (process.env.NODE_ENV !== \"production\") {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = parentRoute && parentRoute.path || \"\";\n warningOnce(parentPathname, !parentRoute || parentPath.endsWith(\"*\"), \"You rendered descendant (or called `useRoutes()`) at \" + (\"\\\"\" + parentPathname + \"\\\" (under ) but the \") + \"parent route path has no trailing \\\"*\\\". This means if you navigate \" + \"deeper, the parent won't match anymore and therefore the child \" + \"routes will never render.\\n\\n\" + (\"Please change the parent to .\"));\n }\n let locationFromContext = useLocation();\n let location;\n if (locationArg) {\n var _parsedLocationArg$pa;\n let parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n !(parentPathnameBase === \"/\" || ((_parsedLocationArg$pa = parsedLocationArg.pathname) == null ? void 0 : _parsedLocationArg$pa.startsWith(parentPathnameBase))) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"When overriding the location using `` or `useRoutes(routes, location)`, \" + \"the location pathname must begin with the portion of the URL pathname that was \" + (\"matched by all parent routes. The current pathname base is \\\"\" + parentPathnameBase + \"\\\" \") + (\"but pathname \\\"\" + parsedLocationArg.pathname + \"\\\" was given in the `location` prop.\")) : invariant(false) : void 0;\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n let pathname = location.pathname || \"/\";\n let remainingPathname = parentPathnameBase === \"/\" ? pathname : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, {\n pathname: remainingPathname\n });\n if (process.env.NODE_ENV !== \"production\") {\n process.env.NODE_ENV !== \"production\" ? warning(parentRoute || matches != null, \"No routes matched location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(matches == null || matches[matches.length - 1].route.element !== undefined, \"Matched leaf route at location \\\"\" + location.pathname + location.search + location.hash + \"\\\" does not have an element. \" + \"This means it will render an with a null value by default resulting in an \\\"empty\\\" page.\") : void 0;\n }\n let renderedMatches = _renderMatches(matches && matches.map(match => Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([parentPathnameBase, match.pathnameBase])\n })), parentMatches, dataRouterStateContext || undefined); // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n\n if (locationArg && renderedMatches) {\n return /*#__PURE__*/React.createElement(LocationContext.Provider, {\n value: {\n location: _extends({\n pathname: \"/\",\n search: \"\",\n hash: \"\",\n state: null,\n key: \"default\"\n }, location),\n navigationType: Action.Pop\n }\n }, renderedMatches);\n }\n return renderedMatches;\n}\nfunction DefaultErrorElement() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error) ? error.status + \" \" + error.statusText : error instanceof Error ? error.message : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = {\n padding: \"0.5rem\",\n backgroundColor: lightgrey\n };\n let codeStyles = {\n padding: \"2px 4px\",\n backgroundColor: lightgrey\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"h2\", null, \"Unhandled Thrown Error!\"), /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n fontStyle: \"italic\"\n }\n }, message), stack ? /*#__PURE__*/React.createElement(\"pre\", {\n style: preStyles\n }, stack) : null, /*#__PURE__*/React.createElement(\"p\", null, \"\\uD83D\\uDCBF Hey developer \\uD83D\\uDC4B\"), /*#__PURE__*/React.createElement(\"p\", null, \"You can provide a way better UX than this when your app throws errors by providing your own\\xA0\", /*#__PURE__*/React.createElement(\"code\", {\n style: codeStyles\n }, \"errorElement\"), \" props on\\xA0\", /*#__PURE__*/React.createElement(\"code\", {\n style: codeStyles\n }, \"\")));\n}\nclass RenderErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n location: props.location,\n error: props.error\n };\n }\n static getDerivedStateFromError(error) {\n return {\n error: error\n };\n }\n static getDerivedStateFromProps(props, state) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (state.location !== props.location) {\n return {\n error: props.error,\n location: props.location\n };\n } // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n\n return {\n error: props.error || state.error,\n location: state.location\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\"React Router caught the following error during render\", error, errorInfo);\n }\n render() {\n return this.state.error ? /*#__PURE__*/React.createElement(RouteErrorContext.Provider, {\n value: this.state.error,\n children: this.props.component\n }) : this.props.children;\n }\n}\nfunction RenderedRoute(_ref) {\n let {\n routeContext,\n match,\n children\n } = _ref;\n let dataStaticRouterContext = React.useContext(DataStaticRouterContext); // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n\n if (dataStaticRouterContext && match.route.errorElement) {\n dataStaticRouterContext._deepestRenderedBoundaryId = match.route.id;\n }\n return /*#__PURE__*/React.createElement(RouteContext.Provider, {\n value: routeContext\n }, children);\n}\nfunction _renderMatches(matches, parentMatches, dataRouterState) {\n if (parentMatches === void 0) {\n parentMatches = [];\n }\n if (matches == null) {\n if (dataRouterState != null && dataRouterState.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches;\n } else {\n return null;\n }\n }\n let renderedMatches = matches; // If we have data errors, trim matches to the highest error boundary\n\n let errors = dataRouterState == null ? void 0 : dataRouterState.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(m => m.route.id && (errors == null ? void 0 : errors[m.route.id]));\n !(errorIndex >= 0) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not find a matching route for the current errors: \" + errors) : invariant(false) : void 0;\n renderedMatches = renderedMatches.slice(0, Math.min(renderedMatches.length, errorIndex + 1));\n }\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error = match.route.id ? errors == null ? void 0 : errors[match.route.id] : null; // Only data routers handle errors\n\n let errorElement = dataRouterState ? match.route.errorElement || /*#__PURE__*/React.createElement(DefaultErrorElement, null) : null;\n let getChildren = () => /*#__PURE__*/React.createElement(RenderedRoute, {\n match: match,\n routeContext: {\n outlet,\n matches: parentMatches.concat(renderedMatches.slice(0, index + 1))\n }\n }, error ? errorElement : match.route.element !== undefined ? match.route.element : outlet); // Only wrap in an error boundary within data router usages when we have an\n // errorElement on this route. Otherwise let it bubble up to an ancestor\n // errorElement\n\n return dataRouterState && (match.route.errorElement || index === 0) ? /*#__PURE__*/React.createElement(RenderErrorBoundary, {\n location: dataRouterState.location,\n component: errorElement,\n error: error,\n children: getChildren()\n }) : getChildren();\n }, null);\n}\nvar DataRouterHook;\n(function (DataRouterHook) {\n DataRouterHook[\"UseRevalidator\"] = \"useRevalidator\";\n})(DataRouterHook || (DataRouterHook = {}));\nvar DataRouterStateHook;\n(function (DataRouterStateHook) {\n DataRouterStateHook[\"UseLoaderData\"] = \"useLoaderData\";\n DataRouterStateHook[\"UseActionData\"] = \"useActionData\";\n DataRouterStateHook[\"UseRouteError\"] = \"useRouteError\";\n DataRouterStateHook[\"UseNavigation\"] = \"useNavigation\";\n DataRouterStateHook[\"UseRouteLoaderData\"] = \"useRouteLoaderData\";\n DataRouterStateHook[\"UseMatches\"] = \"useMatches\";\n DataRouterStateHook[\"UseRevalidator\"] = \"useRevalidator\";\n})(DataRouterStateHook || (DataRouterStateHook = {}));\nfunction getDataRouterConsoleError(hookName) {\n return hookName + \" must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.\";\n}\nfunction useDataRouterContext(hookName) {\n let ctx = React.useContext(DataRouterContext);\n !ctx ? process.env.NODE_ENV !== \"production\" ? invariant(false, getDataRouterConsoleError(hookName)) : invariant(false) : void 0;\n return ctx;\n}\nfunction useDataRouterState(hookName) {\n let state = React.useContext(DataRouterStateContext);\n !state ? process.env.NODE_ENV !== \"production\" ? invariant(false, getDataRouterConsoleError(hookName)) : invariant(false) : void 0;\n return state;\n}\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\n\nfunction useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\n\nfunction useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return {\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation\n };\n}\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\n\nfunction useMatches() {\n let {\n matches,\n loaderData\n } = useDataRouterState(DataRouterStateHook.UseMatches);\n return React.useMemo(() => matches.map(match => {\n let {\n pathname,\n params\n } = match; // Note: This structure matches that created by createUseMatchesMatch\n // in the @remix-run/router , so if you change this please also change\n // that :) Eventually we'll DRY this up\n\n return {\n id: match.route.id,\n pathname,\n params,\n data: loaderData[match.route.id],\n handle: match.route.handle\n };\n }), [matches, loaderData]);\n}\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\n\nfunction useLoaderData() {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let route = React.useContext(RouteContext);\n !route ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"useLoaderData must be used inside a RouteContext\") : invariant(false) : void 0;\n let thisRoute = route.matches[route.matches.length - 1];\n !thisRoute.route.id ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"useLoaderData can only be used on routes that contain a unique \\\"id\\\"\") : invariant(false) : void 0;\n return state.loaderData[thisRoute.route.id];\n}\n/**\n * Returns the loaderData for the given routeId\n */\n\nfunction useRouteLoaderData(routeId) {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n/**\n * Returns the action data for the nearest ancestor Route action\n */\n\nfunction useActionData() {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n let route = React.useContext(RouteContext);\n !route ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"useActionData must be used inside a RouteContext\") : invariant(false) : void 0;\n return Object.values((state == null ? void 0 : state.actionData) || {})[0];\n}\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * errorElement to display a proper error message.\n */\n\nfunction useRouteError() {\n var _state$errors;\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let route = React.useContext(RouteContext);\n let thisRoute = route.matches[route.matches.length - 1]; // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n\n if (error) {\n return error;\n }\n !route ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"useRouteError must be used inside a RouteContext\") : invariant(false) : void 0;\n !thisRoute.route.id ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"useRouteError can only be used on routes that contain a unique \\\"id\\\"\") : invariant(false) : void 0; // Otherwise look for errors from our data router state\n\n return (_state$errors = state.errors) == null ? void 0 : _state$errors[thisRoute.route.id];\n}\n/**\n * Returns the happy-path data from the nearest ancestor value\n */\n\nfunction useAsyncValue() {\n let value = React.useContext(AwaitContext);\n return value == null ? void 0 : value._data;\n}\n/**\n * Returns the error from the nearest ancestor value\n */\n\nfunction useAsyncError() {\n let value = React.useContext(AwaitContext);\n return value == null ? void 0 : value._error;\n}\nconst alreadyWarned = {};\nfunction warningOnce(key, cond, message) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n process.env.NODE_ENV !== \"production\" ? warning(false, message) : void 0;\n }\n}\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nfunction RouterProvider(_ref) {\n let {\n fallbackElement,\n router\n } = _ref;\n // Sync router state to our component state to force re-renders\n let state = useSyncExternalStore(router.subscribe, () => router.state,\n // We have to provide this so React@18 doesn't complain during hydration,\n // but we pass our serialized hydration data into the router so state here\n // is already synced with what the server saw\n () => router.state);\n let navigator = React.useMemo(() => {\n return {\n createHref: router.createHref,\n go: n => router.navigate(n),\n push: (to, state, opts) => router.navigate(to, {\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n }),\n replace: (to, state, opts) => router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n })\n };\n }, [router]);\n let basename = router.basename || \"/\";\n return /*#__PURE__*/React.createElement(DataRouterContext.Provider, {\n value: {\n router,\n navigator,\n static: false,\n // Do we need this?\n basename\n }\n }, /*#__PURE__*/React.createElement(DataRouterStateContext.Provider, {\n value: state\n }, /*#__PURE__*/React.createElement(Router, {\n basename: router.basename,\n location: router.state.location,\n navigationType: router.state.historyAction,\n navigator: navigator\n }, router.state.initialized ? /*#__PURE__*/React.createElement(Routes, null) : fallbackElement)));\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/routers/memory-router\n */\nfunction MemoryRouter(_ref2) {\n let {\n basename,\n children,\n initialEntries,\n initialIndex\n } = _ref2;\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({\n initialEntries,\n initialIndex,\n v5Compat: true\n });\n }\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n React.useLayoutEffect(() => history.listen(setState), [history]);\n return /*#__PURE__*/React.createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n });\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/components/navigate\n */\nfunction Navigate(_ref3) {\n let {\n to,\n replace,\n state,\n relative\n } = _ref3;\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false,\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n \" may be used only in the context of a component.\") : invariant(false) : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!React.useContext(NavigationContext).static, \" must not be used on the initial render in a . \" + \"This is a no-op, but you should modify your code so the is \" + \"only ever rendered in response to some user interaction or state change.\") : void 0;\n let dataRouterState = React.useContext(DataRouterStateContext);\n let navigate = useNavigate();\n React.useEffect(() => {\n // Avoid kicking off multiple navigations if we're in the middle of a\n // data-router navigation, since components get re-rendered when we enter\n // a submitting/loading state\n if (dataRouterState && dataRouterState.navigation.state !== \"idle\") {\n return;\n }\n navigate(to, {\n replace,\n state,\n relative\n });\n });\n return null;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/components/outlet\n */\nfunction Outlet(props) {\n return useOutlet(props.context);\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/components/route\n */\nfunction Route(_props) {\n process.env.NODE_ENV !== \"production\" ? invariant(false, \"A is only ever to be used as the child of element, \" + \"never rendered directly. Please wrap your in a .\") : invariant(false);\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/routers/router\n */\nfunction Router(_ref4) {\n let {\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = Action.Pop,\n navigator,\n static: staticProp = false\n } = _ref4;\n !!useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You cannot render a inside another .\" + \" You should never have more than one in your app.\") : invariant(false) : void 0; // Preserve trailing slashes on basename, so we can let the user control\n // the enforcement of trailing slashes throughout the app\n\n let basename = basenameProp.replace(/^\\/*/, \"/\");\n let navigationContext = React.useMemo(() => ({\n basename,\n navigator,\n static: staticProp\n }), [basename, navigator, staticProp]);\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\"\n } = locationProp;\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n if (trailingPathname == null) {\n return null;\n }\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key\n };\n }, [basename, pathname, search, hash, state, key]);\n process.env.NODE_ENV !== \"production\" ? warning(location != null, \" is not able to match the URL \" + (\"\\\"\" + pathname + search + hash + \"\\\" because it does not start with the \") + \"basename, so the won't render anything.\") : void 0;\n if (location == null) {\n return null;\n }\n return /*#__PURE__*/React.createElement(NavigationContext.Provider, {\n value: navigationContext\n }, /*#__PURE__*/React.createElement(LocationContext.Provider, {\n children: children,\n value: {\n location,\n navigationType\n }\n }));\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/components/routes\n */\nfunction Routes(_ref5) {\n let {\n children,\n location\n } = _ref5;\n let dataRouterContext = React.useContext(DataRouterContext); // When in a DataRouterContext _without_ children, we use the router routes\n // directly. If we have children, then we're in a descendant tree and we\n // need to use child routes.\n\n let routes = dataRouterContext && !children ? dataRouterContext.router.routes : createRoutesFromChildren(children);\n return useRoutes(routes, location);\n}\n\n/**\n * Component to use for rendering lazily loaded data from returning defer()\n * in a loader function\n */\nfunction Await(_ref6) {\n let {\n children,\n errorElement,\n resolve\n } = _ref6;\n return /*#__PURE__*/React.createElement(AwaitErrorBoundary, {\n resolve: resolve,\n errorElement: errorElement\n }, /*#__PURE__*/React.createElement(ResolveAwait, null, children));\n}\nvar AwaitRenderStatus;\n(function (AwaitRenderStatus) {\n AwaitRenderStatus[AwaitRenderStatus[\"pending\"] = 0] = \"pending\";\n AwaitRenderStatus[AwaitRenderStatus[\"success\"] = 1] = \"success\";\n AwaitRenderStatus[AwaitRenderStatus[\"error\"] = 2] = \"error\";\n})(AwaitRenderStatus || (AwaitRenderStatus = {}));\nconst neverSettledPromise = new Promise(() => {});\nclass AwaitErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n error: null\n };\n }\n static getDerivedStateFromError(error) {\n return {\n error\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\" caught the following error during render\", error, errorInfo);\n }\n render() {\n let {\n children,\n errorElement,\n resolve\n } = this.props;\n let promise = null;\n let status = AwaitRenderStatus.pending;\n if (!(resolve instanceof Promise)) {\n // Didn't get a promise - provide as a resolved promise\n status = AwaitRenderStatus.success;\n promise = Promise.resolve();\n Object.defineProperty(promise, \"_tracked\", {\n get: () => true\n });\n Object.defineProperty(promise, \"_data\", {\n get: () => resolve\n });\n } else if (this.state.error) {\n // Caught a render error, provide it as a rejected promise\n status = AwaitRenderStatus.error;\n let renderError = this.state.error;\n promise = Promise.reject().catch(() => {}); // Avoid unhandled rejection warnings\n\n Object.defineProperty(promise, \"_tracked\", {\n get: () => true\n });\n Object.defineProperty(promise, \"_error\", {\n get: () => renderError\n });\n } else if (resolve._tracked) {\n // Already tracked promise - check contents\n promise = resolve;\n status = promise._error !== undefined ? AwaitRenderStatus.error : promise._data !== undefined ? AwaitRenderStatus.success : AwaitRenderStatus.pending;\n } else {\n // Raw (untracked) promise - track it\n status = AwaitRenderStatus.pending;\n Object.defineProperty(resolve, \"_tracked\", {\n get: () => true\n });\n promise = resolve.then(data => Object.defineProperty(resolve, \"_data\", {\n get: () => data\n }), error => Object.defineProperty(resolve, \"_error\", {\n get: () => error\n }));\n }\n if (status === AwaitRenderStatus.error && promise._error instanceof AbortedDeferredError) {\n // Freeze the UI by throwing a never resolved promise\n throw neverSettledPromise;\n }\n if (status === AwaitRenderStatus.error && !errorElement) {\n // No errorElement, throw to the nearest route-level error boundary\n throw promise._error;\n }\n if (status === AwaitRenderStatus.error) {\n // Render via our errorElement\n return /*#__PURE__*/React.createElement(AwaitContext.Provider, {\n value: promise,\n children: errorElement\n });\n }\n if (status === AwaitRenderStatus.success) {\n // Render children with resolved value\n return /*#__PURE__*/React.createElement(AwaitContext.Provider, {\n value: promise,\n children: children\n });\n } // Throw to the suspense boundary\n\n throw promise;\n }\n}\n/**\n * @private\n * Indirection to leverage useAsyncValue for a render-prop API on \n */\n\nfunction ResolveAwait(_ref7) {\n let {\n children\n } = _ref7;\n let data = useAsyncValue();\n if (typeof children === \"function\") {\n return children(data);\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, children);\n} ///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/utils/create-routes-from-children\n */\n\nfunction createRoutesFromChildren(children, parentPath) {\n if (parentPath === void 0) {\n parentPath = [];\n }\n let routes = [];\n React.Children.forEach(children, (element, index) => {\n if (! /*#__PURE__*/React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(routes, createRoutesFromChildren(element.props.children, parentPath));\n return;\n }\n !(element.type === Route) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"[\" + (typeof element.type === \"string\" ? element.type : element.type.name) + \"] is not a component. All component children of must be a or \") : invariant(false) : void 0;\n !(!element.props.index || !element.props.children) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"An index route cannot have child routes.\") : invariant(false) : void 0;\n let treePath = [...parentPath, index];\n let route = {\n id: element.props.id || treePath.join(\"-\"),\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path,\n loader: element.props.loader,\n action: element.props.action,\n errorElement: element.props.errorElement,\n hasErrorBoundary: element.props.errorElement != null,\n shouldRevalidate: element.props.shouldRevalidate,\n handle: element.props.handle\n };\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children, treePath);\n }\n routes.push(route);\n });\n return routes;\n}\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\n\nfunction renderMatches(matches) {\n return _renderMatches(matches);\n}\n/**\n * @private\n * Walk the route tree and add hasErrorBoundary if it's not provided, so that\n * users providing manual route arrays can just specify errorElement\n */\n\nfunction enhanceManualRouteObjects(routes) {\n return routes.map(route => {\n let routeClone = _extends({}, route);\n if (routeClone.hasErrorBoundary == null) {\n routeClone.hasErrorBoundary = routeClone.errorElement != null;\n }\n if (routeClone.children) {\n routeClone.children = enhanceManualRouteObjects(routeClone.children);\n }\n return routeClone;\n });\n}\nfunction createMemoryRouter(routes, opts) {\n return createRouter({\n basename: opts == null ? void 0 : opts.basename,\n history: createMemoryHistory({\n initialEntries: opts == null ? void 0 : opts.initialEntries,\n initialIndex: opts == null ? void 0 : opts.initialIndex\n }),\n hydrationData: opts == null ? void 0 : opts.hydrationData,\n routes: enhanceManualRouteObjects(routes)\n }).initialize();\n} ///////////////////////////////////////////////////////////////////////////////\n\nexport { Await, MemoryRouter, Navigate, Outlet, Route, Router, RouterProvider, Routes, DataRouterContext as UNSAFE_DataRouterContext, DataRouterStateContext as UNSAFE_DataRouterStateContext, DataStaticRouterContext as UNSAFE_DataStaticRouterContext, LocationContext as UNSAFE_LocationContext, NavigationContext as UNSAFE_NavigationContext, RouteContext as UNSAFE_RouteContext, enhanceManualRouteObjects as UNSAFE_enhanceManualRouteObjects, createMemoryRouter, createRoutesFromChildren, createRoutesFromChildren as createRoutesFromElements, renderMatches, useActionData, useAsyncError, useAsyncValue, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes };","map":{"version":3,"mappings":"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","names":["isPolyfill","x","y","is","Object","useState","useEffect","useLayoutEffect","useDebugValue","React","didWarnOld18Alpha","didWarnUncachedGetSnapshot","useSyncExternalStore","subscribe","getSnapshot","getServerSnapshot","process","console","error","value","cachedValue","inst","forceUpdate","checkIfSnapshotChanged","handleStoreChange","latestGetSnapshot","prevValue","nextValue","canUseDOM","window","document","createElement","isServerEnvironment","shim","server","client","module","DataStaticRouterContext","createContext","displayName","DataRouterContext","DataRouterStateContext","AwaitContext","NavigationContext","LocationContext","RouteContext","outlet","matches","RouteErrorContext","useHref","to","_temp","relative","useInRouterContext","basename","navigator","useContext","hash","pathname","search","useResolvedPath","joinedPathname","joinPaths","createHref","useLocation","location","useNavigationType","navigationType","useMatch","pattern","useMemo","matchPath","useNavigate","locationPathname","routePathnamesJson","JSON","stringify","getPathContributingMatches","map","match","pathnameBase","activeRef","useRef","current","navigate","useCallback","options","go","path","resolveTo","parse","replace","push","state","OutletContext","useOutletContext","useOutlet","context","Provider","useParams","routeMatch","length","params","_temp2","useRoutes","routes","locationArg","dataRouterStateContext","parentMatches","parentParams","parentPathname","parentPathnameBase","parentRoute","route","parentPath","warningOnce","endsWith","locationFromContext","parsedLocationArg","parsePath","startsWith","remainingPathname","slice","matchRoutes","element","undefined","renderedMatches","_renderMatches","assign","key","NavigationType","Pop","DefaultErrorElement","useRouteError","message","isRouteErrorResponse","status","statusText","Error","stack","lightgrey","preStyles","padding","backgroundColor","codeStyles","style","fontStyle","RenderErrorBoundary","Component","constructor","props","getDerivedStateFromError","getDerivedStateFromProps","componentDidCatch","errorInfo","render","children","component","RenderedRoute","_ref","routeContext","dataStaticRouterContext","errorElement","_deepestRenderedBoundaryId","id","dataRouterState","errors","errorIndex","findIndex","m","Math","min","reduceRight","index","getChildren","concat","DataRouterHook","DataRouterStateHook","getDataRouterConsoleError","hookName","useDataRouterContext","ctx","useDataRouterState","useNavigation","UseNavigation","navigation","useRevalidator","dataRouterContext","UseRevalidator","revalidate","router","revalidation","useMatches","loaderData","UseMatches","data","handle","useLoaderData","UseLoaderData","thisRoute","useRouteLoaderData","routeId","UseRouteLoaderData","useActionData","UseActionData","values","actionData","UseRouteError","useAsyncValue","_data","useAsyncError","_error","alreadyWarned","cond","RouterProvider","fallbackElement","useSyncExternalStoreShim","n","opts","preventScrollReset","static","Router","historyAction","initialized","MemoryRouter","_ref2","initialEntries","initialIndex","historyRef","createMemoryHistory","v5Compat","history","setState","action","listen","Navigate","_ref3","Outlet","Route","_props","invariant","_ref4","basenameProp","locationProp","staticProp","navigationContext","trailingPathname","stripBasename","Routes","_ref5","createRoutesFromChildren","Await","_ref6","resolve","AwaitErrorBoundary","AwaitRenderStatus","neverSettledPromise","Promise","promise","pending","success","defineProperty","get","renderError","reject","catch","_tracked","then","AbortedDeferredError","ResolveAwait","_ref7","Children","forEach","isValidElement","type","Fragment","apply","name","treePath","join","caseSensitive","loader","hasErrorBoundary","shouldRevalidate","renderMatches","enhanceManualRouteObjects","routeClone","createMemoryRouter","createRouter","hydrationData","initialize"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech-2/node_modules/react-router/lib/use-sync-external-store-shim/useSyncExternalStoreShimClient.ts","/Users/shannonharrison/QuadraTech-1/QuadraTech-2/node_modules/react-router/lib/use-sync-external-store-shim/useSyncExternalStoreShimServer.ts","/Users/shannonharrison/QuadraTech-1/QuadraTech-2/node_modules/react-router/lib/use-sync-external-store-shim/index.ts","/Users/shannonharrison/QuadraTech-1/QuadraTech-2/node_modules/react-router/lib/context.ts","/Users/shannonharrison/QuadraTech-1/QuadraTech-2/node_modules/react-router/lib/hooks.tsx","/Users/shannonharrison/QuadraTech-1/QuadraTech-2/node_modules/react-router/lib/components.tsx","/Users/shannonharrison/QuadraTech-1/QuadraTech-2/node_modules/react-router/index.ts"],"sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport * as React from \"react\";\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction isPolyfill(x: any, y: any) {\n return (\n (x === y && (x !== 0 || 1 / x === 1 / y)) || (x !== x && y !== y) // eslint-disable-line no-self-compare\n );\n}\n\nconst is: (x: any, y: any) => boolean =\n typeof Object.is === \"function\" ? Object.is : isPolyfill;\n\n// Intentionally not using named imports because Rollup uses dynamic\n// dispatch for CommonJS interop named imports.\nconst { useState, useEffect, useLayoutEffect, useDebugValue } = React;\n\nlet didWarnOld18Alpha = false;\nlet didWarnUncachedGetSnapshot = false;\n\n// Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\nexport function useSyncExternalStore(\n subscribe: (fn: () => void) => () => void,\n getSnapshot: () => T,\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n getServerSnapshot?: () => T\n): T {\n if (__DEV__) {\n if (!didWarnOld18Alpha) {\n if (\"startTransition\" in React) {\n didWarnOld18Alpha = true;\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that \" +\n \"does not support useSyncExternalStore. The \" +\n \"use-sync-external-store shim will not work correctly. Upgrade \" +\n \"to a newer pre-release.\"\n );\n }\n }\n }\n\n // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n const value = getSnapshot();\n if (__DEV__) {\n if (!didWarnUncachedGetSnapshot) {\n const cachedValue = getSnapshot();\n if (!is(value, cachedValue)) {\n console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n );\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n\n // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n const [{ inst }, forceUpdate] = useState({ inst: { value, getSnapshot } });\n\n // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n useLayoutEffect(() => {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n\n // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe, value, getSnapshot]);\n\n useEffect(() => {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst });\n }\n const handleStoreChange = () => {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst });\n }\n };\n // Subscribe to the store and return a clean-up function.\n return subscribe(handleStoreChange);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe]);\n\n useDebugValue(value);\n return value;\n}\n\nfunction checkIfSnapshotChanged(inst: any) {\n const latestGetSnapshot = inst.getSnapshot;\n const prevValue = inst.value;\n try {\n const nextValue = latestGetSnapshot();\n return !is(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n */\n\nexport function useSyncExternalStore(\n subscribe: (fn: () => void) => () => void,\n getSnapshot: () => T,\n getServerSnapshot?: () => T\n): T {\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n return getSnapshot();\n}\n","/**\n * Inlined into the react-router repo since use-sync-external-store does not\n * provide a UMD-compatible package, so we need this to be able to distribute\n * UMD react-router bundles\n */\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n */\n\nimport * as React from \"react\";\n\nimport { useSyncExternalStore as client } from \"./useSyncExternalStoreShimClient\";\nimport { useSyncExternalStore as server } from \"./useSyncExternalStoreShimServer\";\n\nconst canUseDOM: boolean = !!(\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\"\n);\nconst isServerEnvironment = !canUseDOM;\nconst shim = isServerEnvironment ? server : client;\n\nexport const useSyncExternalStore =\n \"useSyncExternalStore\" in React\n ? ((module) => module.useSyncExternalStore)(React)\n : shim;\n","import * as React from \"react\";\nimport type {\n AgnosticRouteMatch,\n AgnosticIndexRouteObject,\n AgnosticNonIndexRouteObject,\n History,\n Location,\n Router,\n StaticHandlerContext,\n To,\n TrackedPromise,\n} from \"@remix-run/router\";\nimport type { Action as NavigationType } from \"@remix-run/router\";\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nexport interface IndexRouteObject {\n caseSensitive?: AgnosticIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticIndexRouteObject[\"path\"];\n id?: AgnosticIndexRouteObject[\"id\"];\n loader?: AgnosticIndexRouteObject[\"loader\"];\n action?: AgnosticIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticIndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n}\n\nexport interface NonIndexRouteObject {\n caseSensitive?: AgnosticNonIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticNonIndexRouteObject[\"path\"];\n id?: AgnosticNonIndexRouteObject[\"id\"];\n loader?: AgnosticNonIndexRouteObject[\"loader\"];\n action?: AgnosticNonIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticNonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticNonIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticNonIndexRouteObject[\"handle\"];\n index?: false;\n children?: RouteObject[];\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n}\n\nexport type RouteObject = IndexRouteObject | NonIndexRouteObject;\n\nexport type DataRouteObject = RouteObject & {\n children?: DataRouteObject[];\n id: string;\n};\n\nexport interface RouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends RouteObject = RouteObject\n> extends AgnosticRouteMatch {}\n\nexport interface DataRouteMatch extends RouteMatch {}\n\n// Contexts for data routers\nexport const DataStaticRouterContext =\n React.createContext(null);\nif (__DEV__) {\n DataStaticRouterContext.displayName = \"DataStaticRouterContext\";\n}\n\nexport interface DataRouterContextObject extends NavigationContextObject {\n router: Router;\n}\n\nexport const DataRouterContext =\n React.createContext(null);\nif (__DEV__) {\n DataRouterContext.displayName = \"DataRouter\";\n}\n\nexport const DataRouterStateContext = React.createContext<\n Router[\"state\"] | null\n>(null);\nif (__DEV__) {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\n\nexport const AwaitContext = React.createContext(null);\nif (__DEV__) {\n AwaitContext.displayName = \"Await\";\n}\n\nexport type RelativeRoutingType = \"route\" | \"path\";\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport interface Navigator {\n createHref: History[\"createHref\"];\n go: History[\"go\"];\n push(to: To, state?: any, opts?: NavigateOptions): void;\n replace(to: To, state?: any, opts?: NavigateOptions): void;\n}\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nexport const NavigationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\nexport interface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nexport const RouteContext = React.createContext({\n outlet: null,\n matches: [],\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\nexport const RouteErrorContext = React.createContext(null);\n\nif (__DEV__) {\n RouteErrorContext.displayName = \"RouteError\";\n}\n","import * as React from \"react\";\nimport type {\n Location,\n ParamParseKey,\n Params,\n Path,\n PathMatch,\n PathPattern,\n Router as RemixRouter,\n To,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n invariant,\n isRouteErrorResponse,\n joinPaths,\n matchPath,\n matchRoutes,\n parsePath,\n resolveTo,\n warning,\n UNSAFE_getPathContributingMatches as getPathContributingMatches,\n} from \"@remix-run/router\";\n\nimport type {\n NavigateOptions,\n RouteContextObject,\n RouteMatch,\n RouteObject,\n DataRouteMatch,\n RelativeRoutingType,\n} from \"./context\";\nimport {\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n RouteErrorContext,\n AwaitContext,\n DataStaticRouterContext,\n} from \"./context\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-href\n */\nexport function useHref(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to, { relative });\n\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname =\n pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-in-router-context\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-location\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-navigation-type\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-match\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-navigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n options.relative === \"path\"\n );\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history. If this is a root navigation, then we\n // navigate to the raw basename which allows the basename to have full\n // control over the presence of a trailing slash on root links\n if (basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\"\n ? basename\n : joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state,\n options\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/hooks/use-outlet-context\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-outlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-params\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-resolved-path\n */\nexport function useResolvedPath(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () =>\n resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n relative === \"path\"\n ),\n [to, routePathnamesJson, locationPathname, relative]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-routes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let dataRouterStateContext = React.useContext(DataRouterStateContext);\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n let renderedMatches = _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase]),\n })\n ),\n parentMatches,\n dataRouterStateContext || undefined\n );\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return (\n \n {renderedMatches}\n \n );\n }\n\n return renderedMatches;\n}\n\nfunction DefaultErrorElement() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error)\n ? `${error.status} ${error.statusText}`\n : error instanceof Error\n ? error.message\n : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n return (\n <>\n
Unhandled Thrown Error!
\n
{message}
\n {stack ?
{stack}
: null}\n
💿 Hey developer 👋
\n
\n You can provide a way better UX than this when your app throws errors by\n providing your own \n errorElement props on \n <Route>\n
\n >\n );\n}\n\ntype RenderErrorBoundaryProps = React.PropsWithChildren<{\n location: Location;\n error: any;\n component: React.ReactNode;\n}>;\n\ntype RenderErrorBoundaryState = {\n location: Location;\n error: any;\n};\n\nexport class RenderErrorBoundary extends React.Component<\n RenderErrorBoundaryProps,\n RenderErrorBoundaryState\n> {\n constructor(props: RenderErrorBoundaryProps) {\n super(props);\n this.state = {\n location: props.location,\n error: props.error,\n };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error: error };\n }\n\n static getDerivedStateFromProps(\n props: RenderErrorBoundaryProps,\n state: RenderErrorBoundaryState\n ) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (state.location !== props.location) {\n return {\n error: props.error,\n location: props.location,\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error || state.error,\n location: state.location,\n };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"React Router caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n return this.state.error ? (\n \n ) : (\n this.props.children\n );\n }\n}\n\ninterface RenderedRouteProps {\n routeContext: RouteContextObject;\n match: RouteMatch;\n children: React.ReactNode | null;\n}\n\nfunction RenderedRoute({ routeContext, match, children }: RenderedRouteProps) {\n let dataStaticRouterContext = React.useContext(DataStaticRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (dataStaticRouterContext && match.route.errorElement) {\n dataStaticRouterContext._deepestRenderedBoundaryId = match.route.id;\n }\n\n return (\n \n {children}\n \n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = [],\n dataRouterState?: RemixRouter[\"state\"]\n): React.ReactElement | null {\n if (matches == null) {\n if (dataRouterState?.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches as DataRouteMatch[];\n } else {\n return null;\n }\n }\n\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(\n (m) => m.route.id && errors?.[m.route.id]\n );\n invariant(\n errorIndex >= 0,\n `Could not find a matching route for the current errors: ${errors}`\n );\n renderedMatches = renderedMatches.slice(\n 0,\n Math.min(renderedMatches.length, errorIndex + 1)\n );\n }\n\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error = match.route.id ? errors?.[match.route.id] : null;\n // Only data routers handle errors\n let errorElement = dataRouterState\n ? match.route.errorElement || \n : null;\n let getChildren = () => (\n \n {error\n ? errorElement\n : match.route.element !== undefined\n ? match.route.element\n : outlet}\n \n );\n // Only wrap in an error boundary within data router usages when we have an\n // errorElement on this route. Otherwise let it bubble up to an ancestor\n // errorElement\n return dataRouterState && (match.route.errorElement || index === 0) ? (\n \n ) : (\n getChildren()\n );\n }, null as React.ReactElement | null);\n}\n\nenum DataRouterHook {\n UseRevalidator = \"useRevalidator\",\n}\n\nenum DataRouterStateHook {\n UseLoaderData = \"useLoaderData\",\n UseActionData = \"useActionData\",\n UseRouteError = \"useRouteError\",\n UseNavigation = \"useNavigation\",\n UseRouteLoaderData = \"useRouteLoaderData\",\n UseMatches = \"useMatches\",\n UseRevalidator = \"useRevalidator\",\n}\n\nfunction getDataRouterConsoleError(\n hookName: DataRouterHook | DataRouterStateHook\n) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n let ctx = React.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nexport function useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nexport function useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return {\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation,\n };\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nexport function useMatches() {\n let { matches, loaderData } = useDataRouterState(\n DataRouterStateHook.UseMatches\n );\n return React.useMemo(\n () =>\n matches.map((match) => {\n let { pathname, params } = match;\n // Note: This structure matches that created by createUseMatchesMatch\n // in the @remix-run/router , so if you change this please also change\n // that :) Eventually we'll DRY this up\n return {\n id: match.route.id,\n pathname,\n params,\n data: loaderData[match.route.id] as unknown,\n handle: match.route.handle as unknown,\n };\n }),\n [matches, loaderData]\n );\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nexport function useLoaderData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n\n let route = React.useContext(RouteContext);\n invariant(route, `useLoaderData must be used inside a RouteContext`);\n\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(\n thisRoute.route.id,\n `useLoaderData can only be used on routes that contain a unique \"id\"`\n );\n\n return state.loaderData[thisRoute.route.id];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nexport function useRouteLoaderData(routeId: string): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nexport function useActionData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n\n let route = React.useContext(RouteContext);\n invariant(route, `useActionData must be used inside a RouteContext`);\n\n return Object.values(state?.actionData || {})[0];\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * errorElement to display a proper error message.\n */\nexport function useRouteError(): unknown {\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let route = React.useContext(RouteContext);\n let thisRoute = route.matches[route.matches.length - 1];\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error) {\n return error;\n }\n\n invariant(route, `useRouteError must be used inside a RouteContext`);\n invariant(\n thisRoute.route.id,\n `useRouteError can only be used on routes that contain a unique \"id\"`\n );\n\n // Otherwise look for errors from our data router state\n return state.errors?.[thisRoute.route.id];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor value\n */\nexport function useAsyncValue(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._data;\n}\n\n/**\n * Returns the error from the nearest ancestor value\n */\nexport function useAsyncError(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._error;\n}\n\nconst alreadyWarned: Record = {};\n\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n","import * as React from \"react\";\nimport type {\n TrackedPromise,\n InitialEntry,\n Location,\n MemoryHistory,\n Router as RemixRouter,\n RouterState,\n To,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n AbortedDeferredError,\n createMemoryHistory,\n invariant,\n parsePath,\n stripBasename,\n warning,\n} from \"@remix-run/router\";\nimport { useSyncExternalStore as useSyncExternalStoreShim } from \"./use-sync-external-store-shim\";\n\nimport type {\n DataRouteObject,\n IndexRouteObject,\n RouteMatch,\n RouteObject,\n Navigator,\n NonIndexRouteObject,\n RelativeRoutingType,\n} from \"./context\";\nimport {\n LocationContext,\n NavigationContext,\n DataRouterContext,\n DataRouterStateContext,\n AwaitContext,\n} from \"./context\";\nimport {\n useAsyncValue,\n useInRouterContext,\n useNavigate,\n useOutlet,\n useRoutes,\n _renderMatches,\n} from \"./hooks\";\n\nexport interface RouterProviderProps {\n fallbackElement?: React.ReactNode;\n router: RemixRouter;\n}\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n fallbackElement,\n router,\n}: RouterProviderProps): React.ReactElement {\n // Sync router state to our component state to force re-renders\n let state: RouterState = useSyncExternalStoreShim(\n router.subscribe,\n () => router.state,\n // We have to provide this so React@18 doesn't complain during hydration,\n // but we pass our serialized hydration data into the router so state here\n // is already synced with what the server saw\n () => router.state\n );\n\n let navigator = React.useMemo((): Navigator => {\n return {\n createHref: router.createHref,\n go: (n) => router.navigate(n),\n push: (to, state, opts) =>\n router.navigate(to, {\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n replace: (to, state, opts) =>\n router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n };\n }, [router]);\n\n let basename = router.basename || \"/\";\n\n return (\n \n \n \n {router.state.initialized ? : fallbackElement}\n \n \n \n );\n}\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/routers/memory-router\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex,\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({\n initialEntries,\n initialIndex,\n v5Compat: true,\n });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n relative?: RelativeRoutingType;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/components/navigate\n */\nexport function Navigate({\n to,\n replace,\n state,\n relative,\n}: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n ` may be used only in the context of a component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n ` must not be used on the initial render in a . ` +\n `This is a no-op, but you should modify your code so the is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let dataRouterState = React.useContext(DataRouterStateContext);\n let navigate = useNavigate();\n\n React.useEffect(() => {\n // Avoid kicking off multiple navigations if we're in the middle of a\n // data-router navigation, since components get re-rendered when we enter\n // a submitting/loading state\n if (dataRouterState && dataRouterState.navigation.state !== \"idle\") {\n return;\n }\n navigate(to, { replace, state, relative });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/components/outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface PathRouteProps {\n caseSensitive?: NonIndexRouteObject[\"caseSensitive\"];\n path?: NonIndexRouteObject[\"path\"];\n id?: NonIndexRouteObject[\"id\"];\n loader?: NonIndexRouteObject[\"loader\"];\n action?: NonIndexRouteObject[\"action\"];\n hasErrorBoundary?: NonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: NonIndexRouteObject[\"shouldRevalidate\"];\n handle?: NonIndexRouteObject[\"handle\"];\n index?: false;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n}\n\nexport interface LayoutRouteProps extends PathRouteProps {}\n\nexport interface IndexRouteProps {\n caseSensitive?: IndexRouteObject[\"caseSensitive\"];\n path?: IndexRouteObject[\"path\"];\n id?: IndexRouteObject[\"id\"];\n loader?: IndexRouteObject[\"loader\"];\n action?: IndexRouteObject[\"action\"];\n hasErrorBoundary?: IndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: IndexRouteObject[\"shouldRevalidate\"];\n handle?: IndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n}\n\nexport type RouteProps = PathRouteProps | LayoutRouteProps | IndexRouteProps;\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/components/route\n */\nexport function Route(_props: RouteProps): React.ReactElement | null {\n invariant(\n false,\n `A is only ever to be used as the child of element, ` +\n `never rendered directly. Please wrap your in a .`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/routers/router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false,\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a inside another .` +\n ` You should never have more than one in your app.`\n );\n\n // Preserve trailing slashes on basename, so we can let the user control\n // the enforcement of trailing slashes throughout the app\n let basename = basenameProp.replace(/^\\/*/, \"/\");\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\",\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key,\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n ` is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n \n \n \n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial | string;\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/components/routes\n */\nexport function Routes({\n children,\n location,\n}: RoutesProps): React.ReactElement | null {\n let dataRouterContext = React.useContext(DataRouterContext);\n // When in a DataRouterContext _without_ children, we use the router routes\n // directly. If we have children, then we're in a descendant tree and we\n // need to use child routes.\n let routes =\n dataRouterContext && !children\n ? (dataRouterContext.router.routes as DataRouteObject[])\n : createRoutesFromChildren(children);\n return useRoutes(routes, location);\n}\n\nexport interface AwaitResolveRenderFunction {\n (data: Awaited): React.ReactElement;\n}\n\nexport interface AwaitProps {\n children: React.ReactNode | AwaitResolveRenderFunction;\n errorElement?: React.ReactNode;\n resolve: TrackedPromise | any;\n}\n\n/**\n * Component to use for rendering lazily loaded data from returning defer()\n * in a loader function\n */\nexport function Await({ children, errorElement, resolve }: AwaitProps) {\n return (\n \n {children}\n \n );\n}\n\ntype AwaitErrorBoundaryProps = React.PropsWithChildren<{\n errorElement?: React.ReactNode;\n resolve: TrackedPromise | any;\n}>;\n\ntype AwaitErrorBoundaryState = {\n error: any;\n};\n\nenum AwaitRenderStatus {\n pending,\n success,\n error,\n}\n\nconst neverSettledPromise = new Promise(() => {});\n\nclass AwaitErrorBoundary extends React.Component<\n AwaitErrorBoundaryProps,\n AwaitErrorBoundaryState\n> {\n constructor(props: AwaitErrorBoundaryProps) {\n super(props);\n this.state = { error: null };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \" caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n let { children, errorElement, resolve } = this.props;\n\n let promise: TrackedPromise | null = null;\n let status: AwaitRenderStatus = AwaitRenderStatus.pending;\n\n if (!(resolve instanceof Promise)) {\n // Didn't get a promise - provide as a resolved promise\n status = AwaitRenderStatus.success;\n promise = Promise.resolve();\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_data\", { get: () => resolve });\n } else if (this.state.error) {\n // Caught a render error, provide it as a rejected promise\n status = AwaitRenderStatus.error;\n let renderError = this.state.error;\n promise = Promise.reject().catch(() => {}); // Avoid unhandled rejection warnings\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_error\", { get: () => renderError });\n } else if ((resolve as TrackedPromise)._tracked) {\n // Already tracked promise - check contents\n promise = resolve;\n status =\n promise._error !== undefined\n ? AwaitRenderStatus.error\n : promise._data !== undefined\n ? AwaitRenderStatus.success\n : AwaitRenderStatus.pending;\n } else {\n // Raw (untracked) promise - track it\n status = AwaitRenderStatus.pending;\n Object.defineProperty(resolve, \"_tracked\", { get: () => true });\n promise = resolve.then(\n (data: any) =>\n Object.defineProperty(resolve, \"_data\", { get: () => data }),\n (error: any) =>\n Object.defineProperty(resolve, \"_error\", { get: () => error })\n );\n }\n\n if (\n status === AwaitRenderStatus.error &&\n promise._error instanceof AbortedDeferredError\n ) {\n // Freeze the UI by throwing a never resolved promise\n throw neverSettledPromise;\n }\n\n if (status === AwaitRenderStatus.error && !errorElement) {\n // No errorElement, throw to the nearest route-level error boundary\n throw promise._error;\n }\n\n if (status === AwaitRenderStatus.error) {\n // Render via our errorElement\n return ;\n }\n\n if (status === AwaitRenderStatus.success) {\n // Render children with resolved value\n return ;\n }\n\n // Throw to the suspense boundary\n throw promise;\n }\n}\n\n/**\n * @private\n * Indirection to leverage useAsyncValue for a render-prop API on \n */\nfunction ResolveAwait({\n children,\n}: {\n children: React.ReactNode | AwaitResolveRenderFunction;\n}) {\n let data = useAsyncValue();\n if (typeof children === \"function\") {\n return children(data);\n }\n return <>{children}>;\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/utils/create-routes-from-children\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode,\n parentPath: number[] = []\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, (element, index) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children, parentPath)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a component. All component children of must be a or `\n );\n\n invariant(\n !element.props.index || !element.props.children,\n \"An index route cannot have child routes.\"\n );\n\n let treePath = [...parentPath, index];\n let route: RouteObject = {\n id: element.props.id || treePath.join(\"-\"),\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path,\n loader: element.props.loader,\n action: element.props.action,\n errorElement: element.props.errorElement,\n hasErrorBoundary: element.props.errorElement != null,\n shouldRevalidate: element.props.shouldRevalidate,\n handle: element.props.handle,\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(\n element.props.children,\n treePath\n );\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n\n/**\n * @private\n * Walk the route tree and add hasErrorBoundary if it's not provided, so that\n * users providing manual route arrays can just specify errorElement\n */\nexport function enhanceManualRouteObjects(\n routes: RouteObject[]\n): RouteObject[] {\n return routes.map((route) => {\n let routeClone = { ...route };\n if (routeClone.hasErrorBoundary == null) {\n routeClone.hasErrorBoundary = routeClone.errorElement != null;\n }\n if (routeClone.children) {\n routeClone.children = enhanceManualRouteObjects(routeClone.children);\n }\n return routeClone;\n });\n}\n","import type {\n ActionFunction,\n ActionFunctionArgs,\n Fetcher,\n HydrationState,\n JsonFunction,\n LoaderFunction,\n LoaderFunctionArgs,\n Location,\n Navigation,\n Params,\n ParamParseKey,\n Path,\n PathMatch,\n PathPattern,\n RedirectFunction,\n Router as RemixRouter,\n ShouldRevalidateFunction,\n To,\n InitialEntry,\n} from \"@remix-run/router\";\nimport {\n AbortedDeferredError,\n Action as NavigationType,\n createMemoryHistory,\n createPath,\n createRouter,\n defer,\n generatePath,\n isRouteErrorResponse,\n json,\n matchPath,\n matchRoutes,\n parsePath,\n redirect,\n resolvePath,\n} from \"@remix-run/router\";\n\nimport type {\n AwaitProps,\n MemoryRouterProps,\n NavigateProps,\n OutletProps,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n RoutesProps,\n RouterProviderProps,\n} from \"./lib/components\";\nimport {\n enhanceManualRouteObjects,\n createRoutesFromChildren,\n renderMatches,\n Await,\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n RouterProvider,\n Routes,\n} from \"./lib/components\";\nimport type {\n DataRouteMatch,\n DataRouteObject,\n IndexRouteObject,\n Navigator,\n NavigateOptions,\n NonIndexRouteObject,\n RouteMatch,\n RouteObject,\n RelativeRoutingType,\n} from \"./lib/context\";\nimport {\n DataRouterContext,\n DataRouterStateContext,\n DataStaticRouterContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n} from \"./lib/context\";\nimport type { NavigateFunction } from \"./lib/hooks\";\nimport {\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigationType,\n useNavigate,\n useOutlet,\n useOutletContext,\n useParams,\n useResolvedPath,\n useRoutes,\n useActionData,\n useAsyncError,\n useAsyncValue,\n useLoaderData,\n useMatches,\n useNavigation,\n useRevalidator,\n useRouteError,\n useRouteLoaderData,\n} from \"./lib/hooks\";\n\n// Exported for backwards compatibility, but not being used internally anymore\ntype Hash = string;\ntype Pathname = string;\ntype Search = string;\n\n// Expose react-router public API\nexport type {\n ActionFunction,\n ActionFunctionArgs,\n AwaitProps,\n DataRouteMatch,\n DataRouteObject,\n Fetcher,\n Hash,\n IndexRouteObject,\n IndexRouteProps,\n JsonFunction,\n LayoutRouteProps,\n LoaderFunction,\n LoaderFunctionArgs,\n Location,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigation,\n Navigator,\n NonIndexRouteObject,\n OutletProps,\n Params,\n ParamParseKey,\n Path,\n PathMatch,\n Pathname,\n PathPattern,\n PathRouteProps,\n RedirectFunction,\n RelativeRoutingType,\n RouteMatch,\n RouteObject,\n RouteProps,\n RouterProps,\n RouterProviderProps,\n RoutesProps,\n Search,\n ShouldRevalidateFunction,\n To,\n};\nexport {\n AbortedDeferredError,\n Await,\n MemoryRouter,\n Navigate,\n NavigationType,\n Outlet,\n Route,\n Router,\n RouterProvider,\n Routes,\n createPath,\n createRoutesFromChildren,\n createRoutesFromChildren as createRoutesFromElements,\n defer,\n isRouteErrorResponse,\n generatePath,\n json,\n matchPath,\n matchRoutes,\n parsePath,\n redirect,\n renderMatches,\n resolvePath,\n useActionData,\n useAsyncError,\n useAsyncValue,\n useHref,\n useInRouterContext,\n useLoaderData,\n useLocation,\n useMatch,\n useMatches,\n useNavigate,\n useNavigation,\n useNavigationType,\n useOutlet,\n useOutletContext,\n useParams,\n useResolvedPath,\n useRevalidator,\n useRouteError,\n useRouteLoaderData,\n useRoutes,\n};\n\nexport function createMemoryRouter(\n routes: RouteObject[],\n opts?: {\n basename?: string;\n hydrationData?: HydrationState;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n }\n): RemixRouter {\n return createRouter({\n basename: opts?.basename,\n history: createMemoryHistory({\n initialEntries: opts?.initialEntries,\n initialIndex: opts?.initialIndex,\n }),\n hydrationData: opts?.hydrationData,\n routes: enhanceManualRouteObjects(routes),\n }).initialize();\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n NavigationContext as UNSAFE_NavigationContext,\n LocationContext as UNSAFE_LocationContext,\n RouteContext as UNSAFE_RouteContext,\n DataRouterContext as UNSAFE_DataRouterContext,\n DataRouterStateContext as UNSAFE_DataRouterStateContext,\n DataStaticRouterContext as UNSAFE_DataStaticRouterContext,\n enhanceManualRouteObjects as UNSAFE_enhanceManualRouteObjects,\n};\n"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0a72f003cf050912f091541f418c8c3aecb9f4e14e186ae5d08eb700704fb151.json b/mern/client/node_modules/.cache/babel-loader/0a72f003cf050912f091541f418c8c3aecb9f4e14e186ae5d08eb700704fb151.json
deleted file mode 100644
index 38847f2c2..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0a72f003cf050912f091541f418c8c3aecb9f4e14e186ae5d08eb700704fb151.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var _jsxFileName = \"/Users/shannonharrison/QuadraTech-1/mern/client/src/components/edit.js\",\n _s = $RefreshSig$();\nimport React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function Edit() {\n _s();\n const [form, setForm] = useState({\n date: Date(),\n name: \"\",\n birthday: Date(),\n allergies: \"\",\n counselor: \"\",\n records: []\n });\n const params = useParams();\n const navigate = useNavigate();\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`http://localhost:5000/occupants/${params.id.toString()}`);\n if (!response.ok) {\n const message = `An error has occurred: ${response.statusText}`;\n window.alert(message);\n return;\n }\n const occupant = await response.json();\n if (!occupant) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n setForm(occupant);\n }\n fetchData();\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm(prev => {\n return {\n ...prev,\n ...value\n };\n });\n }\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n date: form.date,\n name: form.name,\n birthday: form.birthday,\n allergies: form.allergies,\n counselor: form.counselor\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`http://localhost:5000/occupants/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"Update Record\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 74,\n columnNumber: 6\n }, this), /*#__PURE__*/_jsxDEV(\"form\", {\n onSubmit: onSubmit,\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"date\",\n children: \"Date: \"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 77,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"date\",\n className: \"form-control\",\n id: \"date\",\n value: form.date,\n onChange: e => updateForm({\n date: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 76,\n columnNumber: 6\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"name\",\n children: \"Name: \"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 87,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"text\",\n className: \"form-control\",\n id: \"name\",\n value: form.name,\n onChange: e => updateForm({\n name: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 88,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 86,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"birthday\",\n children: \"Birthday: \"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 97,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"date\",\n className: \"form-control\",\n id: \"birthday\",\n value: form.birthday,\n onChange: e => updateForm({\n birthday: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 98,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 96,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"position\",\n children: \"Position: \"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 107,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"text\",\n className: \"form-control\",\n id: \"position\",\n value: form.position,\n onChange: e => updateForm({\n position: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 108,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 106,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-check form-check-inline\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"form-check-input\",\n type: \"radio\",\n name: \"positionOptions\",\n id: \"positionIntern\",\n value: \"Intern\",\n checked: form.level === \"Intern\",\n onChange: e => updateForm({\n level: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 120,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"positionIntern\",\n className: \"form-check-label\",\n children: \"Intern\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 129,\n columnNumber: 12\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 119,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-check form-check-inline\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"form-check-input\",\n type: \"radio\",\n name: \"positionOptions\",\n id: \"positionJunior\",\n value: \"Junior\",\n checked: form.level === \"Junior\",\n onChange: e => updateForm({\n level: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 132,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"positionJunior\",\n className: \"form-check-label\",\n children: \"Junior\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 141,\n columnNumber: 12\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 131,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-check form-check-inline\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"form-check-input\",\n type: \"radio\",\n name: \"positionOptions\",\n id: \"positionSenior\",\n value: \"Senior\",\n checked: form.level === \"Senior\",\n onChange: e => updateForm({\n level: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 144,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"positionSenior\",\n className: \"form-check-label\",\n children: \"Senior\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 153,\n columnNumber: 12\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 143,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 118,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 156,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"submit\",\n value: \"Update Record\",\n className: \"btn btn-primary\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 159,\n columnNumber: 10\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 158,\n columnNumber: 8\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 6\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 73,\n columnNumber: 4\n }, this);\n}\n_s(Edit, \"Sg3t0TThp/4sA8MhCEhs3XwW7Jw=\", false, function () {\n return [useParams, useNavigate];\n});\n_c = Edit;\nvar _c;\n$RefreshReg$(_c, \"Edit\");","map":{"version":3,"names":["React","useState","useEffect","useParams","useNavigate","Edit","form","setForm","date","Date","name","birthday","allergies","counselor","records","params","navigate","fetchData","id","toString","response","fetch","ok","message","statusText","window","alert","occupant","json","updateForm","value","prev","onSubmit","e","preventDefault","editedPerson","method","body","JSON","stringify","headers","target","position","level"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/src/components/edit.js"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\n \nexport default function Edit() {\n const [form, setForm] = useState({\n date: Date(),\n name: \"\",\n birthday: Date(),\n allergies: \"\",\n counselor: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n \n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`http://localhost:5000/occupants/${params.id.toString()}`);\n \n if (!response.ok) {\n const message = `An error has occurred: ${response.statusText}`;\n window.alert(message);\n return;\n }\n \n const occupant = await response.json();\n if (!occupant) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n \n setForm(occupant);\n }\n \n fetchData();\n \n return;\n }, [params.id, navigate]);\n \n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n \n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n date: form.date,\n name: form.name,\n birthday: form.birthday,\n allergies: form.allergies,\n counselor: form.counselor,\n };\n \n // This will send a post request to update the data in the database.\n await fetch(`http://localhost:5000/occupants/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n \n navigate(\"/\");\n }\n \n // This following section will display the form that takes input from the user to update the data.\n return (\n
\r\n );\r\n} "],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0b168bbdc36e3af1ecc625fa37cc904f.json b/mern/client/node_modules/.cache/babel-loader/0b168bbdc36e3af1ecc625fa37cc904f.json
deleted file mode 100644
index e96ec883b..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0b168bbdc36e3af1ecc625fa37cc904f.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"'use strict';\n\nmodule.exports = ansiHTML;\n\n// Reference to https://github.com/sindresorhus/ansi-regex\nvar _regANSI = /(?:(?:\\u001b\\[)|\\u009b)(?:(?:[0-9]{1,3})?(?:(?:;[0-9]{0,3})*)?[A-M|f-m])|\\u001b[A-M]/;\nvar _defColors = {\n reset: ['fff', '000'],\n // [FOREGROUD_COLOR, BACKGROUND_COLOR]\n black: '000',\n red: 'ff0000',\n green: '209805',\n yellow: 'e8bf03',\n blue: '0000ff',\n magenta: 'ff00ff',\n cyan: '00ffee',\n lightgrey: 'f0f0f0',\n darkgrey: '888'\n};\nvar _styles = {\n 30: 'black',\n 31: 'red',\n 32: 'green',\n 33: 'yellow',\n 34: 'blue',\n 35: 'magenta',\n 36: 'cyan',\n 37: 'lightgrey'\n};\nvar _openTags = {\n '1': 'font-weight:bold',\n // bold\n '2': 'opacity:0.5',\n // dim\n '3': '',\n // italic\n '4': '',\n // underscore\n '8': 'display:none',\n // hidden\n '9': '' // delete\n};\n\nvar _closeTags = {\n '23': '',\n // reset italic\n '24': '',\n // reset underscore\n '29': '' // reset delete\n};\n\n[0, 21, 22, 27, 28, 39, 49].forEach(function (n) {\n _closeTags[n] = '';\n});\n\n/**\n * Converts text with ANSI color codes to HTML markup.\n * @param {String} text\n * @returns {*}\n */\nfunction ansiHTML(text) {\n // Returns the text if the string has no ANSI escape code.\n if (!_regANSI.test(text)) {\n return text;\n }\n\n // Cache opened sequence.\n var ansiCodes = [];\n // Replace with markup.\n var ret = text.replace(/\\033\\[(\\d+)m/g, function (match, seq) {\n var ot = _openTags[seq];\n if (ot) {\n // If current sequence has been opened, close it.\n if (!!~ansiCodes.indexOf(seq)) {\n // eslint-disable-line no-extra-boolean-cast\n ansiCodes.pop();\n return '';\n }\n // Open tag.\n ansiCodes.push(seq);\n return ot[0] === '<' ? ot : '';\n }\n var ct = _closeTags[seq];\n if (ct) {\n // Pop sequence\n ansiCodes.pop();\n return ct;\n }\n return '';\n });\n\n // Make sure tags are closed.\n var l = ansiCodes.length;\n l > 0 && (ret += Array(l + 1).join(''));\n return ret;\n}\n\n/**\n * Customize colors.\n * @param {Object} colors reference to _defColors\n */\nansiHTML.setColors = function (colors) {\n if (typeof colors !== 'object') {\n throw new Error('`colors` parameter must be an Object.');\n }\n var _finalColors = {};\n for (var key in _defColors) {\n var hex = colors.hasOwnProperty(key) ? colors[key] : null;\n if (!hex) {\n _finalColors[key] = _defColors[key];\n continue;\n }\n if ('reset' === key) {\n if (typeof hex === 'string') {\n hex = [hex];\n }\n if (!Array.isArray(hex) || hex.length === 0 || hex.some(function (h) {\n return typeof h !== 'string';\n })) {\n throw new Error('The value of `' + key + '` property must be an Array and each item could only be a hex string, e.g.: FF0000');\n }\n var defHexColor = _defColors[key];\n if (!hex[0]) {\n hex[0] = defHexColor[0];\n }\n if (hex.length === 1 || !hex[1]) {\n hex = [hex[0]];\n hex.push(defHexColor[1]);\n }\n hex = hex.slice(0, 2);\n } else if (typeof hex !== 'string') {\n throw new Error('The value of `' + key + '` property must be a hex string, e.g.: FF0000');\n }\n _finalColors[key] = hex;\n }\n _setTags(_finalColors);\n};\n\n/**\n * Reset colors.\n */\nansiHTML.reset = function () {\n _setTags(_defColors);\n};\n\n/**\n * Expose tags, including open and close.\n * @type {Object}\n */\nansiHTML.tags = {};\nif (Object.defineProperty) {\n Object.defineProperty(ansiHTML.tags, 'open', {\n get: function () {\n return _openTags;\n }\n });\n Object.defineProperty(ansiHTML.tags, 'close', {\n get: function () {\n return _closeTags;\n }\n });\n} else {\n ansiHTML.tags.open = _openTags;\n ansiHTML.tags.close = _closeTags;\n}\nfunction _setTags(colors) {\n // reset all\n _openTags['0'] = 'font-weight:normal;opacity:1;color:#' + colors.reset[0] + ';background:#' + colors.reset[1];\n // inverse\n _openTags['7'] = 'color:#' + colors.reset[1] + ';background:#' + colors.reset[0];\n // dark grey\n _openTags['90'] = 'color:#' + colors.darkgrey;\n for (var code in _styles) {\n var color = _styles[code];\n var oriColor = colors[color] || '000';\n _openTags[code] = 'color:#' + oriColor;\n code = parseInt(code);\n _openTags[(code + 10).toString()] = 'background:#' + oriColor;\n }\n}\nansiHTML.reset();","map":{"version":3,"names":["module","exports","ansiHTML","_regANSI","_defColors","reset","black","red","green","yellow","blue","magenta","cyan","lightgrey","darkgrey","_styles","_openTags","_closeTags","forEach","n","text","test","ansiCodes","ret","replace","match","seq","ot","indexOf","pop","push","ct","l","length","Array","join","setColors","colors","Error","_finalColors","key","hex","hasOwnProperty","isArray","some","h","defHexColor","slice","_setTags","tags","Object","defineProperty","get","open","close","code","color","oriColor","parseInt","toString"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech/node_modules/ansi-html-community/index.js"],"sourcesContent":["'use strict'\n\nmodule.exports = ansiHTML\n\n// Reference to https://github.com/sindresorhus/ansi-regex\nvar _regANSI = /(?:(?:\\u001b\\[)|\\u009b)(?:(?:[0-9]{1,3})?(?:(?:;[0-9]{0,3})*)?[A-M|f-m])|\\u001b[A-M]/\n\nvar _defColors = {\n reset: ['fff', '000'], // [FOREGROUD_COLOR, BACKGROUND_COLOR]\n black: '000',\n red: 'ff0000',\n green: '209805',\n yellow: 'e8bf03',\n blue: '0000ff',\n magenta: 'ff00ff',\n cyan: '00ffee',\n lightgrey: 'f0f0f0',\n darkgrey: '888'\n}\nvar _styles = {\n 30: 'black',\n 31: 'red',\n 32: 'green',\n 33: 'yellow',\n 34: 'blue',\n 35: 'magenta',\n 36: 'cyan',\n 37: 'lightgrey'\n}\nvar _openTags = {\n '1': 'font-weight:bold', // bold\n '2': 'opacity:0.5', // dim\n '3': '', // italic\n '4': '', // underscore\n '8': 'display:none', // hidden\n '9': '' // delete\n}\nvar _closeTags = {\n '23': '', // reset italic\n '24': '', // reset underscore\n '29': '' // reset delete\n}\n\n;[0, 21, 22, 27, 28, 39, 49].forEach(function (n) {\n _closeTags[n] = ''\n})\n\n/**\n * Converts text with ANSI color codes to HTML markup.\n * @param {String} text\n * @returns {*}\n */\nfunction ansiHTML (text) {\n // Returns the text if the string has no ANSI escape code.\n if (!_regANSI.test(text)) {\n return text\n }\n\n // Cache opened sequence.\n var ansiCodes = []\n // Replace with markup.\n var ret = text.replace(/\\033\\[(\\d+)m/g, function (match, seq) {\n var ot = _openTags[seq]\n if (ot) {\n // If current sequence has been opened, close it.\n if (!!~ansiCodes.indexOf(seq)) { // eslint-disable-line no-extra-boolean-cast\n ansiCodes.pop()\n return ''\n }\n // Open tag.\n ansiCodes.push(seq)\n return ot[0] === '<' ? ot : ''\n }\n\n var ct = _closeTags[seq]\n if (ct) {\n // Pop sequence\n ansiCodes.pop()\n return ct\n }\n return ''\n })\n\n // Make sure tags are closed.\n var l = ansiCodes.length\n ;(l > 0) && (ret += Array(l + 1).join(''))\n\n return ret\n}\n\n/**\n * Customize colors.\n * @param {Object} colors reference to _defColors\n */\nansiHTML.setColors = function (colors) {\n if (typeof colors !== 'object') {\n throw new Error('`colors` parameter must be an Object.')\n }\n\n var _finalColors = {}\n for (var key in _defColors) {\n var hex = colors.hasOwnProperty(key) ? colors[key] : null\n if (!hex) {\n _finalColors[key] = _defColors[key]\n continue\n }\n if ('reset' === key) {\n if (typeof hex === 'string') {\n hex = [hex]\n }\n if (!Array.isArray(hex) || hex.length === 0 || hex.some(function (h) {\n return typeof h !== 'string'\n })) {\n throw new Error('The value of `' + key + '` property must be an Array and each item could only be a hex string, e.g.: FF0000')\n }\n var defHexColor = _defColors[key]\n if (!hex[0]) {\n hex[0] = defHexColor[0]\n }\n if (hex.length === 1 || !hex[1]) {\n hex = [hex[0]]\n hex.push(defHexColor[1])\n }\n\n hex = hex.slice(0, 2)\n } else if (typeof hex !== 'string') {\n throw new Error('The value of `' + key + '` property must be a hex string, e.g.: FF0000')\n }\n _finalColors[key] = hex\n }\n _setTags(_finalColors)\n}\n\n/**\n * Reset colors.\n */\nansiHTML.reset = function () {\n _setTags(_defColors)\n}\n\n/**\n * Expose tags, including open and close.\n * @type {Object}\n */\nansiHTML.tags = {}\n\nif (Object.defineProperty) {\n Object.defineProperty(ansiHTML.tags, 'open', {\n get: function () { return _openTags }\n })\n Object.defineProperty(ansiHTML.tags, 'close', {\n get: function () { return _closeTags }\n })\n} else {\n ansiHTML.tags.open = _openTags\n ansiHTML.tags.close = _closeTags\n}\n\nfunction _setTags (colors) {\n // reset all\n _openTags['0'] = 'font-weight:normal;opacity:1;color:#' + colors.reset[0] + ';background:#' + colors.reset[1]\n // inverse\n _openTags['7'] = 'color:#' + colors.reset[1] + ';background:#' + colors.reset[0]\n // dark grey\n _openTags['90'] = 'color:#' + colors.darkgrey\n\n for (var code in _styles) {\n var color = _styles[code]\n var oriColor = colors[color] || '000'\n _openTags[code] = 'color:#' + oriColor\n code = parseInt(code)\n _openTags[(code + 10).toString()] = 'background:#' + oriColor\n }\n}\n\nansiHTML.reset()\n"],"mappings":"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"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0b45c91018c9c2437d2cfdd84695c19b3638d3ac835290b53cd99c67a534b25a.json b/mern/client/node_modules/.cache/babel-loader/0b45c91018c9c2437d2cfdd84695c19b3638d3ac835290b53cd99c67a534b25a.json
deleted file mode 100644
index 149e89d4b..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0b45c91018c9c2437d2cfdd84695c19b3638d3ac835290b53cd99c67a534b25a.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-refresh-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-refresh-runtime.development.js');\n}","map":{"version":3,"names":["process","env","NODE_ENV","module","exports","require"],"sources":["H:/QuadraTech/QuadraTech/mern/client/node_modules/react-refresh/runtime.js"],"sourcesContent":["'use strict';\r\n\r\nif (process.env.NODE_ENV === 'production') {\r\n module.exports = require('./cjs/react-refresh-runtime.production.min.js');\r\n} else {\r\n module.exports = require('./cjs/react-refresh-runtime.development.js');\r\n}\r\n"],"mappings":"AAAA,YAAY;;AAEZ,IAAIA,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCC,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,+CAA+C,CAAC;AAC3E,CAAC,MAAM;EACLF,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,4CAA4C,CAAC;AACxE"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0b86b0ea4def47afa97cb8c19ee8812bc4a7d29722bd796c0b8ac1da9640f078.json b/mern/client/node_modules/.cache/babel-loader/0b86b0ea4def47afa97cb8c19ee8812bc4a7d29722bd796c0b8ac1da9640f078.json
deleted file mode 100644
index b0ae6f59b..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0b86b0ea4def47afa97cb8c19ee8812bc4a7d29722bd796c0b8ac1da9640f078.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var _jsxFileName = \"/Users/shannonharrison/QuadraTech-1/mern/client/src/App.js\",\n _s = $RefreshSig$();\nimport React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { BrowserRouter as Router, Routes, Route } from \"react-router-dom\";\nimport axios from 'axios';\nimport { createContext, useState, useEffect } from 'react';\n\n// We import all the components we need in our app\nimport Home from \"./components/webpages/home\";\nimport Login from \"./components/webpages/login\";\nimport Register from \"./components/webpages/register.js\";\nimport Create from \"./components/create.js\";\nimport OccupantList from \"./components/occupantList.js\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport const UserContext = /*#__PURE__*/createContext();\nfunction App() {\n _s();\n const [userData, setUserData] = useState({\n token: undefined,\n user: undefined\n });\n useEffect(() => {\n const isLoggedIn = async () => {\n let token = localStorage.getItem(\"auth-token\");\n if (token == null) {\n localStorage.setItem(\"auth-token\", \"\");\n token = \"\";\n }\n const tokenResponse = await axios.post('http://localhost:5000/api/auth/tokenIsValid', null, {\n headers: {\n \"auth-token\": token\n }\n });\n console.log(tokenResponse.data);\n if (tokenResponse.data) {\n const userResponse = await axios.get('http://localhost:5000/api/auth/profile', {\n headers: {\n 'auth-token': token\n }\n });\n setUserData({\n token: token,\n user: userResponse.data\n });\n }\n };\n isLoggedIn();\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(UserContext.Provider, {\n value: {\n userData,\n setUserData\n },\n children: /*#__PURE__*/_jsxDEV(Router, {\n children: [\" \", /*#__PURE__*/_jsxDEV(Routes, {\n children: [\" \", /*#__PURE__*/_jsxDEV(Route, {\n path: \"/\",\n element: /*#__PURE__*/_jsxDEV(Home, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 36\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"/Login\",\n element: /*#__PURE__*/_jsxDEV(Login, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"/Register\",\n element: /*#__PURE__*/_jsxDEV(Register, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 44\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"/Add\",\n element: /*#__PURE__*/_jsxDEV(Create, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 39\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"/Occupants\",\n element: /*#__PURE__*/_jsxDEV(OccupantList, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 63,\n columnNumber: 45\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 63,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 58,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 56,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 55,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 5\n }, this);\n}\n_s(App, \"kBdZ41MIyrwc6QRSBnYASrPRV+8=\");\n_c = App;\nexport default App;\nvar _c;\n$RefreshReg$(_c, \"App\");","map":{"version":3,"names":["React","BrowserRouter","Router","Routes","Route","axios","createContext","useState","useEffect","Home","Login","Register","Create","OccupantList","UserContext","App","userData","setUserData","token","undefined","user","isLoggedIn","localStorage","getItem","setItem","tokenResponse","post","headers","console","log","data","userResponse","get"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/src/App.js"],"sourcesContent":["import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { BrowserRouter as Router, Routes, Route } from \"react-router-dom\";\nimport axios from 'axios'\nimport { createContext, useState, useEffect } from 'react'\n\n\n// We import all the components we need in our app\nimport Home from \"./components/webpages/home\"\nimport Login from \"./components/webpages/login\"\nimport Register from \"./components/webpages/register.js\"\nimport Create from \"./components/create.js\"\nimport OccupantList from \"./components/occupantList.js\"\n\nexport const UserContext = createContext()\n\nfunction App() {\n\n const [userData, setUserData] = useState({\n token: undefined,\n user: undefined,\n })\n\n useEffect(() => {\n const isLoggedIn = async () => {\n let token = localStorage.getItem(\"auth-token\")\n if (token == null){\n localStorage.setItem(\"auth-token\", \"\")\n token = \"\"\n }\n\n const tokenResponse = await axios.post(\n 'http://localhost:5000/api/auth/tokenIsValid', \n null, \n {headers: {\"auth-token\": token}}\n )\n\n console.log(tokenResponse.data)\n if(tokenResponse.data){\n const userResponse = await axios.get('http://localhost:5000/api/auth/profile',\n {headers: {'auth-token': token}}\n )\n setUserData({\n token: token,\n user: userResponse.data\n })\n }\n }\n isLoggedIn()\n }, [])\n \n return (\n
\n \n {/* Router lets page render different components based on address path */}\n \n {/* Routes contained for router */}\n } />\n } />\n } />\n } />\n } />\n \n \n\n \n \n \n
\n\n );\n}\n\nexport default App;"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0b943974a2be25662706dde8a1c63dc6987d10d1e27cb719589abfbc05394138.json b/mern/client/node_modules/.cache/babel-loader/0b943974a2be25662706dde8a1c63dc6987d10d1e27cb719589abfbc05394138.json
deleted file mode 100644
index 2d8d5c96a..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0b943974a2be25662706dde8a1c63dc6987d10d1e27cb719589abfbc05394138.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n }\n return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) {/* empty */}\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};","map":{"version":3,"names":["DESCRIPTORS","require","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$TypeError","TypeError","$defineProperty","Object","defineProperty","$getOwnPropertyDescriptor","getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE","WRITABLE","exports","f","O","P","Attributes","current","value","configurable","enumerable","writable","error"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/core-js-pure/internals/object-define-property.js"],"sourcesContent":["var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n"],"mappings":"AAAA,IAAIA,WAAW,GAAGC,OAAO,CAAC,0BAA0B,CAAC;AACrD,IAAIC,cAAc,GAAGD,OAAO,CAAC,6BAA6B,CAAC;AAC3D,IAAIE,uBAAuB,GAAGF,OAAO,CAAC,sCAAsC,CAAC;AAC7E,IAAIG,QAAQ,GAAGH,OAAO,CAAC,wBAAwB,CAAC;AAChD,IAAII,aAAa,GAAGJ,OAAO,CAAC,8BAA8B,CAAC;AAE3D,IAAIK,UAAU,GAAGC,SAAS;AAC1B;AACA,IAAIC,eAAe,GAAGC,MAAM,CAACC,cAAc;AAC3C;AACA,IAAIC,yBAAyB,GAAGF,MAAM,CAACG,wBAAwB;AAC/D,IAAIC,UAAU,GAAG,YAAY;AAC7B,IAAIC,YAAY,GAAG,cAAc;AACjC,IAAIC,QAAQ,GAAG,UAAU;;AAEzB;AACA;AACAC,OAAO,CAACC,CAAC,GAAGjB,WAAW,GAAGG,uBAAuB,GAAG,SAASO,cAAc,CAACQ,CAAC,EAAEC,CAAC,EAAEC,UAAU,EAAE;EAC5FhB,QAAQ,CAACc,CAAC,CAAC;EACXC,CAAC,GAAGd,aAAa,CAACc,CAAC,CAAC;EACpBf,QAAQ,CAACgB,UAAU,CAAC;EACpB,IAAI,OAAOF,CAAC,KAAK,UAAU,IAAIC,CAAC,KAAK,WAAW,IAAI,OAAO,IAAIC,UAAU,IAAIL,QAAQ,IAAIK,UAAU,IAAI,CAACA,UAAU,CAACL,QAAQ,CAAC,EAAE;IAC5H,IAAIM,OAAO,GAAGV,yBAAyB,CAACO,CAAC,EAAEC,CAAC,CAAC;IAC7C,IAAIE,OAAO,IAAIA,OAAO,CAACN,QAAQ,CAAC,EAAE;MAChCG,CAAC,CAACC,CAAC,CAAC,GAAGC,UAAU,CAACE,KAAK;MACvBF,UAAU,GAAG;QACXG,YAAY,EAAET,YAAY,IAAIM,UAAU,GAAGA,UAAU,CAACN,YAAY,CAAC,GAAGO,OAAO,CAACP,YAAY,CAAC;QAC3FU,UAAU,EAAEX,UAAU,IAAIO,UAAU,GAAGA,UAAU,CAACP,UAAU,CAAC,GAAGQ,OAAO,CAACR,UAAU,CAAC;QACnFY,QAAQ,EAAE;MACZ,CAAC;IACH;EACF;EAAE,OAAOjB,eAAe,CAACU,CAAC,EAAEC,CAAC,EAAEC,UAAU,CAAC;AAC5C,CAAC,GAAGZ,eAAe,GAAG,SAASE,cAAc,CAACQ,CAAC,EAAEC,CAAC,EAAEC,UAAU,EAAE;EAC9DhB,QAAQ,CAACc,CAAC,CAAC;EACXC,CAAC,GAAGd,aAAa,CAACc,CAAC,CAAC;EACpBf,QAAQ,CAACgB,UAAU,CAAC;EACpB,IAAIlB,cAAc,EAAE,IAAI;IACtB,OAAOM,eAAe,CAACU,CAAC,EAAEC,CAAC,EAAEC,UAAU,CAAC;EAC1C,CAAC,CAAC,OAAOM,KAAK,EAAE,CAAE;EAClB,IAAI,KAAK,IAAIN,UAAU,IAAI,KAAK,IAAIA,UAAU,EAAE,MAAMd,UAAU,CAAC,yBAAyB,CAAC;EAC3F,IAAI,OAAO,IAAIc,UAAU,EAAEF,CAAC,CAACC,CAAC,CAAC,GAAGC,UAAU,CAACE,KAAK;EAClD,OAAOJ,CAAC;AACV,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0bf84e6c7d330cc3a8931a43726e21f0.json b/mern/client/node_modules/.cache/babel-loader/0bf84e6c7d330cc3a8931a43726e21f0.json
deleted file mode 100644
index a45694050..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0bf84e6c7d330cc3a8931a43726e21f0.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};","map":{"version":3,"names":["module","exports","it","undefined"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech/node_modules/core-js-pure/internals/is-null-or-undefined.js"],"sourcesContent":["// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n"],"mappings":"AAAA;AACA;AACAA,MAAM,CAACC,OAAO,GAAG,UAAUC,EAAE,EAAE;EAC7B,OAAOA,EAAE,KAAK,IAAI,IAAIA,EAAE,KAAKC,SAAS;AACxC,CAAC"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0c7c6cf36146460333540febfbbfbf60c361e3df90a5ac84c3c20df951d9fec1.json b/mern/client/node_modules/.cache/babel-loader/0c7c6cf36146460333540febfbbfbf60c361e3df90a5ac84c3c20df951d9fec1.json
deleted file mode 100644
index c1e5f15d5..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0c7c6cf36146460333540febfbbfbf60c361e3df90a5ac84c3c20df951d9fec1.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var _jsxFileName = \"/Users/shannonharrison/QuadraTech-1/mern/client/src/components/occupantList.js\",\n _s = $RefreshSig$();\nimport React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst Occupant = props => /*#__PURE__*/_jsxDEV(\"tr\", {\n children: [/*#__PURE__*/_jsxDEV(\"td\", {\n children: props.occupant.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 4\n }, this), /*#__PURE__*/_jsxDEV(\"td\", {\n children: props.occupant.date\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 4\n }, this), /*#__PURE__*/_jsxDEV(\"td\", {\n children: props.occupant.position\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 4\n }, this), /*#__PURE__*/_jsxDEV(\"td\", {\n children: props.occupant.level\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 4\n }, this), /*#__PURE__*/_jsxDEV(\"td\", {\n children: [/*#__PURE__*/_jsxDEV(Link, {\n className: \"btn btn-link\",\n to: `/edit/${props.occupant._id}`,\n children: \"Edit\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 6\n }, this), \" |\", /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"btn btn-link\",\n onClick: () => {\n props.deleteRecord(props.occupants._id);\n },\n children: \"Delete\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 6\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 4\n }, this)]\n}, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 5,\n columnNumber: 2\n}, this);\n_c = Occupant;\nexport default function OccupantList() {\n _s();\n const [occupant, setOccupant] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n async function getOccupant() {\n const response = await fetch(`http://localhost:5000/occupants/`);\n if (!response.ok) {\n const message = `An error occurred: ${response.statusText}`;\n window.alert(message);\n return;\n }\n const occupant = await response.json();\n setOccupant(occupant);\n }\n getOccupant();\n return;\n }, [occupant.length]);\n\n // This method will delete a record\n async function deleteOccupant(id) {\n await fetch(`http://localhost:5000/${id}`, {\n method: \"DELETE\"\n });\n const newOccupant = occupant.filter(el => el._id !== id);\n setOccupant(newOccupant);\n }\n\n // This method will map out the records on the table\n function occupantList() {\n return occupant.map(occupant => {\n return /*#__PURE__*/_jsxDEV(Occupant, {\n occupant: occupant,\n deleteOccupant: () => deleteOccupant(occupant._id)\n }, occupant._id, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 8\n }, this);\n });\n }\n\n // This following section will display the table with the records of individuals.\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"Record List\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 72,\n columnNumber: 6\n }, this), /*#__PURE__*/_jsxDEV(\"table\", {\n className: \"table table-striped\",\n style: {\n marginTop: 20\n },\n children: [/*#__PURE__*/_jsxDEV(\"thead\", {\n children: /*#__PURE__*/_jsxDEV(\"tr\", {\n children: [/*#__PURE__*/_jsxDEV(\"th\", {\n children: \"Name\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 76,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"th\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 77,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"th\", {\n children: \"Position\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"th\", {\n children: \"Level\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 79,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"th\", {\n children: \"Action\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 80,\n columnNumber: 12\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 10\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 74,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"tbody\", {\n children: occupantList()\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 83,\n columnNumber: 8\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 73,\n columnNumber: 6\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 71,\n columnNumber: 4\n }, this);\n}\n_s(OccupantList, \"6fp8TaVQmHFmhWwckzU+Mv/fW5c=\");\n_c2 = OccupantList;\nvar _c, _c2;\n$RefreshReg$(_c, \"Occupant\");\n$RefreshReg$(_c2, \"OccupantList\");","map":{"version":3,"names":["React","useEffect","useState","Link","Occupant","props","occupant","name","date","position","level","_id","deleteRecord","occupants","OccupantList","setOccupant","getOccupant","response","fetch","ok","message","statusText","window","alert","json","length","deleteOccupant","id","method","newOccupant","filter","el","occupantList","map","marginTop"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/src/components/occupantList.js"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\n \nconst Occupant = (props) => (\n
\n
{props.occupant.name}
\n
{props.occupant.date}
\n
{props.occupant.position}
\n
{props.occupant.level}
\n
\n Edit |\n \n
\n
\n);\n \nexport default function OccupantList() {\n const [occupant, setOccupant] = useState([]);\n \n // This method fetches the records from the database.\n useEffect(() => {\n async function getOccupant() {\n const response = await fetch(`http://localhost:5000/occupants/`);\n \n if (!response.ok) {\n const message = `An error occurred: ${response.statusText}`;\n window.alert(message);\n return;\n }\n \n const occupant = await response.json();\n setOccupant(occupant);\n }\n \n getOccupant();\n \n return;\n }, [occupant.length]);\n \n // This method will delete a record\n async function deleteOccupant(id) {\n await fetch(`http://localhost:5000/${id}`, {\n method: \"DELETE\"\n });\n \n const newOccupant = occupant.filter((el) => el._id !== id);\n setOccupant(newOccupant);\n }\n \n // This method will map out the records on the table\n function occupantList() {\n return occupant.map((occupant) => {\n return (\n deleteOccupant(occupant._id)}\n key={occupant._id}\n />\n );\n });\n }\n \n // This following section will display the table with the records of individuals.\n return (\n
\r\n );\r\n} "],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0e3c8a98b2b4ffea285c3318ac5dd3c0.json b/mern/client/node_modules/.cache/babel-loader/0e3c8a98b2b4ffea285c3318ac5dd3c0.json
deleted file mode 100644
index cb1af18f6..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0e3c8a98b2b4ffea285c3318ac5dd3c0.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};","map":{"version":3,"names":["module","exports","it","undefined"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech-2/mern/client/node_modules/core-js-pure/internals/is-null-or-undefined.js"],"sourcesContent":["// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n"],"mappings":"AAAA;AACA;AACAA,MAAM,CAACC,OAAO,GAAG,UAAUC,EAAE,EAAE;EAC7B,OAAOA,EAAE,KAAK,IAAI,IAAIA,EAAE,KAAKC,SAAS;AACxC,CAAC"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0e5237fafecb017815f64af5c6ed82abc6be03f1583292158e55521492717c50.json b/mern/client/node_modules/.cache/babel-loader/0e5237fafecb017815f64af5c6ed82abc6be03f1583292158e55521492717c50.json
deleted file mode 100644
index ad5a01fce..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0e5237fafecb017815f64af5c6ed82abc6be03f1583292158e55521492717c50.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"require('../modules/es.global-this');\nmodule.exports = require('../internals/global');","map":{"version":3,"names":["require","module","exports"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/core-js-pure/es/global-this.js"],"sourcesContent":["require('../modules/es.global-this');\n\nmodule.exports = require('../internals/global');\n"],"mappings":"AAAAA,OAAO,CAAC,2BAA2B,CAAC;AAEpCC,MAAM,CAACC,OAAO,GAAGF,OAAO,CAAC,qBAAqB,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0efc1cdc3b94505b2f491b1fa644eb07.json b/mern/client/node_modules/.cache/babel-loader/0efc1cdc3b94505b2f491b1fa644eb07.json
deleted file mode 100644
index 62434399d..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0efc1cdc3b94505b2f491b1fa644eb07.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;","map":{"version":3,"names":["uncurryThis","require","fails","classof","$Object","Object","split","module","exports","propertyIsEnumerable","it"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech-2/mern/client/node_modules/core-js-pure/internals/indexed-object.js"],"sourcesContent":["var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n"],"mappings":"AAAA,IAAIA,WAAW,GAAGC,OAAO,CAAC,oCAAoC,CAAC;AAC/D,IAAIC,KAAK,GAAGD,OAAO,CAAC,oBAAoB,CAAC;AACzC,IAAIE,OAAO,GAAGF,OAAO,CAAC,0BAA0B,CAAC;AAEjD,IAAIG,OAAO,GAAGC,MAAM;AACpB,IAAIC,KAAK,GAAGN,WAAW,CAAC,EAAE,CAACM,KAAK,CAAC;;AAEjC;AACAC,MAAM,CAACC,OAAO,GAAGN,KAAK,CAAC,YAAY;EACjC;EACA;EACA,OAAO,CAACE,OAAO,CAAC,GAAG,CAAC,CAACK,oBAAoB,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,GAAG,UAAUC,EAAE,EAAE;EACjB,OAAOP,OAAO,CAACO,EAAE,CAAC,IAAI,QAAQ,GAAGJ,KAAK,CAACI,EAAE,EAAE,EAAE,CAAC,GAAGN,OAAO,CAACM,EAAE,CAAC;AAC9D,CAAC,GAAGN,OAAO"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0f439a2b5b7f48cf76ea9fb257f7c49e.json b/mern/client/node_modules/.cache/babel-loader/0f439a2b5b7f48cf76ea9fb257f7c49e.json
deleted file mode 100644
index d65e65981..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0f439a2b5b7f48cf76ea9fb257f7c49e.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';","map":{"version":3,"names":["NATIVE_SYMBOL","require","module","exports","Symbol","sham","iterator"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech-2/mern/client/node_modules/core-js-pure/internals/use-symbol-as-uid.js"],"sourcesContent":["/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n"],"mappings":"AAAA;AACA,IAAIA,aAAa,GAAGC,OAAO,CAAC,2CAA2C,CAAC;AAExEC,MAAM,CAACC,OAAO,GAAGH,aAAa,IACzB,CAACI,MAAM,CAACC,IAAI,IACZ,OAAOD,MAAM,CAACE,QAAQ,IAAI,QAAQ"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0f5602983678d7491e229170022f8fd06eea2fb5d0f6449ae7d9b43559de7f57.json b/mern/client/node_modules/.cache/babel-loader/0f5602983678d7491e229170022f8fd06eea2fb5d0f6449ae7d9b43559de7f57.json
deleted file mode 100644
index 249b8e831..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0f5602983678d7491e229170022f8fd06eea2fb5d0f6449ae7d9b43559de7f57.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"/**\r\n * React Router v6.4.3\r\n *\r\n * Copyright (c) Remix Software Inc.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE.md file in the root directory of this source tree.\r\n *\r\n * @license MIT\r\n */\nimport { invariant, joinPaths, matchPath, UNSAFE_getPathContributingMatches, warning, resolveTo, parsePath, matchRoutes, Action, isRouteErrorResponse, createMemoryHistory, stripBasename, AbortedDeferredError, createRouter } from '@remix-run/router';\nexport { AbortedDeferredError, Action as NavigationType, createPath, defer, generatePath, isRouteErrorResponse, json, matchPath, matchRoutes, parsePath, redirect, resolvePath } from '@remix-run/router';\nimport * as React from 'react';\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n/**\r\n * Copyright (c) Facebook, Inc. and its affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\n/**\r\n * inlined Object.is polyfill to avoid requiring consumers ship their own\r\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\r\n */\n\nfunction isPolyfill(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nconst is = typeof Object.is === \"function\" ? Object.is : isPolyfill; // Intentionally not using named imports because Rollup uses dynamic\n// dispatch for CommonJS interop named imports.\n\nconst {\n useState,\n useEffect,\n useLayoutEffect,\n useDebugValue\n} = React;\nlet didWarnOld18Alpha = false;\nlet didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\n\nfunction useSyncExternalStore$2(subscribe, getSnapshot,\n// Note: The shim does not use getServerSnapshot, because pre-18 versions of\n// React do not expose a way to check if we're hydrating. So users of the shim\n// will need to track that themselves and return the correct value\n// from `getSnapshot`.\ngetServerSnapshot) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!didWarnOld18Alpha) {\n if (\"startTransition\" in React) {\n didWarnOld18Alpha = true;\n console.error(\"You are using an outdated, pre-release alpha of React 18 that \" + \"does not support useSyncExternalStore. The \" + \"use-sync-external-store shim will not work correctly. Upgrade \" + \"to a newer pre-release.\");\n }\n }\n } // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n\n const value = getSnapshot();\n if (process.env.NODE_ENV !== \"production\") {\n if (!didWarnUncachedGetSnapshot) {\n const cachedValue = getSnapshot();\n if (!is(value, cachedValue)) {\n console.error(\"The result of getSnapshot should be cached to avoid an infinite loop\");\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n\n const [{\n inst\n }, forceUpdate] = useState({\n inst: {\n value,\n getSnapshot\n }\n }); // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n\n useLayoutEffect(() => {\n inst.value = value;\n inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst\n });\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe, value, getSnapshot]);\n useEffect(() => {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst\n });\n }\n const handleStoreChange = () => {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst\n });\n }\n }; // Subscribe to the store and return a clean-up function.\n\n return subscribe(handleStoreChange); // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe]);\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n const latestGetSnapshot = inst.getSnapshot;\n const prevValue = inst.value;\n try {\n const nextValue = latestGetSnapshot();\n return !is(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\n/**\r\n * Copyright (c) Facebook, Inc. and its affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n * @flow\r\n */\nfunction useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) {\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n return getSnapshot();\n}\n\n/**\r\n * Inlined into the react-router repo since use-sync-external-store does not\r\n * provide a UMD-compatible package, so we need this to be able to distribute\r\n * UMD react-router bundles\r\n */\nconst canUseDOM = !!(typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\");\nconst isServerEnvironment = !canUseDOM;\nconst shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore$2;\nconst useSyncExternalStore = \"useSyncExternalStore\" in React ? (module => module.useSyncExternalStore)(React) : shim;\n\n// Contexts for data routers\nconst DataStaticRouterContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n DataStaticRouterContext.displayName = \"DataStaticRouterContext\";\n}\nconst DataRouterContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n DataRouterContext.displayName = \"DataRouter\";\n}\nconst DataRouterStateContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\nconst AwaitContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n AwaitContext.displayName = \"Await\";\n}\nconst NavigationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n NavigationContext.displayName = \"Navigation\";\n}\nconst LocationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n LocationContext.displayName = \"Location\";\n}\nconst RouteContext = /*#__PURE__*/React.createContext({\n outlet: null,\n matches: []\n});\nif (process.env.NODE_ENV !== \"production\") {\n RouteContext.displayName = \"Route\";\n}\nconst RouteErrorContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n RouteErrorContext.displayName = \"RouteError\";\n}\n\n/**\r\n * Returns the full href for the given \"to\" value. This is useful for building\r\n * custom links that are also accessible and preserve right-click behavior.\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/hooks/use-href\r\n */\n\nfunction useHref(to, _temp) {\n let {\n relative\n } = _temp === void 0 ? {} : _temp;\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false,\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useHref() may be used only in the context of a component.\") : invariant(false) : void 0;\n let {\n basename,\n navigator\n } = React.useContext(NavigationContext);\n let {\n hash,\n pathname,\n search\n } = useResolvedPath(to, {\n relative\n });\n let joinedPathname = pathname; // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n\n if (basename !== \"/\") {\n joinedPathname = pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n return navigator.createHref({\n pathname: joinedPathname,\n search,\n hash\n });\n}\n/**\r\n * Returns true if this component is a descendant of a .\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/hooks/use-in-router-context\r\n */\n\nfunction useInRouterContext() {\n return React.useContext(LocationContext) != null;\n}\n/**\r\n * Returns the current location object, which represents the current URL in web\r\n * browsers.\r\n *\r\n * Note: If you're using this it may mean you're doing some of your own\r\n * \"routing\" in your app, and we'd like to know what your use case is. We may\r\n * be able to provide something higher-level to better suit your needs.\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/hooks/use-location\r\n */\n\nfunction useLocation() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false,\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useLocation() may be used only in the context of a component.\") : invariant(false) : void 0;\n return React.useContext(LocationContext).location;\n}\n/**\r\n * Returns the current navigation action which describes how the router came to\r\n * the current location, either by a pop, push, or replace on the history stack.\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/hooks/use-navigation-type\r\n */\n\nfunction useNavigationType() {\n return React.useContext(LocationContext).navigationType;\n}\n/**\r\n * Returns true if the URL for the given \"to\" value matches the current URL.\r\n * This is useful for components that need to know \"active\" state, e.g.\r\n * .\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/hooks/use-match\r\n */\n\nfunction useMatch(pattern) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false,\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useMatch() may be used only in the context of a component.\") : invariant(false) : void 0;\n let {\n pathname\n } = useLocation();\n return React.useMemo(() => matchPath(pattern, pathname), [pathname, pattern]);\n}\n/**\r\n * The interface for the navigate() function returned from useNavigate().\r\n */\n\n/**\r\n * Returns an imperative method for changing the location. Used by s, but\r\n * may also be used by other elements to change the location.\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/hooks/use-navigate\r\n */\nfunction useNavigate() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false,\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useNavigate() may be used only in the context of a component.\") : invariant(false) : void 0;\n let {\n basename,\n navigator\n } = React.useContext(NavigationContext);\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(UNSAFE_getPathContributingMatches(matches).map(match => match.pathnameBase));\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n let navigate = React.useCallback(function (to, options) {\n if (options === void 0) {\n options = {};\n }\n process.env.NODE_ENV !== \"production\" ? warning(activeRef.current, \"You should call navigate() in a React.useEffect(), not when \" + \"your component is first rendered.\") : void 0;\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n let path = resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, options.relative === \"path\"); // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history. If this is a root navigation, then we\n // navigate to the raw basename which allows the basename to have full\n // control over the presence of a trailing slash on root links\n\n if (basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n (!!options.replace ? navigator.replace : navigator.push)(path, options.state, options);\n }, [basename, navigator, routePathnamesJson, locationPathname]);\n return navigate;\n}\nconst OutletContext = /*#__PURE__*/React.createContext(null);\n/**\r\n * Returns the context (if provided) for the child route at this level of the route\r\n * hierarchy.\r\n * @see https://reactrouter.com/docs/en/v6/hooks/use-outlet-context\r\n */\n\nfunction useOutletContext() {\n return React.useContext(OutletContext);\n}\n/**\r\n * Returns the element for the child route at this level of the route\r\n * hierarchy. Used internally by to render child routes.\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/hooks/use-outlet\r\n */\n\nfunction useOutlet(context) {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return /*#__PURE__*/React.createElement(OutletContext.Provider, {\n value: context\n }, outlet);\n }\n return outlet;\n}\n/**\r\n * Returns an object of key/value pairs of the dynamic params from the current\r\n * URL that were matched by the route path.\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/hooks/use-params\r\n */\n\nfunction useParams() {\n let {\n matches\n } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? routeMatch.params : {};\n}\n/**\r\n * Resolves the pathname of the given `to` value against the current location.\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/hooks/use-resolved-path\r\n */\n\nfunction useResolvedPath(to, _temp2) {\n let {\n relative\n } = _temp2 === void 0 ? {} : _temp2;\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(UNSAFE_getPathContributingMatches(matches).map(match => match.pathnameBase));\n return React.useMemo(() => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, relative === \"path\"), [to, routePathnamesJson, locationPathname, relative]);\n}\n/**\r\n * Returns the element of the route that matched the current location, prepared\r\n * with the correct context to render the remainder of the route tree. Route\r\n * elements in the tree must render an to render their child route's\r\n * element.\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/hooks/use-routes\r\n */\n\nfunction useRoutes(routes, locationArg) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false,\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useRoutes() may be used only in the context of a component.\") : invariant(false) : void 0;\n let dataRouterStateContext = React.useContext(DataRouterStateContext);\n let {\n matches: parentMatches\n } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n if (process.env.NODE_ENV !== \"production\") {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = parentRoute && parentRoute.path || \"\";\n warningOnce(parentPathname, !parentRoute || parentPath.endsWith(\"*\"), \"You rendered descendant (or called `useRoutes()`) at \" + (\"\\\"\" + parentPathname + \"\\\" (under ) but the \") + \"parent route path has no trailing \\\"*\\\". This means if you navigate \" + \"deeper, the parent won't match anymore and therefore the child \" + \"routes will never render.\\n\\n\" + (\"Please change the parent to .\"));\n }\n let locationFromContext = useLocation();\n let location;\n if (locationArg) {\n var _parsedLocationArg$pa;\n let parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n !(parentPathnameBase === \"/\" || ((_parsedLocationArg$pa = parsedLocationArg.pathname) == null ? void 0 : _parsedLocationArg$pa.startsWith(parentPathnameBase))) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"When overriding the location using `` or `useRoutes(routes, location)`, \" + \"the location pathname must begin with the portion of the URL pathname that was \" + (\"matched by all parent routes. The current pathname base is \\\"\" + parentPathnameBase + \"\\\" \") + (\"but pathname \\\"\" + parsedLocationArg.pathname + \"\\\" was given in the `location` prop.\")) : invariant(false) : void 0;\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n let pathname = location.pathname || \"/\";\n let remainingPathname = parentPathnameBase === \"/\" ? pathname : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, {\n pathname: remainingPathname\n });\n if (process.env.NODE_ENV !== \"production\") {\n process.env.NODE_ENV !== \"production\" ? warning(parentRoute || matches != null, \"No routes matched location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(matches == null || matches[matches.length - 1].route.element !== undefined, \"Matched leaf route at location \\\"\" + location.pathname + location.search + location.hash + \"\\\" does not have an element. \" + \"This means it will render an with a null value by default resulting in an \\\"empty\\\" page.\") : void 0;\n }\n let renderedMatches = _renderMatches(matches && matches.map(match => Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([parentPathnameBase, match.pathnameBase])\n })), parentMatches, dataRouterStateContext || undefined); // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n\n if (locationArg && renderedMatches) {\n return /*#__PURE__*/React.createElement(LocationContext.Provider, {\n value: {\n location: _extends({\n pathname: \"/\",\n search: \"\",\n hash: \"\",\n state: null,\n key: \"default\"\n }, location),\n navigationType: Action.Pop\n }\n }, renderedMatches);\n }\n return renderedMatches;\n}\nfunction DefaultErrorElement() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error) ? error.status + \" \" + error.statusText : error instanceof Error ? error.message : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = {\n padding: \"0.5rem\",\n backgroundColor: lightgrey\n };\n let codeStyles = {\n padding: \"2px 4px\",\n backgroundColor: lightgrey\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"h2\", null, \"Unhandled Thrown Error!\"), /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n fontStyle: \"italic\"\n }\n }, message), stack ? /*#__PURE__*/React.createElement(\"pre\", {\n style: preStyles\n }, stack) : null, /*#__PURE__*/React.createElement(\"p\", null, \"\\uD83D\\uDCBF Hey developer \\uD83D\\uDC4B\"), /*#__PURE__*/React.createElement(\"p\", null, \"You can provide a way better UX than this when your app throws errors by providing your own\\xA0\", /*#__PURE__*/React.createElement(\"code\", {\n style: codeStyles\n }, \"errorElement\"), \" props on\\xA0\", /*#__PURE__*/React.createElement(\"code\", {\n style: codeStyles\n }, \"\")));\n}\nclass RenderErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n location: props.location,\n error: props.error\n };\n }\n static getDerivedStateFromError(error) {\n return {\n error: error\n };\n }\n static getDerivedStateFromProps(props, state) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (state.location !== props.location) {\n return {\n error: props.error,\n location: props.location\n };\n } // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n\n return {\n error: props.error || state.error,\n location: state.location\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\"React Router caught the following error during render\", error, errorInfo);\n }\n render() {\n return this.state.error ? /*#__PURE__*/React.createElement(RouteErrorContext.Provider, {\n value: this.state.error,\n children: this.props.component\n }) : this.props.children;\n }\n}\nfunction RenderedRoute(_ref) {\n let {\n routeContext,\n match,\n children\n } = _ref;\n let dataStaticRouterContext = React.useContext(DataStaticRouterContext); // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n\n if (dataStaticRouterContext && match.route.errorElement) {\n dataStaticRouterContext._deepestRenderedBoundaryId = match.route.id;\n }\n return /*#__PURE__*/React.createElement(RouteContext.Provider, {\n value: routeContext\n }, children);\n}\nfunction _renderMatches(matches, parentMatches, dataRouterState) {\n if (parentMatches === void 0) {\n parentMatches = [];\n }\n if (matches == null) {\n if (dataRouterState != null && dataRouterState.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches;\n } else {\n return null;\n }\n }\n let renderedMatches = matches; // If we have data errors, trim matches to the highest error boundary\n\n let errors = dataRouterState == null ? void 0 : dataRouterState.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(m => m.route.id && (errors == null ? void 0 : errors[m.route.id]));\n !(errorIndex >= 0) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not find a matching route for the current errors: \" + errors) : invariant(false) : void 0;\n renderedMatches = renderedMatches.slice(0, Math.min(renderedMatches.length, errorIndex + 1));\n }\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error = match.route.id ? errors == null ? void 0 : errors[match.route.id] : null; // Only data routers handle errors\n\n let errorElement = dataRouterState ? match.route.errorElement || /*#__PURE__*/React.createElement(DefaultErrorElement, null) : null;\n let getChildren = () => /*#__PURE__*/React.createElement(RenderedRoute, {\n match: match,\n routeContext: {\n outlet,\n matches: parentMatches.concat(renderedMatches.slice(0, index + 1))\n }\n }, error ? errorElement : match.route.element !== undefined ? match.route.element : outlet); // Only wrap in an error boundary within data router usages when we have an\n // errorElement on this route. Otherwise let it bubble up to an ancestor\n // errorElement\n\n return dataRouterState && (match.route.errorElement || index === 0) ? /*#__PURE__*/React.createElement(RenderErrorBoundary, {\n location: dataRouterState.location,\n component: errorElement,\n error: error,\n children: getChildren()\n }) : getChildren();\n }, null);\n}\nvar DataRouterHook;\n(function (DataRouterHook) {\n DataRouterHook[\"UseRevalidator\"] = \"useRevalidator\";\n})(DataRouterHook || (DataRouterHook = {}));\nvar DataRouterStateHook;\n(function (DataRouterStateHook) {\n DataRouterStateHook[\"UseLoaderData\"] = \"useLoaderData\";\n DataRouterStateHook[\"UseActionData\"] = \"useActionData\";\n DataRouterStateHook[\"UseRouteError\"] = \"useRouteError\";\n DataRouterStateHook[\"UseNavigation\"] = \"useNavigation\";\n DataRouterStateHook[\"UseRouteLoaderData\"] = \"useRouteLoaderData\";\n DataRouterStateHook[\"UseMatches\"] = \"useMatches\";\n DataRouterStateHook[\"UseRevalidator\"] = \"useRevalidator\";\n})(DataRouterStateHook || (DataRouterStateHook = {}));\nfunction getDataRouterConsoleError(hookName) {\n return hookName + \" must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.\";\n}\nfunction useDataRouterContext(hookName) {\n let ctx = React.useContext(DataRouterContext);\n !ctx ? process.env.NODE_ENV !== \"production\" ? invariant(false, getDataRouterConsoleError(hookName)) : invariant(false) : void 0;\n return ctx;\n}\nfunction useDataRouterState(hookName) {\n let state = React.useContext(DataRouterStateContext);\n !state ? process.env.NODE_ENV !== \"production\" ? invariant(false, getDataRouterConsoleError(hookName)) : invariant(false) : void 0;\n return state;\n}\n/**\r\n * Returns the current navigation, defaulting to an \"idle\" navigation when\r\n * no navigation is in progress\r\n */\n\nfunction useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n/**\r\n * Returns a revalidate function for manually triggering revalidation, as well\r\n * as the current state of any manual revalidations\r\n */\n\nfunction useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return {\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation\n };\n}\n/**\r\n * Returns the active route matches, useful for accessing loaderData for\r\n * parent/child routes or the route \"handle\" property\r\n */\n\nfunction useMatches() {\n let {\n matches,\n loaderData\n } = useDataRouterState(DataRouterStateHook.UseMatches);\n return React.useMemo(() => matches.map(match => {\n let {\n pathname,\n params\n } = match; // Note: This structure matches that created by createUseMatchesMatch\n // in the @remix-run/router , so if you change this please also change\n // that :) Eventually we'll DRY this up\n\n return {\n id: match.route.id,\n pathname,\n params,\n data: loaderData[match.route.id],\n handle: match.route.handle\n };\n }), [matches, loaderData]);\n}\n/**\r\n * Returns the loader data for the nearest ancestor Route loader\r\n */\n\nfunction useLoaderData() {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let route = React.useContext(RouteContext);\n !route ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"useLoaderData must be used inside a RouteContext\") : invariant(false) : void 0;\n let thisRoute = route.matches[route.matches.length - 1];\n !thisRoute.route.id ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"useLoaderData can only be used on routes that contain a unique \\\"id\\\"\") : invariant(false) : void 0;\n return state.loaderData[thisRoute.route.id];\n}\n/**\r\n * Returns the loaderData for the given routeId\r\n */\n\nfunction useRouteLoaderData(routeId) {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n/**\r\n * Returns the action data for the nearest ancestor Route action\r\n */\n\nfunction useActionData() {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n let route = React.useContext(RouteContext);\n !route ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"useActionData must be used inside a RouteContext\") : invariant(false) : void 0;\n return Object.values((state == null ? void 0 : state.actionData) || {})[0];\n}\n/**\r\n * Returns the nearest ancestor Route error, which could be a loader/action\r\n * error or a render error. This is intended to be called from your\r\n * errorElement to display a proper error message.\r\n */\n\nfunction useRouteError() {\n var _state$errors;\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let route = React.useContext(RouteContext);\n let thisRoute = route.matches[route.matches.length - 1]; // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n\n if (error) {\n return error;\n }\n !route ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"useRouteError must be used inside a RouteContext\") : invariant(false) : void 0;\n !thisRoute.route.id ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"useRouteError can only be used on routes that contain a unique \\\"id\\\"\") : invariant(false) : void 0; // Otherwise look for errors from our data router state\n\n return (_state$errors = state.errors) == null ? void 0 : _state$errors[thisRoute.route.id];\n}\n/**\r\n * Returns the happy-path data from the nearest ancestor value\r\n */\n\nfunction useAsyncValue() {\n let value = React.useContext(AwaitContext);\n return value == null ? void 0 : value._data;\n}\n/**\r\n * Returns the error from the nearest ancestor value\r\n */\n\nfunction useAsyncError() {\n let value = React.useContext(AwaitContext);\n return value == null ? void 0 : value._error;\n}\nconst alreadyWarned = {};\nfunction warningOnce(key, cond, message) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n process.env.NODE_ENV !== \"production\" ? warning(false, message) : void 0;\n }\n}\n\n/**\r\n * Given a Remix Router instance, render the appropriate UI\r\n */\nfunction RouterProvider(_ref) {\n let {\n fallbackElement,\n router\n } = _ref;\n // Sync router state to our component state to force re-renders\n let state = useSyncExternalStore(router.subscribe, () => router.state,\n // We have to provide this so React@18 doesn't complain during hydration,\n // but we pass our serialized hydration data into the router so state here\n // is already synced with what the server saw\n () => router.state);\n let navigator = React.useMemo(() => {\n return {\n createHref: router.createHref,\n go: n => router.navigate(n),\n push: (to, state, opts) => router.navigate(to, {\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n }),\n replace: (to, state, opts) => router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n })\n };\n }, [router]);\n let basename = router.basename || \"/\";\n return /*#__PURE__*/React.createElement(DataRouterContext.Provider, {\n value: {\n router,\n navigator,\n static: false,\n // Do we need this?\n basename\n }\n }, /*#__PURE__*/React.createElement(DataRouterStateContext.Provider, {\n value: state\n }, /*#__PURE__*/React.createElement(Router, {\n basename: router.basename,\n location: router.state.location,\n navigationType: router.state.historyAction,\n navigator: navigator\n }, router.state.initialized ? /*#__PURE__*/React.createElement(Routes, null) : fallbackElement)));\n}\n\n/**\r\n * A that stores all entries in memory.\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/routers/memory-router\r\n */\nfunction MemoryRouter(_ref2) {\n let {\n basename,\n children,\n initialEntries,\n initialIndex\n } = _ref2;\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({\n initialEntries,\n initialIndex,\n v5Compat: true\n });\n }\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n React.useLayoutEffect(() => history.listen(setState), [history]);\n return /*#__PURE__*/React.createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n });\n}\n\n/**\r\n * Changes the current location.\r\n *\r\n * Note: This API is mostly useful in React.Component subclasses that are not\r\n * able to use hooks. In functional components, we recommend you use the\r\n * `useNavigate` hook instead.\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/components/navigate\r\n */\nfunction Navigate(_ref3) {\n let {\n to,\n replace,\n state,\n relative\n } = _ref3;\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false,\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n \" may be used only in the context of a component.\") : invariant(false) : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!React.useContext(NavigationContext).static, \" must not be used on the initial render in a . \" + \"This is a no-op, but you should modify your code so the is \" + \"only ever rendered in response to some user interaction or state change.\") : void 0;\n let dataRouterState = React.useContext(DataRouterStateContext);\n let navigate = useNavigate();\n React.useEffect(() => {\n // Avoid kicking off multiple navigations if we're in the middle of a\n // data-router navigation, since components get re-rendered when we enter\n // a submitting/loading state\n if (dataRouterState && dataRouterState.navigation.state !== \"idle\") {\n return;\n }\n navigate(to, {\n replace,\n state,\n relative\n });\n });\n return null;\n}\n\n/**\r\n * Renders the child route's element, if there is one.\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/components/outlet\r\n */\nfunction Outlet(props) {\n return useOutlet(props.context);\n}\n\n/**\r\n * Declares an element that should be rendered at a certain URL path.\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/components/route\r\n */\nfunction Route(_props) {\n process.env.NODE_ENV !== \"production\" ? invariant(false, \"A is only ever to be used as the child of element, \" + \"never rendered directly. Please wrap your in a .\") : invariant(false);\n}\n\n/**\r\n * Provides location context for the rest of the app.\r\n *\r\n * Note: You usually won't render a directly. Instead, you'll render a\r\n * router that is more specific to your environment such as a \r\n * in web browsers or a for server rendering.\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/routers/router\r\n */\nfunction Router(_ref4) {\n let {\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = Action.Pop,\n navigator,\n static: staticProp = false\n } = _ref4;\n !!useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You cannot render a inside another .\" + \" You should never have more than one in your app.\") : invariant(false) : void 0; // Preserve trailing slashes on basename, so we can let the user control\n // the enforcement of trailing slashes throughout the app\n\n let basename = basenameProp.replace(/^\\/*/, \"/\");\n let navigationContext = React.useMemo(() => ({\n basename,\n navigator,\n static: staticProp\n }), [basename, navigator, staticProp]);\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\"\n } = locationProp;\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n if (trailingPathname == null) {\n return null;\n }\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key\n };\n }, [basename, pathname, search, hash, state, key]);\n process.env.NODE_ENV !== \"production\" ? warning(location != null, \" is not able to match the URL \" + (\"\\\"\" + pathname + search + hash + \"\\\" because it does not start with the \") + \"basename, so the won't render anything.\") : void 0;\n if (location == null) {\n return null;\n }\n return /*#__PURE__*/React.createElement(NavigationContext.Provider, {\n value: navigationContext\n }, /*#__PURE__*/React.createElement(LocationContext.Provider, {\n children: children,\n value: {\n location,\n navigationType\n }\n }));\n}\n\n/**\r\n * A container for a nested tree of elements that renders the branch\r\n * that best matches the current location.\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/components/routes\r\n */\nfunction Routes(_ref5) {\n let {\n children,\n location\n } = _ref5;\n let dataRouterContext = React.useContext(DataRouterContext); // When in a DataRouterContext _without_ children, we use the router routes\n // directly. If we have children, then we're in a descendant tree and we\n // need to use child routes.\n\n let routes = dataRouterContext && !children ? dataRouterContext.router.routes : createRoutesFromChildren(children);\n return useRoutes(routes, location);\n}\n\n/**\r\n * Component to use for rendering lazily loaded data from returning defer()\r\n * in a loader function\r\n */\nfunction Await(_ref6) {\n let {\n children,\n errorElement,\n resolve\n } = _ref6;\n return /*#__PURE__*/React.createElement(AwaitErrorBoundary, {\n resolve: resolve,\n errorElement: errorElement\n }, /*#__PURE__*/React.createElement(ResolveAwait, null, children));\n}\nvar AwaitRenderStatus;\n(function (AwaitRenderStatus) {\n AwaitRenderStatus[AwaitRenderStatus[\"pending\"] = 0] = \"pending\";\n AwaitRenderStatus[AwaitRenderStatus[\"success\"] = 1] = \"success\";\n AwaitRenderStatus[AwaitRenderStatus[\"error\"] = 2] = \"error\";\n})(AwaitRenderStatus || (AwaitRenderStatus = {}));\nconst neverSettledPromise = new Promise(() => {});\nclass AwaitErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n error: null\n };\n }\n static getDerivedStateFromError(error) {\n return {\n error\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\" caught the following error during render\", error, errorInfo);\n }\n render() {\n let {\n children,\n errorElement,\n resolve\n } = this.props;\n let promise = null;\n let status = AwaitRenderStatus.pending;\n if (!(resolve instanceof Promise)) {\n // Didn't get a promise - provide as a resolved promise\n status = AwaitRenderStatus.success;\n promise = Promise.resolve();\n Object.defineProperty(promise, \"_tracked\", {\n get: () => true\n });\n Object.defineProperty(promise, \"_data\", {\n get: () => resolve\n });\n } else if (this.state.error) {\n // Caught a render error, provide it as a rejected promise\n status = AwaitRenderStatus.error;\n let renderError = this.state.error;\n promise = Promise.reject().catch(() => {}); // Avoid unhandled rejection warnings\n\n Object.defineProperty(promise, \"_tracked\", {\n get: () => true\n });\n Object.defineProperty(promise, \"_error\", {\n get: () => renderError\n });\n } else if (resolve._tracked) {\n // Already tracked promise - check contents\n promise = resolve;\n status = promise._error !== undefined ? AwaitRenderStatus.error : promise._data !== undefined ? AwaitRenderStatus.success : AwaitRenderStatus.pending;\n } else {\n // Raw (untracked) promise - track it\n status = AwaitRenderStatus.pending;\n Object.defineProperty(resolve, \"_tracked\", {\n get: () => true\n });\n promise = resolve.then(data => Object.defineProperty(resolve, \"_data\", {\n get: () => data\n }), error => Object.defineProperty(resolve, \"_error\", {\n get: () => error\n }));\n }\n if (status === AwaitRenderStatus.error && promise._error instanceof AbortedDeferredError) {\n // Freeze the UI by throwing a never resolved promise\n throw neverSettledPromise;\n }\n if (status === AwaitRenderStatus.error && !errorElement) {\n // No errorElement, throw to the nearest route-level error boundary\n throw promise._error;\n }\n if (status === AwaitRenderStatus.error) {\n // Render via our errorElement\n return /*#__PURE__*/React.createElement(AwaitContext.Provider, {\n value: promise,\n children: errorElement\n });\n }\n if (status === AwaitRenderStatus.success) {\n // Render children with resolved value\n return /*#__PURE__*/React.createElement(AwaitContext.Provider, {\n value: promise,\n children: children\n });\n } // Throw to the suspense boundary\n\n throw promise;\n }\n}\n/**\r\n * @private\r\n * Indirection to leverage useAsyncValue for a render-prop API on \r\n */\n\nfunction ResolveAwait(_ref7) {\n let {\n children\n } = _ref7;\n let data = useAsyncValue();\n if (typeof children === \"function\") {\n return children(data);\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, children);\n} ///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\r\n * Creates a route config from a React \"children\" object, which is usually\r\n * either a `` element or an array of them. Used internally by\r\n * `` to create a route config from its children.\r\n *\r\n * @see https://reactrouter.com/docs/en/v6/utils/create-routes-from-children\r\n */\n\nfunction createRoutesFromChildren(children, parentPath) {\n if (parentPath === void 0) {\n parentPath = [];\n }\n let routes = [];\n React.Children.forEach(children, (element, index) => {\n if (! /*#__PURE__*/React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(routes, createRoutesFromChildren(element.props.children, parentPath));\n return;\n }\n !(element.type === Route) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"[\" + (typeof element.type === \"string\" ? element.type : element.type.name) + \"] is not a component. All component children of must be a or \") : invariant(false) : void 0;\n !(!element.props.index || !element.props.children) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"An index route cannot have child routes.\") : invariant(false) : void 0;\n let treePath = [...parentPath, index];\n let route = {\n id: element.props.id || treePath.join(\"-\"),\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path,\n loader: element.props.loader,\n action: element.props.action,\n errorElement: element.props.errorElement,\n hasErrorBoundary: element.props.errorElement != null,\n shouldRevalidate: element.props.shouldRevalidate,\n handle: element.props.handle\n };\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children, treePath);\n }\n routes.push(route);\n });\n return routes;\n}\n/**\r\n * Renders the result of `matchRoutes()` into a React element.\r\n */\n\nfunction renderMatches(matches) {\n return _renderMatches(matches);\n}\n/**\r\n * @private\r\n * Walk the route tree and add hasErrorBoundary if it's not provided, so that\r\n * users providing manual route arrays can just specify errorElement\r\n */\n\nfunction enhanceManualRouteObjects(routes) {\n return routes.map(route => {\n let routeClone = _extends({}, route);\n if (routeClone.hasErrorBoundary == null) {\n routeClone.hasErrorBoundary = routeClone.errorElement != null;\n }\n if (routeClone.children) {\n routeClone.children = enhanceManualRouteObjects(routeClone.children);\n }\n return routeClone;\n });\n}\nfunction createMemoryRouter(routes, opts) {\n return createRouter({\n basename: opts == null ? void 0 : opts.basename,\n history: createMemoryHistory({\n initialEntries: opts == null ? void 0 : opts.initialEntries,\n initialIndex: opts == null ? void 0 : opts.initialIndex\n }),\n hydrationData: opts == null ? void 0 : opts.hydrationData,\n routes: enhanceManualRouteObjects(routes)\n }).initialize();\n} ///////////////////////////////////////////////////////////////////////////////\n\nexport { Await, MemoryRouter, Navigate, Outlet, Route, Router, RouterProvider, Routes, DataRouterContext as UNSAFE_DataRouterContext, DataRouterStateContext as UNSAFE_DataRouterStateContext, DataStaticRouterContext as UNSAFE_DataStaticRouterContext, LocationContext as UNSAFE_LocationContext, NavigationContext as UNSAFE_NavigationContext, RouteContext as UNSAFE_RouteContext, enhanceManualRouteObjects as UNSAFE_enhanceManualRouteObjects, createMemoryRouter, createRoutesFromChildren, createRoutesFromChildren as createRoutesFromElements, renderMatches, useActionData, useAsyncError, useAsyncValue, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes };","map":{"version":3,"mappings":"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","names":["isPolyfill","x","y","is","Object","useState","useEffect","useLayoutEffect","useDebugValue","React","didWarnOld18Alpha","didWarnUncachedGetSnapshot","useSyncExternalStore","subscribe","getSnapshot","getServerSnapshot","process","console","error","value","cachedValue","inst","forceUpdate","checkIfSnapshotChanged","handleStoreChange","latestGetSnapshot","prevValue","nextValue","canUseDOM","window","document","createElement","isServerEnvironment","shim","server","client","module","DataStaticRouterContext","createContext","displayName","DataRouterContext","DataRouterStateContext","AwaitContext","NavigationContext","LocationContext","RouteContext","outlet","matches","RouteErrorContext","useHref","to","_temp","relative","useInRouterContext","basename","navigator","useContext","hash","pathname","search","useResolvedPath","joinedPathname","joinPaths","createHref","useLocation","location","useNavigationType","navigationType","useMatch","pattern","useMemo","matchPath","useNavigate","locationPathname","routePathnamesJson","JSON","stringify","getPathContributingMatches","map","match","pathnameBase","activeRef","useRef","current","navigate","useCallback","options","go","path","resolveTo","parse","replace","push","state","OutletContext","useOutletContext","useOutlet","context","Provider","useParams","routeMatch","length","params","_temp2","useRoutes","routes","locationArg","dataRouterStateContext","parentMatches","parentParams","parentPathname","parentPathnameBase","parentRoute","route","parentPath","warningOnce","endsWith","locationFromContext","parsedLocationArg","parsePath","startsWith","remainingPathname","slice","matchRoutes","element","undefined","renderedMatches","_renderMatches","assign","key","NavigationType","Pop","DefaultErrorElement","useRouteError","message","isRouteErrorResponse","status","statusText","Error","stack","lightgrey","preStyles","padding","backgroundColor","codeStyles","style","fontStyle","RenderErrorBoundary","Component","constructor","props","getDerivedStateFromError","getDerivedStateFromProps","componentDidCatch","errorInfo","render","children","component","RenderedRoute","_ref","routeContext","dataStaticRouterContext","errorElement","_deepestRenderedBoundaryId","id","dataRouterState","errors","errorIndex","findIndex","m","Math","min","reduceRight","index","getChildren","concat","DataRouterHook","DataRouterStateHook","getDataRouterConsoleError","hookName","useDataRouterContext","ctx","useDataRouterState","useNavigation","UseNavigation","navigation","useRevalidator","dataRouterContext","UseRevalidator","revalidate","router","revalidation","useMatches","loaderData","UseMatches","data","handle","useLoaderData","UseLoaderData","thisRoute","useRouteLoaderData","routeId","UseRouteLoaderData","useActionData","UseActionData","values","actionData","UseRouteError","useAsyncValue","_data","useAsyncError","_error","alreadyWarned","cond","RouterProvider","fallbackElement","useSyncExternalStoreShim","n","opts","preventScrollReset","static","Router","historyAction","initialized","MemoryRouter","_ref2","initialEntries","initialIndex","historyRef","createMemoryHistory","v5Compat","history","setState","action","listen","Navigate","_ref3","Outlet","Route","_props","invariant","_ref4","basenameProp","locationProp","staticProp","navigationContext","trailingPathname","stripBasename","Routes","_ref5","createRoutesFromChildren","Await","_ref6","resolve","AwaitErrorBoundary","AwaitRenderStatus","neverSettledPromise","Promise","promise","pending","success","defineProperty","get","renderError","reject","catch","_tracked","then","AbortedDeferredError","ResolveAwait","_ref7","Children","forEach","isValidElement","type","Fragment","apply","name","treePath","join","caseSensitive","loader","hasErrorBoundary","shouldRevalidate","renderMatches","enhanceManualRouteObjects","routeClone","createMemoryRouter","createRouter","hydrationData","initialize"],"sources":["H:\\QuadraTech\\QuadraTech\\mern\\client\\node_modules\\react-router\\lib\\use-sync-external-store-shim\\useSyncExternalStoreShimClient.ts","H:\\QuadraTech\\QuadraTech\\mern\\client\\node_modules\\react-router\\lib\\use-sync-external-store-shim\\useSyncExternalStoreShimServer.ts","H:\\QuadraTech\\QuadraTech\\mern\\client\\node_modules\\react-router\\lib\\use-sync-external-store-shim\\index.ts","H:\\QuadraTech\\QuadraTech\\mern\\client\\node_modules\\react-router\\lib\\context.ts","H:\\QuadraTech\\QuadraTech\\mern\\client\\node_modules\\react-router\\lib\\hooks.tsx","H:\\QuadraTech\\QuadraTech\\mern\\client\\node_modules\\react-router\\lib\\components.tsx","H:\\QuadraTech\\QuadraTech\\mern\\client\\node_modules\\react-router\\index.ts"],"sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport * as React from \"react\";\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction isPolyfill(x: any, y: any) {\n return (\n (x === y && (x !== 0 || 1 / x === 1 / y)) || (x !== x && y !== y) // eslint-disable-line no-self-compare\n );\n}\n\nconst is: (x: any, y: any) => boolean =\n typeof Object.is === \"function\" ? Object.is : isPolyfill;\n\n// Intentionally not using named imports because Rollup uses dynamic\n// dispatch for CommonJS interop named imports.\nconst { useState, useEffect, useLayoutEffect, useDebugValue } = React;\n\nlet didWarnOld18Alpha = false;\nlet didWarnUncachedGetSnapshot = false;\n\n// Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\nexport function useSyncExternalStore(\n subscribe: (fn: () => void) => () => void,\n getSnapshot: () => T,\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n getServerSnapshot?: () => T\n): T {\n if (__DEV__) {\n if (!didWarnOld18Alpha) {\n if (\"startTransition\" in React) {\n didWarnOld18Alpha = true;\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that \" +\n \"does not support useSyncExternalStore. The \" +\n \"use-sync-external-store shim will not work correctly. Upgrade \" +\n \"to a newer pre-release.\"\n );\n }\n }\n }\n\n // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n const value = getSnapshot();\n if (__DEV__) {\n if (!didWarnUncachedGetSnapshot) {\n const cachedValue = getSnapshot();\n if (!is(value, cachedValue)) {\n console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n );\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n\n // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n const [{ inst }, forceUpdate] = useState({ inst: { value, getSnapshot } });\n\n // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n useLayoutEffect(() => {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n\n // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe, value, getSnapshot]);\n\n useEffect(() => {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst });\n }\n const handleStoreChange = () => {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst });\n }\n };\n // Subscribe to the store and return a clean-up function.\n return subscribe(handleStoreChange);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe]);\n\n useDebugValue(value);\n return value;\n}\n\nfunction checkIfSnapshotChanged(inst: any) {\n const latestGetSnapshot = inst.getSnapshot;\n const prevValue = inst.value;\n try {\n const nextValue = latestGetSnapshot();\n return !is(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n */\n\nexport function useSyncExternalStore(\n subscribe: (fn: () => void) => () => void,\n getSnapshot: () => T,\n getServerSnapshot?: () => T\n): T {\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n return getSnapshot();\n}\n","/**\n * Inlined into the react-router repo since use-sync-external-store does not\n * provide a UMD-compatible package, so we need this to be able to distribute\n * UMD react-router bundles\n */\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n */\n\nimport * as React from \"react\";\n\nimport { useSyncExternalStore as client } from \"./useSyncExternalStoreShimClient\";\nimport { useSyncExternalStore as server } from \"./useSyncExternalStoreShimServer\";\n\nconst canUseDOM: boolean = !!(\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\"\n);\nconst isServerEnvironment = !canUseDOM;\nconst shim = isServerEnvironment ? server : client;\n\nexport const useSyncExternalStore =\n \"useSyncExternalStore\" in React\n ? ((module) => module.useSyncExternalStore)(React)\n : shim;\n","import * as React from \"react\";\nimport type {\n AgnosticRouteMatch,\n AgnosticIndexRouteObject,\n AgnosticNonIndexRouteObject,\n History,\n Location,\n Router,\n StaticHandlerContext,\n To,\n TrackedPromise,\n} from \"@remix-run/router\";\nimport type { Action as NavigationType } from \"@remix-run/router\";\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nexport interface IndexRouteObject {\n caseSensitive?: AgnosticIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticIndexRouteObject[\"path\"];\n id?: AgnosticIndexRouteObject[\"id\"];\n loader?: AgnosticIndexRouteObject[\"loader\"];\n action?: AgnosticIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticIndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n}\n\nexport interface NonIndexRouteObject {\n caseSensitive?: AgnosticNonIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticNonIndexRouteObject[\"path\"];\n id?: AgnosticNonIndexRouteObject[\"id\"];\n loader?: AgnosticNonIndexRouteObject[\"loader\"];\n action?: AgnosticNonIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticNonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticNonIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticNonIndexRouteObject[\"handle\"];\n index?: false;\n children?: RouteObject[];\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n}\n\nexport type RouteObject = IndexRouteObject | NonIndexRouteObject;\n\nexport type DataRouteObject = RouteObject & {\n children?: DataRouteObject[];\n id: string;\n};\n\nexport interface RouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends RouteObject = RouteObject\n> extends AgnosticRouteMatch {}\n\nexport interface DataRouteMatch extends RouteMatch {}\n\n// Contexts for data routers\nexport const DataStaticRouterContext =\n React.createContext(null);\nif (__DEV__) {\n DataStaticRouterContext.displayName = \"DataStaticRouterContext\";\n}\n\nexport interface DataRouterContextObject extends NavigationContextObject {\n router: Router;\n}\n\nexport const DataRouterContext =\n React.createContext(null);\nif (__DEV__) {\n DataRouterContext.displayName = \"DataRouter\";\n}\n\nexport const DataRouterStateContext = React.createContext<\n Router[\"state\"] | null\n>(null);\nif (__DEV__) {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\n\nexport const AwaitContext = React.createContext(null);\nif (__DEV__) {\n AwaitContext.displayName = \"Await\";\n}\n\nexport type RelativeRoutingType = \"route\" | \"path\";\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport interface Navigator {\n createHref: History[\"createHref\"];\n go: History[\"go\"];\n push(to: To, state?: any, opts?: NavigateOptions): void;\n replace(to: To, state?: any, opts?: NavigateOptions): void;\n}\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nexport const NavigationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\nexport interface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nexport const RouteContext = React.createContext({\n outlet: null,\n matches: [],\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\nexport const RouteErrorContext = React.createContext(null);\n\nif (__DEV__) {\n RouteErrorContext.displayName = \"RouteError\";\n}\n","import * as React from \"react\";\nimport type {\n Location,\n ParamParseKey,\n Params,\n Path,\n PathMatch,\n PathPattern,\n Router as RemixRouter,\n To,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n invariant,\n isRouteErrorResponse,\n joinPaths,\n matchPath,\n matchRoutes,\n parsePath,\n resolveTo,\n warning,\n UNSAFE_getPathContributingMatches as getPathContributingMatches,\n} from \"@remix-run/router\";\n\nimport type {\n NavigateOptions,\n RouteContextObject,\n RouteMatch,\n RouteObject,\n DataRouteMatch,\n RelativeRoutingType,\n} from \"./context\";\nimport {\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n RouteErrorContext,\n AwaitContext,\n DataStaticRouterContext,\n} from \"./context\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-href\n */\nexport function useHref(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to, { relative });\n\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname =\n pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-in-router-context\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-location\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-navigation-type\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-match\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-navigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n options.relative === \"path\"\n );\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history. If this is a root navigation, then we\n // navigate to the raw basename which allows the basename to have full\n // control over the presence of a trailing slash on root links\n if (basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\"\n ? basename\n : joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state,\n options\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/hooks/use-outlet-context\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-outlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-params\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-resolved-path\n */\nexport function useResolvedPath(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () =>\n resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n relative === \"path\"\n ),\n [to, routePathnamesJson, locationPathname, relative]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/hooks/use-routes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let dataRouterStateContext = React.useContext(DataRouterStateContext);\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n let renderedMatches = _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase]),\n })\n ),\n parentMatches,\n dataRouterStateContext || undefined\n );\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return (\n \n {renderedMatches}\n \n );\n }\n\n return renderedMatches;\n}\n\nfunction DefaultErrorElement() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error)\n ? `${error.status} ${error.statusText}`\n : error instanceof Error\n ? error.message\n : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n return (\n <>\n
Unhandled Thrown Error!
\n
{message}
\n {stack ?
{stack}
: null}\n
💿 Hey developer 👋
\n
\n You can provide a way better UX than this when your app throws errors by\n providing your own \n errorElement props on \n <Route>\n
\n >\n );\n}\n\ntype RenderErrorBoundaryProps = React.PropsWithChildren<{\n location: Location;\n error: any;\n component: React.ReactNode;\n}>;\n\ntype RenderErrorBoundaryState = {\n location: Location;\n error: any;\n};\n\nexport class RenderErrorBoundary extends React.Component<\n RenderErrorBoundaryProps,\n RenderErrorBoundaryState\n> {\n constructor(props: RenderErrorBoundaryProps) {\n super(props);\n this.state = {\n location: props.location,\n error: props.error,\n };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error: error };\n }\n\n static getDerivedStateFromProps(\n props: RenderErrorBoundaryProps,\n state: RenderErrorBoundaryState\n ) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (state.location !== props.location) {\n return {\n error: props.error,\n location: props.location,\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error || state.error,\n location: state.location,\n };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"React Router caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n return this.state.error ? (\n \n ) : (\n this.props.children\n );\n }\n}\n\ninterface RenderedRouteProps {\n routeContext: RouteContextObject;\n match: RouteMatch;\n children: React.ReactNode | null;\n}\n\nfunction RenderedRoute({ routeContext, match, children }: RenderedRouteProps) {\n let dataStaticRouterContext = React.useContext(DataStaticRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (dataStaticRouterContext && match.route.errorElement) {\n dataStaticRouterContext._deepestRenderedBoundaryId = match.route.id;\n }\n\n return (\n \n {children}\n \n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = [],\n dataRouterState?: RemixRouter[\"state\"]\n): React.ReactElement | null {\n if (matches == null) {\n if (dataRouterState?.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches as DataRouteMatch[];\n } else {\n return null;\n }\n }\n\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(\n (m) => m.route.id && errors?.[m.route.id]\n );\n invariant(\n errorIndex >= 0,\n `Could not find a matching route for the current errors: ${errors}`\n );\n renderedMatches = renderedMatches.slice(\n 0,\n Math.min(renderedMatches.length, errorIndex + 1)\n );\n }\n\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error = match.route.id ? errors?.[match.route.id] : null;\n // Only data routers handle errors\n let errorElement = dataRouterState\n ? match.route.errorElement || \n : null;\n let getChildren = () => (\n \n {error\n ? errorElement\n : match.route.element !== undefined\n ? match.route.element\n : outlet}\n \n );\n // Only wrap in an error boundary within data router usages when we have an\n // errorElement on this route. Otherwise let it bubble up to an ancestor\n // errorElement\n return dataRouterState && (match.route.errorElement || index === 0) ? (\n \n ) : (\n getChildren()\n );\n }, null as React.ReactElement | null);\n}\n\nenum DataRouterHook {\n UseRevalidator = \"useRevalidator\",\n}\n\nenum DataRouterStateHook {\n UseLoaderData = \"useLoaderData\",\n UseActionData = \"useActionData\",\n UseRouteError = \"useRouteError\",\n UseNavigation = \"useNavigation\",\n UseRouteLoaderData = \"useRouteLoaderData\",\n UseMatches = \"useMatches\",\n UseRevalidator = \"useRevalidator\",\n}\n\nfunction getDataRouterConsoleError(\n hookName: DataRouterHook | DataRouterStateHook\n) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n let ctx = React.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nexport function useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nexport function useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return {\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation,\n };\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nexport function useMatches() {\n let { matches, loaderData } = useDataRouterState(\n DataRouterStateHook.UseMatches\n );\n return React.useMemo(\n () =>\n matches.map((match) => {\n let { pathname, params } = match;\n // Note: This structure matches that created by createUseMatchesMatch\n // in the @remix-run/router , so if you change this please also change\n // that :) Eventually we'll DRY this up\n return {\n id: match.route.id,\n pathname,\n params,\n data: loaderData[match.route.id] as unknown,\n handle: match.route.handle as unknown,\n };\n }),\n [matches, loaderData]\n );\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nexport function useLoaderData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n\n let route = React.useContext(RouteContext);\n invariant(route, `useLoaderData must be used inside a RouteContext`);\n\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(\n thisRoute.route.id,\n `useLoaderData can only be used on routes that contain a unique \"id\"`\n );\n\n return state.loaderData[thisRoute.route.id];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nexport function useRouteLoaderData(routeId: string): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nexport function useActionData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n\n let route = React.useContext(RouteContext);\n invariant(route, `useActionData must be used inside a RouteContext`);\n\n return Object.values(state?.actionData || {})[0];\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * errorElement to display a proper error message.\n */\nexport function useRouteError(): unknown {\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let route = React.useContext(RouteContext);\n let thisRoute = route.matches[route.matches.length - 1];\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error) {\n return error;\n }\n\n invariant(route, `useRouteError must be used inside a RouteContext`);\n invariant(\n thisRoute.route.id,\n `useRouteError can only be used on routes that contain a unique \"id\"`\n );\n\n // Otherwise look for errors from our data router state\n return state.errors?.[thisRoute.route.id];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor value\n */\nexport function useAsyncValue(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._data;\n}\n\n/**\n * Returns the error from the nearest ancestor value\n */\nexport function useAsyncError(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._error;\n}\n\nconst alreadyWarned: Record = {};\n\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n","import * as React from \"react\";\nimport type {\n TrackedPromise,\n InitialEntry,\n Location,\n MemoryHistory,\n Router as RemixRouter,\n RouterState,\n To,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n AbortedDeferredError,\n createMemoryHistory,\n invariant,\n parsePath,\n stripBasename,\n warning,\n} from \"@remix-run/router\";\nimport { useSyncExternalStore as useSyncExternalStoreShim } from \"./use-sync-external-store-shim\";\n\nimport type {\n DataRouteObject,\n IndexRouteObject,\n RouteMatch,\n RouteObject,\n Navigator,\n NonIndexRouteObject,\n RelativeRoutingType,\n} from \"./context\";\nimport {\n LocationContext,\n NavigationContext,\n DataRouterContext,\n DataRouterStateContext,\n AwaitContext,\n} from \"./context\";\nimport {\n useAsyncValue,\n useInRouterContext,\n useNavigate,\n useOutlet,\n useRoutes,\n _renderMatches,\n} from \"./hooks\";\n\nexport interface RouterProviderProps {\n fallbackElement?: React.ReactNode;\n router: RemixRouter;\n}\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n fallbackElement,\n router,\n}: RouterProviderProps): React.ReactElement {\n // Sync router state to our component state to force re-renders\n let state: RouterState = useSyncExternalStoreShim(\n router.subscribe,\n () => router.state,\n // We have to provide this so React@18 doesn't complain during hydration,\n // but we pass our serialized hydration data into the router so state here\n // is already synced with what the server saw\n () => router.state\n );\n\n let navigator = React.useMemo((): Navigator => {\n return {\n createHref: router.createHref,\n go: (n) => router.navigate(n),\n push: (to, state, opts) =>\n router.navigate(to, {\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n replace: (to, state, opts) =>\n router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n };\n }, [router]);\n\n let basename = router.basename || \"/\";\n\n return (\n \n \n \n {router.state.initialized ? : fallbackElement}\n \n \n \n );\n}\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/routers/memory-router\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex,\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({\n initialEntries,\n initialIndex,\n v5Compat: true,\n });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n relative?: RelativeRoutingType;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/components/navigate\n */\nexport function Navigate({\n to,\n replace,\n state,\n relative,\n}: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n ` may be used only in the context of a component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n ` must not be used on the initial render in a . ` +\n `This is a no-op, but you should modify your code so the is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let dataRouterState = React.useContext(DataRouterStateContext);\n let navigate = useNavigate();\n\n React.useEffect(() => {\n // Avoid kicking off multiple navigations if we're in the middle of a\n // data-router navigation, since components get re-rendered when we enter\n // a submitting/loading state\n if (dataRouterState && dataRouterState.navigation.state !== \"idle\") {\n return;\n }\n navigate(to, { replace, state, relative });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/components/outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface PathRouteProps {\n caseSensitive?: NonIndexRouteObject[\"caseSensitive\"];\n path?: NonIndexRouteObject[\"path\"];\n id?: NonIndexRouteObject[\"id\"];\n loader?: NonIndexRouteObject[\"loader\"];\n action?: NonIndexRouteObject[\"action\"];\n hasErrorBoundary?: NonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: NonIndexRouteObject[\"shouldRevalidate\"];\n handle?: NonIndexRouteObject[\"handle\"];\n index?: false;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n}\n\nexport interface LayoutRouteProps extends PathRouteProps {}\n\nexport interface IndexRouteProps {\n caseSensitive?: IndexRouteObject[\"caseSensitive\"];\n path?: IndexRouteObject[\"path\"];\n id?: IndexRouteObject[\"id\"];\n loader?: IndexRouteObject[\"loader\"];\n action?: IndexRouteObject[\"action\"];\n hasErrorBoundary?: IndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: IndexRouteObject[\"shouldRevalidate\"];\n handle?: IndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n}\n\nexport type RouteProps = PathRouteProps | LayoutRouteProps | IndexRouteProps;\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/components/route\n */\nexport function Route(_props: RouteProps): React.ReactElement | null {\n invariant(\n false,\n `A is only ever to be used as the child of element, ` +\n `never rendered directly. Please wrap your in a .`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/routers/router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false,\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a inside another .` +\n ` You should never have more than one in your app.`\n );\n\n // Preserve trailing slashes on basename, so we can let the user control\n // the enforcement of trailing slashes throughout the app\n let basename = basenameProp.replace(/^\\/*/, \"/\");\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\",\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key,\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n ` is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n \n \n \n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial | string;\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/components/routes\n */\nexport function Routes({\n children,\n location,\n}: RoutesProps): React.ReactElement | null {\n let dataRouterContext = React.useContext(DataRouterContext);\n // When in a DataRouterContext _without_ children, we use the router routes\n // directly. If we have children, then we're in a descendant tree and we\n // need to use child routes.\n let routes =\n dataRouterContext && !children\n ? (dataRouterContext.router.routes as DataRouteObject[])\n : createRoutesFromChildren(children);\n return useRoutes(routes, location);\n}\n\nexport interface AwaitResolveRenderFunction {\n (data: Awaited): React.ReactElement;\n}\n\nexport interface AwaitProps {\n children: React.ReactNode | AwaitResolveRenderFunction;\n errorElement?: React.ReactNode;\n resolve: TrackedPromise | any;\n}\n\n/**\n * Component to use for rendering lazily loaded data from returning defer()\n * in a loader function\n */\nexport function Await({ children, errorElement, resolve }: AwaitProps) {\n return (\n \n {children}\n \n );\n}\n\ntype AwaitErrorBoundaryProps = React.PropsWithChildren<{\n errorElement?: React.ReactNode;\n resolve: TrackedPromise | any;\n}>;\n\ntype AwaitErrorBoundaryState = {\n error: any;\n};\n\nenum AwaitRenderStatus {\n pending,\n success,\n error,\n}\n\nconst neverSettledPromise = new Promise(() => {});\n\nclass AwaitErrorBoundary extends React.Component<\n AwaitErrorBoundaryProps,\n AwaitErrorBoundaryState\n> {\n constructor(props: AwaitErrorBoundaryProps) {\n super(props);\n this.state = { error: null };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \" caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n let { children, errorElement, resolve } = this.props;\n\n let promise: TrackedPromise | null = null;\n let status: AwaitRenderStatus = AwaitRenderStatus.pending;\n\n if (!(resolve instanceof Promise)) {\n // Didn't get a promise - provide as a resolved promise\n status = AwaitRenderStatus.success;\n promise = Promise.resolve();\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_data\", { get: () => resolve });\n } else if (this.state.error) {\n // Caught a render error, provide it as a rejected promise\n status = AwaitRenderStatus.error;\n let renderError = this.state.error;\n promise = Promise.reject().catch(() => {}); // Avoid unhandled rejection warnings\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_error\", { get: () => renderError });\n } else if ((resolve as TrackedPromise)._tracked) {\n // Already tracked promise - check contents\n promise = resolve;\n status =\n promise._error !== undefined\n ? AwaitRenderStatus.error\n : promise._data !== undefined\n ? AwaitRenderStatus.success\n : AwaitRenderStatus.pending;\n } else {\n // Raw (untracked) promise - track it\n status = AwaitRenderStatus.pending;\n Object.defineProperty(resolve, \"_tracked\", { get: () => true });\n promise = resolve.then(\n (data: any) =>\n Object.defineProperty(resolve, \"_data\", { get: () => data }),\n (error: any) =>\n Object.defineProperty(resolve, \"_error\", { get: () => error })\n );\n }\n\n if (\n status === AwaitRenderStatus.error &&\n promise._error instanceof AbortedDeferredError\n ) {\n // Freeze the UI by throwing a never resolved promise\n throw neverSettledPromise;\n }\n\n if (status === AwaitRenderStatus.error && !errorElement) {\n // No errorElement, throw to the nearest route-level error boundary\n throw promise._error;\n }\n\n if (status === AwaitRenderStatus.error) {\n // Render via our errorElement\n return ;\n }\n\n if (status === AwaitRenderStatus.success) {\n // Render children with resolved value\n return ;\n }\n\n // Throw to the suspense boundary\n throw promise;\n }\n}\n\n/**\n * @private\n * Indirection to leverage useAsyncValue for a render-prop API on \n */\nfunction ResolveAwait({\n children,\n}: {\n children: React.ReactNode | AwaitResolveRenderFunction;\n}) {\n let data = useAsyncValue();\n if (typeof children === \"function\") {\n return children(data);\n }\n return <>{children}>;\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/utils/create-routes-from-children\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode,\n parentPath: number[] = []\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, (element, index) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children, parentPath)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a component. All component children of must be a or `\n );\n\n invariant(\n !element.props.index || !element.props.children,\n \"An index route cannot have child routes.\"\n );\n\n let treePath = [...parentPath, index];\n let route: RouteObject = {\n id: element.props.id || treePath.join(\"-\"),\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path,\n loader: element.props.loader,\n action: element.props.action,\n errorElement: element.props.errorElement,\n hasErrorBoundary: element.props.errorElement != null,\n shouldRevalidate: element.props.shouldRevalidate,\n handle: element.props.handle,\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(\n element.props.children,\n treePath\n );\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n\n/**\n * @private\n * Walk the route tree and add hasErrorBoundary if it's not provided, so that\n * users providing manual route arrays can just specify errorElement\n */\nexport function enhanceManualRouteObjects(\n routes: RouteObject[]\n): RouteObject[] {\n return routes.map((route) => {\n let routeClone = { ...route };\n if (routeClone.hasErrorBoundary == null) {\n routeClone.hasErrorBoundary = routeClone.errorElement != null;\n }\n if (routeClone.children) {\n routeClone.children = enhanceManualRouteObjects(routeClone.children);\n }\n return routeClone;\n });\n}\n","import type {\n ActionFunction,\n ActionFunctionArgs,\n Fetcher,\n HydrationState,\n JsonFunction,\n LoaderFunction,\n LoaderFunctionArgs,\n Location,\n Navigation,\n Params,\n ParamParseKey,\n Path,\n PathMatch,\n PathPattern,\n RedirectFunction,\n Router as RemixRouter,\n ShouldRevalidateFunction,\n To,\n InitialEntry,\n} from \"@remix-run/router\";\nimport {\n AbortedDeferredError,\n Action as NavigationType,\n createMemoryHistory,\n createPath,\n createRouter,\n defer,\n generatePath,\n isRouteErrorResponse,\n json,\n matchPath,\n matchRoutes,\n parsePath,\n redirect,\n resolvePath,\n} from \"@remix-run/router\";\n\nimport type {\n AwaitProps,\n MemoryRouterProps,\n NavigateProps,\n OutletProps,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n RoutesProps,\n RouterProviderProps,\n} from \"./lib/components\";\nimport {\n enhanceManualRouteObjects,\n createRoutesFromChildren,\n renderMatches,\n Await,\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n RouterProvider,\n Routes,\n} from \"./lib/components\";\nimport type {\n DataRouteMatch,\n DataRouteObject,\n IndexRouteObject,\n Navigator,\n NavigateOptions,\n NonIndexRouteObject,\n RouteMatch,\n RouteObject,\n RelativeRoutingType,\n} from \"./lib/context\";\nimport {\n DataRouterContext,\n DataRouterStateContext,\n DataStaticRouterContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n} from \"./lib/context\";\nimport type { NavigateFunction } from \"./lib/hooks\";\nimport {\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigationType,\n useNavigate,\n useOutlet,\n useOutletContext,\n useParams,\n useResolvedPath,\n useRoutes,\n useActionData,\n useAsyncError,\n useAsyncValue,\n useLoaderData,\n useMatches,\n useNavigation,\n useRevalidator,\n useRouteError,\n useRouteLoaderData,\n} from \"./lib/hooks\";\n\n// Exported for backwards compatibility, but not being used internally anymore\ntype Hash = string;\ntype Pathname = string;\ntype Search = string;\n\n// Expose react-router public API\nexport type {\n ActionFunction,\n ActionFunctionArgs,\n AwaitProps,\n DataRouteMatch,\n DataRouteObject,\n Fetcher,\n Hash,\n IndexRouteObject,\n IndexRouteProps,\n JsonFunction,\n LayoutRouteProps,\n LoaderFunction,\n LoaderFunctionArgs,\n Location,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigation,\n Navigator,\n NonIndexRouteObject,\n OutletProps,\n Params,\n ParamParseKey,\n Path,\n PathMatch,\n Pathname,\n PathPattern,\n PathRouteProps,\n RedirectFunction,\n RelativeRoutingType,\n RouteMatch,\n RouteObject,\n RouteProps,\n RouterProps,\n RouterProviderProps,\n RoutesProps,\n Search,\n ShouldRevalidateFunction,\n To,\n};\nexport {\n AbortedDeferredError,\n Await,\n MemoryRouter,\n Navigate,\n NavigationType,\n Outlet,\n Route,\n Router,\n RouterProvider,\n Routes,\n createPath,\n createRoutesFromChildren,\n createRoutesFromChildren as createRoutesFromElements,\n defer,\n isRouteErrorResponse,\n generatePath,\n json,\n matchPath,\n matchRoutes,\n parsePath,\n redirect,\n renderMatches,\n resolvePath,\n useActionData,\n useAsyncError,\n useAsyncValue,\n useHref,\n useInRouterContext,\n useLoaderData,\n useLocation,\n useMatch,\n useMatches,\n useNavigate,\n useNavigation,\n useNavigationType,\n useOutlet,\n useOutletContext,\n useParams,\n useResolvedPath,\n useRevalidator,\n useRouteError,\n useRouteLoaderData,\n useRoutes,\n};\n\nexport function createMemoryRouter(\n routes: RouteObject[],\n opts?: {\n basename?: string;\n hydrationData?: HydrationState;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n }\n): RemixRouter {\n return createRouter({\n basename: opts?.basename,\n history: createMemoryHistory({\n initialEntries: opts?.initialEntries,\n initialIndex: opts?.initialIndex,\n }),\n hydrationData: opts?.hydrationData,\n routes: enhanceManualRouteObjects(routes),\n }).initialize();\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n NavigationContext as UNSAFE_NavigationContext,\n LocationContext as UNSAFE_LocationContext,\n RouteContext as UNSAFE_RouteContext,\n DataRouterContext as UNSAFE_DataRouterContext,\n DataRouterStateContext as UNSAFE_DataRouterStateContext,\n DataStaticRouterContext as UNSAFE_DataStaticRouterContext,\n enhanceManualRouteObjects as UNSAFE_enhanceManualRouteObjects,\n};\n"]},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/0fb9abd04831084b516276d375be581e.json b/mern/client/node_modules/.cache/babel-loader/0fb9abd04831084b516276d375be581e.json
deleted file mode 100644
index cac02e376..000000000
--- a/mern/client/node_modules/.cache/babel-loader/0fb9abd04831084b516276d375be581e.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"/* global __webpack_dev_server_client__ */\nimport WebSocketClient from \"./clients/WebSocketClient.js\";\nimport { log } from \"./utils/log.js\"; // this WebsocketClient is here as a default fallback, in case the client is not injected\n\n/* eslint-disable camelcase */\n\nvar Client =\n// eslint-disable-next-line no-nested-ternary\ntypeof __webpack_dev_server_client__ !== \"undefined\" ? typeof __webpack_dev_server_client__.default !== \"undefined\" ? __webpack_dev_server_client__.default : __webpack_dev_server_client__ : WebSocketClient;\n/* eslint-enable camelcase */\n\nvar retries = 0;\nvar maxRetries = 10; // Initialized client is exported so external consumers can utilize the same instance\n// It is mutable to enforce singleton\n// eslint-disable-next-line import/no-mutable-exports\n\nexport var client = null;\n/**\n * @param {string} url\n * @param {{ [handler: string]: (data?: any, params?: any) => any }} handlers\n * @param {number} [reconnect]\n */\n\nvar socket = function initSocket(url, handlers, reconnect) {\n client = new Client(url);\n client.onOpen(function () {\n retries = 0;\n if (typeof reconnect !== \"undefined\") {\n maxRetries = reconnect;\n }\n });\n client.onClose(function () {\n if (retries === 0) {\n handlers.close();\n } // Try to reconnect.\n\n client = null; // After 10 retries stop trying, to prevent logspam.\n\n if (retries < maxRetries) {\n // Exponentially increase timeout to reconnect.\n // Respectfully copied from the package `got`.\n // eslint-disable-next-line no-restricted-properties\n var retryInMs = 1000 * Math.pow(2, retries) + Math.random() * 100;\n retries += 1;\n log.info(\"Trying to reconnect...\");\n setTimeout(function () {\n socket(url, handlers, reconnect);\n }, retryInMs);\n }\n });\n client.onMessage(\n /**\n * @param {any} data\n */\n function (data) {\n var message = JSON.parse(data);\n if (handlers[message.type]) {\n handlers[message.type](message.data, message.params);\n }\n });\n};\nexport default socket;","map":{"version":3,"names":["WebSocketClient","log","Client","__webpack_dev_server_client__","default","retries","maxRetries","client","socket","initSocket","url","handlers","reconnect","onOpen","onClose","close","retryInMs","Math","pow","random","info","setTimeout","onMessage","data","message","JSON","parse","type","params"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech-2/mern/client/node_modules/webpack-dev-server/client/socket.js"],"sourcesContent":["/* global __webpack_dev_server_client__ */\nimport WebSocketClient from \"./clients/WebSocketClient.js\";\nimport { log } from \"./utils/log.js\"; // this WebsocketClient is here as a default fallback, in case the client is not injected\n\n/* eslint-disable camelcase */\n\nvar Client = // eslint-disable-next-line no-nested-ternary\ntypeof __webpack_dev_server_client__ !== \"undefined\" ? typeof __webpack_dev_server_client__.default !== \"undefined\" ? __webpack_dev_server_client__.default : __webpack_dev_server_client__ : WebSocketClient;\n/* eslint-enable camelcase */\n\nvar retries = 0;\nvar maxRetries = 10; // Initialized client is exported so external consumers can utilize the same instance\n// It is mutable to enforce singleton\n// eslint-disable-next-line import/no-mutable-exports\n\nexport var client = null;\n/**\n * @param {string} url\n * @param {{ [handler: string]: (data?: any, params?: any) => any }} handlers\n * @param {number} [reconnect]\n */\n\nvar socket = function initSocket(url, handlers, reconnect) {\n client = new Client(url);\n client.onOpen(function () {\n retries = 0;\n\n if (typeof reconnect !== \"undefined\") {\n maxRetries = reconnect;\n }\n });\n client.onClose(function () {\n if (retries === 0) {\n handlers.close();\n } // Try to reconnect.\n\n\n client = null; // After 10 retries stop trying, to prevent logspam.\n\n if (retries < maxRetries) {\n // Exponentially increase timeout to reconnect.\n // Respectfully copied from the package `got`.\n // eslint-disable-next-line no-restricted-properties\n var retryInMs = 1000 * Math.pow(2, retries) + Math.random() * 100;\n retries += 1;\n log.info(\"Trying to reconnect...\");\n setTimeout(function () {\n socket(url, handlers, reconnect);\n }, retryInMs);\n }\n });\n client.onMessage(\n /**\n * @param {any} data\n */\n function (data) {\n var message = JSON.parse(data);\n\n if (handlers[message.type]) {\n handlers[message.type](message.data, message.params);\n }\n });\n};\n\nexport default socket;"],"mappings":"AAAA;AACA,OAAOA,eAAe,MAAM,8BAA8B;AAC1D,SAASC,GAAG,QAAQ,gBAAgB,CAAC,CAAC;;AAEtC;;AAEA,IAAIC,MAAM;AAAG;AACb,OAAOC,6BAA6B,KAAK,WAAW,GAAG,OAAOA,6BAA6B,CAACC,OAAO,KAAK,WAAW,GAAGD,6BAA6B,CAACC,OAAO,GAAGD,6BAA6B,GAAGH,eAAe;AAC7M;;AAEA,IAAIK,OAAO,GAAG,CAAC;AACf,IAAIC,UAAU,GAAG,EAAE,CAAC,CAAC;AACrB;AACA;;AAEA,OAAO,IAAIC,MAAM,GAAG,IAAI;AACxB;AACA;AACA;AACA;AACA;;AAEA,IAAIC,MAAM,GAAG,SAASC,UAAU,CAACC,GAAG,EAAEC,QAAQ,EAAEC,SAAS,EAAE;EACzDL,MAAM,GAAG,IAAIL,MAAM,CAACQ,GAAG,CAAC;EACxBH,MAAM,CAACM,MAAM,CAAC,YAAY;IACxBR,OAAO,GAAG,CAAC;IAEX,IAAI,OAAOO,SAAS,KAAK,WAAW,EAAE;MACpCN,UAAU,GAAGM,SAAS;IACxB;EACF,CAAC,CAAC;EACFL,MAAM,CAACO,OAAO,CAAC,YAAY;IACzB,IAAIT,OAAO,KAAK,CAAC,EAAE;MACjBM,QAAQ,CAACI,KAAK,EAAE;IAClB,CAAC,CAAC;;IAGFR,MAAM,GAAG,IAAI,CAAC,CAAC;;IAEf,IAAIF,OAAO,GAAGC,UAAU,EAAE;MACxB;MACA;MACA;MACA,IAAIU,SAAS,GAAG,IAAI,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEb,OAAO,CAAC,GAAGY,IAAI,CAACE,MAAM,EAAE,GAAG,GAAG;MACjEd,OAAO,IAAI,CAAC;MACZJ,GAAG,CAACmB,IAAI,CAAC,wBAAwB,CAAC;MAClCC,UAAU,CAAC,YAAY;QACrBb,MAAM,CAACE,GAAG,EAAEC,QAAQ,EAAEC,SAAS,CAAC;MAClC,CAAC,EAAEI,SAAS,CAAC;IACf;EACF,CAAC,CAAC;EACFT,MAAM,CAACe,SAAS;EAChB;AACF;AACA;EACE,UAAUC,IAAI,EAAE;IACd,IAAIC,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IAE9B,IAAIZ,QAAQ,CAACa,OAAO,CAACG,IAAI,CAAC,EAAE;MAC1BhB,QAAQ,CAACa,OAAO,CAACG,IAAI,CAAC,CAACH,OAAO,CAACD,IAAI,EAAEC,OAAO,CAACI,MAAM,CAAC;IACtD;EACF,CAAC,CAAC;AACJ,CAAC;AAED,eAAepB,MAAM"},"metadata":{},"sourceType":"module"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/1014afbd7ecc5f7708922520ef97b31614a38dcf7f21abb8de0c0ef1ca8755ef.json b/mern/client/node_modules/.cache/babel-loader/1014afbd7ecc5f7708922520ef97b31614a38dcf7f21abb8de0c0ef1ca8755ef.json
deleted file mode 100644
index 657cbdee3..000000000
--- a/mern/client/node_modules/.cache/babel-loader/1014afbd7ecc5f7708922520ef97b31614a38dcf7f21abb8de0c0ef1ca8755ef.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};","map":{"version":3,"names":["isCallable","require","tryToString","$TypeError","TypeError","module","exports","argument"],"sources":["H:/QuadraTech/QuadraTech/mern/client/node_modules/core-js-pure/internals/a-callable.js"],"sourcesContent":["var isCallable = require('../internals/is-callable');\r\nvar tryToString = require('../internals/try-to-string');\r\n\r\nvar $TypeError = TypeError;\r\n\r\n// `Assert: IsCallable(argument) is true`\r\nmodule.exports = function (argument) {\r\n if (isCallable(argument)) return argument;\r\n throw $TypeError(tryToString(argument) + ' is not a function');\r\n};\r\n"],"mappings":"AAAA,IAAIA,UAAU,GAAGC,OAAO,CAAC,0BAA0B,CAAC;AACpD,IAAIC,WAAW,GAAGD,OAAO,CAAC,4BAA4B,CAAC;AAEvD,IAAIE,UAAU,GAAGC,SAAS;;AAE1B;AACAC,MAAM,CAACC,OAAO,GAAG,UAAUC,QAAQ,EAAE;EACnC,IAAIP,UAAU,CAACO,QAAQ,CAAC,EAAE,OAAOA,QAAQ;EACzC,MAAMJ,UAAU,CAACD,WAAW,CAACK,QAAQ,CAAC,GAAG,oBAAoB,CAAC;AAChE,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/10531f26d42f4e27a4202c779c7101d6.json b/mern/client/node_modules/.cache/babel-loader/10531f26d42f4e27a4202c779c7101d6.json
deleted file mode 100644
index 72b650b38..000000000
--- a/mern/client/node_modules/.cache/babel-loader/10531f26d42f4e27a4202c779c7101d6.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"// The error overlay is inspired (and mostly copied) from Create React App (https://github.com/facebookincubator/create-react-app)\n// They, in turn, got inspired by webpack-hot-middleware (https://github.com/glenjamin/webpack-hot-middleware).\nimport ansiHTML from \"ansi-html-community\";\nimport { encode } from \"html-entities\";\nvar colors = {\n reset: [\"transparent\", \"transparent\"],\n black: \"181818\",\n red: \"E36049\",\n green: \"B3CB74\",\n yellow: \"FFD080\",\n blue: \"7CAFC2\",\n magenta: \"7FACCA\",\n cyan: \"C3C2EF\",\n lightgrey: \"EBE7E3\",\n darkgrey: \"6D7891\"\n};\n/** @type {HTMLIFrameElement | null | undefined} */\n\nvar iframeContainerElement;\n/** @type {HTMLDivElement | null | undefined} */\n\nvar containerElement;\n/** @type {Array<(element: HTMLDivElement) => void>} */\n\nvar onLoadQueue = [];\n/** @type {TrustedTypePolicy | undefined} */\n\nvar overlayTrustedTypesPolicy;\nansiHTML.setColors(colors);\n/**\n * @param {string | null} trustedTypesPolicyName\n */\n\nfunction createContainer(trustedTypesPolicyName) {\n // Enable Trusted Types if they are available in the current browser.\n if (window.trustedTypes) {\n overlayTrustedTypesPolicy = window.trustedTypes.createPolicy(trustedTypesPolicyName || \"webpack-dev-server#overlay\", {\n createHTML: function createHTML(value) {\n return value;\n }\n });\n }\n iframeContainerElement = document.createElement(\"iframe\");\n iframeContainerElement.id = \"webpack-dev-server-client-overlay\";\n iframeContainerElement.src = \"about:blank\";\n iframeContainerElement.style.position = \"fixed\";\n iframeContainerElement.style.left = 0;\n iframeContainerElement.style.top = 0;\n iframeContainerElement.style.right = 0;\n iframeContainerElement.style.bottom = 0;\n iframeContainerElement.style.width = \"100vw\";\n iframeContainerElement.style.height = \"100vh\";\n iframeContainerElement.style.border = \"none\";\n iframeContainerElement.style.zIndex = 9999999999;\n iframeContainerElement.onload = function () {\n containerElement = /** @type {Document} */\n\n /** @type {HTMLIFrameElement} */\n iframeContainerElement.contentDocument.createElement(\"div\");\n containerElement.id = \"webpack-dev-server-client-overlay-div\";\n containerElement.style.position = \"fixed\";\n containerElement.style.boxSizing = \"border-box\";\n containerElement.style.left = 0;\n containerElement.style.top = 0;\n containerElement.style.right = 0;\n containerElement.style.bottom = 0;\n containerElement.style.width = \"100vw\";\n containerElement.style.height = \"100vh\";\n containerElement.style.backgroundColor = \"rgba(0, 0, 0, 0.85)\";\n containerElement.style.color = \"#E8E8E8\";\n containerElement.style.fontFamily = \"Menlo, Consolas, monospace\";\n containerElement.style.fontSize = \"large\";\n containerElement.style.padding = \"2rem\";\n containerElement.style.lineHeight = \"1.2\";\n containerElement.style.whiteSpace = \"pre-wrap\";\n containerElement.style.overflow = \"auto\";\n var headerElement = document.createElement(\"span\");\n headerElement.innerText = \"Compiled with problems:\";\n var closeButtonElement = document.createElement(\"button\");\n closeButtonElement.innerText = \"X\";\n closeButtonElement.style.background = \"transparent\";\n closeButtonElement.style.border = \"none\";\n closeButtonElement.style.fontSize = \"20px\";\n closeButtonElement.style.fontWeight = \"bold\";\n closeButtonElement.style.color = \"white\";\n closeButtonElement.style.cursor = \"pointer\";\n closeButtonElement.style.cssFloat = \"right\"; // @ts-ignore\n\n closeButtonElement.style.styleFloat = \"right\";\n closeButtonElement.addEventListener(\"click\", function () {\n hide();\n });\n containerElement.appendChild(headerElement);\n containerElement.appendChild(closeButtonElement);\n containerElement.appendChild(document.createElement(\"br\"));\n containerElement.appendChild(document.createElement(\"br\"));\n /** @type {Document} */\n\n /** @type {HTMLIFrameElement} */\n iframeContainerElement.contentDocument.body.appendChild(containerElement);\n onLoadQueue.forEach(function (onLoad) {\n onLoad( /** @type {HTMLDivElement} */\n containerElement);\n });\n onLoadQueue = [];\n /** @type {HTMLIFrameElement} */\n\n iframeContainerElement.onload = null;\n };\n document.body.appendChild(iframeContainerElement);\n}\n/**\n * @param {(element: HTMLDivElement) => void} callback\n * @param {string | null} trustedTypesPolicyName\n */\n\nfunction ensureOverlayExists(callback, trustedTypesPolicyName) {\n if (containerElement) {\n // Everything is ready, call the callback right away.\n callback(containerElement);\n return;\n }\n onLoadQueue.push(callback);\n if (iframeContainerElement) {\n return;\n }\n createContainer(trustedTypesPolicyName);\n} // Successful compilation.\n\nfunction hide() {\n if (!iframeContainerElement) {\n return;\n } // Clean up and reset internal state.\n\n document.body.removeChild(iframeContainerElement);\n iframeContainerElement = null;\n containerElement = null;\n}\n/**\n * @param {string} type\n * @param {string | { file?: string, moduleName?: string, loc?: string, message?: string }} item\n * @returns {{ header: string, body: string }}\n */\n\nfunction formatProblem(type, item) {\n var header = type === \"warning\" ? \"WARNING\" : \"ERROR\";\n var body = \"\";\n if (typeof item === \"string\") {\n body += item;\n } else {\n var file = item.file || \"\"; // eslint-disable-next-line no-nested-ternary\n\n var moduleName = item.moduleName ? item.moduleName.indexOf(\"!\") !== -1 ? \"\".concat(item.moduleName.replace(/^(\\s|\\S)*!/, \"\"), \" (\").concat(item.moduleName, \")\") : \"\".concat(item.moduleName) : \"\";\n var loc = item.loc;\n header += \"\".concat(moduleName || file ? \" in \".concat(moduleName ? \"\".concat(moduleName).concat(file ? \" (\".concat(file, \")\") : \"\") : file).concat(loc ? \" \".concat(loc) : \"\") : \"\");\n body += item.message || \"\";\n }\n return {\n header: header,\n body: body\n };\n} // Compilation with errors (e.g. syntax error or missing modules).\n\n/**\n * @param {string} type\n * @param {Array} messages\n * @param {string | null} trustedTypesPolicyName\n */\n\nfunction show(type, messages, trustedTypesPolicyName) {\n ensureOverlayExists(function () {\n messages.forEach(function (message) {\n var entryElement = document.createElement(\"div\");\n var typeElement = document.createElement(\"span\");\n var _formatProblem = formatProblem(type, message),\n header = _formatProblem.header,\n body = _formatProblem.body;\n typeElement.innerText = header;\n typeElement.style.color = \"#\".concat(colors.red); // Make it look similar to our terminal.\n\n var text = ansiHTML(encode(body));\n var messageTextNode = document.createElement(\"div\");\n messageTextNode.innerHTML = overlayTrustedTypesPolicy ? overlayTrustedTypesPolicy.createHTML(text) : text;\n entryElement.appendChild(typeElement);\n entryElement.appendChild(document.createElement(\"br\"));\n entryElement.appendChild(document.createElement(\"br\"));\n entryElement.appendChild(messageTextNode);\n entryElement.appendChild(document.createElement(\"br\"));\n entryElement.appendChild(document.createElement(\"br\"));\n /** @type {HTMLDivElement} */\n\n containerElement.appendChild(entryElement);\n });\n }, trustedTypesPolicyName);\n}\nexport { formatProblem, show, hide };","map":{"version":3,"names":["ansiHTML","encode","colors","reset","black","red","green","yellow","blue","magenta","cyan","lightgrey","darkgrey","iframeContainerElement","containerElement","onLoadQueue","overlayTrustedTypesPolicy","setColors","createContainer","trustedTypesPolicyName","window","trustedTypes","createPolicy","createHTML","value","document","createElement","id","src","style","position","left","top","right","bottom","width","height","border","zIndex","onload","contentDocument","boxSizing","backgroundColor","color","fontFamily","fontSize","padding","lineHeight","whiteSpace","overflow","headerElement","innerText","closeButtonElement","background","fontWeight","cursor","cssFloat","styleFloat","addEventListener","hide","appendChild","body","forEach","onLoad","ensureOverlayExists","callback","push","removeChild","formatProblem","type","item","header","file","moduleName","indexOf","concat","replace","loc","message","show","messages","entryElement","typeElement","_formatProblem","text","messageTextNode","innerHTML"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech-2/mern/client/node_modules/webpack-dev-server/client/overlay.js"],"sourcesContent":["// The error overlay is inspired (and mostly copied) from Create React App (https://github.com/facebookincubator/create-react-app)\n// They, in turn, got inspired by webpack-hot-middleware (https://github.com/glenjamin/webpack-hot-middleware).\nimport ansiHTML from \"ansi-html-community\";\nimport { encode } from \"html-entities\";\nvar colors = {\n reset: [\"transparent\", \"transparent\"],\n black: \"181818\",\n red: \"E36049\",\n green: \"B3CB74\",\n yellow: \"FFD080\",\n blue: \"7CAFC2\",\n magenta: \"7FACCA\",\n cyan: \"C3C2EF\",\n lightgrey: \"EBE7E3\",\n darkgrey: \"6D7891\"\n};\n/** @type {HTMLIFrameElement | null | undefined} */\n\nvar iframeContainerElement;\n/** @type {HTMLDivElement | null | undefined} */\n\nvar containerElement;\n/** @type {Array<(element: HTMLDivElement) => void>} */\n\nvar onLoadQueue = [];\n/** @type {TrustedTypePolicy | undefined} */\n\nvar overlayTrustedTypesPolicy;\nansiHTML.setColors(colors);\n/**\n * @param {string | null} trustedTypesPolicyName\n */\n\nfunction createContainer(trustedTypesPolicyName) {\n // Enable Trusted Types if they are available in the current browser.\n if (window.trustedTypes) {\n overlayTrustedTypesPolicy = window.trustedTypes.createPolicy(trustedTypesPolicyName || \"webpack-dev-server#overlay\", {\n createHTML: function createHTML(value) {\n return value;\n }\n });\n }\n\n iframeContainerElement = document.createElement(\"iframe\");\n iframeContainerElement.id = \"webpack-dev-server-client-overlay\";\n iframeContainerElement.src = \"about:blank\";\n iframeContainerElement.style.position = \"fixed\";\n iframeContainerElement.style.left = 0;\n iframeContainerElement.style.top = 0;\n iframeContainerElement.style.right = 0;\n iframeContainerElement.style.bottom = 0;\n iframeContainerElement.style.width = \"100vw\";\n iframeContainerElement.style.height = \"100vh\";\n iframeContainerElement.style.border = \"none\";\n iframeContainerElement.style.zIndex = 9999999999;\n\n iframeContainerElement.onload = function () {\n containerElement =\n /** @type {Document} */\n\n /** @type {HTMLIFrameElement} */\n iframeContainerElement.contentDocument.createElement(\"div\");\n containerElement.id = \"webpack-dev-server-client-overlay-div\";\n containerElement.style.position = \"fixed\";\n containerElement.style.boxSizing = \"border-box\";\n containerElement.style.left = 0;\n containerElement.style.top = 0;\n containerElement.style.right = 0;\n containerElement.style.bottom = 0;\n containerElement.style.width = \"100vw\";\n containerElement.style.height = \"100vh\";\n containerElement.style.backgroundColor = \"rgba(0, 0, 0, 0.85)\";\n containerElement.style.color = \"#E8E8E8\";\n containerElement.style.fontFamily = \"Menlo, Consolas, monospace\";\n containerElement.style.fontSize = \"large\";\n containerElement.style.padding = \"2rem\";\n containerElement.style.lineHeight = \"1.2\";\n containerElement.style.whiteSpace = \"pre-wrap\";\n containerElement.style.overflow = \"auto\";\n var headerElement = document.createElement(\"span\");\n headerElement.innerText = \"Compiled with problems:\";\n var closeButtonElement = document.createElement(\"button\");\n closeButtonElement.innerText = \"X\";\n closeButtonElement.style.background = \"transparent\";\n closeButtonElement.style.border = \"none\";\n closeButtonElement.style.fontSize = \"20px\";\n closeButtonElement.style.fontWeight = \"bold\";\n closeButtonElement.style.color = \"white\";\n closeButtonElement.style.cursor = \"pointer\";\n closeButtonElement.style.cssFloat = \"right\"; // @ts-ignore\n\n closeButtonElement.style.styleFloat = \"right\";\n closeButtonElement.addEventListener(\"click\", function () {\n hide();\n });\n containerElement.appendChild(headerElement);\n containerElement.appendChild(closeButtonElement);\n containerElement.appendChild(document.createElement(\"br\"));\n containerElement.appendChild(document.createElement(\"br\"));\n /** @type {Document} */\n\n /** @type {HTMLIFrameElement} */\n iframeContainerElement.contentDocument.body.appendChild(containerElement);\n onLoadQueue.forEach(function (onLoad) {\n onLoad(\n /** @type {HTMLDivElement} */\n containerElement);\n });\n onLoadQueue = [];\n /** @type {HTMLIFrameElement} */\n\n iframeContainerElement.onload = null;\n };\n\n document.body.appendChild(iframeContainerElement);\n}\n/**\n * @param {(element: HTMLDivElement) => void} callback\n * @param {string | null} trustedTypesPolicyName\n */\n\n\nfunction ensureOverlayExists(callback, trustedTypesPolicyName) {\n if (containerElement) {\n // Everything is ready, call the callback right away.\n callback(containerElement);\n return;\n }\n\n onLoadQueue.push(callback);\n\n if (iframeContainerElement) {\n return;\n }\n\n createContainer(trustedTypesPolicyName);\n} // Successful compilation.\n\n\nfunction hide() {\n if (!iframeContainerElement) {\n return;\n } // Clean up and reset internal state.\n\n\n document.body.removeChild(iframeContainerElement);\n iframeContainerElement = null;\n containerElement = null;\n}\n/**\n * @param {string} type\n * @param {string | { file?: string, moduleName?: string, loc?: string, message?: string }} item\n * @returns {{ header: string, body: string }}\n */\n\n\nfunction formatProblem(type, item) {\n var header = type === \"warning\" ? \"WARNING\" : \"ERROR\";\n var body = \"\";\n\n if (typeof item === \"string\") {\n body += item;\n } else {\n var file = item.file || \"\"; // eslint-disable-next-line no-nested-ternary\n\n var moduleName = item.moduleName ? item.moduleName.indexOf(\"!\") !== -1 ? \"\".concat(item.moduleName.replace(/^(\\s|\\S)*!/, \"\"), \" (\").concat(item.moduleName, \")\") : \"\".concat(item.moduleName) : \"\";\n var loc = item.loc;\n header += \"\".concat(moduleName || file ? \" in \".concat(moduleName ? \"\".concat(moduleName).concat(file ? \" (\".concat(file, \")\") : \"\") : file).concat(loc ? \" \".concat(loc) : \"\") : \"\");\n body += item.message || \"\";\n }\n\n return {\n header: header,\n body: body\n };\n} // Compilation with errors (e.g. syntax error or missing modules).\n\n/**\n * @param {string} type\n * @param {Array} messages\n * @param {string | null} trustedTypesPolicyName\n */\n\n\nfunction show(type, messages, trustedTypesPolicyName) {\n ensureOverlayExists(function () {\n messages.forEach(function (message) {\n var entryElement = document.createElement(\"div\");\n var typeElement = document.createElement(\"span\");\n\n var _formatProblem = formatProblem(type, message),\n header = _formatProblem.header,\n body = _formatProblem.body;\n\n typeElement.innerText = header;\n typeElement.style.color = \"#\".concat(colors.red); // Make it look similar to our terminal.\n\n var text = ansiHTML(encode(body));\n var messageTextNode = document.createElement(\"div\");\n messageTextNode.innerHTML = overlayTrustedTypesPolicy ? overlayTrustedTypesPolicy.createHTML(text) : text;\n entryElement.appendChild(typeElement);\n entryElement.appendChild(document.createElement(\"br\"));\n entryElement.appendChild(document.createElement(\"br\"));\n entryElement.appendChild(messageTextNode);\n entryElement.appendChild(document.createElement(\"br\"));\n entryElement.appendChild(document.createElement(\"br\"));\n /** @type {HTMLDivElement} */\n\n containerElement.appendChild(entryElement);\n });\n }, trustedTypesPolicyName);\n}\n\nexport { formatProblem, show, hide };"],"mappings":"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"},"metadata":{},"sourceType":"module"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/1061085977fb6c1163c86fa01e4f7f7a.json b/mern/client/node_modules/.cache/babel-loader/1061085977fb6c1163c86fa01e4f7f7a.json
deleted file mode 100644
index a3890f89e..000000000
--- a/mern/client/node_modules/.cache/babel-loader/1061085977fb6c1163c86fa01e4f7f7a.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}","map":{"version":3,"names":["process","env","NODE_ENV","module","exports","require"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/react/index.js"],"sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n"],"mappings":"AAAA,YAAY;;AAEZ,IAAIA,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCC,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,+BAA+B,CAAC;AAC3D,CAAC,MAAM;EACLF,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,4BAA4B,CAAC;AACxD"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/10d3453ada0a91e667f15d0a7a55172e.json b/mern/client/node_modules/.cache/babel-loader/10d3453ada0a91e667f15d0a7a55172e.json
deleted file mode 100644
index e48ba7932..000000000
--- a/mern/client/node_modules/.cache/babel-loader/10d3453ada0a91e667f15d0a7a55172e.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","map":{"version":3,"names":["module","exports","item","content","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceMapping","sourceURLs","sources","map","source","sourceRoot","join"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech-2/mern/client/node_modules/css-loader/dist/runtime/sourceMaps.js"],"sourcesContent":["\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};"],"mappings":"AAAA,YAAY;;AAEZA,MAAM,CAACC,OAAO,GAAG,UAAUC,IAAI,EAAE;EAC/B,IAAIC,OAAO,GAAGD,IAAI,CAAC,CAAC,CAAC;EACrB,IAAIE,UAAU,GAAGF,IAAI,CAAC,CAAC,CAAC;EAExB,IAAI,CAACE,UAAU,EAAE;IACf,OAAOD,OAAO;EAChB;EAEA,IAAI,OAAOE,IAAI,KAAK,UAAU,EAAE;IAC9B,IAAIC,MAAM,GAAGD,IAAI,CAACE,QAAQ,CAACC,kBAAkB,CAACC,IAAI,CAACC,SAAS,CAACN,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAIO,IAAI,GAAG,8DAA8D,CAACC,MAAM,CAACN,MAAM,CAAC;IACxF,IAAIO,aAAa,GAAG,MAAM,CAACD,MAAM,CAACD,IAAI,EAAE,KAAK,CAAC;IAC9C,IAAIG,UAAU,GAAGV,UAAU,CAACW,OAAO,CAACC,GAAG,CAAC,UAAUC,MAAM,EAAE;MACxD,OAAO,gBAAgB,CAACL,MAAM,CAACR,UAAU,CAACc,UAAU,IAAI,EAAE,CAAC,CAACN,MAAM,CAACK,MAAM,EAAE,KAAK,CAAC;IACnF,CAAC,CAAC;IACF,OAAO,CAACd,OAAO,CAAC,CAACS,MAAM,CAACE,UAAU,CAAC,CAACF,MAAM,CAAC,CAACC,aAAa,CAAC,CAAC,CAACM,IAAI,CAAC,IAAI,CAAC;EACxE;EAEA,OAAO,CAAChB,OAAO,CAAC,CAACgB,IAAI,CAAC,IAAI,CAAC;AAC7B,CAAC"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/10dde04b654189dfbd2fcfec30c11f69.json b/mern/client/node_modules/.cache/babel-loader/10dde04b654189dfbd2fcfec30c11f69.json
deleted file mode 100644
index 0cc06eb80..000000000
--- a/mern/client/node_modules/.cache/babel-loader/10dde04b654189dfbd2fcfec30c11f69.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var $String = String;\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};","map":{"version":3,"names":["$String","String","module","exports","argument","error"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/core-js-pure/internals/try-to-string.js"],"sourcesContent":["var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n"],"mappings":"AAAA,IAAIA,OAAO,GAAGC,MAAM;AAEpBC,MAAM,CAACC,OAAO,GAAG,UAAUC,QAAQ,EAAE;EACnC,IAAI;IACF,OAAOJ,OAAO,CAACI,QAAQ,CAAC;EAC1B,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO,QAAQ;EACjB;AACF,CAAC"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/11c3d0937e622027f388dcd8e4f6c8e3.json b/mern/client/node_modules/.cache/babel-loader/11c3d0937e622027f388dcd8e4f6c8e3.json
deleted file mode 100644
index 2738b1cd4..000000000
--- a/mern/client/node_modules/.cache/babel-loader/11c3d0937e622027f388dcd8e4f6c8e3.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function () {\n 'use strict';\n\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === 'function') {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n }\n var ReactVersion = '18.2.0';\n\n // ATTENTION\n // When adding new symbols to this file,\n // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n // The Symbol used to tag the ReactElement-like types.\n var REACT_ELEMENT_TYPE = Symbol.for('react.element');\n var REACT_PORTAL_TYPE = Symbol.for('react.portal');\n var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\n var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\n var REACT_PROFILER_TYPE = Symbol.for('react.profiler');\n var REACT_PROVIDER_TYPE = Symbol.for('react.provider');\n var REACT_CONTEXT_TYPE = Symbol.for('react.context');\n var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\n var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\n var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\n var REACT_MEMO_TYPE = Symbol.for('react.memo');\n var REACT_LAZY_TYPE = Symbol.for('react.lazy');\n var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator';\n function getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n return null;\n }\n\n /**\n * Keeps track of the current dispatcher.\n */\n var ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n };\n\n /**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\n var ReactCurrentBatchConfig = {\n transition: null\n };\n var ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n };\n\n /**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\n var ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n };\n var ReactDebugCurrentFrame = {};\n var currentExtraStackFrame = null;\n function setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n }\n {\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n if (impl) {\n stack += impl() || '';\n }\n return stack;\n };\n }\n\n // -----------------------------------------------------------------------------\n\n var enableScopeAPI = false; // Experimental Create Event Handle API.\n var enableCacheElement = false;\n var enableTransitionTracing = false; // No known bugs, but needs performance testing\n\n var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n // stuff. Intended to enable React core members to more easily debug scheduling\n // issues in DEV builds.\n\n var enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\n var ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n };\n {\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n }\n\n // by calls to these methods by a Babel plugin.\n //\n // In PROD (or in packages without access to React internals),\n // they are left as they are instead.\n\n function warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n printWarning('warn', format, args);\n }\n }\n }\n function error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n printWarning('error', format, args);\n }\n }\n }\n function printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n }\n var didWarnStateUpdateForUnmountedComponent = {};\n function warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n }\n /**\n * This is the abstract API for an update queue.\n */\n\n var ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n };\n var assign = Object.assign;\n var emptyObject = {};\n {\n Object.freeze(emptyObject);\n }\n /**\n * Base class helpers for the updating state of a component.\n */\n\n function Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n }\n Component.prototype.isReactComponent = {};\n /**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\n Component.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n };\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n Component.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n };\n /**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n {\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n return undefined;\n }\n });\n };\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n }\n function ComponentDummy() {}\n ComponentDummy.prototype = Component.prototype;\n /**\n * Convenience component with default shallow equality check for sCU.\n */\n\n function PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n var pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\n pureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\n assign(pureComponentPrototype, Component.prototype);\n pureComponentPrototype.isPureReactComponent = true;\n\n // an immutable object with a single mutable value\n function createRef() {\n var refObject = {\n current: null\n };\n {\n Object.seal(refObject);\n }\n return refObject;\n }\n var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\n function isArray(a) {\n return isArrayImpl(a);\n }\n\n /*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n // $FlowFixMe only called in DEV, so void return is not possible.\n function typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n } // $FlowFixMe only called in DEV, so void return is not possible.\n\n function willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n }\n function testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n }\n function checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n }\n\n function getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n if (displayName) {\n return displayName;\n }\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n } // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n function getContextName(type) {\n return type.displayName || 'Context';\n } // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n function getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n if (typeof type === 'string') {\n return type;\n }\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n case REACT_PORTAL_TYPE:\n return 'Portal';\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n }\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n if (outerName !== null) {\n return outerName;\n }\n return getComponentNameFromType(type.type) || 'Memo';\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n }\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n };\n var specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n {\n didWarnAboutStringRefs = {};\n }\n function hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n return config.ref !== undefined;\n }\n function hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n return config.key !== undefined;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n function defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n function warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n }\n /**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n var ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n return element;\n };\n /**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\n function createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n key = '' + config.key;\n }\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n props.children = childArray;\n } // Resolve default props\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n function cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n }\n /**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\n function cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n key = '' + config.key;\n } // Remaining properties override existing props\n\n var defaultProps;\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n props.children = childArray;\n }\n return ReactElement(element.type, key, ref, self, source, owner, props);\n }\n /**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n function isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n var SEPARATOR = '.';\n var SUBSEPARATOR = ':';\n /**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\n function escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n }\n /**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n var didWarnAboutMaps = false;\n var userProvidedKeyEscapeRegex = /\\/+/g;\n function escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n }\n /**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n function getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n return index.toString(36);\n }\n function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n var invokeCallback = false;\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n }\n }\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n mappedChild = cloneAndReplaceKey(mappedChild,\n // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + (\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ?\n // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n array.push(mappedChild);\n }\n return 1;\n }\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n didWarnAboutMaps = true;\n }\n }\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n return subtreeCount;\n }\n\n /**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\n function mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n }\n /**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n function countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n\n return n;\n }\n\n /**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\n function forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n }\n /**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n function toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n }\n /**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n function onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n return children;\n }\n function createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {\n if (!hasWarnedAboutDisplayNameOnConsumer) {\n warn('Setting `displayName` on Context.Consumer has no effect. ' + \"You should set it directly on the context with Context.displayName = '%s'.\", displayName);\n hasWarnedAboutDisplayNameOnConsumer = true;\n }\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n return context;\n }\n var Uninitialized = -1;\n var Pending = 0;\n var Resolved = 1;\n var Rejected = 2;\n function lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' +\n // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' +\n // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n }\n function lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n return lazyType;\n }\n function forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n return elementType;\n }\n var REACT_MODULE_REFERENCE;\n {\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n }\n function isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) {\n return true;\n }\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE ||\n // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n return false;\n }\n function memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n return elementType;\n }\n function resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n return dispatcher;\n }\n function useContext(Context) {\n var dispatcher = resolveDispatcher();\n {\n // TODO: add a more generic warning for invalid values.\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n return dispatcher.useContext(Context);\n }\n function useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n }\n function useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n }\n function useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n }\n function useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n }\n function useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n }\n function useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n }\n function useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n }\n function useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n }\n function useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n }\n function useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n }\n function useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n }\n function useDeferredValue(value) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value);\n }\n function useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n }\n function useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n }\n\n // Helpers to patch console.logs to avoid logging during side-effect free\n // replaying on render function. This currently only patches the object\n // lazily which won't cover if the log function was extracted eagerly.\n // We could also eagerly patch the method.\n var disabledDepth = 0;\n var prevLog;\n var prevInfo;\n var prevWarn;\n var prevError;\n var prevGroup;\n var prevGroupCollapsed;\n var prevGroupEnd;\n function disabledLog() {}\n disabledLog.__reactDisabledLog = true;\n function disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n }\n function reenableLogs() {\n {\n disabledDepth--;\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n }\n var ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;\n var prefix;\n function describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n return '\\n' + prefix + name;\n }\n }\n var reentry = false;\n var componentFrameCache;\n {\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n }\n function describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n {\n var frame = componentFrameCache.get(fn);\n if (frame !== undefined) {\n return frame;\n }\n }\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n {\n previousDispatcher = ReactCurrentDispatcher$1.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$1.current = null;\n disableLogs();\n }\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n if (fn.displayName && _frame.includes('')) {\n _frame = _frame.replace('', fn.displayName);\n }\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n break;\n }\n }\n }\n } finally {\n reentry = false;\n {\n ReactCurrentDispatcher$1.current = previousDispatcher;\n reenableLogs();\n }\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n return syntheticFrame;\n }\n function describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n }\n function shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n }\n function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n if (type == null) {\n return '';\n }\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n return '';\n }\n var loggedTypeFailures = {};\n var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n function setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n }\n function checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n setCurrentlyValidatingElement(null);\n }\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n error('Failed %s type: %s', location, error$1.message);\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n }\n function setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n setExtraStackFrame(stack);\n } else {\n setExtraStackFrame(null);\n }\n }\n }\n var propTypesMisspellWarningShown;\n {\n propTypesMisspellWarningShown = false;\n }\n function getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n return '';\n }\n function getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n return '';\n }\n function getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n return '';\n }\n /**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n var ownerHasKeyUseWarning = {};\n function getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n return info;\n }\n /**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n function validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n {\n setCurrentlyValidatingElement$1(element);\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n setCurrentlyValidatingElement$1(null);\n }\n }\n /**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n function validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n /**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n function validatePropTypes(element) {\n {\n var type = element.type;\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n var propTypes;\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE ||\n // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n }\n /**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n function validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n setCurrentlyValidatingElement$1(null);\n }\n }\n }\n function createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n var typeString;\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n return element;\n }\n var didWarnAboutDeprecatedCreateFactory = false;\n function createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n return validatedFactory;\n }\n function cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n validatePropTypes(newElement);\n return newElement;\n }\n function startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = {};\n var currentTransition = ReactCurrentBatchConfig.transition;\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n try {\n scope();\n } finally {\n ReactCurrentBatchConfig.transition = prevTransition;\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n currentTransition._updatedFibers.clear();\n }\n }\n }\n }\n var didWarnAboutMessageChannel = false;\n var enqueueTaskImpl = null;\n function enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n return enqueueTaskImpl(task);\n }\n var actScopeDepth = 0;\n var didWarnNoAwaitAct = false;\n function act(callback) {\n {\n // `act` calls can be nested, so we track the depth. This represents the\n // number of `act` scopes on the stack.\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n if (ReactCurrentActQueue.current === null) {\n // This is the outermost `act` scope. Initialize the queue. The reconciler\n // will detect the queue and use it instead of Scheduler.\n ReactCurrentActQueue.current = [];\n }\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var result;\n try {\n // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n ReactCurrentActQueue.isBatchingLegacy = true;\n result = callback(); // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) {\n var queue = ReactCurrentActQueue.current;\n if (queue !== null) {\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n flushActQueue(queue);\n }\n }\n } catch (error) {\n popActScope(prevActScopeDepth);\n throw error;\n } finally {\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n }\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n var thenableResult = result; // The callback is an async function (i.e. returned a promise). Wait\n // for it to resolve before exiting the current scope.\n\n var wasAwaited = false;\n var thenable = {\n then: function (resolve, reject) {\n wasAwaited = true;\n thenableResult.then(function (returnValue) {\n popActScope(prevActScopeDepth);\n if (actScopeDepth === 0) {\n // We've exited the outermost act scope. Recursively flush the\n // queue until there's no remaining work.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n // The callback threw an error.\n popActScope(prevActScopeDepth);\n reject(error);\n });\n }\n };\n {\n if (!didWarnNoAwaitAct && typeof Promise !== 'undefined') {\n // eslint-disable-next-line no-undef\n Promise.resolve().then(function () {}).then(function () {\n if (!wasAwaited) {\n didWarnNoAwaitAct = true;\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n }\n }\n return thenable;\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current scope\n // immediately, without awaiting.\n\n popActScope(prevActScopeDepth);\n if (actScopeDepth === 0) {\n // Exiting the outermost act scope. Flush the queue.\n var _queue = ReactCurrentActQueue.current;\n if (_queue !== null) {\n flushActQueue(_queue);\n ReactCurrentActQueue.current = null;\n } // Return a thenable. If the user awaits it, we'll flush again in\n // case additional work was scheduled by a microtask.\n\n var _thenable = {\n then: function (resolve, reject) {\n // Confirm we haven't re-entered another `act` scope, in case\n // the user does something weird like await the thenable\n // multiple times.\n if (ReactCurrentActQueue.current === null) {\n // Recursively flush the queue until there's no remaining work.\n ReactCurrentActQueue.current = [];\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }\n };\n return _thenable;\n } else {\n // Since we're inside a nested `act` scope, the returned thenable\n // immediately resolves. The outer scope will flush the queue.\n var _thenable2 = {\n then: function (resolve, reject) {\n resolve(returnValue);\n }\n };\n return _thenable2;\n }\n }\n }\n }\n function popActScope(prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n actScopeDepth = prevActScopeDepth;\n }\n }\n function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n var queue = ReactCurrentActQueue.current;\n if (queue !== null) {\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n if (queue.length === 0) {\n // No additional work was scheduled. Finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n } else {\n // Keep flushing work until there's none left.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }\n }\n var isFlushing = false;\n function flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n do {\n callback = callback(true);\n } while (callback !== null);\n }\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue = queue.slice(i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n }\n var createElement$1 = createElementWithValidation;\n var cloneElement$1 = cloneElementWithValidation;\n var createFactory = createFactoryWithValidation;\n var Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n };\n exports.Children = Children;\n exports.Component = Component;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.PureComponent = PureComponent;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\n exports.cloneElement = cloneElement$1;\n exports.createContext = createContext;\n exports.createElement = createElement$1;\n exports.createFactory = createFactory;\n exports.createRef = createRef;\n exports.forwardRef = forwardRef;\n exports.isValidElement = isValidElement;\n exports.lazy = lazy;\n exports.memo = memo;\n exports.startTransition = startTransition;\n exports.unstable_act = act;\n exports.useCallback = useCallback;\n exports.useContext = useContext;\n exports.useDebugValue = useDebugValue;\n exports.useDeferredValue = useDeferredValue;\n exports.useEffect = useEffect;\n exports.useId = useId;\n exports.useImperativeHandle = useImperativeHandle;\n exports.useInsertionEffect = useInsertionEffect;\n exports.useLayoutEffect = useLayoutEffect;\n exports.useMemo = useMemo;\n exports.useReducer = useReducer;\n exports.useRef = useRef;\n exports.useState = useState;\n exports.useSyncExternalStore = useSyncExternalStore;\n exports.useTransition = useTransition;\n exports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === 'function') {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n }\n })();\n}","map":{"version":3,"names":["process","env","NODE_ENV","__REACT_DEVTOOLS_GLOBAL_HOOK__","registerInternalModuleStart","Error","ReactVersion","REACT_ELEMENT_TYPE","Symbol","for","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","MAYBE_ITERATOR_SYMBOL","iterator","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactCurrentDispatcher","current","ReactCurrentBatchConfig","transition","ReactCurrentActQueue","isBatchingLegacy","didScheduleLegacyUpdate","ReactCurrentOwner","ReactDebugCurrentFrame","currentExtraStackFrame","setExtraStackFrame","stack","getCurrentStack","getStackAddendum","impl","enableScopeAPI","enableCacheElement","enableTransitionTracing","enableLegacyHidden","enableDebugTracing","ReactSharedInternals","warn","format","_len","arguments","length","args","Array","_key","printWarning","error","_len2","_key2","level","concat","argsWithFormat","map","item","String","unshift","Function","prototype","apply","call","console","didWarnStateUpdateForUnmountedComponent","warnNoop","publicInstance","callerName","_constructor","constructor","componentName","displayName","name","warningKey","ReactNoopUpdateQueue","isMounted","enqueueForceUpdate","callback","enqueueReplaceState","completeState","enqueueSetState","partialState","assign","Object","emptyObject","freeze","Component","props","context","updater","refs","isReactComponent","setState","forceUpdate","deprecatedAPIs","replaceState","defineDeprecationWarning","methodName","info","defineProperty","get","undefined","fnName","hasOwnProperty","ComponentDummy","PureComponent","pureComponentPrototype","isPureReactComponent","createRef","refObject","seal","isArrayImpl","isArray","a","typeName","value","hasToStringTag","toStringTag","type","willCoercionThrow","testStringCoercion","e","checkKeyStringCoercion","getWrappedName","outerType","innerType","wrapperName","functionName","getContextName","getComponentNameFromType","tag","$$typeof","provider","_context","render","outerName","lazyComponent","payload","_payload","init","_init","x","RESERVED_PROPS","key","ref","__self","__source","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","hasValidRef","config","getter","getOwnPropertyDescriptor","isReactWarning","hasValidKey","defineKeyPropWarningGetter","warnAboutAccessingKey","configurable","defineRefPropWarningGetter","warnAboutAccessingRef","warnIfStringRefCannotBeAutoConverted","stateNode","ReactElement","self","source","owner","element","_owner","_store","enumerable","writable","createElement","children","propName","childrenLength","childArray","i","defaultProps","cloneAndReplaceKey","oldElement","newKey","newElement","_self","_source","cloneElement","isValidElement","object","SEPARATOR","SUBSEPARATOR","escape","escapeRegex","escaperLookup","escapedString","replace","match","didWarnAboutMaps","userProvidedKeyEscapeRegex","escapeUserProvidedKey","text","getElementKey","index","toString","mapIntoArray","array","escapedPrefix","nameSoFar","invokeCallback","_child","mappedChild","childKey","escapedChildKey","c","push","child","nextName","subtreeCount","nextNamePrefix","iteratorFn","iterableChildren","entries","step","ii","next","done","childrenString","keys","join","mapChildren","func","result","count","countChildren","n","forEachChildren","forEachFunc","forEachContext","toArray","onlyChild","createContext","defaultValue","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","hasWarnedAboutUsingNestedContextConsumers","hasWarnedAboutUsingConsumerProvider","hasWarnedAboutDisplayNameOnConsumer","defineProperties","set","_Provider","_currentRenderer","_currentRenderer2","Uninitialized","Pending","Resolved","Rejected","lazyInitializer","_status","ctor","_result","thenable","then","moduleObject","resolved","rejected","pending","default","lazy","lazyType","propTypes","newDefaultProps","newPropTypes","forwardRef","elementType","ownName","REACT_MODULE_REFERENCE","isValidElementType","getModuleId","memo","compare","resolveDispatcher","dispatcher","useContext","Context","realContext","useState","initialState","useReducer","reducer","initialArg","useRef","initialValue","useEffect","create","deps","useInsertionEffect","useLayoutEffect","useCallback","useMemo","useImperativeHandle","useDebugValue","formatterFn","useTransition","useDeferredValue","useId","useSyncExternalStore","subscribe","getSnapshot","getServerSnapshot","disabledDepth","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","disabledLog","__reactDisabledLog","disableLogs","log","group","groupCollapsed","groupEnd","reenableLogs","ReactCurrentDispatcher$1","prefix","describeBuiltInComponentFrame","ownerFn","trim","reentry","componentFrameCache","PossiblyWeakMap","WeakMap","Map","describeNativeComponentFrame","fn","construct","frame","control","previousPrepareStackTrace","prepareStackTrace","previousDispatcher","Fake","Reflect","sample","sampleLines","split","controlLines","s","_frame","includes","syntheticFrame","describeFunctionComponentFrame","shouldConstruct","describeUnknownElementTypeFrameInDEV","loggedTypeFailures","ReactDebugCurrentFrame$1","setCurrentlyValidatingElement","checkPropTypes","typeSpecs","values","location","has","bind","typeSpecName","error$1","err","ex","message","setCurrentlyValidatingElement$1","propTypesMisspellWarningShown","getDeclarationErrorAddendum","getSourceInfoErrorAddendum","fileName","lineNumber","getSourceInfoErrorAddendumForProps","elementProps","ownerHasKeyUseWarning","getCurrentComponentErrorInfo","parentType","parentName","validateExplicitKey","validated","currentComponentErrorInfo","childOwner","validateChildKeys","node","validatePropTypes","PropTypes","_name","getDefaultProps","isReactClassApproved","validateFragmentProps","fragment","createElementWithValidation","validType","sourceInfo","typeString","didWarnAboutDeprecatedCreateFactory","createFactoryWithValidation","validatedFactory","cloneElementWithValidation","startTransition","scope","options","prevTransition","currentTransition","_updatedFibers","Set","updatedFibersCount","size","clear","didWarnAboutMessageChannel","enqueueTaskImpl","enqueueTask","task","requireString","Math","random","slice","nodeRequire","module","setImmediate","_err","MessageChannel","channel","port1","onmessage","port2","postMessage","actScopeDepth","didWarnNoAwaitAct","act","prevActScopeDepth","prevIsBatchingLegacy","queue","flushActQueue","popActScope","thenableResult","wasAwaited","resolve","reject","returnValue","recursivelyFlushAsyncActWork","Promise","_queue","_thenable","_thenable2","isFlushing","createElement$1","cloneElement$1","createFactory","Children","forEach","only","exports","Fragment","Profiler","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","unstable_act","version","registerInternalModuleStop"],"sources":["/Users/shannonharrison/QuadraTech-1/node_modules/react/cjs/react.development.js"],"sourcesContent":["/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.2.0';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame = {};\nvar currentExtraStackFrame = null;\nfunction setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n}\n\n{\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {\n if (!hasWarnedAboutDisplayNameOnConsumer) {\n warn('Setting `displayName` on Context.Consumer has no effect. ' + \"You should set it directly on the context with Context.displayName = '%s'.\", displayName);\n\n hasWarnedAboutDisplayNameOnConsumer = true;\n }\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n // TODO: add a more generic warning for invalid values.\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher$1.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$1.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('')) {\n _frame = _frame.replace('', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher$1.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n setExtraStackFrame(stack);\n } else {\n setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n\n return '';\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n {\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\nfunction createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\nfunction createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return validatedFactory;\n}\nfunction cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n\n validatePropTypes(newElement);\n return newElement;\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = {};\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n try {\n scope();\n } finally {\n ReactCurrentBatchConfig.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\nvar actScopeDepth = 0;\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // `act` calls can be nested, so we track the depth. This represents the\n // number of `act` scopes on the stack.\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n\n if (ReactCurrentActQueue.current === null) {\n // This is the outermost `act` scope. Initialize the queue. The reconciler\n // will detect the queue and use it instead of Scheduler.\n ReactCurrentActQueue.current = [];\n }\n\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var result;\n\n try {\n // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n ReactCurrentActQueue.isBatchingLegacy = true;\n result = callback(); // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n flushActQueue(queue);\n }\n }\n } catch (error) {\n popActScope(prevActScopeDepth);\n throw error;\n } finally {\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n }\n\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n var thenableResult = result; // The callback is an async function (i.e. returned a promise). Wait\n // for it to resolve before exiting the current scope.\n\n var wasAwaited = false;\n var thenable = {\n then: function (resolve, reject) {\n wasAwaited = true;\n thenableResult.then(function (returnValue) {\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // We've exited the outermost act scope. Recursively flush the\n // queue until there's no remaining work.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n // The callback threw an error.\n popActScope(prevActScopeDepth);\n reject(error);\n });\n }\n };\n\n {\n if (!didWarnNoAwaitAct && typeof Promise !== 'undefined') {\n // eslint-disable-next-line no-undef\n Promise.resolve().then(function () {}).then(function () {\n if (!wasAwaited) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n }\n }\n\n return thenable;\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current scope\n // immediately, without awaiting.\n\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // Exiting the outermost act scope. Flush the queue.\n var _queue = ReactCurrentActQueue.current;\n\n if (_queue !== null) {\n flushActQueue(_queue);\n ReactCurrentActQueue.current = null;\n } // Return a thenable. If the user awaits it, we'll flush again in\n // case additional work was scheduled by a microtask.\n\n\n var _thenable = {\n then: function (resolve, reject) {\n // Confirm we haven't re-entered another `act` scope, in case\n // the user does something weird like await the thenable\n // multiple times.\n if (ReactCurrentActQueue.current === null) {\n // Recursively flush the queue until there's no remaining work.\n ReactCurrentActQueue.current = [];\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }\n };\n return _thenable;\n } else {\n // Since we're inside a nested `act` scope, the returned thenable\n // immediately resolves. The outer scope will flush the queue.\n var _thenable2 = {\n then: function (resolve, reject) {\n resolve(returnValue);\n }\n };\n return _thenable2;\n }\n }\n }\n}\n\nfunction popActScope(prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n if (queue.length === 0) {\n // No additional work was scheduled. Finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n } else {\n // Keep flushing work until there's none left.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(true);\n } while (callback !== null);\n }\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue = queue.slice(i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n}\n\nvar createElement$1 = createElementWithValidation ;\nvar cloneElement$1 = cloneElementWithValidation ;\nvar createFactory = createFactoryWithValidation ;\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.cloneElement = cloneElement$1;\nexports.createContext = createContext;\nexports.createElement = createElement$1;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_act = act;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/11cb468c63aab2751a7a468b3aabdd8f08ad1d1d8145f17766164da12b5398e8.json b/mern/client/node_modules/.cache/babel-loader/11cb468c63aab2751a7a468b3aabdd8f08ad1d1d8145f17766164da12b5398e8.json
deleted file mode 100644
index 7ea0ee124..000000000
--- a/mern/client/node_modules/.cache/babel-loader/11cb468c63aab2751a7a468b3aabdd8f08ad1d1d8145f17766164da12b5398e8.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var _jsxFileName = \"/Users/shannonharrison/QuadraTech-1/mern/client/src/components/edit.js\",\n _s = $RefreshSig$();\nimport React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function Edit() {\n _s();\n const [form, setForm] = useState({\n date: Date(),\n name: \"\",\n birthday: Date(),\n allergies: \"\",\n level: \"\",\n records: []\n });\n const params = useParams();\n const navigate = useNavigate();\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`http://localhost:5000/occupants/${params.id.toString()}`);\n if (!response.ok) {\n const message = `An error has occurred: ${response.statusText}`;\n window.alert(message);\n return;\n }\n const occupant = await response.json();\n if (!occupant) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n setForm(occupant);\n }\n fetchData();\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm(prev => {\n return {\n ...prev,\n ...value\n };\n });\n }\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n date: form.date,\n position: form.position,\n level: form.level\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`http://localhost:5000/occupants/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"Update Record\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 73,\n columnNumber: 6\n }, this), /*#__PURE__*/_jsxDEV(\"form\", {\n onSubmit: onSubmit,\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"name\",\n children: \"Name: \"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 76,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"text\",\n className: \"form-control\",\n id: \"name\",\n value: form.name,\n onChange: e => updateForm({\n name: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 77,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"position\",\n children: \"Position: \"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 86,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"text\",\n className: \"form-control\",\n id: \"position\",\n value: form.position,\n onChange: e => updateForm({\n position: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 87,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 85,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"date\",\n children: \"Birthday: \"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 96,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"date\",\n className: \"form-control\",\n id: \"date\",\n value: form.date,\n onChange: e => updateForm({\n date: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 97,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 95,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-check form-check-inline\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"form-check-input\",\n type: \"radio\",\n name: \"positionOptions\",\n id: \"positionIntern\",\n value: \"Intern\",\n checked: form.level === \"Intern\",\n onChange: e => updateForm({\n level: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 108,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"positionIntern\",\n className: \"form-check-label\",\n children: \"Intern\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 117,\n columnNumber: 12\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 107,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-check form-check-inline\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"form-check-input\",\n type: \"radio\",\n name: \"positionOptions\",\n id: \"positionJunior\",\n value: \"Junior\",\n checked: form.level === \"Junior\",\n onChange: e => updateForm({\n level: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 120,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"positionJunior\",\n className: \"form-check-label\",\n children: \"Junior\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 129,\n columnNumber: 12\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 119,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-check form-check-inline\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"form-check-input\",\n type: \"radio\",\n name: \"positionOptions\",\n id: \"positionSenior\",\n value: \"Senior\",\n checked: form.level === \"Senior\",\n onChange: e => updateForm({\n level: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 132,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"positionSenior\",\n className: \"form-check-label\",\n children: \"Senior\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 141,\n columnNumber: 12\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 131,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 106,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 144,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"submit\",\n value: \"Update Record\",\n className: \"btn btn-primary\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 147,\n columnNumber: 10\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 146,\n columnNumber: 8\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 74,\n columnNumber: 6\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 72,\n columnNumber: 4\n }, this);\n}\n_s(Edit, \"NC7J2ITqCJVyeqK5KCdcKAvyE4A=\", false, function () {\n return [useParams, useNavigate];\n});\n_c = Edit;\nvar _c;\n$RefreshReg$(_c, \"Edit\");","map":{"version":3,"names":["React","useState","useEffect","useParams","useNavigate","Edit","form","setForm","date","Date","name","birthday","allergies","level","records","params","navigate","fetchData","id","toString","response","fetch","ok","message","statusText","window","alert","occupant","json","updateForm","value","prev","onSubmit","e","preventDefault","editedPerson","position","method","body","JSON","stringify","headers","target"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/src/components/edit.js"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\n \nexport default function Edit() {\n const [form, setForm] = useState({\n date: Date(),\n name: \"\",\n birthday: Date(),\n allergies: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n \n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`http://localhost:5000/occupants/${params.id.toString()}`);\n \n if (!response.ok) {\n const message = `An error has occurred: ${response.statusText}`;\n window.alert(message);\n return;\n }\n \n const occupant = await response.json();\n if (!occupant) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n \n setForm(occupant);\n }\n \n fetchData();\n \n return;\n }, [params.id, navigate]);\n \n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n \n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n date: form.date,\n position: form.position,\n level: form.level,\n };\n \n // This will send a post request to update the data in the database.\n await fetch(`http://localhost:5000/occupants/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n \n navigate(\"/\");\n }\n \n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n
Update Record
\n \n
\n );\n}"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/122f9cf569d674cb8372e3fbcd341ad8.json b/mern/client/node_modules/.cache/babel-loader/122f9cf569d674cb8372e3fbcd341ad8.json
deleted file mode 100644
index 8f12d931a..000000000
--- a/mern/client/node_modules/.cache/babel-loader/122f9cf569d674cb8372e3fbcd341ad8.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\nmodule.exports = store;","map":{"version":3,"names":["global","require","defineGlobalProperty","SHARED","store","module","exports"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech-2/mern/client/node_modules/core-js-pure/internals/shared-store.js"],"sourcesContent":["var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n"],"mappings":"AAAA,IAAIA,MAAM,GAAGC,OAAO,CAAC,qBAAqB,CAAC;AAC3C,IAAIC,oBAAoB,GAAGD,OAAO,CAAC,qCAAqC,CAAC;AAEzE,IAAIE,MAAM,GAAG,oBAAoB;AACjC,IAAIC,KAAK,GAAGJ,MAAM,CAACG,MAAM,CAAC,IAAID,oBAAoB,CAACC,MAAM,EAAE,CAAC,CAAC,CAAC;AAE9DE,MAAM,CAACC,OAAO,GAAGF,KAAK"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/125c96436191ecb8eeb362b2d696b14a.json b/mern/client/node_modules/.cache/babel-loader/125c96436191ecb8eeb362b2d696b14a.json
deleted file mode 100644
index 5098c0009..000000000
--- a/mern/client/node_modules/.cache/babel-loader/125c96436191ecb8eeb362b2d696b14a.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var getBuiltIn = require('../internals/get-built-in');\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';","map":{"version":3,"names":["getBuiltIn","require","module","exports"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech-2/mern/client/node_modules/core-js-pure/internals/engine-user-agent.js"],"sourcesContent":["var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n"],"mappings":"AAAA,IAAIA,UAAU,GAAGC,OAAO,CAAC,2BAA2B,CAAC;AAErDC,MAAM,CAACC,OAAO,GAAGH,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/12824ccf0ebe32213a9b65b03dda6188595fc61c28b71f249c98076aa69caebb.json b/mern/client/node_modules/.cache/babel-loader/12824ccf0ebe32213a9b65b03dda6188595fc61c28b71f249c98076aa69caebb.json
deleted file mode 100644
index aa2cbeafa..000000000
--- a/mern/client/node_modules/.cache/babel-loader/12824ccf0ebe32213a9b65b03dda6188595fc61c28b71f249c98076aa69caebb.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};","map":{"version":3,"names":["uncurryThis","require","toObject","hasOwnProperty","module","exports","Object","hasOwn","it","key"],"sources":["H:/QuadraTech/QuadraTech/mern/client/node_modules/core-js-pure/internals/has-own-property.js"],"sourcesContent":["var uncurryThis = require('../internals/function-uncurry-this');\r\nvar toObject = require('../internals/to-object');\r\n\r\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\r\n\r\n// `HasOwnProperty` abstract operation\r\n// https://tc39.es/ecma262/#sec-hasownproperty\r\n// eslint-disable-next-line es/no-object-hasown -- safe\r\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\r\n return hasOwnProperty(toObject(it), key);\r\n};\r\n"],"mappings":"AAAA,IAAIA,WAAW,GAAGC,OAAO,CAAC,oCAAoC,CAAC;AAC/D,IAAIC,QAAQ,GAAGD,OAAO,CAAC,wBAAwB,CAAC;AAEhD,IAAIE,cAAc,GAAGH,WAAW,CAAC,CAAC,CAAC,CAACG,cAAc,CAAC;;AAEnD;AACA;AACA;AACAC,MAAM,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,IAAI,SAASA,MAAM,CAACC,EAAE,EAAEC,GAAG,EAAE;EACzD,OAAON,cAAc,CAACD,QAAQ,CAACM,EAAE,CAAC,EAAEC,GAAG,CAAC;AAC1C,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/12d199f5725264c226f10d0947b5c05ad04c9366d64977f1955c0cb7d6e6e1ea.json b/mern/client/node_modules/.cache/babel-loader/12d199f5725264c226f10d0947b5c05ad04c9366d64977f1955c0cb7d6e6e1ea.json
deleted file mode 100644
index f77c6620e..000000000
--- a/mern/client/node_modules/.cache/babel-loader/12d199f5725264c226f10d0947b5c05ad04c9366d64977f1955c0cb7d6e6e1ea.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"module.exports = {\n \"version\": \"0.24.0\"\n};","map":{"version":3,"names":["module","exports"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/axios/lib/env/data.js"],"sourcesContent":["module.exports = {\n \"version\": \"0.24.0\"\n};"],"mappings":"AAAAA,MAAM,CAACC,OAAO,GAAG;EACf,SAAS,EAAE;AACb,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/1300ce090ddf567aeed576c9b534ef90.json b/mern/client/node_modules/.cache/babel-loader/1300ce090ddf567aeed576c9b534ef90.json
deleted file mode 100644
index b55a951b1..000000000
--- a/mern/client/node_modules/.cache/babel-loader/1300ce090ddf567aeed576c9b534ef90.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};","map":{"version":3,"names":["module","exports","exec","error"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech/node_modules/core-js-pure/internals/fails.js"],"sourcesContent":["module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n"],"mappings":"AAAAA,MAAM,CAACC,OAAO,GAAG,UAAUC,IAAI,EAAE;EAC/B,IAAI;IACF,OAAO,CAAC,CAACA,IAAI,EAAE;EACjB,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO,IAAI;EACb;AACF,CAAC"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/136727b1e3c5032f1613de88c5d0da37.json b/mern/client/node_modules/.cache/babel-loader/136727b1e3c5032f1613de88c5d0da37.json
deleted file mode 100644
index 2f9635ba2..000000000
--- a/mern/client/node_modules/.cache/babel-loader/136727b1e3c5032f1613de88c5d0da37.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"/* global __webpack_dev_server_client__ */\nimport WebSocketClient from \"./clients/WebSocketClient.js\";\nimport { log } from \"./utils/log.js\"; // this WebsocketClient is here as a default fallback, in case the client is not injected\n\n/* eslint-disable camelcase */\n\nvar Client =\n// eslint-disable-next-line no-nested-ternary\ntypeof __webpack_dev_server_client__ !== \"undefined\" ? typeof __webpack_dev_server_client__.default !== \"undefined\" ? __webpack_dev_server_client__.default : __webpack_dev_server_client__ : WebSocketClient;\n/* eslint-enable camelcase */\n\nvar retries = 0;\nvar maxRetries = 10; // Initialized client is exported so external consumers can utilize the same instance\n// It is mutable to enforce singleton\n// eslint-disable-next-line import/no-mutable-exports\n\nexport var client = null;\n/**\n * @param {string} url\n * @param {{ [handler: string]: (data?: any, params?: any) => any }} handlers\n * @param {number} [reconnect]\n */\n\nvar socket = function initSocket(url, handlers, reconnect) {\n client = new Client(url);\n client.onOpen(function () {\n retries = 0;\n if (typeof reconnect !== \"undefined\") {\n maxRetries = reconnect;\n }\n });\n client.onClose(function () {\n if (retries === 0) {\n handlers.close();\n } // Try to reconnect.\n\n client = null; // After 10 retries stop trying, to prevent logspam.\n\n if (retries < maxRetries) {\n // Exponentially increase timeout to reconnect.\n // Respectfully copied from the package `got`.\n // eslint-disable-next-line no-restricted-properties\n var retryInMs = 1000 * Math.pow(2, retries) + Math.random() * 100;\n retries += 1;\n log.info(\"Trying to reconnect...\");\n setTimeout(function () {\n socket(url, handlers, reconnect);\n }, retryInMs);\n }\n });\n client.onMessage(\n /**\n * @param {any} data\n */\n function (data) {\n var message = JSON.parse(data);\n if (handlers[message.type]) {\n handlers[message.type](message.data, message.params);\n }\n });\n};\nexport default socket;","map":{"version":3,"names":["WebSocketClient","log","Client","__webpack_dev_server_client__","default","retries","maxRetries","client","socket","initSocket","url","handlers","reconnect","onOpen","onClose","close","retryInMs","Math","pow","random","info","setTimeout","onMessage","data","message","JSON","parse","type","params"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/webpack-dev-server/client/socket.js"],"sourcesContent":["/* global __webpack_dev_server_client__ */\nimport WebSocketClient from \"./clients/WebSocketClient.js\";\nimport { log } from \"./utils/log.js\"; // this WebsocketClient is here as a default fallback, in case the client is not injected\n\n/* eslint-disable camelcase */\n\nvar Client = // eslint-disable-next-line no-nested-ternary\ntypeof __webpack_dev_server_client__ !== \"undefined\" ? typeof __webpack_dev_server_client__.default !== \"undefined\" ? __webpack_dev_server_client__.default : __webpack_dev_server_client__ : WebSocketClient;\n/* eslint-enable camelcase */\n\nvar retries = 0;\nvar maxRetries = 10; // Initialized client is exported so external consumers can utilize the same instance\n// It is mutable to enforce singleton\n// eslint-disable-next-line import/no-mutable-exports\n\nexport var client = null;\n/**\n * @param {string} url\n * @param {{ [handler: string]: (data?: any, params?: any) => any }} handlers\n * @param {number} [reconnect]\n */\n\nvar socket = function initSocket(url, handlers, reconnect) {\n client = new Client(url);\n client.onOpen(function () {\n retries = 0;\n\n if (typeof reconnect !== \"undefined\") {\n maxRetries = reconnect;\n }\n });\n client.onClose(function () {\n if (retries === 0) {\n handlers.close();\n } // Try to reconnect.\n\n\n client = null; // After 10 retries stop trying, to prevent logspam.\n\n if (retries < maxRetries) {\n // Exponentially increase timeout to reconnect.\n // Respectfully copied from the package `got`.\n // eslint-disable-next-line no-restricted-properties\n var retryInMs = 1000 * Math.pow(2, retries) + Math.random() * 100;\n retries += 1;\n log.info(\"Trying to reconnect...\");\n setTimeout(function () {\n socket(url, handlers, reconnect);\n }, retryInMs);\n }\n });\n client.onMessage(\n /**\n * @param {any} data\n */\n function (data) {\n var message = JSON.parse(data);\n\n if (handlers[message.type]) {\n handlers[message.type](message.data, message.params);\n }\n });\n};\n\nexport default socket;"],"mappings":"AAAA;AACA,OAAOA,eAAe,MAAM,8BAA8B;AAC1D,SAASC,GAAG,QAAQ,gBAAgB,CAAC,CAAC;;AAEtC;;AAEA,IAAIC,MAAM;AAAG;AACb,OAAOC,6BAA6B,KAAK,WAAW,GAAG,OAAOA,6BAA6B,CAACC,OAAO,KAAK,WAAW,GAAGD,6BAA6B,CAACC,OAAO,GAAGD,6BAA6B,GAAGH,eAAe;AAC7M;;AAEA,IAAIK,OAAO,GAAG,CAAC;AACf,IAAIC,UAAU,GAAG,EAAE,CAAC,CAAC;AACrB;AACA;;AAEA,OAAO,IAAIC,MAAM,GAAG,IAAI;AACxB;AACA;AACA;AACA;AACA;;AAEA,IAAIC,MAAM,GAAG,SAASC,UAAU,CAACC,GAAG,EAAEC,QAAQ,EAAEC,SAAS,EAAE;EACzDL,MAAM,GAAG,IAAIL,MAAM,CAACQ,GAAG,CAAC;EACxBH,MAAM,CAACM,MAAM,CAAC,YAAY;IACxBR,OAAO,GAAG,CAAC;IAEX,IAAI,OAAOO,SAAS,KAAK,WAAW,EAAE;MACpCN,UAAU,GAAGM,SAAS;IACxB;EACF,CAAC,CAAC;EACFL,MAAM,CAACO,OAAO,CAAC,YAAY;IACzB,IAAIT,OAAO,KAAK,CAAC,EAAE;MACjBM,QAAQ,CAACI,KAAK,EAAE;IAClB,CAAC,CAAC;;IAGFR,MAAM,GAAG,IAAI,CAAC,CAAC;;IAEf,IAAIF,OAAO,GAAGC,UAAU,EAAE;MACxB;MACA;MACA;MACA,IAAIU,SAAS,GAAG,IAAI,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEb,OAAO,CAAC,GAAGY,IAAI,CAACE,MAAM,EAAE,GAAG,GAAG;MACjEd,OAAO,IAAI,CAAC;MACZJ,GAAG,CAACmB,IAAI,CAAC,wBAAwB,CAAC;MAClCC,UAAU,CAAC,YAAY;QACrBb,MAAM,CAACE,GAAG,EAAEC,QAAQ,EAAEC,SAAS,CAAC;MAClC,CAAC,EAAEI,SAAS,CAAC;IACf;EACF,CAAC,CAAC;EACFT,MAAM,CAACe,SAAS;EAChB;AACF;AACA;EACE,UAAUC,IAAI,EAAE;IACd,IAAIC,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IAE9B,IAAIZ,QAAQ,CAACa,OAAO,CAACG,IAAI,CAAC,EAAE;MAC1BhB,QAAQ,CAACa,OAAO,CAACG,IAAI,CAAC,CAACH,OAAO,CAACD,IAAI,EAAEC,OAAO,CAACI,MAAM,CAAC;IACtD;EACF,CAAC,CAAC;AACJ,CAAC;AAED,eAAepB,MAAM"},"metadata":{},"sourceType":"module"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/14319d6305a89fa9cb65a1273ccccedb.json b/mern/client/node_modules/.cache/babel-loader/14319d6305a89fa9cb65a1273ccccedb.json
deleted file mode 100644
index 8bc2e9735..000000000
--- a/mern/client/node_modules/.cache/babel-loader/14319d6305a89fa9cb65a1273ccccedb.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"import logger from \"../modules/logger/index.js\";\nvar name = \"webpack-dev-server\"; // default level is set on the client side, so it does not need\n// to be set by the CLI or API\n\nvar defaultLevel = \"info\"; // options new options, merge with old options\n\n/**\n * @param {false | true | \"none\" | \"error\" | \"warn\" | \"info\" | \"log\" | \"verbose\"} level\n * @returns {void}\n */\n\nfunction setLogLevel(level) {\n logger.configureDefaultLogger({\n level: level\n });\n}\nsetLogLevel(defaultLevel);\nvar log = logger.getLogger(name);\nvar logEnabledFeatures = function logEnabledFeatures(features) {\n var enabledFeatures = Object.keys(features);\n if (!features || enabledFeatures.length === 0) {\n return;\n }\n var logString = \"Server started:\"; // Server started: Hot Module Replacement enabled, Live Reloading enabled, Overlay disabled.\n\n for (var i = 0; i < enabledFeatures.length; i++) {\n var key = enabledFeatures[i];\n logString += \" \".concat(key, \" \").concat(features[key] ? \"enabled\" : \"disabled\", \",\");\n } // replace last comma with a period\n\n logString = logString.slice(0, -1).concat(\".\");\n log.info(logString);\n};\nexport { log, logEnabledFeatures, setLogLevel };","map":{"version":3,"names":["logger","name","defaultLevel","setLogLevel","level","configureDefaultLogger","log","getLogger","logEnabledFeatures","features","enabledFeatures","Object","keys","length","logString","i","key","concat","slice","info"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech/node_modules/webpack-dev-server/client/utils/log.js"],"sourcesContent":["import logger from \"../modules/logger/index.js\";\nvar name = \"webpack-dev-server\"; // default level is set on the client side, so it does not need\n// to be set by the CLI or API\n\nvar defaultLevel = \"info\"; // options new options, merge with old options\n\n/**\n * @param {false | true | \"none\" | \"error\" | \"warn\" | \"info\" | \"log\" | \"verbose\"} level\n * @returns {void}\n */\n\nfunction setLogLevel(level) {\n logger.configureDefaultLogger({\n level: level\n });\n}\n\nsetLogLevel(defaultLevel);\nvar log = logger.getLogger(name);\n\nvar logEnabledFeatures = function logEnabledFeatures(features) {\n var enabledFeatures = Object.keys(features);\n\n if (!features || enabledFeatures.length === 0) {\n return;\n }\n\n var logString = \"Server started:\"; // Server started: Hot Module Replacement enabled, Live Reloading enabled, Overlay disabled.\n\n for (var i = 0; i < enabledFeatures.length; i++) {\n var key = enabledFeatures[i];\n logString += \" \".concat(key, \" \").concat(features[key] ? \"enabled\" : \"disabled\", \",\");\n } // replace last comma with a period\n\n\n logString = logString.slice(0, -1).concat(\".\");\n log.info(logString);\n};\n\nexport { log, logEnabledFeatures, setLogLevel };"],"mappings":"AAAA,OAAOA,MAAM,MAAM,4BAA4B;AAC/C,IAAIC,IAAI,GAAG,oBAAoB,CAAC,CAAC;AACjC;;AAEA,IAAIC,YAAY,GAAG,MAAM,CAAC,CAAC;;AAE3B;AACA;AACA;AACA;;AAEA,SAASC,WAAW,CAACC,KAAK,EAAE;EAC1BJ,MAAM,CAACK,sBAAsB,CAAC;IAC5BD,KAAK,EAAEA;EACT,CAAC,CAAC;AACJ;AAEAD,WAAW,CAACD,YAAY,CAAC;AACzB,IAAII,GAAG,GAAGN,MAAM,CAACO,SAAS,CAACN,IAAI,CAAC;AAEhC,IAAIO,kBAAkB,GAAG,SAASA,kBAAkB,CAACC,QAAQ,EAAE;EAC7D,IAAIC,eAAe,GAAGC,MAAM,CAACC,IAAI,CAACH,QAAQ,CAAC;EAE3C,IAAI,CAACA,QAAQ,IAAIC,eAAe,CAACG,MAAM,KAAK,CAAC,EAAE;IAC7C;EACF;EAEA,IAAIC,SAAS,GAAG,iBAAiB,CAAC,CAAC;;EAEnC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,eAAe,CAACG,MAAM,EAAEE,CAAC,EAAE,EAAE;IAC/C,IAAIC,GAAG,GAAGN,eAAe,CAACK,CAAC,CAAC;IAC5BD,SAAS,IAAI,GAAG,CAACG,MAAM,CAACD,GAAG,EAAE,GAAG,CAAC,CAACC,MAAM,CAACR,QAAQ,CAACO,GAAG,CAAC,GAAG,SAAS,GAAG,UAAU,EAAE,GAAG,CAAC;EACvF,CAAC,CAAC;;EAGFF,SAAS,GAAGA,SAAS,CAACI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACD,MAAM,CAAC,GAAG,CAAC;EAC9CX,GAAG,CAACa,IAAI,CAACL,SAAS,CAAC;AACrB,CAAC;AAED,SAASR,GAAG,EAAEE,kBAAkB,EAAEL,WAAW"},"metadata":{},"sourceType":"module"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/146509aa4ca3070cd943ad1c11a07acc89b282175348118e26cdc63f4a71d3a4.json b/mern/client/node_modules/.cache/babel-loader/146509aa4ca3070cd943ad1c11a07acc89b282175348118e26cdc63f4a71d3a4.json
deleted file mode 100644
index d9f0ba491..000000000
--- a/mern/client/node_modules/.cache/babel-loader/146509aa4ca3070cd943ad1c11a07acc89b282175348118e26cdc63f4a71d3a4.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"// TODO: remove from `core-js@4`\nrequire('../modules/esnext.global-this');\nvar parent = require('../actual/global-this');\nmodule.exports = parent;","map":{"version":3,"names":["require","parent","module","exports"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/core-js-pure/full/global-this.js"],"sourcesContent":["// TODO: remove from `core-js@4`\nrequire('../modules/esnext.global-this');\n\nvar parent = require('../actual/global-this');\n\nmodule.exports = parent;\n"],"mappings":"AAAA;AACAA,OAAO,CAAC,+BAA+B,CAAC;AAExC,IAAIC,MAAM,GAAGD,OAAO,CAAC,uBAAuB,CAAC;AAE7CE,MAAM,CAACC,OAAO,GAAGF,MAAM"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/146cf8e8456142c1a5ae38a099072be8.json b/mern/client/node_modules/.cache/babel-loader/146cf8e8456142c1a5ae38a099072be8.json
deleted file mode 100644
index 1c685e4ed..000000000
--- a/mern/client/node_modules/.cache/babel-loader/146cf8e8456142c1a5ae38a099072be8.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};","map":{"version":3,"names":["aCallable","require","isNullOrUndefined","module","exports","V","P","func","undefined"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/core-js-pure/internals/get-method.js"],"sourcesContent":["var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n"],"mappings":"AAAA,IAAIA,SAAS,GAAGC,OAAO,CAAC,yBAAyB,CAAC;AAClD,IAAIC,iBAAiB,GAAGD,OAAO,CAAC,mCAAmC,CAAC;;AAEpE;AACA;AACAE,MAAM,CAACC,OAAO,GAAG,UAAUC,CAAC,EAAEC,CAAC,EAAE;EAC/B,IAAIC,IAAI,GAAGF,CAAC,CAACC,CAAC,CAAC;EACf,OAAOJ,iBAAiB,CAACK,IAAI,CAAC,GAAGC,SAAS,GAAGR,SAAS,CAACO,IAAI,CAAC;AAC9D,CAAC"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/14e0250dc0fc1169b1be5a3b6879549b24fa2d14a582d563c875e8a3a0e48b47.json b/mern/client/node_modules/.cache/babel-loader/14e0250dc0fc1169b1be5a3b6879549b24fa2d14a582d563c875e8a3a0e48b47.json
deleted file mode 100644
index dfdb62516..000000000
--- a/mern/client/node_modules/.cache/babel-loader/14e0250dc0fc1169b1be5a3b6879549b24fa2d14a582d563c875e8a3a0e48b47.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function') {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}","map":{"version":3,"names":["checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","process","env","NODE_ENV","Error","err","console","error","module","exports","require"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/react-dom/index.js"],"sourcesContent":["'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,QAAQ,GAAG;EAClB;EACA,IACE,OAAOC,8BAA8B,KAAK,WAAW,IACrD,OAAOA,8BAA8B,CAACD,QAAQ,KAAK,UAAU,EAC7D;IACA;EACF;EACA,IAAIE,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAM,IAAIC,KAAK,CAAC,KAAK,CAAC;EACxB;EACA,IAAI;IACF;IACAJ,8BAA8B,CAACD,QAAQ,CAACA,QAAQ,CAAC;EACnD,CAAC,CAAC,OAAOM,GAAG,EAAE;IACZ;IACA;IACAC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;EACpB;AACF;AAEA,IAAIJ,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzC;EACA;EACAJ,QAAQ,EAAE;EACVS,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,mCAAmC,CAAC;AAC/D,CAAC,MAAM;EACLF,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,gCAAgC,CAAC;AAC5D"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/14e51386c1ab56e237c324a6c149c2e6.json b/mern/client/node_modules/.cache/babel-loader/14e51386c1ab56e237c324a6c149c2e6.json
deleted file mode 100644
index 7477a3262..000000000
--- a/mern/client/node_modules/.cache/babel-loader/14e51386c1ab56e237c324a6c149c2e6.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var _jsxFileName = \"/Users/shannonharrison/QuadraTech-1/mern/client/src/index.js\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nReactDOM.render( /*#__PURE__*/_jsxDEV(React.StrictMode, {\n children: /*#__PURE__*/_jsxDEV(BrowserRouter, {\n children: /*#__PURE__*/_jsxDEV(App, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 5\n }, this)\n}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 3\n}, this), document.getElementById(\"root\"));","map":{"version":3,"names":["React","ReactDOM","App","BrowserRouter","render","document","getElementById"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/src/index.js"],"sourcesContent":["import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,QAAQ,MAAM,WAAW;AAChC,OAAOC,GAAG,MAAM,OAAO;AACvB,SAASC,aAAa,QAAQ,kBAAkB;AAAC;AAGjDF,QAAQ,CAACG,MAAM,eACb,QAAC,KAAK,CAAC,UAAU;EAAA,uBACf,QAAC,aAAa;IAAA,uBACZ,QAAC,GAAG;MAAA;MAAA;MAAA;IAAA;EAAG;IAAA;IAAA;IAAA;EAAA;AACO;EAAA;EAAA;EAAA;AAAA,QACC,EACnBC,QAAQ,CAACC,cAAc,CAAC,MAAM,CAAC,CAChC"},"metadata":{},"sourceType":"module"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/14e8b4a6118085fedb65f2f1898ba7f216fe584752c2d0e7dc38b4e8cdd53761.json b/mern/client/node_modules/.cache/babel-loader/14e8b4a6118085fedb65f2f1898ba7f216fe584752c2d0e7dc38b4e8cdd53761.json
deleted file mode 100644
index c1f21a8fe..000000000
--- a/mern/client/node_modules/.cache/babel-loader/14e8b4a6118085fedb65f2f1898ba7f216fe584752c2d0e7dc38b4e8cdd53761.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};","map":{"version":3,"names":["module","exports","enhanceError","error","config","code","request","response","isAxiosError","toJSON","message","name","description","number","fileName","lineNumber","columnNumber","stack","status"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/axios/lib/core/enhanceError.js"],"sourcesContent":["'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n"],"mappings":"AAAA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAA,MAAM,CAACC,OAAO,GAAG,SAASC,YAAY,CAACC,KAAK,EAAEC,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ,EAAE;EAC7EJ,KAAK,CAACC,MAAM,GAAGA,MAAM;EACrB,IAAIC,IAAI,EAAE;IACRF,KAAK,CAACE,IAAI,GAAGA,IAAI;EACnB;EAEAF,KAAK,CAACG,OAAO,GAAGA,OAAO;EACvBH,KAAK,CAACI,QAAQ,GAAGA,QAAQ;EACzBJ,KAAK,CAACK,YAAY,GAAG,IAAI;EAEzBL,KAAK,CAACM,MAAM,GAAG,SAASA,MAAM,GAAG;IAC/B,OAAO;MACL;MACAC,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBC,IAAI,EAAE,IAAI,CAACA,IAAI;MACf;MACAC,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,MAAM,EAAE,IAAI,CAACA,MAAM;MACnB;MACAC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,YAAY,EAAE,IAAI,CAACA,YAAY;MAC/BC,KAAK,EAAE,IAAI,CAACA,KAAK;MACjB;MACAb,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBC,IAAI,EAAE,IAAI,CAACA,IAAI;MACfa,MAAM,EAAE,IAAI,CAACX,QAAQ,IAAI,IAAI,CAACA,QAAQ,CAACW,MAAM,GAAG,IAAI,CAACX,QAAQ,CAACW,MAAM,GAAG;IACzE,CAAC;EACH,CAAC;EACD,OAAOf,KAAK;AACd,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/150f5640fc2820f28bff63c00f447055c14a72690f22868db6707c3e4c7be7c5.json b/mern/client/node_modules/.cache/babel-loader/150f5640fc2820f28bff63c00f447055c14a72690f22868db6707c3e4c7be7c5.json
deleted file mode 100644
index e83125f6d..000000000
--- a/mern/client/node_modules/.cache/babel-loader/150f5640fc2820f28bff63c00f447055c14a72690f22868db6707c3e4c7be7c5.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};","map":{"version":3,"names":["isNullOrUndefined","require","$TypeError","TypeError","module","exports","it"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/core-js-pure/internals/require-object-coercible.js"],"sourcesContent":["var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n"],"mappings":"AAAA,IAAIA,iBAAiB,GAAGC,OAAO,CAAC,mCAAmC,CAAC;AAEpE,IAAIC,UAAU,GAAGC,SAAS;;AAE1B;AACA;AACAC,MAAM,CAACC,OAAO,GAAG,UAAUC,EAAE,EAAE;EAC7B,IAAIN,iBAAiB,CAACM,EAAE,CAAC,EAAE,MAAMJ,UAAU,CAAC,uBAAuB,GAAGI,EAAE,CAAC;EACzE,OAAOA,EAAE;AACX,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/153b62dc570ac89b6d2a986a0977942c.json b/mern/client/node_modules/.cache/babel-loader/153b62dc570ac89b6d2a986a0977942c.json
deleted file mode 100644
index 1adb140fd..000000000
--- a/mern/client/node_modules/.cache/babel-loader/153b62dc570ac89b6d2a986a0977942c.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"/** @license React vundefined\n * react-refresh-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function () {\n 'use strict';\n\n // ATTENTION\n // When adding new symbols to this file,\n // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n // The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n // nor polyfill, then a plain number is used for performance.\n var REACT_ELEMENT_TYPE = 0xeac7;\n var REACT_PORTAL_TYPE = 0xeaca;\n var REACT_FRAGMENT_TYPE = 0xeacb;\n var REACT_STRICT_MODE_TYPE = 0xeacc;\n var REACT_PROFILER_TYPE = 0xead2;\n var REACT_PROVIDER_TYPE = 0xeacd;\n var REACT_CONTEXT_TYPE = 0xeace;\n var REACT_FORWARD_REF_TYPE = 0xead0;\n var REACT_SUSPENSE_TYPE = 0xead1;\n var REACT_SUSPENSE_LIST_TYPE = 0xead8;\n var REACT_MEMO_TYPE = 0xead3;\n var REACT_LAZY_TYPE = 0xead4;\n var REACT_SCOPE_TYPE = 0xead7;\n var REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1;\n var REACT_OFFSCREEN_TYPE = 0xeae2;\n var REACT_LEGACY_HIDDEN_TYPE = 0xeae3;\n var REACT_CACHE_TYPE = 0xeae4;\n if (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n REACT_ELEMENT_TYPE = symbolFor('react.element');\n REACT_PORTAL_TYPE = symbolFor('react.portal');\n REACT_FRAGMENT_TYPE = symbolFor('react.fragment');\n REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode');\n REACT_PROFILER_TYPE = symbolFor('react.profiler');\n REACT_PROVIDER_TYPE = symbolFor('react.provider');\n REACT_CONTEXT_TYPE = symbolFor('react.context');\n REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref');\n REACT_SUSPENSE_TYPE = symbolFor('react.suspense');\n REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list');\n REACT_MEMO_TYPE = symbolFor('react.memo');\n REACT_LAZY_TYPE = symbolFor('react.lazy');\n REACT_SCOPE_TYPE = symbolFor('react.scope');\n REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode');\n REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen');\n REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden');\n REACT_CACHE_TYPE = symbolFor('react.cache');\n }\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; // We never remove these associations.\n // It's OK to reference families, but use WeakMap/Set for types.\n\n var allFamiliesByID = new Map();\n var allFamiliesByType = new PossiblyWeakMap();\n var allSignaturesByType = new PossiblyWeakMap(); // This WeakMap is read by React, so we only put families\n // that have actually been edited here. This keeps checks fast.\n // $FlowIssue\n\n var updatedFamiliesByType = new PossiblyWeakMap(); // This is cleared on every performReactRefresh() call.\n // It is an array of [Family, NextType] tuples.\n\n var pendingUpdates = []; // This is injected by the renderer via DevTools global hook.\n\n var helpersByRendererID = new Map();\n var helpersByRoot = new Map(); // We keep track of mounted roots so we can schedule updates.\n\n var mountedRoots = new Set(); // If a root captures an error, we remember it so we can retry on edit.\n\n var failedRoots = new Set(); // In environments that support WeakMap, we also remember the last element for every root.\n // It needs to be weak because we do this even for roots that failed to mount.\n // If there is no WeakMap, we won't attempt to do retrying.\n // $FlowIssue\n\n var rootElements =\n // $FlowIssue\n typeof WeakMap === 'function' ? new WeakMap() : null;\n var isPerformingRefresh = false;\n function computeFullKey(signature) {\n if (signature.fullKey !== null) {\n return signature.fullKey;\n }\n var fullKey = signature.ownKey;\n var hooks;\n try {\n hooks = signature.getCustomHooks();\n } catch (err) {\n // This can happen in an edge case, e.g. if expression like Foo.useSomething\n // depends on Foo which is lazily initialized during rendering.\n // In that case just assume we'll have to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n for (var i = 0; i < hooks.length; i++) {\n var hook = hooks[i];\n if (typeof hook !== 'function') {\n // Something's wrong. Assume we need to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n var nestedHookSignature = allSignaturesByType.get(hook);\n if (nestedHookSignature === undefined) {\n // No signature means Hook wasn't in the source code, e.g. in a library.\n // We'll skip it because we can assume it won't change during this session.\n continue;\n }\n var nestedHookKey = computeFullKey(nestedHookSignature);\n if (nestedHookSignature.forceReset) {\n signature.forceReset = true;\n }\n fullKey += '\\n---\\n' + nestedHookKey;\n }\n signature.fullKey = fullKey;\n return fullKey;\n }\n function haveEqualSignatures(prevType, nextType) {\n var prevSignature = allSignaturesByType.get(prevType);\n var nextSignature = allSignaturesByType.get(nextType);\n if (prevSignature === undefined && nextSignature === undefined) {\n return true;\n }\n if (prevSignature === undefined || nextSignature === undefined) {\n return false;\n }\n if (computeFullKey(prevSignature) !== computeFullKey(nextSignature)) {\n return false;\n }\n if (nextSignature.forceReset) {\n return false;\n }\n return true;\n }\n function isReactClass(type) {\n return type.prototype && type.prototype.isReactComponent;\n }\n function canPreserveStateBetween(prevType, nextType) {\n if (isReactClass(prevType) || isReactClass(nextType)) {\n return false;\n }\n if (haveEqualSignatures(prevType, nextType)) {\n return true;\n }\n return false;\n }\n function resolveFamily(type) {\n // Only check updated types to keep lookups fast.\n return updatedFamiliesByType.get(type);\n } // If we didn't care about IE11, we could use new Map/Set(iterable).\n\n function cloneMap(map) {\n var clone = new Map();\n map.forEach(function (value, key) {\n clone.set(key, value);\n });\n return clone;\n }\n function cloneSet(set) {\n var clone = new Set();\n set.forEach(function (value) {\n clone.add(value);\n });\n return clone;\n } // This is a safety mechanism to protect against rogue getters and Proxies.\n\n function getProperty(object, property) {\n try {\n return object[property];\n } catch (err) {\n // Intentionally ignore.\n return undefined;\n }\n }\n function performReactRefresh() {\n if (pendingUpdates.length === 0) {\n return null;\n }\n if (isPerformingRefresh) {\n return null;\n }\n isPerformingRefresh = true;\n try {\n var staleFamilies = new Set();\n var updatedFamilies = new Set();\n var updates = pendingUpdates;\n pendingUpdates = [];\n updates.forEach(function (_ref) {\n var family = _ref[0],\n nextType = _ref[1];\n // Now that we got a real edit, we can create associations\n // that will be read by the React reconciler.\n var prevType = family.current;\n updatedFamiliesByType.set(prevType, family);\n updatedFamiliesByType.set(nextType, family);\n family.current = nextType; // Determine whether this should be a re-render or a re-mount.\n\n if (canPreserveStateBetween(prevType, nextType)) {\n updatedFamilies.add(family);\n } else {\n staleFamilies.add(family);\n }\n }); // TODO: rename these fields to something more meaningful.\n\n var update = {\n updatedFamilies: updatedFamilies,\n // Families that will re-render preserving state\n staleFamilies: staleFamilies // Families that will be remounted\n };\n\n helpersByRendererID.forEach(function (helpers) {\n // Even if there are no roots, set the handler on first update.\n // This ensures that if *new* roots are mounted, they'll use the resolve handler.\n helpers.setRefreshHandler(resolveFamily);\n });\n var didError = false;\n var firstError = null; // We snapshot maps and sets that are mutated during commits.\n // If we don't do this, there is a risk they will be mutated while\n // we iterate over them. For example, trying to recover a failed root\n // may cause another root to be added to the failed list -- an infinite loop.\n\n var failedRootsSnapshot = cloneSet(failedRoots);\n var mountedRootsSnapshot = cloneSet(mountedRoots);\n var helpersByRootSnapshot = cloneMap(helpersByRoot);\n failedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n if (!failedRoots.has(root)) {// No longer failed.\n }\n if (rootElements === null) {\n return;\n }\n if (!rootElements.has(root)) {\n return;\n }\n var element = rootElements.get(root);\n try {\n helpers.scheduleRoot(root, element);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n }\n });\n\n mountedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n if (!mountedRoots.has(root)) {// No longer mounted.\n }\n try {\n helpers.scheduleRefresh(root, update);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n }\n });\n\n if (didError) {\n throw firstError;\n }\n return update;\n } finally {\n isPerformingRefresh = false;\n }\n }\n function register(type, id) {\n {\n if (type === null) {\n return;\n }\n if (typeof type !== 'function' && typeof type !== 'object') {\n return;\n } // This can happen in an edge case, e.g. if we register\n // return value of a HOC but it returns a cached component.\n // Ignore anything but the first registration for each type.\n\n if (allFamiliesByType.has(type)) {\n return;\n } // Create family or remember to update it.\n // None of this bookkeeping affects reconciliation\n // until the first performReactRefresh() call above.\n\n var family = allFamiliesByID.get(id);\n if (family === undefined) {\n family = {\n current: type\n };\n allFamiliesByID.set(id, family);\n } else {\n pendingUpdates.push([family, type]);\n }\n allFamiliesByType.set(type, family); // Visit inner types because we might not have registered them.\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n register(type.render, id + '$render');\n break;\n case REACT_MEMO_TYPE:\n register(type.type, id + '$type');\n break;\n }\n }\n }\n }\n function setSignature(type, key) {\n var forceReset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var getCustomHooks = arguments.length > 3 ? arguments[3] : undefined;\n {\n if (!allSignaturesByType.has(type)) {\n allSignaturesByType.set(type, {\n forceReset: forceReset,\n ownKey: key,\n fullKey: null,\n getCustomHooks: getCustomHooks || function () {\n return [];\n }\n });\n } // Visit inner types because we might not have signed them.\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n setSignature(type.render, key, forceReset, getCustomHooks);\n break;\n case REACT_MEMO_TYPE:\n setSignature(type.type, key, forceReset, getCustomHooks);\n break;\n }\n }\n }\n } // This is lazily called during first render for a type.\n // It captures Hook list at that time so inline requires don't break comparisons.\n\n function collectCustomHooksForSignature(type) {\n {\n var signature = allSignaturesByType.get(type);\n if (signature !== undefined) {\n computeFullKey(signature);\n }\n }\n }\n function getFamilyByID(id) {\n {\n return allFamiliesByID.get(id);\n }\n }\n function getFamilyByType(type) {\n {\n return allFamiliesByType.get(type);\n }\n }\n function findAffectedHostInstances(families) {\n {\n var affectedInstances = new Set();\n mountedRoots.forEach(function (root) {\n var helpers = helpersByRoot.get(root);\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n var instancesForRoot = helpers.findHostInstancesForRefresh(root, families);\n instancesForRoot.forEach(function (inst) {\n affectedInstances.add(inst);\n });\n });\n return affectedInstances;\n }\n }\n function injectIntoGlobalHook(globalObject) {\n {\n // For React Native, the global hook will be set up by require('react-devtools-core').\n // That code will run before us. So we need to monkeypatch functions on existing hook.\n // For React Web, the global hook will be set up by the extension.\n // This will also run before us.\n var hook = globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (hook === undefined) {\n // However, if there is no DevTools extension, we'll need to set up the global hook ourselves.\n // Note that in this case it's important that renderer code runs *after* this method call.\n // Otherwise, the renderer will think that there is no global hook, and won't do the injection.\n var nextID = 0;\n globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__ = hook = {\n renderers: new Map(),\n supportsFiber: true,\n inject: function (injected) {\n return nextID++;\n },\n onScheduleFiberRoot: function (id, root, children) {},\n onCommitFiberRoot: function (id, root, maybePriorityLevel, didError) {},\n onCommitFiberUnmount: function () {}\n };\n }\n if (hook.isDisabled) {\n // This isn't a real property on the hook, but it can be set to opt out\n // of DevTools integration and associated warnings and logs.\n // Using console['warn'] to evade Babel and ESLint\n console['warn']('Something has shimmed the React DevTools global hook (__REACT_DEVTOOLS_GLOBAL_HOOK__). ' + 'Fast Refresh is not compatible with this shim and will be disabled.');\n return;\n } // Here, we just want to get a reference to scheduleRefresh.\n\n var oldInject = hook.inject;\n hook.inject = function (injected) {\n var id = oldInject.apply(this, arguments);\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n return id;\n }; // Do the same for any already injected roots.\n // This is useful if ReactDOM has already been initialized.\n // https://github.com/facebook/react/issues/17626\n\n hook.renderers.forEach(function (injected, id) {\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n }); // We also want to track currently mounted roots.\n\n var oldOnCommitFiberRoot = hook.onCommitFiberRoot;\n var oldOnScheduleFiberRoot = hook.onScheduleFiberRoot || function () {};\n hook.onScheduleFiberRoot = function (id, root, children) {\n if (!isPerformingRefresh) {\n // If it was intentionally scheduled, don't attempt to restore.\n // This includes intentionally scheduled unmounts.\n failedRoots.delete(root);\n if (rootElements !== null) {\n rootElements.set(root, children);\n }\n }\n return oldOnScheduleFiberRoot.apply(this, arguments);\n };\n hook.onCommitFiberRoot = function (id, root, maybePriorityLevel, didError) {\n var helpers = helpersByRendererID.get(id);\n if (helpers !== undefined) {\n helpersByRoot.set(root, helpers);\n var current = root.current;\n var alternate = current.alternate; // We need to determine whether this root has just (un)mounted.\n // This logic is copy-pasted from similar logic in the DevTools backend.\n // If this breaks with some refactoring, you'll want to update DevTools too.\n\n if (alternate !== null) {\n var wasMounted = alternate.memoizedState != null && alternate.memoizedState.element != null;\n var isMounted = current.memoizedState != null && current.memoizedState.element != null;\n if (!wasMounted && isMounted) {\n // Mount a new root.\n mountedRoots.add(root);\n failedRoots.delete(root);\n } else if (wasMounted && isMounted) ;else if (wasMounted && !isMounted) {\n // Unmount an existing root.\n mountedRoots.delete(root);\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n } else {\n helpersByRoot.delete(root);\n }\n } else if (!wasMounted && !isMounted) {\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n }\n }\n } else {\n // Mount a new root.\n mountedRoots.add(root);\n }\n } // Always call the decorated DevTools hook.\n\n return oldOnCommitFiberRoot.apply(this, arguments);\n };\n }\n }\n function hasUnrecoverableErrors() {\n // TODO: delete this after removing dependency in RN.\n return false;\n } // Exposed for testing.\n\n function _getMountedRootCount() {\n {\n return mountedRoots.size;\n }\n } // This is a wrapper over more primitive functions for setting signature.\n // Signatures let us decide whether the Hook order has changed on refresh.\n //\n // This function is intended to be used as a transform target, e.g.:\n // var _s = createSignatureFunctionForTransform()\n //\n // function Hello() {\n // const [foo, setFoo] = useState(0);\n // const value = useCustomHook();\n // _s(); /* Call without arguments triggers collecting the custom Hook list.\n // * This doesn't happen during the module evaluation because we\n // * don't want to change the module order with inline requires.\n // * Next calls are noops. */\n // return
Hi
;\n // }\n //\n // /* Call with arguments attaches the signature to the type: */\n // _s(\n // Hello,\n // 'useState{[foo, setFoo]}(0)',\n // () => [useCustomHook], /* Lazy to avoid triggering inline requires */\n // );\n\n function createSignatureFunctionForTransform() {\n {\n var savedType;\n var hasCustomHooks;\n var didCollectHooks = false;\n return function (type, key, forceReset, getCustomHooks) {\n if (typeof key === 'string') {\n // We're in the initial phase that associates signatures\n // with the functions. Note this may be called multiple times\n // in HOC chains like _s(hoc1(_s(hoc2(_s(actualFunction))))).\n if (!savedType) {\n // We're in the innermost call, so this is the actual type.\n savedType = type;\n hasCustomHooks = typeof getCustomHooks === 'function';\n } // Set the signature for all types (even wrappers!) in case\n // they have no signatures of their own. This is to prevent\n // problems like https://github.com/facebook/react/issues/20417.\n\n if (type != null && (typeof type === 'function' || typeof type === 'object')) {\n setSignature(type, key, forceReset, getCustomHooks);\n }\n return type;\n } else {\n // We're in the _s() call without arguments, which means\n // this is the time to collect custom Hook signatures.\n // Only do this once. This path is hot and runs *inside* every render!\n if (!didCollectHooks && hasCustomHooks) {\n didCollectHooks = true;\n collectCustomHooksForSignature(savedType);\n }\n }\n };\n }\n }\n function isLikelyComponentType(type) {\n {\n switch (typeof type) {\n case 'function':\n {\n // First, deal with classes.\n if (type.prototype != null) {\n if (type.prototype.isReactComponent) {\n // React class.\n return true;\n }\n var ownNames = Object.getOwnPropertyNames(type.prototype);\n if (ownNames.length > 1 || ownNames[0] !== 'constructor') {\n // This looks like a class.\n return false;\n } // eslint-disable-next-line no-proto\n\n if (type.prototype.__proto__ !== Object.prototype) {\n // It has a superclass.\n return false;\n } // Pass through.\n // This looks like a regular function with empty prototype.\n } // For plain functions and arrows, use name as a heuristic.\n\n var name = type.name || type.displayName;\n return typeof name === 'string' && /^[A-Z]/.test(name);\n }\n case 'object':\n {\n if (type != null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n case REACT_MEMO_TYPE:\n // Definitely React components.\n return true;\n default:\n return false;\n }\n }\n return false;\n }\n default:\n {\n return false;\n }\n }\n }\n }\n exports._getMountedRootCount = _getMountedRootCount;\n exports.collectCustomHooksForSignature = collectCustomHooksForSignature;\n exports.createSignatureFunctionForTransform = createSignatureFunctionForTransform;\n exports.findAffectedHostInstances = findAffectedHostInstances;\n exports.getFamilyByID = getFamilyByID;\n exports.getFamilyByType = getFamilyByType;\n exports.hasUnrecoverableErrors = hasUnrecoverableErrors;\n exports.injectIntoGlobalHook = injectIntoGlobalHook;\n exports.isLikelyComponentType = isLikelyComponentType;\n exports.performReactRefresh = performReactRefresh;\n exports.register = register;\n exports.setSignature = setSignature;\n })();\n}","map":{"version":3,"names":["process","env","NODE_ENV","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_SCOPE_TYPE","REACT_DEBUG_TRACING_MODE_TYPE","REACT_OFFSCREEN_TYPE","REACT_LEGACY_HIDDEN_TYPE","REACT_CACHE_TYPE","Symbol","for","symbolFor","PossiblyWeakMap","WeakMap","Map","allFamiliesByID","allFamiliesByType","allSignaturesByType","updatedFamiliesByType","pendingUpdates","helpersByRendererID","helpersByRoot","mountedRoots","Set","failedRoots","rootElements","isPerformingRefresh","computeFullKey","signature","fullKey","ownKey","hooks","getCustomHooks","err","forceReset","i","length","hook","nestedHookSignature","get","undefined","nestedHookKey","haveEqualSignatures","prevType","nextType","prevSignature","nextSignature","isReactClass","type","prototype","isReactComponent","canPreserveStateBetween","resolveFamily","cloneMap","map","clone","forEach","value","key","set","cloneSet","add","getProperty","object","property","performReactRefresh","staleFamilies","updatedFamilies","updates","_ref","family","current","update","helpers","setRefreshHandler","didError","firstError","failedRootsSnapshot","mountedRootsSnapshot","helpersByRootSnapshot","root","Error","has","element","scheduleRoot","scheduleRefresh","register","id","push","render","setSignature","arguments","collectCustomHooksForSignature","getFamilyByID","getFamilyByType","findAffectedHostInstances","families","affectedInstances","instancesForRoot","findHostInstancesForRefresh","inst","injectIntoGlobalHook","globalObject","__REACT_DEVTOOLS_GLOBAL_HOOK__","nextID","renderers","supportsFiber","inject","injected","onScheduleFiberRoot","children","onCommitFiberRoot","maybePriorityLevel","onCommitFiberUnmount","isDisabled","console","oldInject","apply","oldOnCommitFiberRoot","oldOnScheduleFiberRoot","delete","alternate","wasMounted","memoizedState","isMounted","hasUnrecoverableErrors","_getMountedRootCount","size","createSignatureFunctionForTransform","savedType","hasCustomHooks","didCollectHooks","isLikelyComponentType","ownNames","Object","getOwnPropertyNames","__proto__","name","displayName","test","exports"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech-2/mern/client/node_modules/react-refresh/cjs/react-refresh-runtime.development.js"],"sourcesContent":["/** @license React vundefined\n * react-refresh-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar REACT_ELEMENT_TYPE = 0xeac7;\nvar REACT_PORTAL_TYPE = 0xeaca;\nvar REACT_FRAGMENT_TYPE = 0xeacb;\nvar REACT_STRICT_MODE_TYPE = 0xeacc;\nvar REACT_PROFILER_TYPE = 0xead2;\nvar REACT_PROVIDER_TYPE = 0xeacd;\nvar REACT_CONTEXT_TYPE = 0xeace;\nvar REACT_FORWARD_REF_TYPE = 0xead0;\nvar REACT_SUSPENSE_TYPE = 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = 0xead8;\nvar REACT_MEMO_TYPE = 0xead3;\nvar REACT_LAZY_TYPE = 0xead4;\nvar REACT_SCOPE_TYPE = 0xead7;\nvar REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1;\nvar REACT_OFFSCREEN_TYPE = 0xeae2;\nvar REACT_LEGACY_HIDDEN_TYPE = 0xeae3;\nvar REACT_CACHE_TYPE = 0xeae4;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n REACT_ELEMENT_TYPE = symbolFor('react.element');\n REACT_PORTAL_TYPE = symbolFor('react.portal');\n REACT_FRAGMENT_TYPE = symbolFor('react.fragment');\n REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode');\n REACT_PROFILER_TYPE = symbolFor('react.profiler');\n REACT_PROVIDER_TYPE = symbolFor('react.provider');\n REACT_CONTEXT_TYPE = symbolFor('react.context');\n REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref');\n REACT_SUSPENSE_TYPE = symbolFor('react.suspense');\n REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list');\n REACT_MEMO_TYPE = symbolFor('react.memo');\n REACT_LAZY_TYPE = symbolFor('react.lazy');\n REACT_SCOPE_TYPE = symbolFor('react.scope');\n REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode');\n REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen');\n REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden');\n REACT_CACHE_TYPE = symbolFor('react.cache');\n}\n\nvar PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; // We never remove these associations.\n// It's OK to reference families, but use WeakMap/Set for types.\n\nvar allFamiliesByID = new Map();\nvar allFamiliesByType = new PossiblyWeakMap();\nvar allSignaturesByType = new PossiblyWeakMap(); // This WeakMap is read by React, so we only put families\n// that have actually been edited here. This keeps checks fast.\n// $FlowIssue\n\nvar updatedFamiliesByType = new PossiblyWeakMap(); // This is cleared on every performReactRefresh() call.\n// It is an array of [Family, NextType] tuples.\n\nvar pendingUpdates = []; // This is injected by the renderer via DevTools global hook.\n\nvar helpersByRendererID = new Map();\nvar helpersByRoot = new Map(); // We keep track of mounted roots so we can schedule updates.\n\nvar mountedRoots = new Set(); // If a root captures an error, we remember it so we can retry on edit.\n\nvar failedRoots = new Set(); // In environments that support WeakMap, we also remember the last element for every root.\n// It needs to be weak because we do this even for roots that failed to mount.\n// If there is no WeakMap, we won't attempt to do retrying.\n// $FlowIssue\n\nvar rootElements = // $FlowIssue\ntypeof WeakMap === 'function' ? new WeakMap() : null;\nvar isPerformingRefresh = false;\n\nfunction computeFullKey(signature) {\n if (signature.fullKey !== null) {\n return signature.fullKey;\n }\n\n var fullKey = signature.ownKey;\n var hooks;\n\n try {\n hooks = signature.getCustomHooks();\n } catch (err) {\n // This can happen in an edge case, e.g. if expression like Foo.useSomething\n // depends on Foo which is lazily initialized during rendering.\n // In that case just assume we'll have to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n\n for (var i = 0; i < hooks.length; i++) {\n var hook = hooks[i];\n\n if (typeof hook !== 'function') {\n // Something's wrong. Assume we need to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n\n var nestedHookSignature = allSignaturesByType.get(hook);\n\n if (nestedHookSignature === undefined) {\n // No signature means Hook wasn't in the source code, e.g. in a library.\n // We'll skip it because we can assume it won't change during this session.\n continue;\n }\n\n var nestedHookKey = computeFullKey(nestedHookSignature);\n\n if (nestedHookSignature.forceReset) {\n signature.forceReset = true;\n }\n\n fullKey += '\\n---\\n' + nestedHookKey;\n }\n\n signature.fullKey = fullKey;\n return fullKey;\n}\n\nfunction haveEqualSignatures(prevType, nextType) {\n var prevSignature = allSignaturesByType.get(prevType);\n var nextSignature = allSignaturesByType.get(nextType);\n\n if (prevSignature === undefined && nextSignature === undefined) {\n return true;\n }\n\n if (prevSignature === undefined || nextSignature === undefined) {\n return false;\n }\n\n if (computeFullKey(prevSignature) !== computeFullKey(nextSignature)) {\n return false;\n }\n\n if (nextSignature.forceReset) {\n return false;\n }\n\n return true;\n}\n\nfunction isReactClass(type) {\n return type.prototype && type.prototype.isReactComponent;\n}\n\nfunction canPreserveStateBetween(prevType, nextType) {\n if (isReactClass(prevType) || isReactClass(nextType)) {\n return false;\n }\n\n if (haveEqualSignatures(prevType, nextType)) {\n return true;\n }\n\n return false;\n}\n\nfunction resolveFamily(type) {\n // Only check updated types to keep lookups fast.\n return updatedFamiliesByType.get(type);\n} // If we didn't care about IE11, we could use new Map/Set(iterable).\n\n\nfunction cloneMap(map) {\n var clone = new Map();\n map.forEach(function (value, key) {\n clone.set(key, value);\n });\n return clone;\n}\n\nfunction cloneSet(set) {\n var clone = new Set();\n set.forEach(function (value) {\n clone.add(value);\n });\n return clone;\n} // This is a safety mechanism to protect against rogue getters and Proxies.\n\n\nfunction getProperty(object, property) {\n try {\n return object[property];\n } catch (err) {\n // Intentionally ignore.\n return undefined;\n }\n}\n\nfunction performReactRefresh() {\n\n if (pendingUpdates.length === 0) {\n return null;\n }\n\n if (isPerformingRefresh) {\n return null;\n }\n\n isPerformingRefresh = true;\n\n try {\n var staleFamilies = new Set();\n var updatedFamilies = new Set();\n var updates = pendingUpdates;\n pendingUpdates = [];\n updates.forEach(function (_ref) {\n var family = _ref[0],\n nextType = _ref[1];\n // Now that we got a real edit, we can create associations\n // that will be read by the React reconciler.\n var prevType = family.current;\n updatedFamiliesByType.set(prevType, family);\n updatedFamiliesByType.set(nextType, family);\n family.current = nextType; // Determine whether this should be a re-render or a re-mount.\n\n if (canPreserveStateBetween(prevType, nextType)) {\n updatedFamilies.add(family);\n } else {\n staleFamilies.add(family);\n }\n }); // TODO: rename these fields to something more meaningful.\n\n var update = {\n updatedFamilies: updatedFamilies,\n // Families that will re-render preserving state\n staleFamilies: staleFamilies // Families that will be remounted\n\n };\n helpersByRendererID.forEach(function (helpers) {\n // Even if there are no roots, set the handler on first update.\n // This ensures that if *new* roots are mounted, they'll use the resolve handler.\n helpers.setRefreshHandler(resolveFamily);\n });\n var didError = false;\n var firstError = null; // We snapshot maps and sets that are mutated during commits.\n // If we don't do this, there is a risk they will be mutated while\n // we iterate over them. For example, trying to recover a failed root\n // may cause another root to be added to the failed list -- an infinite loop.\n\n var failedRootsSnapshot = cloneSet(failedRoots);\n var mountedRootsSnapshot = cloneSet(mountedRoots);\n var helpersByRootSnapshot = cloneMap(helpersByRoot);\n failedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n if (!failedRoots.has(root)) {// No longer failed.\n }\n\n if (rootElements === null) {\n return;\n }\n\n if (!rootElements.has(root)) {\n return;\n }\n\n var element = rootElements.get(root);\n\n try {\n helpers.scheduleRoot(root, element);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n\n }\n });\n mountedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n if (!mountedRoots.has(root)) {// No longer mounted.\n }\n\n try {\n helpers.scheduleRefresh(root, update);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n\n }\n });\n\n if (didError) {\n throw firstError;\n }\n\n return update;\n } finally {\n isPerformingRefresh = false;\n }\n}\nfunction register(type, id) {\n {\n if (type === null) {\n return;\n }\n\n if (typeof type !== 'function' && typeof type !== 'object') {\n return;\n } // This can happen in an edge case, e.g. if we register\n // return value of a HOC but it returns a cached component.\n // Ignore anything but the first registration for each type.\n\n\n if (allFamiliesByType.has(type)) {\n return;\n } // Create family or remember to update it.\n // None of this bookkeeping affects reconciliation\n // until the first performReactRefresh() call above.\n\n\n var family = allFamiliesByID.get(id);\n\n if (family === undefined) {\n family = {\n current: type\n };\n allFamiliesByID.set(id, family);\n } else {\n pendingUpdates.push([family, type]);\n }\n\n allFamiliesByType.set(type, family); // Visit inner types because we might not have registered them.\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n register(type.render, id + '$render');\n break;\n\n case REACT_MEMO_TYPE:\n register(type.type, id + '$type');\n break;\n }\n }\n }\n}\nfunction setSignature(type, key) {\n var forceReset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var getCustomHooks = arguments.length > 3 ? arguments[3] : undefined;\n\n {\n if (!allSignaturesByType.has(type)) {\n allSignaturesByType.set(type, {\n forceReset: forceReset,\n ownKey: key,\n fullKey: null,\n getCustomHooks: getCustomHooks || function () {\n return [];\n }\n });\n } // Visit inner types because we might not have signed them.\n\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n setSignature(type.render, key, forceReset, getCustomHooks);\n break;\n\n case REACT_MEMO_TYPE:\n setSignature(type.type, key, forceReset, getCustomHooks);\n break;\n }\n }\n }\n} // This is lazily called during first render for a type.\n// It captures Hook list at that time so inline requires don't break comparisons.\n\nfunction collectCustomHooksForSignature(type) {\n {\n var signature = allSignaturesByType.get(type);\n\n if (signature !== undefined) {\n computeFullKey(signature);\n }\n }\n}\nfunction getFamilyByID(id) {\n {\n return allFamiliesByID.get(id);\n }\n}\nfunction getFamilyByType(type) {\n {\n return allFamiliesByType.get(type);\n }\n}\nfunction findAffectedHostInstances(families) {\n {\n var affectedInstances = new Set();\n mountedRoots.forEach(function (root) {\n var helpers = helpersByRoot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n var instancesForRoot = helpers.findHostInstancesForRefresh(root, families);\n instancesForRoot.forEach(function (inst) {\n affectedInstances.add(inst);\n });\n });\n return affectedInstances;\n }\n}\nfunction injectIntoGlobalHook(globalObject) {\n {\n // For React Native, the global hook will be set up by require('react-devtools-core').\n // That code will run before us. So we need to monkeypatch functions on existing hook.\n // For React Web, the global hook will be set up by the extension.\n // This will also run before us.\n var hook = globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n\n if (hook === undefined) {\n // However, if there is no DevTools extension, we'll need to set up the global hook ourselves.\n // Note that in this case it's important that renderer code runs *after* this method call.\n // Otherwise, the renderer will think that there is no global hook, and won't do the injection.\n var nextID = 0;\n globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__ = hook = {\n renderers: new Map(),\n supportsFiber: true,\n inject: function (injected) {\n return nextID++;\n },\n onScheduleFiberRoot: function (id, root, children) {},\n onCommitFiberRoot: function (id, root, maybePriorityLevel, didError) {},\n onCommitFiberUnmount: function () {}\n };\n }\n\n if (hook.isDisabled) {\n // This isn't a real property on the hook, but it can be set to opt out\n // of DevTools integration and associated warnings and logs.\n // Using console['warn'] to evade Babel and ESLint\n console['warn']('Something has shimmed the React DevTools global hook (__REACT_DEVTOOLS_GLOBAL_HOOK__). ' + 'Fast Refresh is not compatible with this shim and will be disabled.');\n return;\n } // Here, we just want to get a reference to scheduleRefresh.\n\n\n var oldInject = hook.inject;\n\n hook.inject = function (injected) {\n var id = oldInject.apply(this, arguments);\n\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n\n return id;\n }; // Do the same for any already injected roots.\n // This is useful if ReactDOM has already been initialized.\n // https://github.com/facebook/react/issues/17626\n\n\n hook.renderers.forEach(function (injected, id) {\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n }); // We also want to track currently mounted roots.\n\n var oldOnCommitFiberRoot = hook.onCommitFiberRoot;\n\n var oldOnScheduleFiberRoot = hook.onScheduleFiberRoot || function () {};\n\n hook.onScheduleFiberRoot = function (id, root, children) {\n if (!isPerformingRefresh) {\n // If it was intentionally scheduled, don't attempt to restore.\n // This includes intentionally scheduled unmounts.\n failedRoots.delete(root);\n\n if (rootElements !== null) {\n rootElements.set(root, children);\n }\n }\n\n return oldOnScheduleFiberRoot.apply(this, arguments);\n };\n\n hook.onCommitFiberRoot = function (id, root, maybePriorityLevel, didError) {\n var helpers = helpersByRendererID.get(id);\n\n if (helpers !== undefined) {\n helpersByRoot.set(root, helpers);\n var current = root.current;\n var alternate = current.alternate; // We need to determine whether this root has just (un)mounted.\n // This logic is copy-pasted from similar logic in the DevTools backend.\n // If this breaks with some refactoring, you'll want to update DevTools too.\n\n if (alternate !== null) {\n var wasMounted = alternate.memoizedState != null && alternate.memoizedState.element != null;\n var isMounted = current.memoizedState != null && current.memoizedState.element != null;\n\n if (!wasMounted && isMounted) {\n // Mount a new root.\n mountedRoots.add(root);\n failedRoots.delete(root);\n } else if (wasMounted && isMounted) ; else if (wasMounted && !isMounted) {\n // Unmount an existing root.\n mountedRoots.delete(root);\n\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n } else {\n helpersByRoot.delete(root);\n }\n } else if (!wasMounted && !isMounted) {\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n }\n }\n } else {\n // Mount a new root.\n mountedRoots.add(root);\n }\n } // Always call the decorated DevTools hook.\n\n\n return oldOnCommitFiberRoot.apply(this, arguments);\n };\n }\n}\nfunction hasUnrecoverableErrors() {\n // TODO: delete this after removing dependency in RN.\n return false;\n} // Exposed for testing.\n\nfunction _getMountedRootCount() {\n {\n return mountedRoots.size;\n }\n} // This is a wrapper over more primitive functions for setting signature.\n// Signatures let us decide whether the Hook order has changed on refresh.\n//\n// This function is intended to be used as a transform target, e.g.:\n// var _s = createSignatureFunctionForTransform()\n//\n// function Hello() {\n// const [foo, setFoo] = useState(0);\n// const value = useCustomHook();\n// _s(); /* Call without arguments triggers collecting the custom Hook list.\n// * This doesn't happen during the module evaluation because we\n// * don't want to change the module order with inline requires.\n// * Next calls are noops. */\n// return
Hi
;\n// }\n//\n// /* Call with arguments attaches the signature to the type: */\n// _s(\n// Hello,\n// 'useState{[foo, setFoo]}(0)',\n// () => [useCustomHook], /* Lazy to avoid triggering inline requires */\n// );\n\nfunction createSignatureFunctionForTransform() {\n {\n var savedType;\n var hasCustomHooks;\n var didCollectHooks = false;\n return function (type, key, forceReset, getCustomHooks) {\n if (typeof key === 'string') {\n // We're in the initial phase that associates signatures\n // with the functions. Note this may be called multiple times\n // in HOC chains like _s(hoc1(_s(hoc2(_s(actualFunction))))).\n if (!savedType) {\n // We're in the innermost call, so this is the actual type.\n savedType = type;\n hasCustomHooks = typeof getCustomHooks === 'function';\n } // Set the signature for all types (even wrappers!) in case\n // they have no signatures of their own. This is to prevent\n // problems like https://github.com/facebook/react/issues/20417.\n\n\n if (type != null && (typeof type === 'function' || typeof type === 'object')) {\n setSignature(type, key, forceReset, getCustomHooks);\n }\n\n return type;\n } else {\n // We're in the _s() call without arguments, which means\n // this is the time to collect custom Hook signatures.\n // Only do this once. This path is hot and runs *inside* every render!\n if (!didCollectHooks && hasCustomHooks) {\n didCollectHooks = true;\n collectCustomHooksForSignature(savedType);\n }\n }\n };\n }\n}\nfunction isLikelyComponentType(type) {\n {\n switch (typeof type) {\n case 'function':\n {\n // First, deal with classes.\n if (type.prototype != null) {\n if (type.prototype.isReactComponent) {\n // React class.\n return true;\n }\n\n var ownNames = Object.getOwnPropertyNames(type.prototype);\n\n if (ownNames.length > 1 || ownNames[0] !== 'constructor') {\n // This looks like a class.\n return false;\n } // eslint-disable-next-line no-proto\n\n\n if (type.prototype.__proto__ !== Object.prototype) {\n // It has a superclass.\n return false;\n } // Pass through.\n // This looks like a regular function with empty prototype.\n\n } // For plain functions and arrows, use name as a heuristic.\n\n\n var name = type.name || type.displayName;\n return typeof name === 'string' && /^[A-Z]/.test(name);\n }\n\n case 'object':\n {\n if (type != null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n case REACT_MEMO_TYPE:\n // Definitely React components.\n return true;\n\n default:\n return false;\n }\n }\n\n return false;\n }\n\n default:\n {\n return false;\n }\n }\n }\n}\n\nexports._getMountedRootCount = _getMountedRootCount;\nexports.collectCustomHooksForSignature = collectCustomHooksForSignature;\nexports.createSignatureFunctionForTransform = createSignatureFunctionForTransform;\nexports.findAffectedHostInstances = findAffectedHostInstances;\nexports.getFamilyByID = getFamilyByID;\nexports.getFamilyByType = getFamilyByType;\nexports.hasUnrecoverableErrors = hasUnrecoverableErrors;\nexports.injectIntoGlobalHook = injectIntoGlobalHook;\nexports.isLikelyComponentType = isLikelyComponentType;\nexports.performReactRefresh = performReactRefresh;\nexports.register = register;\nexports.setSignature = setSignature;\n })();\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/1586b8b069c91451b3377a6d84a86923.json b/mern/client/node_modules/.cache/babel-loader/1586b8b069c91451b3377a6d84a86923.json
deleted file mode 100644
index fbad38d41..000000000
--- a/mern/client/node_modules/.cache/babel-loader/1586b8b069c91451b3377a6d84a86923.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nimport { log } from \"../utils/log.js\";\nvar WebSocketClient = /*#__PURE__*/function () {\n /**\n * @param {string} url\n */\n function WebSocketClient(url) {\n _classCallCheck(this, WebSocketClient);\n this.client = new WebSocket(url);\n this.client.onerror = function (error) {\n log.error(error);\n };\n }\n /**\n * @param {(...args: any[]) => void} f\n */\n\n _createClass(WebSocketClient, [{\n key: \"onOpen\",\n value: function onOpen(f) {\n this.client.onopen = f;\n }\n /**\n * @param {(...args: any[]) => void} f\n */\n }, {\n key: \"onClose\",\n value: function onClose(f) {\n this.client.onclose = f;\n } // call f with the message string as the first argument\n\n /**\n * @param {(...args: any[]) => void} f\n */\n }, {\n key: \"onMessage\",\n value: function onMessage(f) {\n this.client.onmessage = function (e) {\n f(e.data);\n };\n }\n }]);\n return WebSocketClient;\n}();\nexport { WebSocketClient as default };","map":{"version":3,"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","log","WebSocketClient","url","client","WebSocket","onerror","error","value","onOpen","f","onopen","onClose","onclose","onMessage","onmessage","e","data","default"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech-2/mern/client/node_modules/webpack-dev-server/client/clients/WebSocketClient.js"],"sourcesContent":["function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport { log } from \"../utils/log.js\";\n\nvar WebSocketClient = /*#__PURE__*/function () {\n /**\n * @param {string} url\n */\n function WebSocketClient(url) {\n _classCallCheck(this, WebSocketClient);\n\n this.client = new WebSocket(url);\n\n this.client.onerror = function (error) {\n log.error(error);\n };\n }\n /**\n * @param {(...args: any[]) => void} f\n */\n\n\n _createClass(WebSocketClient, [{\n key: \"onOpen\",\n value: function onOpen(f) {\n this.client.onopen = f;\n }\n /**\n * @param {(...args: any[]) => void} f\n */\n\n }, {\n key: \"onClose\",\n value: function onClose(f) {\n this.client.onclose = f;\n } // call f with the message string as the first argument\n\n /**\n * @param {(...args: any[]) => void} f\n */\n\n }, {\n key: \"onMessage\",\n value: function onMessage(f) {\n this.client.onmessage = function (e) {\n f(e.data);\n };\n }\n }]);\n\n return WebSocketClient;\n}();\n\nexport { WebSocketClient as default };"],"mappings":"AAAA,SAASA,eAAe,CAACC,QAAQ,EAAEC,WAAW,EAAE;EAAE,IAAI,EAAED,QAAQ,YAAYC,WAAW,CAAC,EAAE;IAAE,MAAM,IAAIC,SAAS,CAAC,mCAAmC,CAAC;EAAE;AAAE;AAExJ,SAASC,iBAAiB,CAACC,MAAM,EAAEC,KAAK,EAAE;EAAE,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,KAAK,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;IAAE,IAAIE,UAAU,GAAGH,KAAK,CAACC,CAAC,CAAC;IAAEE,UAAU,CAACC,UAAU,GAAGD,UAAU,CAACC,UAAU,IAAI,KAAK;IAAED,UAAU,CAACE,YAAY,GAAG,IAAI;IAAE,IAAI,OAAO,IAAIF,UAAU,EAAEA,UAAU,CAACG,QAAQ,GAAG,IAAI;IAAEC,MAAM,CAACC,cAAc,CAACT,MAAM,EAAEI,UAAU,CAACM,GAAG,EAAEN,UAAU,CAAC;EAAE;AAAE;AAE5T,SAASO,YAAY,CAACd,WAAW,EAAEe,UAAU,EAAEC,WAAW,EAAE;EAAE,IAAID,UAAU,EAAEb,iBAAiB,CAACF,WAAW,CAACiB,SAAS,EAAEF,UAAU,CAAC;EAAE,IAAIC,WAAW,EAAEd,iBAAiB,CAACF,WAAW,EAAEgB,WAAW,CAAC;EAAEL,MAAM,CAACC,cAAc,CAACZ,WAAW,EAAE,WAAW,EAAE;IAAEU,QAAQ,EAAE;EAAM,CAAC,CAAC;EAAE,OAAOV,WAAW;AAAE;AAE5R,SAASkB,GAAG,QAAQ,iBAAiB;AAErC,IAAIC,eAAe,GAAG,aAAa,YAAY;EAC7C;AACF;AACA;EACE,SAASA,eAAe,CAACC,GAAG,EAAE;IAC5BtB,eAAe,CAAC,IAAI,EAAEqB,eAAe,CAAC;IAEtC,IAAI,CAACE,MAAM,GAAG,IAAIC,SAAS,CAACF,GAAG,CAAC;IAEhC,IAAI,CAACC,MAAM,CAACE,OAAO,GAAG,UAAUC,KAAK,EAAE;MACrCN,GAAG,CAACM,KAAK,CAACA,KAAK,CAAC;IAClB,CAAC;EACH;EACA;AACF;AACA;;EAGEV,YAAY,CAACK,eAAe,EAAE,CAAC;IAC7BN,GAAG,EAAE,QAAQ;IACbY,KAAK,EAAE,SAASC,MAAM,CAACC,CAAC,EAAE;MACxB,IAAI,CAACN,MAAM,CAACO,MAAM,GAAGD,CAAC;IACxB;IACA;AACJ;AACA;EAEE,CAAC,EAAE;IACDd,GAAG,EAAE,SAAS;IACdY,KAAK,EAAE,SAASI,OAAO,CAACF,CAAC,EAAE;MACzB,IAAI,CAACN,MAAM,CAACS,OAAO,GAAGH,CAAC;IACzB,CAAC,CAAC;;IAEF;AACJ;AACA;EAEE,CAAC,EAAE;IACDd,GAAG,EAAE,WAAW;IAChBY,KAAK,EAAE,SAASM,SAAS,CAACJ,CAAC,EAAE;MAC3B,IAAI,CAACN,MAAM,CAACW,SAAS,GAAG,UAAUC,CAAC,EAAE;QACnCN,CAAC,CAACM,CAAC,CAACC,IAAI,CAAC;MACX,CAAC;IACH;EACF,CAAC,CAAC,CAAC;EAEH,OAAOf,eAAe;AACxB,CAAC,EAAE;AAEH,SAASA,eAAe,IAAIgB,OAAO"},"metadata":{},"sourceType":"module"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/15c106fbd8fb15f153c3020c7fe39bd8.json b/mern/client/node_modules/.cache/babel-loader/15c106fbd8fb15f153c3020c7fe39bd8.json
deleted file mode 100644
index 4820d9212..000000000
--- a/mern/client/node_modules/.cache/babel-loader/15c106fbd8fb15f153c3020c7fe39bd8.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var _jsxFileName = \"/Users/shannonharrison/QuadraTech-1/mern/client/src/App.js\";\nimport React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst App = () => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(Navbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 6\n }, this), /*#__PURE__*/_jsxDEV(Routes, {\n children: [/*#__PURE__*/_jsxDEV(Route, {\n exact: true,\n path: \"/\",\n element: /*#__PURE__*/_jsxDEV(RecordList, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 39\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"/edit/:id\",\n element: /*#__PURE__*/_jsxDEV(Edit, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"/create\",\n element: /*#__PURE__*/_jsxDEV(Create, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 39\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 8\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 6\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 4\n }, this);\n};\n_c = App;\nexport default App;\nvar _c;\n$RefreshReg$(_c, \"App\");","map":{"version":3,"names":["React","Route","Routes","Navbar","RecordList","Edit","Create","App"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/src/App.js"],"sourcesContent":["import React from \"react\";\n \n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n \n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n \nconst App = () => {\n return (\n
\n \n \n } />\n } />\n } />\n \n
\n );\n};\n \nexport default App;"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB;AACA,SAASC,KAAK,EAAEC,MAAM,QAAQ,kBAAkB;;AAEhD;AACA,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,UAAU,MAAM,yBAAyB;AAChD,OAAOC,IAAI,MAAM,mBAAmB;AACpC,OAAOC,MAAM,MAAM,qBAAqB;AAAC;AAEzC,MAAMC,GAAG,GAAG,MAAM;EACjB,oBACE;IAAA,wBACE,QAAC,MAAM;MAAA;MAAA;MAAA;IAAA,QAAG,eACV,QAAC,MAAM;MAAA,wBACL,QAAC,KAAK;QAAC,KAAK;QAAC,IAAI,EAAC,GAAG;QAAC,OAAO,eAAE,QAAC,UAAU;UAAA;UAAA;UAAA;QAAA;MAAI;QAAA;QAAA;QAAA;MAAA,QAAG,eACjD,QAAC,KAAK;QAAC,IAAI,EAAC,WAAW;QAAC,OAAO,eAAE,QAAC,IAAI;UAAA;UAAA;UAAA;QAAA;MAAI;QAAA;QAAA;QAAA;MAAA,QAAG,eAC7C,QAAC,KAAK;QAAC,IAAI,EAAC,SAAS;QAAC,OAAO,eAAE,QAAC,MAAM;UAAA;UAAA;UAAA;QAAA;MAAI;QAAA;QAAA;QAAA;MAAA,QAAG;IAAA;MAAA;MAAA;MAAA;IAAA,QACtC;EAAA;IAAA;IAAA;IAAA;EAAA,QACL;AAET,CAAC;AAAC,KAXIA,GAAG;AAaT,eAAeA,GAAG;AAAC;AAAA"},"metadata":{},"sourceType":"module"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/1604196e357a4a4405c388e6242072618bc874ee5577b1dce6325530840375c4.json b/mern/client/node_modules/.cache/babel-loader/1604196e357a4a4405c388e6242072618bc874ee5577b1dce6325530840375c4.json
deleted file mode 100644
index 17a7a69ea..000000000
--- a/mern/client/node_modules/.cache/babel-loader/1604196e357a4a4405c388e6242072618bc874ee5577b1dce6325530840375c4.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var _jsxFileName = \"/Users/shannonharrison/QuadraTech-1/mern/client/src/App.js\",\n _s = $RefreshSig$();\nimport React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\nimport axios from 'axios';\nimport { createContext, useState, useEffect } from 'react';\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\nimport Login from \"./components/webpages/login\";\nimport Register from \"./components/webpages/register.js\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction App() {\n _s();\n const [userData, setUserData] = useState({\n token: undefined,\n user: undefined\n });\n useEffect(() => {\n const isLoggedIn = async () => {\n let token = localStorage.getItem(\"auth-token\");\n if (token == null) {\n localStorage.setItem(\"auth-token\", \"\");\n token = \"\";\n }\n const tokenResponse = await axios.post('http://localhost:5000/api/auth/tokenIsValid', null, {\n headers: {\n \"auth-token\": token\n }\n });\n console.log(tokenResponse.data);\n if (tokenResponse.data) {\n const userResponse = await axios.get('http://localhost:5000/api/auth/profile', {\n headers: {\n 'auth-token': token\n }\n });\n setUserData({\n token: token,\n user: userResponse.data\n });\n }\n };\n isLoggedIn();\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(UserContext.Provider, {\n value: {\n userData,\n setUserData\n },\n children: /*#__PURE__*/_jsxDEV(Router, {\n children: [\" \", /*#__PURE__*/_jsxDEV(Routes, {\n children: [\" \", /*#__PURE__*/_jsxDEV(Route, {\n path: \"/Login\",\n element: /*#__PURE__*/_jsxDEV(Login, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 39\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"/Register\",\n element: /*#__PURE__*/_jsxDEV(Register, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 58,\n columnNumber: 42\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 58,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 56,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 53,\n columnNumber: 6\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 5\n }, this);\n}\n_s(App, \"kBdZ41MIyrwc6QRSBnYASrPRV+8=\");\n_c = App;\nexport default App;\nvar _c;\n$RefreshReg$(_c, \"App\");","map":{"version":3,"names":["React","Route","Routes","axios","createContext","useState","useEffect","Navbar","RecordList","Edit","Create","Login","Register","App","userData","setUserData","token","undefined","user","isLoggedIn","localStorage","getItem","setItem","tokenResponse","post","headers","console","log","data","userResponse","get"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/src/App.js"],"sourcesContent":["import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\nimport axios from 'axios'\nimport { createContext, useState, useEffect } from 'react'\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\nimport Login from \"./components/webpages/login\"\nimport Register from \"./components/webpages/register.js\"\n\nfunction App() {\n\n const [userData, setUserData] = useState({\n token: undefined,\n user: undefined,\n })\n\n useEffect(() => {\n const isLoggedIn = async () => {\n let token = localStorage.getItem(\"auth-token\")\n if (token == null){\n localStorage.setItem(\"auth-token\", \"\")\n token = \"\"\n }\n\n const tokenResponse = await axios.post(\n 'http://localhost:5000/api/auth/tokenIsValid', \n null, \n {headers: {\"auth-token\": token}}\n )\n\n console.log(tokenResponse.data)\n if(tokenResponse.data){\n const userResponse = await axios.get('http://localhost:5000/api/auth/profile',\n {headers: {'auth-token': token}}\n )\n setUserData({\n token: token,\n user: userResponse.data\n })\n }\n }\n isLoggedIn()\n }, [])\n \n return (\n
\n \n {/* Router lets page render different components based on address path */}\n \n {/* Routes contained for router */}\n } />\n } />\n \n\n \n \n \n
\n\n );\n}\n\n\n\nexport default App;"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB;AACA,SAASC,KAAK,EAAEC,MAAM,QAAQ,kBAAkB;AAChD,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;;AAE1D;AACA,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,UAAU,MAAM,yBAAyB;AAChD,OAAOC,IAAI,MAAM,mBAAmB;AACpC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,KAAK,MAAM,6BAA6B;AAC/C,OAAOC,QAAQ,MAAM,mCAAmC;AAAA;AAExD,SAASC,GAAG,GAAG;EAAA;EAEb,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGV,QAAQ,CAAC;IACvCW,KAAK,EAAEC,SAAS;IAChBC,IAAI,EAAED;EACR,CAAC,CAAC;EAEFX,SAAS,CAAC,MAAM;IACd,MAAMa,UAAU,GAAG,YAAY;MAC7B,IAAIH,KAAK,GAAGI,YAAY,CAACC,OAAO,CAAC,YAAY,CAAC;MAC9C,IAAIL,KAAK,IAAI,IAAI,EAAC;QAChBI,YAAY,CAACE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;QACtCN,KAAK,GAAG,EAAE;MACZ;MAEA,MAAMO,aAAa,GAAG,MAAMpB,KAAK,CAACqB,IAAI,CACpC,6CAA6C,EAC7C,IAAI,EACJ;QAACC,OAAO,EAAE;UAAC,YAAY,EAAET;QAAK;MAAC,CAAC,CACjC;MAEDU,OAAO,CAACC,GAAG,CAACJ,aAAa,CAACK,IAAI,CAAC;MAC/B,IAAGL,aAAa,CAACK,IAAI,EAAC;QACpB,MAAMC,YAAY,GAAG,MAAM1B,KAAK,CAAC2B,GAAG,CAAC,wCAAwC,EAC3E;UAACL,OAAO,EAAE;YAAC,YAAY,EAAET;UAAK;QAAC,CAAC,CACjC;QACDD,WAAW,CAAC;UACVC,KAAK,EAAEA,KAAK;UACZE,IAAI,EAAEW,YAAY,CAACD;QACrB,CAAC,CAAC;MACJ;IACF,CAAC;IACDT,UAAU,EAAE;EACd,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE;IAAA,uBACC,QAAC,WAAW,CAAC,QAAQ;MAAC,KAAK,EAAE;QAAEL,QAAQ;QAAEC;MAAY,CAAE;MAAA,uBACtD,QAAC,MAAM;QAAA,6BAEP,QAAC,MAAM;UAAA,6BACL,QAAC,KAAK;YAAC,IAAI,EAAC,QAAQ;YAAC,OAAO,eAAE,QAAC,KAAK;cAAA;cAAA;cAAA;YAAA;UAAG;YAAA;YAAA;YAAA;UAAA,QAAG,eAC1C,QAAC,KAAK;YAAC,IAAI,EAAC,WAAW;YAAC,OAAO,eAAE,QAAC,QAAQ;cAAA;cAAA;cAAA;YAAA;UAAG;YAAA;YAAA;YAAA;UAAA,QAAG;QAAA;UAAA;UAAA;UAAA;QAAA,QACzC;MAAA;QAAA;QAAA;QAAA;MAAA;IAEF;MAAA;MAAA;MAAA;IAAA;EAEc;IAAA;IAAA;IAAA;EAAA,QACjB;AAGV;AAAC,GAnDQF,GAAG;AAAA,KAAHA,GAAG;AAuDZ,eAAeA,GAAG;AAAC;AAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/163e5801b5056e8c97293330fd1f5b08.json b/mern/client/node_modules/.cache/babel-loader/163e5801b5056e8c97293330fd1f5b08.json
deleted file mode 100644
index e537f3235..000000000
--- a/mern/client/node_modules/.cache/babel-loader/163e5801b5056e8c97293330fd1f5b08.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;","map":{"version":3,"names":["uncurryThis","require","fails","classof","$Object","Object","split","module","exports","propertyIsEnumerable","it"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/node_modules/core-js-pure/internals/indexed-object.js"],"sourcesContent":["var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n"],"mappings":"AAAA,IAAIA,WAAW,GAAGC,OAAO,CAAC,oCAAoC,CAAC;AAC/D,IAAIC,KAAK,GAAGD,OAAO,CAAC,oBAAoB,CAAC;AACzC,IAAIE,OAAO,GAAGF,OAAO,CAAC,0BAA0B,CAAC;AAEjD,IAAIG,OAAO,GAAGC,MAAM;AACpB,IAAIC,KAAK,GAAGN,WAAW,CAAC,EAAE,CAACM,KAAK,CAAC;;AAEjC;AACAC,MAAM,CAACC,OAAO,GAAGN,KAAK,CAAC,YAAY;EACjC;EACA;EACA,OAAO,CAACE,OAAO,CAAC,GAAG,CAAC,CAACK,oBAAoB,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,GAAG,UAAUC,EAAE,EAAE;EACjB,OAAOP,OAAO,CAACO,EAAE,CAAC,IAAI,QAAQ,GAAGJ,KAAK,CAACI,EAAE,EAAE,EAAE,CAAC,GAAGN,OAAO,CAACM,EAAE,CAAC;AAC9D,CAAC,GAAGN,OAAO"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/16d8d1ba5e681316993515d41e989834.json b/mern/client/node_modules/.cache/babel-loader/16d8d1ba5e681316993515d41e989834.json
deleted file mode 100644
index e4dad51c5..000000000
--- a/mern/client/node_modules/.cache/babel-loader/16d8d1ba5e681316993515d41e989834.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});","map":{"version":3,"names":["DESCRIPTORS","require","fails","createElement","module","exports","Object","defineProperty","get","a"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech/node_modules/core-js-pure/internals/ie8-dom-define.js"],"sourcesContent":["var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n"],"mappings":"AAAA,IAAIA,WAAW,GAAGC,OAAO,CAAC,0BAA0B,CAAC;AACrD,IAAIC,KAAK,GAAGD,OAAO,CAAC,oBAAoB,CAAC;AACzC,IAAIE,aAAa,GAAGF,OAAO,CAAC,sCAAsC,CAAC;;AAEnE;AACAG,MAAM,CAACC,OAAO,GAAG,CAACL,WAAW,IAAI,CAACE,KAAK,CAAC,YAAY;EAClD;EACA,OAAOI,MAAM,CAACC,cAAc,CAACJ,aAAa,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE;IACtDK,GAAG,EAAE,YAAY;MAAE,OAAO,CAAC;IAAE;EAC/B,CAAC,CAAC,CAACC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/17004ea1157900b1ed268c832a4f197a39472c74b951c8fb5748fc2a86c59182.json b/mern/client/node_modules/.cache/babel-loader/17004ea1157900b1ed268c832a4f197a39472c74b951c8fb5748fc2a86c59182.json
deleted file mode 100644
index 4f50c394a..000000000
--- a/mern/client/node_modules/.cache/babel-loader/17004ea1157900b1ed268c832a4f197a39472c74b951c8fb5748fc2a86c59182.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var _jsxFileName = \"/Users/shannonharrison/QuadraTech-1/mern/client/src/components/create.js\",\n _s = $RefreshSig$();\nimport React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function Create() {\n _s();\n const [form, setForm] = useState({\n today: new Date(),\n name: \"\",\n birthday: new Date(),\n allergies: \"\",\n couselor: \"\"\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm(prev => {\n return {\n ...prev,\n ...value\n };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = {\n ...form\n };\n await fetch(\"http://localhost:5000/occupants/add\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(newPerson)\n }).catch(error => {\n window.alert(error);\n return;\n });\n window.alert('successfully added');\n setForm({\n date: Date(),\n name: \"\",\n birthday: Date(),\n allegies: \"\",\n counselor: \"\"\n });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"Add New Occupant\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 48,\n columnNumber: 6\n }, this), /*#__PURE__*/_jsxDEV(\"form\", {\n onSubmit: onSubmit,\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"today\",\n children: \"Today's Date\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"date\",\n className: \"form-control\",\n id: \"today\",\n value: form.date,\n onChange: e => updateForm({\n date: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 6\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"name\",\n children: \"Name\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"text\",\n className: \"form-control\",\n id: \"name\",\n value: form.name,\n onChange: e => updateForm({\n name: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 63,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"date\",\n children: \"Birthday\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 73,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"date\",\n className: \"form-control\",\n id: \"date\",\n value: form.date,\n onChange: e => updateForm({\n date: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 74,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 72,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"allergies\",\n children: \"Allergies\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 83,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"text\",\n className: \"form-control\",\n id: \"allergies\",\n value: form.position,\n onChange: e => updateForm({\n position: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 84,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 82,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"counselor\",\n children: \"Do they want to talk to a counselor?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 93,\n columnNumber: 10\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 92,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-check form-check-inline\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"form-check-input\",\n type: \"radio\",\n name: \"positionOptions\",\n id: \"posYes\",\n value: \"Yes\",\n checked: form.level === \"Yes\",\n onChange: e => updateForm({\n level: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 98,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"posYes\",\n className: \"form-check-label\",\n children: \"Yes\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 107,\n columnNumber: 12\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 97,\n columnNumber: 10\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-check form-check-inline\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"form-check-input\",\n type: \"radio\",\n name: \"positionOptions\",\n id: \"posNo\",\n value: \"No\",\n checked: form.level === \"No\",\n onChange: e => updateForm({\n level: e.target.value\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 110,\n columnNumber: 12\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: \"posNo\",\n className: \"form-check-label\",\n children: \"No\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 119,\n columnNumber: 12\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 109,\n columnNumber: 10\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 96,\n columnNumber: 8\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"form-group\",\n children: /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"submit\",\n value: \"Submit\",\n className: \"btn btn-primary\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 123,\n columnNumber: 10\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 122,\n columnNumber: 8\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 49,\n columnNumber: 6\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 4\n }, this);\n}\n_s(Create, \"piNpvefSWmPDsEHkVjyNKg79FyQ=\", false, function () {\n return [useNavigate];\n});\n_c = Create;\nvar _c;\n$RefreshReg$(_c, \"Create\");","map":{"version":3,"names":["React","useState","useNavigate","Create","form","setForm","today","Date","name","birthday","allergies","couselor","navigate","updateForm","value","prev","onSubmit","e","preventDefault","newPerson","fetch","method","headers","body","JSON","stringify","catch","error","window","alert","date","allegies","counselor","target","position","level"],"sources":["/Users/shannonharrison/QuadraTech-1/mern/client/src/components/create.js"],"sourcesContent":["import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\n \nexport default function Create() {\n const [form, setForm] = useState({\n today: new Date(),\n name: \"\",\n birthday: new Date(),\n allergies: \"\",\n couselor: \"\",\n });\n const navigate = useNavigate();\n \n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n \n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n \n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n \n await fetch(\"http://localhost:5000/occupants/add\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n .catch(error => {\n window.alert(error);\n return;\n });\n \n window.alert('successfully added')\n setForm({ date: Date(), name: \"\", birthday: Date(), allegies: \"\", counselor: \"\" });\n navigate(\"/\");\n }\n \n // This following section will display the form that takes the input from the user.\n return (\n
\n );\n}"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/1775e85a302f2211e758a89089485c14.json b/mern/client/node_modules/.cache/babel-loader/1775e85a302f2211e758a89089485c14.json
deleted file mode 100644
index a4877c438..000000000
--- a/mern/client/node_modules/.cache/babel-loader/1775e85a302f2211e758a89089485c14.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"var NATIVE_BIND = require('../internals/function-bind-native');\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};","map":{"version":3,"names":["NATIVE_BIND","require","FunctionPrototype","Function","prototype","call","uncurryThisWithBind","bind","module","exports","fn","apply","arguments"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech-2/mern/client/node_modules/core-js-pure/internals/function-uncurry-this-raw.js"],"sourcesContent":["var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n"],"mappings":"AAAA,IAAIA,WAAW,GAAGC,OAAO,CAAC,mCAAmC,CAAC;AAE9D,IAAIC,iBAAiB,GAAGC,QAAQ,CAACC,SAAS;AAC1C,IAAIC,IAAI,GAAGH,iBAAiB,CAACG,IAAI;AACjC,IAAIC,mBAAmB,GAAGN,WAAW,IAAIE,iBAAiB,CAACK,IAAI,CAACA,IAAI,CAACF,IAAI,EAAEA,IAAI,CAAC;AAEhFG,MAAM,CAACC,OAAO,GAAGT,WAAW,GAAGM,mBAAmB,GAAG,UAAUI,EAAE,EAAE;EACjE,OAAO,YAAY;IACjB,OAAOL,IAAI,CAACM,KAAK,CAACD,EAAE,EAAEE,SAAS,CAAC;EAClC,CAAC;AACH,CAAC"},"metadata":{},"sourceType":"script"}
\ No newline at end of file
diff --git a/mern/client/node_modules/.cache/babel-loader/178353ea1e4e4e969d1db3945636cfa0.json b/mern/client/node_modules/.cache/babel-loader/178353ea1e4e4e969d1db3945636cfa0.json
deleted file mode 100644
index 712e947a0..000000000
--- a/mern/client/node_modules/.cache/babel-loader/178353ea1e4e4e969d1db3945636cfa0.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ast":null,"code":"/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function () {\n 'use strict';\n\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === 'function') {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n }\n var ReactVersion = '18.2.0';\n\n // ATTENTION\n // When adding new symbols to this file,\n // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n // The Symbol used to tag the ReactElement-like types.\n var REACT_ELEMENT_TYPE = Symbol.for('react.element');\n var REACT_PORTAL_TYPE = Symbol.for('react.portal');\n var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\n var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\n var REACT_PROFILER_TYPE = Symbol.for('react.profiler');\n var REACT_PROVIDER_TYPE = Symbol.for('react.provider');\n var REACT_CONTEXT_TYPE = Symbol.for('react.context');\n var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\n var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\n var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\n var REACT_MEMO_TYPE = Symbol.for('react.memo');\n var REACT_LAZY_TYPE = Symbol.for('react.lazy');\n var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator';\n function getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n return null;\n }\n\n /**\n * Keeps track of the current dispatcher.\n */\n var ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n };\n\n /**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\n var ReactCurrentBatchConfig = {\n transition: null\n };\n var ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n };\n\n /**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\n var ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n };\n var ReactDebugCurrentFrame = {};\n var currentExtraStackFrame = null;\n function setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n }\n {\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n if (impl) {\n stack += impl() || '';\n }\n return stack;\n };\n }\n\n // -----------------------------------------------------------------------------\n\n var enableScopeAPI = false; // Experimental Create Event Handle API.\n var enableCacheElement = false;\n var enableTransitionTracing = false; // No known bugs, but needs performance testing\n\n var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n // stuff. Intended to enable React core members to more easily debug scheduling\n // issues in DEV builds.\n\n var enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\n var ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n };\n {\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n }\n\n // by calls to these methods by a Babel plugin.\n //\n // In PROD (or in packages without access to React internals),\n // they are left as they are instead.\n\n function warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n printWarning('warn', format, args);\n }\n }\n }\n function error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n printWarning('error', format, args);\n }\n }\n }\n function printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n }\n var didWarnStateUpdateForUnmountedComponent = {};\n function warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n }\n /**\n * This is the abstract API for an update queue.\n */\n\n var ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n };\n var assign = Object.assign;\n var emptyObject = {};\n {\n Object.freeze(emptyObject);\n }\n /**\n * Base class helpers for the updating state of a component.\n */\n\n function Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n }\n Component.prototype.isReactComponent = {};\n /**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\n Component.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n };\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n Component.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n };\n /**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n {\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n return undefined;\n }\n });\n };\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n }\n function ComponentDummy() {}\n ComponentDummy.prototype = Component.prototype;\n /**\n * Convenience component with default shallow equality check for sCU.\n */\n\n function PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n var pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\n pureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\n assign(pureComponentPrototype, Component.prototype);\n pureComponentPrototype.isPureReactComponent = true;\n\n // an immutable object with a single mutable value\n function createRef() {\n var refObject = {\n current: null\n };\n {\n Object.seal(refObject);\n }\n return refObject;\n }\n var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\n function isArray(a) {\n return isArrayImpl(a);\n }\n\n /*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n // $FlowFixMe only called in DEV, so void return is not possible.\n function typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n } // $FlowFixMe only called in DEV, so void return is not possible.\n\n function willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n }\n function testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n }\n function checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n }\n\n function getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n if (displayName) {\n return displayName;\n }\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n } // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n function getContextName(type) {\n return type.displayName || 'Context';\n } // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n function getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n if (typeof type === 'string') {\n return type;\n }\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n case REACT_PORTAL_TYPE:\n return 'Portal';\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n }\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n if (outerName !== null) {\n return outerName;\n }\n return getComponentNameFromType(type.type) || 'Memo';\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n }\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n };\n var specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n {\n didWarnAboutStringRefs = {};\n }\n function hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n return config.ref !== undefined;\n }\n function hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n return config.key !== undefined;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n function defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n function warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n }\n /**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n var ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n return element;\n };\n /**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\n function createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n key = '' + config.key;\n }\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n props.children = childArray;\n } // Resolve default props\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n function cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n }\n /**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\n function cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n key = '' + config.key;\n } // Remaining properties override existing props\n\n var defaultProps;\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n props.children = childArray;\n }\n return ReactElement(element.type, key, ref, self, source, owner, props);\n }\n /**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n function isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n var SEPARATOR = '.';\n var SUBSEPARATOR = ':';\n /**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\n function escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n }\n /**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n var didWarnAboutMaps = false;\n var userProvidedKeyEscapeRegex = /\\/+/g;\n function escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n }\n /**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n function getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n return index.toString(36);\n }\n function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n var invokeCallback = false;\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n }\n }\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n mappedChild = cloneAndReplaceKey(mappedChild,\n // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + (\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ?\n // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n array.push(mappedChild);\n }\n return 1;\n }\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n didWarnAboutMaps = true;\n }\n }\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n return subtreeCount;\n }\n\n /**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\n function mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n }\n /**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n function countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n\n return n;\n }\n\n /**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\n function forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n }\n /**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n function toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n }\n /**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n function onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n return children;\n }\n function createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {\n if (!hasWarnedAboutDisplayNameOnConsumer) {\n warn('Setting `displayName` on Context.Consumer has no effect. ' + \"You should set it directly on the context with Context.displayName = '%s'.\", displayName);\n hasWarnedAboutDisplayNameOnConsumer = true;\n }\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n return context;\n }\n var Uninitialized = -1;\n var Pending = 0;\n var Resolved = 1;\n var Rejected = 2;\n function lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' +\n // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' +\n // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n }\n function lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n return lazyType;\n }\n function forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n return elementType;\n }\n var REACT_MODULE_REFERENCE;\n {\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n }\n function isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) {\n return true;\n }\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE ||\n // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n return false;\n }\n function memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n return elementType;\n }\n function resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n return dispatcher;\n }\n function useContext(Context) {\n var dispatcher = resolveDispatcher();\n {\n // TODO: add a more generic warning for invalid values.\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n return dispatcher.useContext(Context);\n }\n function useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n }\n function useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n }\n function useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n }\n function useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n }\n function useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n }\n function useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n }\n function useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n }\n function useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n }\n function useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n }\n function useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n }\n function useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n }\n function useDeferredValue(value) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value);\n }\n function useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n }\n function useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n }\n\n // Helpers to patch console.logs to avoid logging during side-effect free\n // replaying on render function. This currently only patches the object\n // lazily which won't cover if the log function was extracted eagerly.\n // We could also eagerly patch the method.\n var disabledDepth = 0;\n var prevLog;\n var prevInfo;\n var prevWarn;\n var prevError;\n var prevGroup;\n var prevGroupCollapsed;\n var prevGroupEnd;\n function disabledLog() {}\n disabledLog.__reactDisabledLog = true;\n function disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n }\n function reenableLogs() {\n {\n disabledDepth--;\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n }\n var ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;\n var prefix;\n function describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n return '\\n' + prefix + name;\n }\n }\n var reentry = false;\n var componentFrameCache;\n {\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n }\n function describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n {\n var frame = componentFrameCache.get(fn);\n if (frame !== undefined) {\n return frame;\n }\n }\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n {\n previousDispatcher = ReactCurrentDispatcher$1.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$1.current = null;\n disableLogs();\n }\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n if (fn.displayName && _frame.includes('')) {\n _frame = _frame.replace('', fn.displayName);\n }\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n break;\n }\n }\n }\n } finally {\n reentry = false;\n {\n ReactCurrentDispatcher$1.current = previousDispatcher;\n reenableLogs();\n }\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n return syntheticFrame;\n }\n function describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n }\n function shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n }\n function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n if (type == null) {\n return '';\n }\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n return '';\n }\n var loggedTypeFailures = {};\n var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n function setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n }\n function checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n setCurrentlyValidatingElement(null);\n }\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n error('Failed %s type: %s', location, error$1.message);\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n }\n function setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n setExtraStackFrame(stack);\n } else {\n setExtraStackFrame(null);\n }\n }\n }\n var propTypesMisspellWarningShown;\n {\n propTypesMisspellWarningShown = false;\n }\n function getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n return '';\n }\n function getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n return '';\n }\n function getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n return '';\n }\n /**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n var ownerHasKeyUseWarning = {};\n function getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n return info;\n }\n /**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n function validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n {\n setCurrentlyValidatingElement$1(element);\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n setCurrentlyValidatingElement$1(null);\n }\n }\n /**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n function validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n /**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n function validatePropTypes(element) {\n {\n var type = element.type;\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n var propTypes;\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE ||\n // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n }\n /**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n function validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n setCurrentlyValidatingElement$1(null);\n }\n }\n }\n function createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n var typeString;\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n return element;\n }\n var didWarnAboutDeprecatedCreateFactory = false;\n function createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n return validatedFactory;\n }\n function cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n validatePropTypes(newElement);\n return newElement;\n }\n function startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = {};\n var currentTransition = ReactCurrentBatchConfig.transition;\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n try {\n scope();\n } finally {\n ReactCurrentBatchConfig.transition = prevTransition;\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n currentTransition._updatedFibers.clear();\n }\n }\n }\n }\n var didWarnAboutMessageChannel = false;\n var enqueueTaskImpl = null;\n function enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n return enqueueTaskImpl(task);\n }\n var actScopeDepth = 0;\n var didWarnNoAwaitAct = false;\n function act(callback) {\n {\n // `act` calls can be nested, so we track the depth. This represents the\n // number of `act` scopes on the stack.\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n if (ReactCurrentActQueue.current === null) {\n // This is the outermost `act` scope. Initialize the queue. The reconciler\n // will detect the queue and use it instead of Scheduler.\n ReactCurrentActQueue.current = [];\n }\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var result;\n try {\n // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n ReactCurrentActQueue.isBatchingLegacy = true;\n result = callback(); // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) {\n var queue = ReactCurrentActQueue.current;\n if (queue !== null) {\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n flushActQueue(queue);\n }\n }\n } catch (error) {\n popActScope(prevActScopeDepth);\n throw error;\n } finally {\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n }\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n var thenableResult = result; // The callback is an async function (i.e. returned a promise). Wait\n // for it to resolve before exiting the current scope.\n\n var wasAwaited = false;\n var thenable = {\n then: function (resolve, reject) {\n wasAwaited = true;\n thenableResult.then(function (returnValue) {\n popActScope(prevActScopeDepth);\n if (actScopeDepth === 0) {\n // We've exited the outermost act scope. Recursively flush the\n // queue until there's no remaining work.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n // The callback threw an error.\n popActScope(prevActScopeDepth);\n reject(error);\n });\n }\n };\n {\n if (!didWarnNoAwaitAct && typeof Promise !== 'undefined') {\n // eslint-disable-next-line no-undef\n Promise.resolve().then(function () {}).then(function () {\n if (!wasAwaited) {\n didWarnNoAwaitAct = true;\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n }\n }\n return thenable;\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current scope\n // immediately, without awaiting.\n\n popActScope(prevActScopeDepth);\n if (actScopeDepth === 0) {\n // Exiting the outermost act scope. Flush the queue.\n var _queue = ReactCurrentActQueue.current;\n if (_queue !== null) {\n flushActQueue(_queue);\n ReactCurrentActQueue.current = null;\n } // Return a thenable. If the user awaits it, we'll flush again in\n // case additional work was scheduled by a microtask.\n\n var _thenable = {\n then: function (resolve, reject) {\n // Confirm we haven't re-entered another `act` scope, in case\n // the user does something weird like await the thenable\n // multiple times.\n if (ReactCurrentActQueue.current === null) {\n // Recursively flush the queue until there's no remaining work.\n ReactCurrentActQueue.current = [];\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }\n };\n return _thenable;\n } else {\n // Since we're inside a nested `act` scope, the returned thenable\n // immediately resolves. The outer scope will flush the queue.\n var _thenable2 = {\n then: function (resolve, reject) {\n resolve(returnValue);\n }\n };\n return _thenable2;\n }\n }\n }\n }\n function popActScope(prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n actScopeDepth = prevActScopeDepth;\n }\n }\n function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n var queue = ReactCurrentActQueue.current;\n if (queue !== null) {\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n if (queue.length === 0) {\n // No additional work was scheduled. Finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n } else {\n // Keep flushing work until there's none left.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }\n }\n var isFlushing = false;\n function flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n do {\n callback = callback(true);\n } while (callback !== null);\n }\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue = queue.slice(i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n }\n var createElement$1 = createElementWithValidation;\n var cloneElement$1 = cloneElementWithValidation;\n var createFactory = createFactoryWithValidation;\n var Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n };\n exports.Children = Children;\n exports.Component = Component;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.PureComponent = PureComponent;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\n exports.cloneElement = cloneElement$1;\n exports.createContext = createContext;\n exports.createElement = createElement$1;\n exports.createFactory = createFactory;\n exports.createRef = createRef;\n exports.forwardRef = forwardRef;\n exports.isValidElement = isValidElement;\n exports.lazy = lazy;\n exports.memo = memo;\n exports.startTransition = startTransition;\n exports.unstable_act = act;\n exports.useCallback = useCallback;\n exports.useContext = useContext;\n exports.useDebugValue = useDebugValue;\n exports.useDeferredValue = useDeferredValue;\n exports.useEffect = useEffect;\n exports.useId = useId;\n exports.useImperativeHandle = useImperativeHandle;\n exports.useInsertionEffect = useInsertionEffect;\n exports.useLayoutEffect = useLayoutEffect;\n exports.useMemo = useMemo;\n exports.useReducer = useReducer;\n exports.useRef = useRef;\n exports.useState = useState;\n exports.useSyncExternalStore = useSyncExternalStore;\n exports.useTransition = useTransition;\n exports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === 'function') {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n }\n })();\n}","map":{"version":3,"names":["process","env","NODE_ENV","__REACT_DEVTOOLS_GLOBAL_HOOK__","registerInternalModuleStart","Error","ReactVersion","REACT_ELEMENT_TYPE","Symbol","for","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","MAYBE_ITERATOR_SYMBOL","iterator","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactCurrentDispatcher","current","ReactCurrentBatchConfig","transition","ReactCurrentActQueue","isBatchingLegacy","didScheduleLegacyUpdate","ReactCurrentOwner","ReactDebugCurrentFrame","currentExtraStackFrame","setExtraStackFrame","stack","getCurrentStack","getStackAddendum","impl","enableScopeAPI","enableCacheElement","enableTransitionTracing","enableLegacyHidden","enableDebugTracing","ReactSharedInternals","warn","format","_len","arguments","length","args","Array","_key","printWarning","error","_len2","_key2","level","concat","argsWithFormat","map","item","String","unshift","Function","prototype","apply","call","console","didWarnStateUpdateForUnmountedComponent","warnNoop","publicInstance","callerName","_constructor","constructor","componentName","displayName","name","warningKey","ReactNoopUpdateQueue","isMounted","enqueueForceUpdate","callback","enqueueReplaceState","completeState","enqueueSetState","partialState","assign","Object","emptyObject","freeze","Component","props","context","updater","refs","isReactComponent","setState","forceUpdate","deprecatedAPIs","replaceState","defineDeprecationWarning","methodName","info","defineProperty","get","undefined","fnName","hasOwnProperty","ComponentDummy","PureComponent","pureComponentPrototype","isPureReactComponent","createRef","refObject","seal","isArrayImpl","isArray","a","typeName","value","hasToStringTag","toStringTag","type","willCoercionThrow","testStringCoercion","e","checkKeyStringCoercion","getWrappedName","outerType","innerType","wrapperName","functionName","getContextName","getComponentNameFromType","tag","$$typeof","provider","_context","render","outerName","lazyComponent","payload","_payload","init","_init","x","RESERVED_PROPS","key","ref","__self","__source","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","hasValidRef","config","getter","getOwnPropertyDescriptor","isReactWarning","hasValidKey","defineKeyPropWarningGetter","warnAboutAccessingKey","configurable","defineRefPropWarningGetter","warnAboutAccessingRef","warnIfStringRefCannotBeAutoConverted","stateNode","ReactElement","self","source","owner","element","_owner","_store","enumerable","writable","createElement","children","propName","childrenLength","childArray","i","defaultProps","cloneAndReplaceKey","oldElement","newKey","newElement","_self","_source","cloneElement","isValidElement","object","SEPARATOR","SUBSEPARATOR","escape","escapeRegex","escaperLookup","escapedString","replace","match","didWarnAboutMaps","userProvidedKeyEscapeRegex","escapeUserProvidedKey","text","getElementKey","index","toString","mapIntoArray","array","escapedPrefix","nameSoFar","invokeCallback","_child","mappedChild","childKey","escapedChildKey","c","push","child","nextName","subtreeCount","nextNamePrefix","iteratorFn","iterableChildren","entries","step","ii","next","done","childrenString","keys","join","mapChildren","func","result","count","countChildren","n","forEachChildren","forEachFunc","forEachContext","toArray","onlyChild","createContext","defaultValue","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","hasWarnedAboutUsingNestedContextConsumers","hasWarnedAboutUsingConsumerProvider","hasWarnedAboutDisplayNameOnConsumer","defineProperties","set","_Provider","_currentRenderer","_currentRenderer2","Uninitialized","Pending","Resolved","Rejected","lazyInitializer","_status","ctor","_result","thenable","then","moduleObject","resolved","rejected","pending","default","lazy","lazyType","propTypes","newDefaultProps","newPropTypes","forwardRef","elementType","ownName","REACT_MODULE_REFERENCE","isValidElementType","getModuleId","memo","compare","resolveDispatcher","dispatcher","useContext","Context","realContext","useState","initialState","useReducer","reducer","initialArg","useRef","initialValue","useEffect","create","deps","useInsertionEffect","useLayoutEffect","useCallback","useMemo","useImperativeHandle","useDebugValue","formatterFn","useTransition","useDeferredValue","useId","useSyncExternalStore","subscribe","getSnapshot","getServerSnapshot","disabledDepth","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","disabledLog","__reactDisabledLog","disableLogs","log","group","groupCollapsed","groupEnd","reenableLogs","ReactCurrentDispatcher$1","prefix","describeBuiltInComponentFrame","ownerFn","trim","reentry","componentFrameCache","PossiblyWeakMap","WeakMap","Map","describeNativeComponentFrame","fn","construct","frame","control","previousPrepareStackTrace","prepareStackTrace","previousDispatcher","Fake","Reflect","sample","sampleLines","split","controlLines","s","_frame","includes","syntheticFrame","describeFunctionComponentFrame","shouldConstruct","describeUnknownElementTypeFrameInDEV","loggedTypeFailures","ReactDebugCurrentFrame$1","setCurrentlyValidatingElement","checkPropTypes","typeSpecs","values","location","has","bind","typeSpecName","error$1","err","ex","message","setCurrentlyValidatingElement$1","propTypesMisspellWarningShown","getDeclarationErrorAddendum","getSourceInfoErrorAddendum","fileName","lineNumber","getSourceInfoErrorAddendumForProps","elementProps","ownerHasKeyUseWarning","getCurrentComponentErrorInfo","parentType","parentName","validateExplicitKey","validated","currentComponentErrorInfo","childOwner","validateChildKeys","node","validatePropTypes","PropTypes","_name","getDefaultProps","isReactClassApproved","validateFragmentProps","fragment","createElementWithValidation","validType","sourceInfo","typeString","didWarnAboutDeprecatedCreateFactory","createFactoryWithValidation","validatedFactory","cloneElementWithValidation","startTransition","scope","options","prevTransition","currentTransition","_updatedFibers","Set","updatedFibersCount","size","clear","didWarnAboutMessageChannel","enqueueTaskImpl","enqueueTask","task","requireString","Math","random","slice","nodeRequire","module","setImmediate","_err","MessageChannel","channel","port1","onmessage","port2","postMessage","actScopeDepth","didWarnNoAwaitAct","act","prevActScopeDepth","prevIsBatchingLegacy","queue","flushActQueue","popActScope","thenableResult","wasAwaited","resolve","reject","returnValue","recursivelyFlushAsyncActWork","Promise","_queue","_thenable","_thenable2","isFlushing","createElement$1","cloneElement$1","createFactory","Children","forEach","only","exports","Fragment","Profiler","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","unstable_act","version","registerInternalModuleStop"],"sources":["/Users/shannonharrison/QuadraTech-1/QuadraTech/node_modules/react/cjs/react.development.js"],"sourcesContent":["/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.2.0';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame = {};\nvar currentExtraStackFrame = null;\nfunction setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n}\n\n{\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render