diff --git a/.gitignore b/.gitignore
index ae975d868..442dbec51 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,6 @@
/.vscode
/frontend/build
-.env
\ No newline at end of file
+.env
+/frontend/node_modules
+.gitignore
+/node_modules
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 000000000..9c6941105
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_04_08_2023_3_43_PM_[Changes]/shelved.patch b/.idea/shelf/Uncommitted_changes_before_Checkout_at_04_08_2023_3_43_PM_[Changes]/shelved.patch
new file mode 100644
index 000000000..b86160497
--- /dev/null
+++ b/.idea/shelf/Uncommitted_changes_before_Checkout_at_04_08_2023_3_43_PM_[Changes]/shelved.patch
@@ -0,0 +1,19 @@
+Index: frontend/src/pages/Learn.js
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
+<+>// import React from 'react';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport axios from 'axios';\r\nimport { Link, useParams } from 'react-router-dom';\r\nimport NavBar from \"./NavBar\";\r\n\r\nfunction Learn({ history }) {\r\n\r\n const [data, setData] = useState([]);\r\n const {id} = useParams();\r\n console.log(\"Lesson id: \", id);\r\n\r\n useEffect(() => {\r\n axios.get(`https://node-de-vcl-huythai855.vercel.app/api/lesson?id=${id}`)\r\n .then(response => {\r\n setData(response.data);\r\n })\r\n .catch(error => {\r\n console.error('Error fetching data:', error);\r\n });\r\n }, [id]);\r\n\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Diễn đàn \r\n
Back home\r\n\r\n
\r\n {data.map(item => (\r\n \r\n Tên bài học: {item.name}\r\n \r\n Độ dài: {item.description}\r\n \r\n Loại bài học: {item.type}\r\n \r\n Nội dung: {item.content}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Learn;\r\n
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/frontend/src/pages/Learn.js b/frontend/src/pages/Learn.js
+--- a/frontend/src/pages/Learn.js (revision 342f70dd6f6eaaf0ec067cc99aa3f8762285933a)
++++ b/frontend/src/pages/Learn.js (date 1691138173241)
+@@ -28,7 +28,7 @@
+
+
+
+-
Diễn đàn
++
Học
+
Back home
+
+
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_04_08_2023_3_43_PM__Changes_.xml b/.idea/shelf/Uncommitted_changes_before_Checkout_at_04_08_2023_3_43_PM__Changes_.xml
new file mode 100644
index 000000000..4f932cfac
--- /dev/null
+++ b/.idea/shelf/Uncommitted_changes_before_Checkout_at_04_08_2023_3_43_PM__Changes_.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/0.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/0.pack
new file mode 100644
index 000000000..554d86ad8
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/0.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/1.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/1.pack
new file mode 100644
index 000000000..cddd38d30
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/1.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/10.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/10.pack
new file mode 100644
index 000000000..1dcfbae1d
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/10.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/11.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/11.pack
new file mode 100644
index 000000000..49e748806
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/11.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/12.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/12.pack
new file mode 100644
index 000000000..8e7100a4c
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/12.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/13.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/13.pack
new file mode 100644
index 000000000..cd0f2fc51
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/13.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/14.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/14.pack
new file mode 100644
index 000000000..a8355fb32
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/14.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/15.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/15.pack
new file mode 100644
index 000000000..1725c759c
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/15.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/16.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/16.pack
new file mode 100644
index 000000000..a6ea93bc2
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/16.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/17.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/17.pack
new file mode 100644
index 000000000..771aa77db
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/17.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/18.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/18.pack
new file mode 100644
index 000000000..2c2732cce
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/18.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/2.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/2.pack
new file mode 100644
index 000000000..5c4e8f5b7
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/2.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/3.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/3.pack
new file mode 100644
index 000000000..57ffaecb8
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/3.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/4.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/4.pack
new file mode 100644
index 000000000..5d91b7028
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/4.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/5.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/5.pack
new file mode 100644
index 000000000..6c147fd48
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/5.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/6.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/6.pack
new file mode 100644
index 000000000..3e8ca40a0
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/6.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/7.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/7.pack
new file mode 100644
index 000000000..0b4b5969e
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/7.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/8.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/8.pack
new file mode 100644
index 000000000..20b674be5
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/8.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/9.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/9.pack
new file mode 100644
index 000000000..abf7eba37
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/9.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/index.pack b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/index.pack
new file mode 100644
index 000000000..2fb8daddb
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/index.pack differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/index.pack.old b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/index.pack.old
new file mode 100644
index 000000000..4c58454ce
Binary files /dev/null and b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/index.pack.old differ
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/shelved.patch b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/shelved.patch
new file mode 100644
index 000000000..7dcfc6d3c
--- /dev/null
+++ b/.idea/shelf/Uncommitted_changes_before_Checkout_at_05_08_2023_6_04_PM_[Changes]/shelved.patch
@@ -0,0 +1,9787 @@
+Index: frontend/node_modules/.cache/babel-loader/7167f4de96b420c7324fc01d21d253cc885cd0a2d671fa01122563f6e5f69707.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/7167f4de96b420c7324fc01d21d253cc885cd0a2d671fa01122563f6e5f69707.json b/frontend/node_modules/.cache/babel-loader/7167f4de96b420c7324fc01d21d253cc885cd0a2d671fa01122563f6e5f69707.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/7167f4de96b420c7324fc01d21d253cc885cd0a2d671fa01122563f6e5f69707.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n/* globals __webpack_hash__ */\nif (module.hot) {\n /** @type {undefined|string} */\n var lastHash;\n var upToDate = function upToDate() {\n return (/** @type {string} */lastHash.indexOf(__webpack_hash__) >= 0\n );\n };\n var log = require(\"./log\");\n var check = function check() {\n module.hot.check(true).then(function (updatedModules) {\n if (!updatedModules) {\n log(\"warning\", \"[HMR] Cannot find update. \" + (typeof window !== \"undefined\" ? \"Need to do a full reload!\" : \"Please reload manually!\"));\n log(\"warning\", \"[HMR] (Probably because of restarting the webpack-dev-server)\");\n if (typeof window !== \"undefined\") {\n window.location.reload();\n }\n return;\n }\n if (!upToDate()) {\n check();\n }\n require(\"./log-apply-result\")(updatedModules, updatedModules);\n if (upToDate()) {\n log(\"info\", \"[HMR] App is up to date.\");\n }\n }).catch(function (err) {\n var status = module.hot.status();\n if ([\"abort\", \"fail\"].indexOf(status) >= 0) {\n log(\"warning\", \"[HMR] Cannot apply update. \" + (typeof window !== \"undefined\" ? \"Need to do a full reload!\" : \"Please reload manually!\"));\n log(\"warning\", \"[HMR] \" + log.formatError(err));\n if (typeof window !== \"undefined\") {\n window.location.reload();\n }\n } else {\n log(\"warning\", \"[HMR] Update failed: \" + log.formatError(err));\n }\n });\n };\n var hotEmitter = require(\"./emitter\");\n hotEmitter.on(\"webpackHotUpdate\", function (currentHash) {\n lastHash = currentHash;\n if (!upToDate() && module.hot.status() === \"idle\") {\n log(\"info\", \"[HMR] Checking for updates on the server...\");\n check();\n }\n });\n log(\"info\", \"[HMR] Waiting for update signal from WDS...\");\n} else {\n throw new Error(\"[HMR] Hot Module Replacement is disabled.\");\n}","map":{"version":3,"names":["module","hot","lastHash","upToDate","indexOf","__webpack_hash__","log","require","check","then","updatedModules","window","location","reload","catch","err","status","formatError","hotEmitter","on","currentHash","Error"],"sources":["/home/charlie/Documents/test-2/fe/node_modules/webpack/hot/dev-server.js"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n/* globals __webpack_hash__ */\nif (module.hot) {\n\t/** @type {undefined|string} */\n\tvar lastHash;\n\tvar upToDate = function upToDate() {\n\t\treturn /** @type {string} */ (lastHash).indexOf(__webpack_hash__) >= 0;\n\t};\n\tvar log = require(\"./log\");\n\tvar check = function check() {\n\t\tmodule.hot\n\t\t\t.check(true)\n\t\t\t.then(function (updatedModules) {\n\t\t\t\tif (!updatedModules) {\n\t\t\t\t\tlog(\n\t\t\t\t\t\t\"warning\",\n\t\t\t\t\t\t\"[HMR] Cannot find update. \" +\n\t\t\t\t\t\t\t(typeof window !== \"undefined\"\n\t\t\t\t\t\t\t\t? \"Need to do a full reload!\"\n\t\t\t\t\t\t\t\t: \"Please reload manually!\")\n\t\t\t\t\t);\n\t\t\t\t\tlog(\n\t\t\t\t\t\t\"warning\",\n\t\t\t\t\t\t\"[HMR] (Probably because of restarting the webpack-dev-server)\"\n\t\t\t\t\t);\n\t\t\t\t\tif (typeof window !== \"undefined\") {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!upToDate()) {\n\t\t\t\t\tcheck();\n\t\t\t\t}\n\n\t\t\t\trequire(\"./log-apply-result\")(updatedModules, updatedModules);\n\n\t\t\t\tif (upToDate()) {\n\t\t\t\t\tlog(\"info\", \"[HMR] App is up to date.\");\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(function (err) {\n\t\t\t\tvar status = module.hot.status();\n\t\t\t\tif ([\"abort\", \"fail\"].indexOf(status) >= 0) {\n\t\t\t\t\tlog(\n\t\t\t\t\t\t\"warning\",\n\t\t\t\t\t\t\"[HMR] Cannot apply update. \" +\n\t\t\t\t\t\t\t(typeof window !== \"undefined\"\n\t\t\t\t\t\t\t\t? \"Need to do a full reload!\"\n\t\t\t\t\t\t\t\t: \"Please reload manually!\")\n\t\t\t\t\t);\n\t\t\t\t\tlog(\"warning\", \"[HMR] \" + log.formatError(err));\n\t\t\t\t\tif (typeof window !== \"undefined\") {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlog(\"warning\", \"[HMR] Update failed: \" + log.formatError(err));\n\t\t\t\t}\n\t\t\t});\n\t};\n\tvar hotEmitter = require(\"./emitter\");\n\thotEmitter.on(\"webpackHotUpdate\", function (currentHash) {\n\t\tlastHash = currentHash;\n\t\tif (!upToDate() && module.hot.status() === \"idle\") {\n\t\t\tlog(\"info\", \"[HMR] Checking for updates on the server...\");\n\t\t\tcheck();\n\t\t}\n\t});\n\tlog(\"info\", \"[HMR] Waiting for update signal from WDS...\");\n} else {\n\tthrow new Error(\"[HMR] Hot Module Replacement is disabled.\");\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,IAAIA,MAAM,CAACC,GAAG,EAAE;EACf;EACA,IAAIC,QAAQ;EACZ,IAAIC,QAAQ,GAAG,SAASA,QAAQA,CAAA,EAAG;IAClC,OAAO,sBAAuBD,QAAQ,CAAEE,OAAO,CAACC,gBAAgB,CAAC,IAAI;IAAC;EACvE,CAAC;EACD,IAAIC,GAAG,GAAGC,OAAO,CAAC,OAAO,CAAC;EAC1B,IAAIC,KAAK,GAAG,SAASA,KAAKA,CAAA,EAAG;IAC5BR,MAAM,CAACC,GAAG,CACRO,KAAK,CAAC,IAAI,CAAC,CACXC,IAAI,CAAC,UAAUC,cAAc,EAAE;MAC/B,IAAI,CAACA,cAAc,EAAE;QACpBJ,GAAG,CACF,SAAS,EACT,4BAA4B,IAC1B,OAAOK,MAAM,KAAK,WAAW,GAC3B,2BAA2B,GAC3B,yBAAyB,CAC9B,CAAC;QACDL,GAAG,CACF,SAAS,EACT,+DACD,CAAC;QACD,IAAI,OAAOK,MAAM,KAAK,WAAW,EAAE;UAClCA,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC,CAAC;QACzB;QACA;MACD;MAEA,IAAI,CAACV,QAAQ,CAAC,CAAC,EAAE;QAChBK,KAAK,CAAC,CAAC;MACR;MAEAD,OAAO,CAAC,oBAAoB,CAAC,CAACG,cAAc,EAAEA,cAAc,CAAC;MAE7D,IAAIP,QAAQ,CAAC,CAAC,EAAE;QACfG,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC;MACxC;IACD,CAAC,CAAC,CACDQ,KAAK,CAAC,UAAUC,GAAG,EAAE;MACrB,IAAIC,MAAM,GAAGhB,MAAM,CAACC,GAAG,CAACe,MAAM,CAAC,CAAC;MAChC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAACZ,OAAO,CAACY,MAAM,CAAC,IAAI,CAAC,EAAE;QAC3CV,GAAG,CACF,SAAS,EACT,6BAA6B,IAC3B,OAAOK,MAAM,KAAK,WAAW,GAC3B,2BAA2B,GAC3B,yBAAyB,CAC9B,CAAC;QACDL,GAAG,CAAC,SAAS,EAAE,QAAQ,GAAGA,GAAG,CAACW,WAAW,CAACF,GAAG,CAAC,CAAC;QAC/C,IAAI,OAAOJ,MAAM,KAAK,WAAW,EAAE;UAClCA,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC,CAAC;QACzB;MACD,CAAC,MAAM;QACNP,GAAG,CAAC,SAAS,EAAE,uBAAuB,GAAGA,GAAG,CAACW,WAAW,CAACF,GAAG,CAAC,CAAC;MAC/D;IACD,CAAC,CAAC;EACJ,CAAC;EACD,IAAIG,UAAU,GAAGX,OAAO,CAAC,WAAW,CAAC;EACrCW,UAAU,CAACC,EAAE,CAAC,kBAAkB,EAAE,UAAUC,WAAW,EAAE;IACxDlB,QAAQ,GAAGkB,WAAW;IACtB,IAAI,CAACjB,QAAQ,CAAC,CAAC,IAAIH,MAAM,CAACC,GAAG,CAACe,MAAM,CAAC,CAAC,KAAK,MAAM,EAAE;MAClDV,GAAG,CAAC,MAAM,EAAE,6CAA6C,CAAC;MAC1DE,KAAK,CAAC,CAAC;IACR;EACD,CAAC,CAAC;EACFF,GAAG,CAAC,MAAM,EAAE,6CAA6C,CAAC;AAC3D,CAAC,MAAM;EACN,MAAM,IAAIe,KAAK,CAAC,2CAA2C,CAAC;AAC7D"},"metadata":{},"sourceType":"script","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/57eb6394e726657466ad801735b1b71a1661e4dd4897b15134df25057b85698c.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/57eb6394e726657466ad801735b1b71a1661e4dd4897b15134df25057b85698c.json b/frontend/node_modules/.cache/babel-loader/57eb6394e726657466ad801735b1b71a1661e4dd4897b15134df25057b85698c.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/57eb6394e726657466ad801735b1b71a1661e4dd4897b15134df25057b85698c.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/pages/HomePage.js\",\n _s = $RefreshSig$();\n// import React from 'react';\n\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link, useParams } from 'react-router-dom';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction HomePage({\n history\n}) {\n _s();\n const [data, setData] = useState([]);\n const param = useParams(); // Lấy giá trị 'name' từ URL\n console.log(\"Name: \", param.name);\n useEffect(() => {\n axios.get('http://localhost:5001/namePage').then(response => {\n setData(response.data);\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(Routes, {\n children: /*#__PURE__*/_jsxDEV(Route, {\n path: \"/login\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 28,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: data\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n children: \"Go to Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 5\n }, this);\n}\n_s(HomePage, \"R0VdyxAYxzDriUqQEISfIS+bMrU=\", false, function () {\n return [useParams];\n});\n_c = HomePage;\nexport default HomePage;\nvar _c;\n$RefreshReg$(_c, \"HomePage\");","map":{"version":3,"names":["React","useEffect","useState","axios","Link","useParams","jsxDEV","_jsxDEV","HomePage","history","_s","data","setData","param","console","log","name","get","then","response","catch","error","children","Routes","Route","path","fileName","_jsxFileName","lineNumber","columnNumber","to","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/pages/HomePage.js"],"sourcesContent":["// import React from 'react';\n\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link, useParams } from 'react-router-dom';\n\nfunction HomePage({ history }) {\n\n const [data, setData] = useState([]);\n const param = useParams(); // Lấy giá trị 'name' từ URL\n console.log(\"Name: \", param.name);\n\n useEffect(() => {\n axios.get('http://localhost:5001/namePage')\n .then(response => {\n setData(response.data);\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n\n\n return (\n \n \n \n \n \n
{data} \n {/* {name} */}\n Home Page \n Go to Home Page\n \n );\n}\n\nexport default HomePage;\n"],"mappings":";;AAAA;;AAEA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,SAAS,QAAQ,kBAAkB;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAEnD,SAASC,QAAQA,CAAC;EAAEC;AAAQ,CAAC,EAAE;EAAAC,EAAA;EAE7B,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGV,QAAQ,CAAC,EAAE,CAAC;EACpC,MAAMW,KAAK,GAAGR,SAAS,CAAC,CAAC,CAAC,CAAC;EAC3BS,OAAO,CAACC,GAAG,CAAC,QAAQ,EAAEF,KAAK,CAACG,IAAI,CAAC;EAEjCf,SAAS,CAAC,MAAM;IACdE,KAAK,CAACc,GAAG,CAAC,gCAAgC,CAAC,CACxCC,IAAI,CAACC,QAAQ,IAAI;MAChBP,OAAO,CAACO,QAAQ,CAACR,IAAI,CAAC;IACxB,CAAC,CAAC,CACDS,KAAK,CAACC,KAAK,IAAI;MACdP,OAAO,CAACO,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;IAC9C,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAIN,oBAEEd,OAAA;IAAAe,QAAA,gBACEf,OAAA,CAACgB,MAAM;MAAAD,QAAA,eACLf,OAAA,CAACiB,KAAK;QAACC,IAAI,EAAC;MAAQ;QAAAC,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAQ;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACvB,CAAC,eACTtB,OAAA;MAAAe,QAAA,EAAKX;IAAI;MAAAe,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAK,CAAC,eAEftB,OAAA;MAAAe,QAAA,EAAI;IAAS;MAAAI,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAI,CAAC,eAClBtB,OAAA,CAACH,IAAI;MAAC0B,EAAE,EAAC,GAAG;MAAAR,QAAA,EAAC;IAAe;MAAAI,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAM,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OAChC,CAAC;AAEV;AAACnB,EAAA,CA9BQF,QAAQ;EAAA,QAGDH,SAAS;AAAA;AAAA0B,EAAA,GAHhBvB,QAAQ;AAgCjB,eAAeA,QAAQ;AAAC,IAAAuB,EAAA;AAAAC,YAAA,CAAAD,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/11bfc317726fdb9defeb67a9550a9b12ad284ac606d5af2ba4e48c05de0773ee.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/11bfc317726fdb9defeb67a9550a9b12ad284ac606d5af2ba4e48c05de0773ee.json b/frontend/node_modules/.cache/babel-loader/11bfc317726fdb9defeb67a9550a9b12ad284ac606d5af2ba4e48c05de0773ee.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/11bfc317726fdb9defeb67a9550a9b12ad284ac606d5af2ba4e48c05de0773ee.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/pages/HomePage.js\",\n _s = $RefreshSig$();\n// import React from 'react';\n\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link, useParams } from 'react-router-dom';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction HomePage({\n history\n}) {\n _s();\n const [data, setData] = useState([]);\n const param = useParams(); // Lấy giá trị 'name' từ URL\n // console.log(\"Name: \", param.name);\n\n useEffect(() => {\n axios.get('http://localhost:5001/namePage', {\n params: {\n name: param.name\n }\n }).then(response => {\n setData(response.data);\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: data\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 28,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n children: \"Go to Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 5\n }, this);\n}\n_s(HomePage, \"R0VdyxAYxzDriUqQEISfIS+bMrU=\", false, function () {\n return [useParams];\n});\n_c = HomePage;\nexport default HomePage;\nvar _c;\n$RefreshReg$(_c, \"HomePage\");","map":{"version":3,"names":["React","useEffect","useState","axios","Link","useParams","jsxDEV","_jsxDEV","HomePage","history","_s","data","setData","param","get","params","name","then","response","catch","error","console","children","fileName","_jsxFileName","lineNumber","columnNumber","to","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/pages/HomePage.js"],"sourcesContent":["// import React from 'react';\n\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link, useParams } from 'react-router-dom';\n\nfunction HomePage({ history }) {\n\n const [data, setData] = useState([]);\n const param = useParams(); // Lấy giá trị 'name' từ URL\n // console.log(\"Name: \", param.name);\n\n useEffect(() => {\n axios.get('http://localhost:5001/namePage', { params: { name: param.name } })\n .then(response => {\n setData(response.data);\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n\n\n return (\n \n \n
{data} \n {/* {name} */}\n Home Page \n Go to Home Page\n \n );\n}\n\nexport default HomePage;\n"],"mappings":";;AAAA;;AAEA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,SAAS,QAAQ,kBAAkB;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAEnD,SAASC,QAAQA,CAAC;EAAEC;AAAQ,CAAC,EAAE;EAAAC,EAAA;EAE7B,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGV,QAAQ,CAAC,EAAE,CAAC;EACpC,MAAMW,KAAK,GAAGR,SAAS,CAAC,CAAC,CAAC,CAAC;EAC3B;;EAEAJ,SAAS,CAAC,MAAM;IACdE,KAAK,CAACW,GAAG,CAAC,gCAAgC,EAAE;MAAEC,MAAM,EAAE;QAAEC,IAAI,EAAEH,KAAK,CAACG;MAAK;IAAE,CAAC,CAAC,CAC1EC,IAAI,CAACC,QAAQ,IAAI;MAChBN,OAAO,CAACM,QAAQ,CAACP,IAAI,CAAC;IACxB,CAAC,CAAC,CACDQ,KAAK,CAACC,KAAK,IAAI;MACdC,OAAO,CAACD,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;IAC9C,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAIN,oBAEEb,OAAA;IAAAe,QAAA,gBACEf,OAAA;MAAAe,QAAA,EAAKX;IAAI;MAAAY,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAK,CAAC,eAEfnB,OAAA;MAAAe,QAAA,EAAI;IAAS;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAI,CAAC,eAClBnB,OAAA,CAACH,IAAI;MAACuB,EAAE,EAAC,GAAG;MAAAL,QAAA,EAAC;IAAe;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAM,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OAChC,CAAC;AAEV;AAAChB,EAAA,CA3BQF,QAAQ;EAAA,QAGDH,SAAS;AAAA;AAAAuB,EAAA,GAHhBpB,QAAQ;AA6BjB,eAAeA,QAAQ;AAAC,IAAAoB,EAAA;AAAAC,YAAA,CAAAD,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/0ccb2d177a828a9a6e950d3b0db882973b042295929dee341d10968840b89da4.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/0ccb2d177a828a9a6e950d3b0db882973b042295929dee341d10968840b89da4.json b/frontend/node_modules/.cache/babel-loader/0ccb2d177a828a9a6e950d3b0db882973b042295929dee341d10968840b89da4.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/0ccb2d177a828a9a6e950d3b0db882973b042295929dee341d10968840b89da4.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/App.js\",\n _s = $RefreshSig$();\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction App() {\n _s();\n const [data, setData] = useState([]);\n useEffect(() => {\n // Gửi yêu cầu lấy dữ liệu từ backend khi component được tải\n axios.get('http://localhost:5000/api/data').then(response => {\n setData(response.data);\n console.log('Data:', response.data);\n console.error('123');\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Sample Web App with ReactJs and NodeJs\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n children: data.map(item => /*#__PURE__*/_jsxDEV(\"li\", {\n children: [item.name, \": \", item.content]\n }, item.id, true, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 5\n }, this);\n}\n_s(App, \"IEMTtLVFIuToo7X/raQbJAxzNQU=\");\n_c = App;\nexport default App;\nvar _c;\n$RefreshReg$(_c, \"App\");","map":{"version":3,"names":["React","useEffect","useState","axios","jsxDEV","_jsxDEV","App","_s","data","setData","get","then","response","console","log","error","catch","children","fileName","_jsxFileName","lineNumber","columnNumber","map","item","name","content","id","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/App.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport axios from 'axios';\n\nfunction App() {\n const [data, setData] = useState([]);\n\n useEffect(() => {\n // Gửi yêu cầu lấy dữ liệu từ backend khi component được tải\n axios.get('http://localhost:5000/api/data')\n .then(response => {\n setData(response.data);\n \n console.log('Data:', response.data);\n console.error('123');\n\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n return (\n \n
Sample Web App with ReactJs and NodeJs \n\n \n
\n {data.map(item => (\n \n {item.name}: {item.content}\n \n ))}\n \n
\n );\n}\n\nexport default App;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAE1B,SAASC,GAAGA,CAAA,EAAG;EAAAC,EAAA;EACb,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGP,QAAQ,CAAC,EAAE,CAAC;EAEpCD,SAAS,CAAC,MAAM;IACd;IACAE,KAAK,CAACO,GAAG,CAAC,gCAAgC,CAAC,CACxCC,IAAI,CAACC,QAAQ,IAAI;MAChBH,OAAO,CAACG,QAAQ,CAACJ,IAAI,CAAC;MAEtBK,OAAO,CAACC,GAAG,CAAC,OAAO,EAAEF,QAAQ,CAACJ,IAAI,CAAC;MACnCK,OAAO,CAACE,KAAK,CAAC,KAAK,CAAC;IAEtB,CAAC,CAAC,CACDC,KAAK,CAACD,KAAK,IAAI;MACdF,OAAO,CAACE,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;IAC9C,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEV,OAAA;IAAAY,QAAA,gBACEZ,OAAA;MAAAY,QAAA,EAAI;IAAsC;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAI,CAAC,eAG/ChB,OAAA;MAAAY,QAAA,EACGT,IAAI,CAACc,GAAG,CAACC,IAAI,iBACZlB,OAAA;QAAAY,QAAA,GACGM,IAAI,CAACC,IAAI,EAAC,IAAE,EAACD,IAAI,CAACE,OAAO;MAAA,GADnBF,IAAI,CAACG,EAAE;QAAAR,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAEZ,CACL;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACA,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACF,CAAC;AAEV;AAACd,EAAA,CAhCQD,GAAG;AAAAqB,EAAA,GAAHrB,GAAG;AAkCZ,eAAeA,GAAG;AAAC,IAAAqB,EAAA;AAAAC,YAAA,CAAAD,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/8513ee10a1e464cab6fe682b01f7a171423496ac36dd3f0f78b657e2c49315ea.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/8513ee10a1e464cab6fe682b01f7a171423496ac36dd3f0f78b657e2c49315ea.json b/frontend/node_modules/.cache/babel-loader/8513ee10a1e464cab6fe682b01f7a171423496ac36dd3f0f78b657e2c49315ea.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/8513ee10a1e464cab6fe682b01f7a171423496ac36dd3f0f78b657e2c49315ea.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n let resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n let i = token._listeners.length;\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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 /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\nexport default CancelToken;","map":{"version":3,"names":["CanceledError","CancelToken","constructor","executor","TypeError","resolvePromise","promise","Promise","promiseExecutor","resolve","token","then","cancel","_listeners","i","length","onfulfilled","_resolve","subscribe","reject","unsubscribe","message","config","request","reason","throwIfRequested","listener","push","index","indexOf","splice","source","c"],"sources":["/home/charlie/Documents/SciPlay-1/frontend/node_modules/axios/lib/cancel/CancelToken.js"],"sourcesContent":["'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/afc142e6f980036b8284f122d94c958807e231c20378b046c8ceea74d2b49794.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/afc142e6f980036b8284f122d94c958807e231c20378b046c8ceea74d2b49794.json b/frontend/node_modules/.cache/babel-loader/afc142e6f980036b8284f122d94c958807e231c20378b046c8ceea74d2b49794.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/afc142e6f980036b8284f122d94c958807e231c20378b046c8ceea74d2b49794.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/pages/HomePage.js\",\n _s = $RefreshSig$();\n// import React from 'react';\n\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link, use } from 'react-router-dom';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction HomePage({\n history\n}) {\n _s();\n const [data, setData] = useState([]);\n useEffect(() => {\n axios.get('http://localhost:5001/namePage').then(response => {\n setData(response.data);\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: data\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 28,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n children: \"Go to Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 5\n }, this);\n}\n_s(HomePage, \"IEMTtLVFIuToo7X/raQbJAxzNQU=\");\n_c = HomePage;\nexport default HomePage;\nvar _c;\n$RefreshReg$(_c, \"HomePage\");","map":{"version":3,"names":["React","useEffect","useState","axios","Link","use","jsxDEV","_jsxDEV","HomePage","history","_s","data","setData","get","then","response","catch","error","console","children","fileName","_jsxFileName","lineNumber","columnNumber","to","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/pages/HomePage.js"],"sourcesContent":["// import React from 'react';\n\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link, use } from 'react-router-dom';\n\nfunction HomePage({ history }) {\n\n const [data, setData] = useState([]);\n\n useEffect(() => {\n axios.get('http://localhost:5001/namePage')\n .then(response => {\n setData(response.data);\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n\n\n\n\n return (\n \n
{data} \n Home Page \n Go to Home Page\n \n );\n}\n\nexport default HomePage;\n"],"mappings":";;AAAA;;AAEA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,GAAG,QAAQ,kBAAkB;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAE7C,SAASC,QAAQA,CAAC;EAAEC;AAAQ,CAAC,EAAE;EAAAC,EAAA;EAE7B,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGV,QAAQ,CAAC,EAAE,CAAC;EAEpCD,SAAS,CAAC,MAAM;IACdE,KAAK,CAACU,GAAG,CAAC,gCAAgC,CAAC,CACxCC,IAAI,CAACC,QAAQ,IAAI;MAChBH,OAAO,CAACG,QAAQ,CAACJ,IAAI,CAAC;IACxB,CAAC,CAAC,CACDK,KAAK,CAACC,KAAK,IAAI;MACdC,OAAO,CAACD,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;IAC9C,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAMN,oBACEV,OAAA;IAAAY,QAAA,gBACEZ,OAAA;MAAAY,QAAA,EAAKR;IAAI;MAAAS,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAK,CAAC,eACfhB,OAAA;MAAAY,QAAA,EAAI;IAAS;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAI,CAAC,eAClBhB,OAAA,CAACH,IAAI;MAACoB,EAAE,EAAC,GAAG;MAAAL,QAAA,EAAC;IAAe;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAM,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OAChC,CAAC;AAEV;AAACb,EAAA,CAzBQF,QAAQ;AAAAiB,EAAA,GAARjB,QAAQ;AA2BjB,eAAeA,QAAQ;AAAC,IAAAiB,EAAA;AAAAC,YAAA,CAAAD,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/bbcf06704e96a425f4280e9b2a3a33d5a0c3aed251f854d7ec8cc5a2608e2975.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/bbcf06704e96a425f4280e9b2a3a33d5a0c3aed251f854d7ec8cc5a2608e2975.json b/frontend/node_modules/.cache/babel-loader/bbcf06704e96a425f4280e9b2a3a33d5a0c3aed251f854d7ec8cc5a2608e2975.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/bbcf06704e96a425f4280e9b2a3a33d5a0c3aed251f854d7ec8cc5a2608e2975.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/pages/Lesson.js\",\n _s = $RefreshSig$();\n// import React from 'react';\n\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link, useParams } from 'react-router-dom';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction Lesson({\n history\n}) {\n _s();\n const [data, setData] = useState([]);\n const {\n id\n } = useParams();\n console.log(\"Lesson id: \", id);\n useEffect(() => {\n axios.get(`http://localhost:5001/namePage?id=${id}`).then(response => {\n setData(response.data);\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, [id]);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"Lesson Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n children: \"Back home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 32,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n children: data.map(item => /*#__PURE__*/_jsxDEV(\"li\", {\n children: [\"T\\xEAn: \", item.name]\n }, item.lesson_id, true, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 5\n }, this);\n}\n_s(Lesson, \"Hy14gf+3WAdkSR+X9Ve5AWoAA8Q=\", false, function () {\n return [useParams];\n});\n_c = Lesson;\nexport default Lesson;\nvar _c;\n$RefreshReg$(_c, \"Lesson\");","map":{"version":3,"names":["React","useEffect","useState","axios","Link","useParams","jsxDEV","_jsxDEV","Lesson","history","_s","data","setData","id","console","log","get","then","response","catch","error","children","fileName","_jsxFileName","lineNumber","columnNumber","to","map","item","name","lesson_id","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/pages/Lesson.js"],"sourcesContent":["// import React from 'react';\n\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link, useParams } from 'react-router-dom';\n\nfunction Lesson({ history }) {\n\n const [data, setData] = useState([]);\n const {id} = useParams();\n console.log(\"Lesson id: \", id);\n\n useEffect(() => {\n axios.get(`http://localhost:5001/namePage?id=${id}`)\n .then(response => {\n setData(response.data);\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, [id]);\n\n\n\n return (\n \n \n {/*
{name} */}\n
Lesson Page \n
Back home\n
\n
\n
\n {data.map(item => (\n \n Tên: {item.name}\n \n \n ))}\n \n \n
\n );\n}\n\nexport default Lesson;\n"],"mappings":";;AAAA;;AAEA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,SAAS,QAAQ,kBAAkB;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAEnD,SAASC,MAAMA,CAAC;EAAEC;AAAQ,CAAC,EAAE;EAAAC,EAAA;EAE3B,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGV,QAAQ,CAAC,EAAE,CAAC;EACpC,MAAM;IAACW;EAAE,CAAC,GAAGR,SAAS,CAAC,CAAC;EACxBS,OAAO,CAACC,GAAG,CAAC,aAAa,EAAEF,EAAE,CAAC;EAE9BZ,SAAS,CAAC,MAAM;IACdE,KAAK,CAACa,GAAG,CAAE,qCAAoCH,EAAG,EAAC,CAAC,CACjDI,IAAI,CAACC,QAAQ,IAAI;MAChBN,OAAO,CAACM,QAAQ,CAACP,IAAI,CAAC;IACxB,CAAC,CAAC,CACDQ,KAAK,CAACC,KAAK,IAAI;MACdN,OAAO,CAACM,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;IAC9C,CAAC,CAAC;EACN,CAAC,EAAE,CAACP,EAAE,CAAC,CAAC;EAIR,oBAEEN,OAAA;IAAAc,QAAA,gBAEEd,OAAA;MAAAc,QAAA,EAAI;IAAW;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAI,CAAC,eACpBlB,OAAA,CAACH,IAAI;MAACsB,EAAE,EAAC,GAAG;MAAAL,QAAA,EAAC;IAAS;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAM,CAAC,eAC7BlB,OAAA;MAAAe,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAK,CAAC,eACNlB,OAAA;MAAAe,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAK,CAAC,eACNlB,OAAA;MAAAc,QAAA,EACGV,IAAI,CAACgB,GAAG,CAACC,IAAI,iBACZrB,OAAA;QAAAc,QAAA,GAAyB,UAClB,EAACO,IAAI,CAACC,IAAI;MAAA,GADRD,IAAI,CAACE,SAAS;QAAAR,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAGnB,CACL;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACA,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OAEF,CAAC;AAEV;AAACf,EAAA,CArCQF,MAAM;EAAA,QAGAH,SAAS;AAAA;AAAA0B,EAAA,GAHfvB,MAAM;AAuCf,eAAeA,MAAM;AAAC,IAAAuB,EAAA;AAAAC,YAAA,CAAAD,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/abf62b87ff352dc371c536e2daeecd69debd873ff186b4c0ca43ca26108dcac6.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/abf62b87ff352dc371c536e2daeecd69debd873ff186b4c0ca43ca26108dcac6.json b/frontend/node_modules/.cache/babel-loader/abf62b87ff352dc371c536e2daeecd69debd873ff186b4c0ca43ca26108dcac6.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/abf62b87ff352dc371c536e2daeecd69debd873ff186b4c0ca43ca26108dcac6.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,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":["/home/charlie/Documents/test-2/fe/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,QAAQA,CAAA,EAAG;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,CAAC,CAAC;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
+Index: frontend/node_modules/.cache/babel-loader/b66982d217e070301f6dc1d078c4b0ef829a9a55993dc8e837f9c3eaa9c35421.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/b66982d217e070301f6dc1d078c4b0ef829a9a55993dc8e837f9c3eaa9c35421.json b/frontend/node_modules/.cache/babel-loader/b66982d217e070301f6dc1d078c4b0ef829a9a55993dc8e837f9c3eaa9c35421.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/b66982d217e070301f6dc1d078c4b0ef829a9a55993dc8e837f9c3eaa9c35421.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"'use strict';\n\nrequire('../modules/es.global-this');\nmodule.exports = require('../internals/global');","map":{"version":3,"names":["require","module","exports"],"sources":["/home/charlie/Documents/test-2/fe/node_modules/core-js-pure/es/global-this.js"],"sourcesContent":["'use strict';\nrequire('../modules/es.global-this');\n\nmodule.exports = require('../internals/global');\n"],"mappings":"AAAA,YAAY;;AACZA,OAAO,CAAC,2BAA2B,CAAC;AAEpCC,MAAM,CAACC,OAAO,GAAGF,OAAO,CAAC,qBAAqB,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/3e662f8ca44e037f6626456d824b90fe5c3024d074b6ecc4f1951d31698005fe.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/3e662f8ca44e037f6626456d824b90fe5c3024d074b6ecc4f1951d31698005fe.json b/frontend/node_modules/.cache/babel-loader/3e662f8ca44e037f6626456d824b90fe5c3024d074b6ecc4f1951d31698005fe.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/3e662f8ca44e037f6626456d824b90fe5c3024d074b6ecc4f1951d31698005fe.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/pages/Home.js\",\n _s = $RefreshSig$();\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link } from 'react-router-dom';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction Home() {\n _s();\n const [data, setData] = useState([]);\n useEffect(() => {\n axios.get('http://localhost:5001/api/data').then(response => {\n setData(response.data);\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n // Gửi thông tin name về backend khi bấm vào đường link\n const handleClick = name => {\n console.log('Clicked on:', name);\n axios.post('http://localhost:5001/api/', {\n name\n }).then(response => {\n // \n }).catch(error => {\n console.error('Error sending data:', error);\n });\n };\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Ch\\xE0o m\\u1EEBng \\u0111\\u1EBFn v\\u1EDBi SciPlay\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"H\\xF4m nay b\\u1EA1n mu\\u1ED1n h\\u1ECDc g\\xEC?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Trang ch\\u1EE7\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"H\\u1ECDc\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Th\\u1EED Th\\xE1ch\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 46,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"X\\u1EBFp h\\u1EA1ng\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 49,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Di\\u1EC5n \\u0111\\xE0n\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 53,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"C\\u1EEDa h\\xE0ng\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 56,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 55,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"C\\xE1c kh\\xF3a \\u0111ang h\\u1ECDc\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n children: data.map(item => /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: `/details/${item.name}`,\n onClick: () => handleClick(item.name),\n children: [item.name, \": \", item.description]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 65,\n columnNumber: 13\n }, this)\n }, item.id, false, {\n fileName: _jsxFileName,\n lineNumber: 64,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 5\n }, this);\n}\n_s(Home, \"IEMTtLVFIuToo7X/raQbJAxzNQU=\");\n_c = Home;\nexport default Home;\nvar _c;\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"names":["React","useEffect","useState","axios","Link","jsxDEV","_jsxDEV","Home","_s","data","setData","get","then","response","catch","error","console","handleClick","name","log","post","children","fileName","_jsxFileName","lineNumber","columnNumber","to","map","item","onClick","description","id","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/pages/Home.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link } from 'react-router-dom';\n\nfunction Home() {\n const [data, setData] = useState([]);\n\n useEffect(() => {\n axios.get('http://localhost:5001/api/data')\n .then(response => {\n setData(response.data);\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n\n // Gửi thông tin name về backend khi bấm vào đường link\n const handleClick = (name) => {\n console.log('Clicked on:', name);\n\n axios.post('http://localhost:5001/api/', { name })\n .then(response => {\n // \n })\n .catch(error => {\n console.error('Error sending data:', error);\n });\n };\n\n\n\n return (\n \n
Chào mừng đến với SciPlay \n
Hôm nay bạn muốn học gì? \n\n
\n \n Trang chủ\n \n \n Học\n \n \n Thử Thách\n \n \n Xếp hạng\n \n \n Diễn đàn\n \n \n Cửa hàng\n \n \n\n
\n
Các khóa đang học \n
\n {data.map(item => (\n \n handleClick(item.name)}>\n {item.name}: {item.description}\n \n \n ))}\n \n \n
\n );\n}\n\nexport default Home;\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/446596beb758b87aeb5fc3530d4643f7e5c80b24f34bf7dcbe1c933b6f5af13e.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/446596beb758b87aeb5fc3530d4643f7e5c80b24f34bf7dcbe1c933b6f5af13e.json b/frontend/node_modules/.cache/babel-loader/446596beb758b87aeb5fc3530d4643f7e5c80b24f34bf7dcbe1c933b6f5af13e.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/446596beb758b87aeb5fc3530d4643f7e5c80b24f34bf7dcbe1c933b6f5af13e.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"'use strict';\n\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};","map":{"version":3,"names":["classofRaw","require","uncurryThis","module","exports","fn"],"sources":["/home/charlie/Documents/SciPlay-1/frontend/node_modules/core-js-pure/internals/function-uncurry-this-clause.js"],"sourcesContent":["'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,UAAU,GAAGC,OAAO,CAAC,0BAA0B,CAAC;AACpD,IAAIC,WAAW,GAAGD,OAAO,CAAC,oCAAoC,CAAC;AAE/DE,MAAM,CAACC,OAAO,GAAG,UAAUC,EAAE,EAAE;EAC7B;EACA;EACA;EACA,IAAIL,UAAU,CAACK,EAAE,CAAC,KAAK,UAAU,EAAE,OAAOH,WAAW,CAACG,EAAE,CAAC;AAC3D,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/3afc823575e68e099cfd517b92486c45033d49ae63e9a4bf66d53af74ef87b99.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/3afc823575e68e099cfd517b92486c45033d49ae63e9a4bf66d53af74ef87b99.json b/frontend/node_modules/.cache/babel-loader/3afc823575e68e099cfd517b92486c45033d49ae63e9a4bf66d53af74ef87b99.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/3afc823575e68e099cfd517b92486c45033d49ae63e9a4bf66d53af74ef87b99.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n let resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n let i = token._listeners.length;\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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 /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\nexport default CancelToken;","map":{"version":3,"names":["CanceledError","CancelToken","constructor","executor","TypeError","resolvePromise","promise","Promise","promiseExecutor","resolve","token","then","cancel","_listeners","i","length","onfulfilled","_resolve","subscribe","reject","unsubscribe","message","config","request","reason","throwIfRequested","listener","push","index","indexOf","splice","source","c"],"sources":["/home/charlie/Documents/test-2/fe/node_modules/axios/lib/cancel/CancelToken.js"],"sourcesContent":["'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/2154894ad36f4508ab82e757619fd0ca723475a2011ee81108e0f2cf7ccfaa67.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/2154894ad36f4508ab82e757619fd0ca723475a2011ee81108e0f2cf7ccfaa67.json b/frontend/node_modules/.cache/babel-loader/2154894ad36f4508ab82e757619fd0ca723475a2011ee81108e0f2cf7ccfaa67.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/2154894ad36f4508ab82e757619fd0ca723475a2011ee81108e0f2cf7ccfaa67.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport { VERSION } from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {\n allOwnKeys: true\n });\n\n // Copy context to instance\n utils.extend(instance, context, null, {\n allOwnKeys: true\n });\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\naxios.AxiosHeaders = AxiosHeaders;\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\naxios.HttpStatusCode = HttpStatusCode;\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios;","map":{"version":3,"names":["utils","bind","Axios","mergeConfig","defaults","formDataToJSON","CanceledError","CancelToken","isCancel","VERSION","toFormData","AxiosError","spread","isAxiosError","AxiosHeaders","HttpStatusCode","createInstance","defaultConfig","context","instance","prototype","request","extend","allOwnKeys","create","instanceConfig","axios","Cancel","all","promises","Promise","formToJSON","thing","isHTMLForm","FormData","default"],"sources":["/home/charlie/Documents/SciPlay-1/frontend/node_modules/axios/lib/axios.js"],"sourcesContent":["'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n"],"mappings":"AAAA,YAAY;;AAEZ,OAAOA,KAAK,MAAM,YAAY;AAC9B,OAAOC,IAAI,MAAM,mBAAmB;AACpC,OAAOC,KAAK,MAAM,iBAAiB;AACnC,OAAOC,WAAW,MAAM,uBAAuB;AAC/C,OAAOC,QAAQ,MAAM,qBAAqB;AAC1C,OAAOC,cAAc,MAAM,6BAA6B;AACxD,OAAOC,aAAa,MAAM,2BAA2B;AACrD,OAAOC,WAAW,MAAM,yBAAyB;AACjD,OAAOC,QAAQ,MAAM,sBAAsB;AAC3C,SAAQC,OAAO,QAAO,eAAe;AACrC,OAAOC,UAAU,MAAM,yBAAyB;AAChD,OAAOC,UAAU,MAAM,sBAAsB;AAC7C,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,YAAY,MAAM,2BAA2B;AACpD,OAAOC,YAAY,MAAM,wBAAwB;AACjD,OAAOC,cAAc,MAAM,6BAA6B;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,cAAcA,CAACC,aAAa,EAAE;EACrC,MAAMC,OAAO,GAAG,IAAIhB,KAAK,CAACe,aAAa,CAAC;EACxC,MAAME,QAAQ,GAAGlB,IAAI,CAACC,KAAK,CAACkB,SAAS,CAACC,OAAO,EAAEH,OAAO,CAAC;;EAEvD;EACAlB,KAAK,CAACsB,MAAM,CAACH,QAAQ,EAAEjB,KAAK,CAACkB,SAAS,EAAEF,OAAO,EAAE;IAACK,UAAU,EAAE;EAAI,CAAC,CAAC;;EAEpE;EACAvB,KAAK,CAACsB,MAAM,CAACH,QAAQ,EAAED,OAAO,EAAE,IAAI,EAAE;IAACK,UAAU,EAAE;EAAI,CAAC,CAAC;;EAEzD;EACAJ,QAAQ,CAACK,MAAM,GAAG,SAASA,MAAMA,CAACC,cAAc,EAAE;IAChD,OAAOT,cAAc,CAACb,WAAW,CAACc,aAAa,EAAEQ,cAAc,CAAC,CAAC;EACnE,CAAC;EAED,OAAON,QAAQ;AACjB;;AAEA;AACA,MAAMO,KAAK,GAAGV,cAAc,CAACZ,QAAQ,CAAC;;AAEtC;AACAsB,KAAK,CAACxB,KAAK,GAAGA,KAAK;;AAEnB;AACAwB,KAAK,CAACpB,aAAa,GAAGA,aAAa;AACnCoB,KAAK,CAACnB,WAAW,GAAGA,WAAW;AAC/BmB,KAAK,CAAClB,QAAQ,GAAGA,QAAQ;AACzBkB,KAAK,CAACjB,OAAO,GAAGA,OAAO;AACvBiB,KAAK,CAAChB,UAAU,GAAGA,UAAU;;AAE7B;AACAgB,KAAK,CAACf,UAAU,GAAGA,UAAU;;AAE7B;AACAe,KAAK,CAACC,MAAM,GAAGD,KAAK,CAACpB,aAAa;;AAElC;AACAoB,KAAK,CAACE,GAAG,GAAG,SAASA,GAAGA,CAACC,QAAQ,EAAE;EACjC,OAAOC,OAAO,CAACF,GAAG,CAACC,QAAQ,CAAC;AAC9B,CAAC;AAEDH,KAAK,CAACd,MAAM,GAAGA,MAAM;;AAErB;AACAc,KAAK,CAACb,YAAY,GAAGA,YAAY;;AAEjC;AACAa,KAAK,CAACvB,WAAW,GAAGA,WAAW;AAE/BuB,KAAK,CAACZ,YAAY,GAAGA,YAAY;AAEjCY,KAAK,CAACK,UAAU,GAAGC,KAAK,IAAI3B,cAAc,CAACL,KAAK,CAACiC,UAAU,CAACD,KAAK,CAAC,GAAG,IAAIE,QAAQ,CAACF,KAAK,CAAC,GAAGA,KAAK,CAAC;AAEjGN,KAAK,CAACX,cAAc,GAAGA,cAAc;AAErCW,KAAK,CAACS,OAAO,GAAGT,KAAK;;AAErB;AACA,eAAeA,KAAK"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/fcc102462a3554f60f11f6ae261d6f6ed83b073efd00723b6623cddde1b54b9c.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/fcc102462a3554f60f11f6ae261d6f6ed83b073efd00723b6623cddde1b54b9c.json b/frontend/node_modules/.cache/babel-loader/fcc102462a3554f60f11f6ae261d6f6ed83b073efd00723b6623cddde1b54b9c.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/fcc102462a3554f60f11f6ae261d6f6ed83b073efd00723b6623cddde1b54b9c.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"import React from'react';import ReactDOM from'react-dom/client';import AppRouter from'./AppRouter';import{jsx as _jsx}from\"react/jsx-runtime\";var root=ReactDOM.createRoot(document.getElementById('root'));root.render(/*#__PURE__*/_jsx(React.StrictMode,{children:/*#__PURE__*/_jsx(AppRouter,{})}));// reportWebVitals();","map":{"version":3,"names":["React","ReactDOM","AppRouter","jsx","_jsx","root","createRoot","document","getElementById","render","StrictMode","children"],"sources":["/home/charlie/Documents/test-2/fe/src/index.js"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport AppRouter from './AppRouter';\n\nconst root = ReactDOM.createRoot(document.getElementById('root'));\nroot.render(\n \n \n \n);\n\n// reportWebVitals();\n"],"mappings":"AAAA,MAAO,CAAAA,KAAK,KAAM,OAAO,CACzB,MAAO,CAAAC,QAAQ,KAAM,kBAAkB,CACvC,MAAO,CAAAC,SAAS,KAAM,aAAa,CAAC,OAAAC,GAAA,IAAAC,IAAA,yBAEpC,GAAM,CAAAC,IAAI,CAAGJ,QAAQ,CAACK,UAAU,CAACC,QAAQ,CAACC,cAAc,CAAC,MAAM,CAAC,CAAC,CACjEH,IAAI,CAACI,MAAM,cACTL,IAAA,CAACJ,KAAK,CAACU,UAAU,EAAAC,QAAA,cACfP,IAAA,CAACF,SAAS,GAAE,CAAC,CACG,CACpB,CAAC,CAED"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/f70fe954e79f41f97b79e9387f12115a4b2abeb199e3e03fa1f162775f174560.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/f70fe954e79f41f97b79e9387f12115a4b2abeb199e3e03fa1f162775f174560.json b/frontend/node_modules/.cache/babel-loader/f70fe954e79f41f97b79e9387f12115a4b2abeb199e3e03fa1f162775f174560.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/f70fe954e79f41f97b79e9387f12115a4b2abeb199e3e03fa1f162775f174560.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"'use strict';\n\nmodule.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":["/home/charlie/Documents/test-2/fe/node_modules/core-js-pure/internals/fails.js"],"sourcesContent":["'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n"],"mappings":"AAAA,YAAY;;AACZA,MAAM,CAACC,OAAO,GAAG,UAAUC,IAAI,EAAE;EAC/B,IAAI;IACF,OAAO,CAAC,CAACA,IAAI,CAAC,CAAC;EACjB,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO,IAAI;EACb;AACF,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/a6260ed3635ed4a28a522ba162b857ee7dc1a84ad2a244a5d6bb78a836f1737d.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/a6260ed3635ed4a28a522ba162b857ee7dc1a84ad2a244a5d6bb78a836f1737d.json b/frontend/node_modules/.cache/babel-loader/a6260ed3635ed4a28a522ba162b857ee7dc1a84ad2a244a5d6bb78a836f1737d.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/a6260ed3635ed4a28a522ba162b857ee7dc1a84ad2a244a5d6bb78a836f1737d.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null;\nvar ReflectApply = R && typeof R.apply === 'function' ? R.apply : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n};\nvar ReflectOwnKeys;\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys;\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n};\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function () {\n return defaultMaxListeners;\n },\n set: function (arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\nEventEmitter.init = function () {\n if (this._events === undefined || this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined) return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = type === 'error';\n var events = this._events;\n if (events !== undefined) doError = doError && events.error === undefined;else if (!doError) return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0) er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n if (handler === undefined) return false;\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i) ReflectApply(listeners[i], this, args);\n }\n return true;\n};\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n checkListener(listener);\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type, listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] = prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' + existing.length + ' ' + String(type) + ' listeners ' + 'added. Use emitter.setMaxListeners() to ' + 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n return target;\n}\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\nEventEmitter.prototype.prependListener = function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n};\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0) return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\nfunction _onceWrap(target, type, listener) {\n var state = {\n fired: false,\n wrapFn: undefined,\n target: target,\n type: type,\n listener: listener\n };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\nEventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n};\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener = function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n checkListener(listener);\n events = this._events;\n if (events === undefined) return this;\n list = events[type];\n if (list === undefined) return this;\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0) this._events = Object.create(null);else {\n delete events[type];\n if (events.removeListener) this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n if (position < 0) return this;\n if (position === 0) list.shift();else {\n spliceOne(list, position);\n }\n if (list.length === 1) events[type] = list[0];\n if (events.removeListener !== undefined) this.emit('removeListener', type, originalListener || listener);\n }\n return this;\n};\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {\n var listeners, events, i;\n events = this._events;\n if (events === undefined) return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0) this._events = Object.create(null);else delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n listeners = events[type];\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n return this;\n};\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n if (events === undefined) return [];\n var evlistener = events[type];\n if (evlistener === undefined) return [];\n if (typeof evlistener === 'function') return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\nEventEmitter.listenerCount = function (emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n if (events !== undefined) {\n var evlistener = events[type];\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n return 0;\n}\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i) copy[i] = arr[i];\n return copy;\n}\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++) list[index] = list[index + 1];\n list.pop();\n}\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n }\n ;\n eventTargetAgnosticAddListener(emitter, name, resolver, {\n once: true\n });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, {\n once: true\n });\n }\n });\n}\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}","map":{"version":3,"names":["R","Reflect","ReflectApply","apply","target","receiver","args","Function","prototype","call","ReflectOwnKeys","ownKeys","Object","getOwnPropertySymbols","getOwnPropertyNames","concat","ProcessEmitWarning","warning","console","warn","NumberIsNaN","Number","isNaN","value","EventEmitter","init","module","exports","once","_events","undefined","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","TypeError","defineProperty","enumerable","get","set","arg","RangeError","getPrototypeOf","create","setMaxListeners","n","_getMaxListeners","that","getMaxListeners","emit","type","i","arguments","length","push","doError","events","error","er","Error","err","message","context","handler","len","listeners","arrayClone","_addListener","prepend","m","existing","newListener","unshift","warned","w","String","name","emitter","count","addListener","on","prependListener","onceWrapper","fired","removeListener","wrapFn","_onceWrap","state","wrapped","bind","prependOnceListener","list","position","originalListener","shift","spliceOne","off","removeAllListeners","keys","key","_listeners","unwrap","evlistener","unwrapListeners","rawListeners","listenerCount","eventNames","arr","copy","Array","index","pop","ret","Promise","resolve","reject","errorListener","resolver","slice","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","flags","addEventListener","wrapListener","removeEventListener"],"sources":["/home/charlie/Documents/test-2/fe/node_modules/events/events.js"],"sourcesContent":["// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"script","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/5e60d87c9f7664d411567c1654f640b67843cd386f41dfe8848b065ac35841b9.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/5e60d87c9f7664d411567c1654f640b67843cd386f41dfe8848b065ac35841b9.json b/frontend/node_modules/.cache/babel-loader/5e60d87c9f7664d411567c1654f640b67843cd386f41dfe8848b065ac35841b9.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/5e60d87c9f7664d411567c1654f640b67843cd386f41dfe8848b065ac35841b9.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.fromCodePoint = String.fromCodePoint || function (astralCodePoint) {\n return String.fromCharCode(Math.floor((astralCodePoint - 65536) / 1024) + 55296, (astralCodePoint - 65536) % 1024 + 56320);\n};\nexports.getCodePoint = String.prototype.codePointAt ? function (input, position) {\n return input.codePointAt(position);\n} : function (input, position) {\n return (input.charCodeAt(position) - 55296) * 1024 + input.charCodeAt(position + 1) - 56320 + 65536;\n};\nexports.highSurrogateFrom = 55296;\nexports.highSurrogateTo = 56319;","map":{"version":3,"names":["Object","defineProperty","exports","value","fromCodePoint","String","astralCodePoint","fromCharCode","Math","floor","getCodePoint","prototype","codePointAt","input","position","charCodeAt","highSurrogateFrom","highSurrogateTo"],"sources":["/home/charlie/Documents/test-2/fe/node_modules/html-entities/lib/surrogate-pairs.js"],"sourcesContent":["\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.fromCodePoint=String.fromCodePoint||function(astralCodePoint){return String.fromCharCode(Math.floor((astralCodePoint-65536)/1024)+55296,(astralCodePoint-65536)%1024+56320)};exports.getCodePoint=String.prototype.codePointAt?function(input,position){return input.codePointAt(position)}:function(input,position){return(input.charCodeAt(position)-55296)*1024+input.charCodeAt(position+1)-56320+65536};exports.highSurrogateFrom=55296;exports.highSurrogateTo=56319;"],"mappings":"AAAA,YAAY;;AAACA,MAAM,CAACC,cAAc,CAACC,OAAO,EAAC,YAAY,EAAC;EAACC,KAAK,EAAC;AAAI,CAAC,CAAC;AAACD,OAAO,CAACE,aAAa,GAACC,MAAM,CAACD,aAAa,IAAE,UAASE,eAAe,EAAC;EAAC,OAAOD,MAAM,CAACE,YAAY,CAACC,IAAI,CAACC,KAAK,CAAC,CAACH,eAAe,GAAC,KAAK,IAAE,IAAI,CAAC,GAAC,KAAK,EAAC,CAACA,eAAe,GAAC,KAAK,IAAE,IAAI,GAAC,KAAK,CAAC;AAAA,CAAC;AAACJ,OAAO,CAACQ,YAAY,GAACL,MAAM,CAACM,SAAS,CAACC,WAAW,GAAC,UAASC,KAAK,EAACC,QAAQ,EAAC;EAAC,OAAOD,KAAK,CAACD,WAAW,CAACE,QAAQ,CAAC;AAAA,CAAC,GAAC,UAASD,KAAK,EAACC,QAAQ,EAAC;EAAC,OAAM,CAACD,KAAK,CAACE,UAAU,CAACD,QAAQ,CAAC,GAAC,KAAK,IAAE,IAAI,GAACD,KAAK,CAACE,UAAU,CAACD,QAAQ,GAAC,CAAC,CAAC,GAAC,KAAK,GAAC,KAAK;AAAA,CAAC;AAACZ,OAAO,CAACc,iBAAiB,GAAC,KAAK;AAACd,OAAO,CAACe,eAAe,GAAC,KAAK"},"metadata":{},"sourceType":"script","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/925f798c71b70ffb1be72b48d11aef06bd22ede095fd8f401bf8bdcf37aa90fa.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/925f798c71b70ffb1be72b48d11aef06bd22ede095fd8f401bf8bdcf37aa90fa.json b/frontend/node_modules/.cache/babel-loader/925f798c71b70ffb1be72b48d11aef06bd22ede095fd8f401bf8bdcf37aa90fa.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/925f798c71b70ffb1be72b48d11aef06bd22ede095fd8f401bf8bdcf37aa90fa.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/App.js\",\n _s = $RefreshSig$();\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction App() {\n _s();\n const [data, setData] = useState([]);\n useEffect(() => {\n // Gửi yêu cầu lấy dữ liệu từ backend khi component được tải\n axios.get('http://localhost:5000/api/data').then(response => {\n setData(response.data);\n console.log('Data:', response.data);\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Sample Web App with ReactJs and NodeJs\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n children: data.map(item => /*#__PURE__*/_jsxDEV(\"li\", {\n children: [item.column1, \": \", item.column2, \" \"]\n }, item.id, true, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 5\n }, this);\n}\n_s(App, \"IEMTtLVFIuToo7X/raQbJAxzNQU=\");\n_c = App;\nexport default App;\nvar _c;\n$RefreshReg$(_c, \"App\");","map":{"version":3,"names":["React","useEffect","useState","axios","jsxDEV","_jsxDEV","App","_s","data","setData","get","then","response","console","log","catch","error","children","fileName","_jsxFileName","lineNumber","columnNumber","map","item","column1","column2","id","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/App.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport axios from 'axios';\n\nfunction App() {\n const [data, setData] = useState([]);\n\n useEffect(() => {\n // Gửi yêu cầu lấy dữ liệu từ backend khi component được tải\n axios.get('http://localhost:5000/api/data')\n .then(response => {\n setData(response.data);\n \n console.log('Data:', response.data);\n\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n return (\n \n
Sample Web App with ReactJs and NodeJs \n
\n {data.map(item => (\n \n {item.column1}: {item.column2} {/* Thay column1, column2 bằng các trường trong dữ liệu của bạn */}\n \n ))}\n \n
\n );\n}\n\nexport default App;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAE1B,SAASC,GAAGA,CAAA,EAAG;EAAAC,EAAA;EACb,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGP,QAAQ,CAAC,EAAE,CAAC;EAEpCD,SAAS,CAAC,MAAM;IACd;IACAE,KAAK,CAACO,GAAG,CAAC,gCAAgC,CAAC,CACxCC,IAAI,CAACC,QAAQ,IAAI;MAChBH,OAAO,CAACG,QAAQ,CAACJ,IAAI,CAAC;MAEtBK,OAAO,CAACC,GAAG,CAAC,OAAO,EAAEF,QAAQ,CAACJ,IAAI,CAAC;IAErC,CAAC,CAAC,CACDO,KAAK,CAACC,KAAK,IAAI;MACdH,OAAO,CAACG,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;IAC9C,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEX,OAAA;IAAAY,QAAA,gBACEZ,OAAA;MAAAY,QAAA,EAAI;IAAsC;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAI,CAAC,eAC/ChB,OAAA;MAAAY,QAAA,EACGT,IAAI,CAACc,GAAG,CAACC,IAAI,iBACZlB,OAAA;QAAAY,QAAA,GACGM,IAAI,CAACC,OAAO,EAAC,IAAE,EAACD,IAAI,CAACE,OAAO,EAAC,GAAC;MAAA,GADxBF,IAAI,CAACG,EAAE;QAAAR,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAEZ,CACL;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACA,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACF,CAAC;AAEV;AAACd,EAAA,CA7BQD,GAAG;AAAAqB,EAAA,GAAHrB,GAAG;AA+BZ,eAAeA,GAAG;AAAC,IAAAqB,EAAA;AAAAC,YAAA,CAAAD,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/6cc2460c24f8ba43ccef3a10e35d4055c9ab4ee651dbd756f0f34c845b390d14.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/6cc2460c24f8ba43ccef3a10e35d4055c9ab4ee651dbd756f0f34c845b390d14.json b/frontend/node_modules/.cache/babel-loader/6cc2460c24f8ba43ccef3a10e35d4055c9ab4ee651dbd756f0f34c845b390d14.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/6cc2460c24f8ba43ccef3a10e35d4055c9ab4ee651dbd756f0f34c845b390d14.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/pages/Home.js\",\n _s = $RefreshSig$();\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link } from 'react-router-dom';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction Home() {\n _s();\n const [data, setData] = useState([]);\n const [gifUrl, setGifUrl] = useState([]);\n useEffect(() => {\n axios.get('https://node-de-vcl-huythai855.vercel.app/api/data').then(response => {\n setData(response.data.rows);\n setGifUrl(response.data.gifUrl);\n console.log(response.data);\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n // // Gửi thông tin name về backend khi bấm vào đường link\n // const handleClick = (name) => {\n // console.log('Clicked on: huy thai');\n\n // axios.post('http://localhost:8080/api/routing', { name })\n // .then(response => {\n // // \n // console.log(response.data);\n // })\n // .catch(error => {\n // console.error('Error sending data:', error);\n // });\n // };\n\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Ch\\xE0o m\\u1EEBng \\u0111\\u1EBFn v\\u1EDBi SciPlay\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"H\\xF4m nay b\\u1EA1n mu\\u1ED1n h\\u1ECDc g\\xEC?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Trang ch\\u1EE7\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 46,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 45,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"H\\u1ECDc\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 49,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 48,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Th\\u1EED Th\\xE1ch\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"X\\u1EBFp h\\u1EA1ng\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 55,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Di\\u1EC5n \\u0111\\xE0n\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 58,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"C\\u1EEDa h\\xE0ng\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 65,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"C\\xE1c kh\\xF3a \\u0111ang h\\u1ECDc\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 66,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 68,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 5\n }, this);\n}\n_s(Home, \"gQWqP+4ug/rz/S4svnH2fnaBKzA=\");\n_c = Home;\nexport default Home;\nvar _c;\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"names":["React","useEffect","useState","axios","Link","jsxDEV","_jsxDEV","Home","_s","data","setData","gifUrl","setGifUrl","get","then","response","rows","console","log","catch","error","children","fileName","_jsxFileName","lineNumber","columnNumber","to","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/pages/Home.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link } from 'react-router-dom';\n\nfunction Home() {\n const [data, setData] = useState([]);\n const [gifUrl, setGifUrl] = useState([]);\n\n useEffect(() => {\n axios.get('https://node-de-vcl-huythai855.vercel.app/api/data')\n .then(response => {\n setData(response.data.rows);\n setGifUrl(response.data.gifUrl);\n\n console.log(response.data);\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n\n // // Gửi thông tin name về backend khi bấm vào đường link\n // const handleClick = (name) => {\n // console.log('Clicked on: huy thai');\n\n // axios.post('http://localhost:8080/api/routing', { name })\n // .then(response => {\n // // \n // console.log(response.data);\n // })\n // .catch(error => {\n // console.error('Error sending data:', error);\n // });\n // };\n\n\n\n return (\n \n
Chào mừng đến với SciPlay \n
Hôm nay bạn muốn học gì? \n\n
\n \n Trang chủ\n \n \n Học\n \n \n Thử Thách\n \n \n Xếp hạng\n \n \n Diễn đàn\n \n \n Cửa hàng\n \n \n\n
\n
Các khóa đang học \n \n
\n {/* {data.map(item => (\n \n {item.name} {item.url}\n \n ))} */}\n \n \n
\n );\n}\n\nexport default Home;\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/072f8c2e2bce6e155c0ea918b6d736f67d6e218db153404148ebcb5980b15cb8.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/072f8c2e2bce6e155c0ea918b6d736f67d6e218db153404148ebcb5980b15cb8.json b/frontend/node_modules/.cache/babel-loader/072f8c2e2bce6e155c0ea918b6d736f67d6e218db153404148ebcb5980b15cb8.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/072f8c2e2bce6e155c0ea918b6d736f67d6e218db153404148ebcb5980b15cb8.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"'use strict';\n\nvar NATIVE_BIND = require('../internals/function-bind-native');\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});","map":{"version":3,"names":["NATIVE_BIND","require","FunctionPrototype","Function","prototype","apply","call","module","exports","Reflect","bind","arguments"],"sources":["/home/charlie/Documents/test-2/fe/node_modules/core-js-pure/internals/function-apply.js"],"sourcesContent":["'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,WAAW,GAAGC,OAAO,CAAC,mCAAmC,CAAC;AAE9D,IAAIC,iBAAiB,GAAGC,QAAQ,CAACC,SAAS;AAC1C,IAAIC,KAAK,GAAGH,iBAAiB,CAACG,KAAK;AACnC,IAAIC,IAAI,GAAGJ,iBAAiB,CAACI,IAAI;;AAEjC;AACAC,MAAM,CAACC,OAAO,GAAG,OAAOC,OAAO,IAAI,QAAQ,IAAIA,OAAO,CAACJ,KAAK,KAAKL,WAAW,GAAGM,IAAI,CAACI,IAAI,CAACL,KAAK,CAAC,GAAG,YAAY;EAC5G,OAAOC,IAAI,CAACD,KAAK,CAACA,KAAK,EAAEM,SAAS,CAAC;AACrC,CAAC,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/f02a8f9d4655090b43cbb96bdd5ea7a89bd414b5003b7beb16636922ec014bd7.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/f02a8f9d4655090b43cbb96bdd5ea7a89bd414b5003b7beb16636922ec014bd7.json b/frontend/node_modules/.cache/babel-loader/f02a8f9d4655090b43cbb96bdd5ea7a89bd414b5003b7beb16636922ec014bd7.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/f02a8f9d4655090b43cbb96bdd5ea7a89bd414b5003b7beb16636922ec014bd7.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"'use strict';\n\nvar uncurryThis = require('../internals/function-uncurry-this');\nmodule.exports = uncurryThis({}.isPrototypeOf);","map":{"version":3,"names":["uncurryThis","require","module","exports","isPrototypeOf"],"sources":["/home/charlie/Documents/SciPlay-1/frontend/node_modules/core-js-pure/internals/object-is-prototype-of.js"],"sourcesContent":["'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,WAAW,GAAGC,OAAO,CAAC,oCAAoC,CAAC;AAE/DC,MAAM,CAACC,OAAO,GAAGH,WAAW,CAAC,CAAC,CAAC,CAACI,aAAa,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/18f74eb654289c6b32d74c0ab992707a33b8b59f78ba38c0805fab45fbf14f28.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/18f74eb654289c6b32d74c0ab992707a33b8b59f78ba38c0805fab45fbf14f28.json b/frontend/node_modules/.cache/babel-loader/18f74eb654289c6b32d74c0ab992707a33b8b59f78ba38c0805fab45fbf14f28.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/18f74eb654289c6b32d74c0ab992707a33b8b59f78ba38c0805fab45fbf14f28.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n}","map":{"version":3,"names":["combineURLs","baseURL","relativeURL","replace"],"sources":["/home/charlie/Documents/test-2/fe/node_modules/axios/lib/helpers/combineURLs.js"],"sourcesContent":["'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n"],"mappings":"AAAA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASA,WAAWA,CAACC,OAAO,EAAEC,WAAW,EAAE;EACxD,OAAOA,WAAW,GACdD,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,GAAGD,WAAW,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GACnEF,OAAO;AACb"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/a320c423aa9831ce55d2f37ff4f023dd7a9b6d6c1348c99bf6d447175f8b9ff1.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/a320c423aa9831ce55d2f37ff4f023dd7a9b6d6c1348c99bf6d447175f8b9ff1.json b/frontend/node_modules/.cache/babel-loader/a320c423aa9831ce55d2f37ff4f023dd7a9b6d6c1348c99bf6d447175f8b9ff1.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/a320c423aa9831ce55d2f37ff4f023dd7a9b6d6c1348c99bf6d447175f8b9ff1.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/pages/HomePage.js\",\n _s = $RefreshSig$();\n// import React from 'react';\n\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link, useParams } from 'react-router-dom';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction HomePage({\n history\n}) {\n _s();\n const [data, setData] = useState([]);\n const param = useParams(); // Lấy giá trị 'name' từ URL\n console.log(\"Name: \", param.name);\n useEffect(() => {\n axios.get('http://localhost:5001/namePage').then(response => {\n setData(response.data);\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: data\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n children: \"Go to Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 5\n }, this);\n}\n_s(HomePage, \"R0VdyxAYxzDriUqQEISfIS+bMrU=\", false, function () {\n return [useParams];\n});\n_c = HomePage;\nexport default HomePage;\nvar _c;\n$RefreshReg$(_c, \"HomePage\");","map":{"version":3,"names":["React","useEffect","useState","axios","Link","useParams","jsxDEV","_jsxDEV","HomePage","history","_s","data","setData","param","console","log","name","get","then","response","catch","error","children","fileName","_jsxFileName","lineNumber","columnNumber","to","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/pages/HomePage.js"],"sourcesContent":["// import React from 'react';\n\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link, useParams } from 'react-router-dom';\n\nfunction HomePage({ history }) {\n\n const [data, setData] = useState([]);\n const param = useParams(); // Lấy giá trị 'name' từ URL\n console.log(\"Name: \", param.name);\n\n useEffect(() => {\n axios.get('http://localhost:5001/namePage')\n .then(response => {\n setData(response.data);\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n\n\n return (\n \n
{data} \n {/* {name} */}\n Home Page \n Go to Home Page\n \n );\n}\n\nexport default HomePage;\n"],"mappings":";;AAAA;;AAEA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,SAAS,QAAQ,kBAAkB;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAEnD,SAASC,QAAQA,CAAC;EAAEC;AAAQ,CAAC,EAAE;EAAAC,EAAA;EAE7B,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGV,QAAQ,CAAC,EAAE,CAAC;EACpC,MAAMW,KAAK,GAAGR,SAAS,CAAC,CAAC,CAAC,CAAC;EAC3BS,OAAO,CAACC,GAAG,CAAC,QAAQ,EAAEF,KAAK,CAACG,IAAI,CAAC;EAEjCf,SAAS,CAAC,MAAM;IACdE,KAAK,CAACc,GAAG,CAAC,gCAAgC,CAAC,CACxCC,IAAI,CAACC,QAAQ,IAAI;MAChBP,OAAO,CAACO,QAAQ,CAACR,IAAI,CAAC;IACxB,CAAC,CAAC,CACDS,KAAK,CAACC,KAAK,IAAI;MACdP,OAAO,CAACO,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;IAC9C,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAIN,oBACEd,OAAA;IAAAe,QAAA,gBACEf,OAAA;MAAAe,QAAA,EAAKX;IAAI;MAAAY,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAK,CAAC,eAEfnB,OAAA;MAAAe,QAAA,EAAI;IAAS;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAI,CAAC,eAClBnB,OAAA,CAACH,IAAI;MAACuB,EAAE,EAAC,GAAG;MAAAL,QAAA,EAAC;IAAe;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAM,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OAChC,CAAC;AAEV;AAAChB,EAAA,CA1BQF,QAAQ;EAAA,QAGDH,SAAS;AAAA;AAAAuB,EAAA,GAHhBpB,QAAQ;AA4BjB,eAAeA,QAAQ;AAAC,IAAAoB,EAAA;AAAAC,YAAA,CAAAD,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.bin/webpack
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/frontend/node_modules/.bin/webpack b/frontend/node_modules/.bin/webpack
+--- a/frontend/node_modules/.bin/webpack (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ b/frontend/node_modules/.bin/webpack (date 1691137761669)
+@@ -1,1 +1,12 @@
+-../webpack/bin/webpack.js
+\ No newline at end of file
++#!/bin/sh
++basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
++
++case `uname` in
++ *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
++esac
++
++if [ -x "$basedir/node" ]; then
++ exec "$basedir/node" "$basedir/../webpack/bin/webpack.js" "$@"
++else
++ exec node "$basedir/../webpack/bin/webpack.js" "$@"
++fi
+Index: frontend/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/.bin/semver
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/frontend/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/.bin/semver b/frontend/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/.bin/semver
+--- a/frontend/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/.bin/semver (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ b/frontend/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/.bin/semver (date 1691137761649)
+@@ -1,1 +1,12 @@
+-../semver/bin/semver.js
+\ No newline at end of file
++#!/bin/sh
++basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
++
++case `uname` in
++ *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
++esac
++
++if [ -x "$basedir/node" ]; then
++ exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@"
++else
++ exec node "$basedir/../semver/bin/semver.js" "$@"
++fi
+Index: frontend/node_modules/.bin/tsc
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/frontend/node_modules/.bin/tsc b/frontend/node_modules/.bin/tsc
+--- a/frontend/node_modules/.bin/tsc (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ b/frontend/node_modules/.bin/tsc (date 1691137761665)
+@@ -1,1 +1,12 @@
+-../typescript/bin/tsc
+\ No newline at end of file
++#!/bin/sh
++basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
++
++case `uname` in
++ *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
++esac
++
++if [ -x "$basedir/node" ]; then
++ exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
++else
++ exec node "$basedir/../typescript/bin/tsc" "$@"
++fi
+Index: frontend/node_modules/eslint-plugin-jsx-a11y/node_modules/.bin/semver
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/frontend/node_modules/eslint-plugin-jsx-a11y/node_modules/.bin/semver b/frontend/node_modules/eslint-plugin-jsx-a11y/node_modules/.bin/semver
+--- a/frontend/node_modules/eslint-plugin-jsx-a11y/node_modules/.bin/semver (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ b/frontend/node_modules/eslint-plugin-jsx-a11y/node_modules/.bin/semver (date 1691137761665)
+@@ -1,1 +1,12 @@
+-../semver/bin/semver.js
+\ No newline at end of file
++#!/bin/sh
++basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
++
++case `uname` in
++ *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
++esac
++
++if [ -x "$basedir/node" ]; then
++ exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@"
++else
++ exec node "$basedir/../semver/bin/semver.js" "$@"
++fi
+Index: frontend/node_modules/.cache/babel-loader/b13ca6fd249a02bc30037a3286bbe42dd77da8b2ec6de5ddac1afafc7cf7d4de.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/b13ca6fd249a02bc30037a3286bbe42dd77da8b2ec6de5ddac1afafc7cf7d4de.json b/frontend/node_modules/.cache/babel-loader/b13ca6fd249a02bc30037a3286bbe42dd77da8b2ec6de5ddac1afafc7cf7d4de.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/b13ca6fd249a02bc30037a3286bbe42dd77da8b2ec6de5ddac1afafc7cf7d4de.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/pages/Home.js\",\n _s = $RefreshSig$();\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link } from 'react-router-dom';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction Home() {\n _s();\n const [data, setData] = useState([]);\n useEffect(() => {\n axios.get('http://localhost:5001/api/data').then(response => {\n setData(response.data);\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n // Gửi thông tin name về backend khi bấm vào đường link\n const handleClick = name => {\n axios.post('http://localhost:5000/api/routing', {\n name\n }).then(response => {\n // Xử lý dữ liệu trả về từ backend (nếu cần)\n }).catch(error => {\n console.error('Error sending data:', error);\n });\n };\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Ch\\xE0o m\\u1EEBng \\u0111\\u1EBFn v\\u1EDBi SciPlay\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"H\\xF4m nay b\\u1EA1n mu\\u1ED1n h\\u1ECDc g\\xEC?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Trang ch\\u1EE7\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"H\\u1ECDc\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Th\\u1EED Th\\xE1ch\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 45,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"X\\u1EBFp h\\u1EA1ng\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 48,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Di\\u1EC5n \\u0111\\xE0n\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"C\\u1EEDa h\\xE0ng\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 53,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 58,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"C\\xE1c kh\\xF3a \\u0111ang h\\u1ECDc\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n children: data.map(item => /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: `/homepage`,\n onClick: () => handleClick(item.name),\n children: [item.name, \": \", item.description]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 64,\n columnNumber: 13\n }, this)\n }, item.id, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 5\n }, this);\n}\n_s(Home, \"IEMTtLVFIuToo7X/raQbJAxzNQU=\");\n_c = Home;\nexport default Home;\nvar _c;\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"names":["React","useEffect","useState","axios","Link","jsxDEV","_jsxDEV","Home","_s","data","setData","get","then","response","catch","error","console","handleClick","name","post","children","fileName","_jsxFileName","lineNumber","columnNumber","to","map","item","onClick","description","id","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/pages/Home.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link } from 'react-router-dom';\n\nfunction Home() {\n const [data, setData] = useState([]);\n\n useEffect(() => {\n axios.get('http://localhost:5001/api/data')\n .then(response => {\n setData(response.data);\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n\n // Gửi thông tin name về backend khi bấm vào đường link\n const handleClick = (name) => {\n axios.post('http://localhost:5000/api/routing', { name })\n .then(response => {\n // Xử lý dữ liệu trả về từ backend (nếu cần)\n })\n .catch(error => {\n console.error('Error sending data:', error);\n });\n };\n\n\n\n return (\n \n
Chào mừng đến với SciPlay \n
Hôm nay bạn muốn học gì? \n\n
\n \n Trang chủ\n \n \n Học\n \n \n Thử Thách\n \n \n Xếp hạng\n \n \n Diễn đàn\n \n \n Cửa hàng\n \n \n\n
\n
Các khóa đang học \n
\n {data.map(item => (\n \n {/* handleClick(item.name)}> */}\n handleClick(item.name)}>\n {item.name}: {item.description}\n \n \n ))}\n \n
\n );\n}\n\nexport default Home;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAExC,SAASC,IAAIA,CAAA,EAAG;EAAAC,EAAA;EACd,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGR,QAAQ,CAAC,EAAE,CAAC;EAEpCD,SAAS,CAAC,MAAM;IACdE,KAAK,CAACQ,GAAG,CAAC,gCAAgC,CAAC,CACxCC,IAAI,CAACC,QAAQ,IAAI;MAChBH,OAAO,CAACG,QAAQ,CAACJ,IAAI,CAAC;IACxB,CAAC,CAAC,CACDK,KAAK,CAACC,KAAK,IAAI;MACdC,OAAO,CAACD,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;IAC9C,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;;EAGN;EACA,MAAME,WAAW,GAAIC,IAAI,IAAK;IAC5Bf,KAAK,CAACgB,IAAI,CAAC,mCAAmC,EAAE;MAAED;IAAK,CAAC,CAAC,CACtDN,IAAI,CAACC,QAAQ,IAAI;MAChB;IAAA,CACD,CAAC,CACDC,KAAK,CAACC,KAAK,IAAI;MACdC,OAAO,CAACD,KAAK,CAAC,qBAAqB,EAAEA,KAAK,CAAC;IAC7C,CAAC,CAAC;EACN,CAAC;EAID,oBACET,OAAA;IAAAc,QAAA,gBACEd,OAAA;MAAAc,QAAA,EAAI;IAAyB;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAI,CAAC,eAClClB,OAAA;MAAAc,QAAA,EAAI;IAAwB;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAI,CAAC,eAEjClB,OAAA;MAAAc,QAAA,gBACEd,OAAA;QAAAc,QAAA,eACEd,OAAA,CAACF,IAAI;UAACqB,EAAE,EAAC,WAAW;UAAAL,QAAA,EAAC;QAAS;UAAAC,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAM;MAAC;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACnC,CAAC,eACLlB,OAAA;QAAAc,QAAA,eACEd,OAAA,CAACF,IAAI;UAACqB,EAAE,EAAC,WAAW;UAAAL,QAAA,EAAC;QAAG;UAAAC,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAM;MAAC;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAC7B,CAAC,eACLlB,OAAA;QAAAc,QAAA,eACEd,OAAA,CAACF,IAAI;UAACqB,EAAE,EAAC,WAAW;UAAAL,QAAA,EAAC;QAAS;UAAAC,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAM;MAAC;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACnC,CAAC,eACLlB,OAAA;QAAAc,QAAA,eACEd,OAAA,CAACF,IAAI;UAACqB,EAAE,EAAC,WAAW;UAAAL,QAAA,EAAC;QAAQ;UAAAC,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAM;MAAC;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAClC,CAAC,eACLlB,OAAA;QAAAc,QAAA,eACEd,OAAA,CAACF,IAAI;UAACqB,EAAE,EAAC,WAAW;UAAAL,QAAA,EAAC;QAAQ;UAAAC,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAM;MAAC;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAClC,CAAC,eACLlB,OAAA;QAAAc,QAAA,eACEd,OAAA,CAACF,IAAI;UAACqB,EAAE,EAAC,WAAW;UAAAL,QAAA,EAAC;QAAQ;UAAAC,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAM;MAAC;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAClC,CAAC;IAAA;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACH,CAAC,eAELlB,OAAA;MAAAe,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAK,CAAC,eACNlB,OAAA;MAAAc,QAAA,EAAI;IAAiB;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAI,CAAC,eAC1BlB,OAAA;MAAAc,QAAA,EACGX,IAAI,CAACiB,GAAG,CAACC,IAAI,iBACZrB,OAAA;QAAAc,QAAA,eAEEd,OAAA,CAACF,IAAI;UAACqB,EAAE,EAAG,WAAW;UAACG,OAAO,EAAEA,CAAA,KAAMX,WAAW,CAACU,IAAI,CAACT,IAAI,CAAE;UAAAE,QAAA,GAC1DO,IAAI,CAACT,IAAI,EAAC,IAAE,EAACS,IAAI,CAACE,WAAW;QAAA;UAAAR,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAC1B;MAAC,GAJAG,IAAI,CAACG,EAAE;QAAAT,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAKZ,CACL;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACA,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACF,CAAC;AAEV;AAAChB,EAAA,CAnEQD,IAAI;AAAAwB,EAAA,GAAJxB,IAAI;AAqEb,eAAeA,IAAI;AAAC,IAAAwB,EAAA;AAAAC,YAAA,CAAAD,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/9cb096e5c3517415bddd864f1e69ca417f57e206d643b2f84888e6d9c78fe70f.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/9cb096e5c3517415bddd864f1e69ca417f57e206d643b2f84888e6d9c78fe70f.json b/frontend/node_modules/.cache/babel-loader/9cb096e5c3517415bddd864f1e69ca417f57e206d643b2f84888e6d9c78fe70f.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/9cb096e5c3517415bddd864f1e69ca417f57e206d643b2f84888e6d9c78fe70f.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"'use strict';\n\nvar 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}() || this || Function('return this')();","map":{"version":3,"names":["check","it","Math","module","exports","globalThis","window","self","global","Function"],"sources":["/home/charlie/Documents/SciPlay-1/frontend/node_modules/core-js-pure/internals/global.js"],"sourcesContent":["'use strict';\nvar 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; })() || this || Function('return this')();\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,KAAK,GAAG,SAAAA,CAAUC,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,CAAE,CAAC,IAAI,IAAI,IAAIC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC"},"metadata":{},"sourceType":"script","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/c98897f4d249b56bdcc751f1893d88cb68d6061529e737c5e176097ff834dbc7.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/c98897f4d249b56bdcc751f1893d88cb68d6061529e737c5e176097ff834dbc7.json b/frontend/node_modules/.cache/babel-loader/c98897f4d249b56bdcc751f1893d88cb68d6061529e737c5e176097ff834dbc7.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/c98897f4d249b56bdcc751f1893d88cb68d6061529e737c5e176097ff834dbc7.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/pages/Lesson.js\",\n _s = $RefreshSig$();\n// import React from 'react';\n\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link, useParams } from 'react-router-dom';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction Lesson({\n history\n}) {\n _s();\n const [data, setData] = useState([]);\n const {\n id\n } = useParams();\n console.log(\"Lesson id: \", id);\n useEffect(() => {\n axios.get(`http://localhost:5001/namePage?id=${id}`).then(response => {\n setData(response.data);\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"Lesson Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n children: \"Back home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 5\n }, this);\n}\n_s(Lesson, \"Hy14gf+3WAdkSR+X9Ve5AWoAA8Q=\", false, function () {\n return [useParams];\n});\n_c = Lesson;\nexport default Lesson;\nvar _c;\n$RefreshReg$(_c, \"Lesson\");","map":{"version":3,"names":["React","useEffect","useState","axios","Link","useParams","jsxDEV","_jsxDEV","Lesson","history","_s","data","setData","id","console","log","get","then","response","catch","error","children","fileName","_jsxFileName","lineNumber","columnNumber","to","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/pages/Lesson.js"],"sourcesContent":["// import React from 'react';\n\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link, useParams } from 'react-router-dom';\n\nfunction Lesson({ history }) {\n\n const [data, setData] = useState([]);\n const {id} = useParams();\n console.log(\"Lesson id: \", id);\n\n useEffect(() => {\n axios.get(`http://localhost:5001/namePage?id=${id}`)\n .then(response => {\n setData(response.data);\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n\n\n return (\n \n \n {/*
{name} */}\n Lesson Page \n Back home\n\n \n\n \n );\n}\n\nexport default Lesson;\n"],"mappings":";;AAAA;;AAEA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,SAAS,QAAQ,kBAAkB;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAEnD,SAASC,MAAMA,CAAC;EAAEC;AAAQ,CAAC,EAAE;EAAAC,EAAA;EAE3B,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGV,QAAQ,CAAC,EAAE,CAAC;EACpC,MAAM;IAACW;EAAE,CAAC,GAAGR,SAAS,CAAC,CAAC;EACxBS,OAAO,CAACC,GAAG,CAAC,aAAa,EAAEF,EAAE,CAAC;EAE9BZ,SAAS,CAAC,MAAM;IACdE,KAAK,CAACa,GAAG,CAAE,qCAAoCH,EAAG,EAAC,CAAC,CACjDI,IAAI,CAACC,QAAQ,IAAI;MAChBN,OAAO,CAACM,QAAQ,CAACP,IAAI,CAAC;IACxB,CAAC,CAAC,CACDQ,KAAK,CAACC,KAAK,IAAI;MACdN,OAAO,CAACM,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;IAC9C,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAIN,oBAEEb,OAAA;IAAAc,QAAA,gBAEEd,OAAA;MAAAc,QAAA,EAAI;IAAW;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAI,CAAC,eACpBlB,OAAA,CAACH,IAAI;MAACsB,EAAE,EAAC,GAAG;MAAAL,QAAA,EAAC;IAAS;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAM,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OAI1B,CAAC;AAEV;AAACf,EAAA,CA7BQF,MAAM;EAAA,QAGAH,SAAS;AAAA;AAAAsB,EAAA,GAHfnB,MAAM;AA+Bf,eAAeA,MAAM;AAAC,IAAAmB,EAAA;AAAAC,YAAA,CAAAD,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/67c8debf49e80c46372e1bc1625d1dbf106dab50fd49c122ac86d03763f37fdd.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/67c8debf49e80c46372e1bc1625d1dbf106dab50fd49c122ac86d03763f37fdd.json b/frontend/node_modules/.cache/babel-loader/67c8debf49e80c46372e1bc1625d1dbf106dab50fd49c122ac86d03763f37fdd.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/67c8debf49e80c46372e1bc1625d1dbf106dab50fd49c122ac86d03763f37fdd.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/pages/HomePage.js\",\n _s = $RefreshSig$();\n// import React from 'react';\n\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link, useParams } from 'react-router-dom';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction HomePage({\n history\n}) {\n _s();\n const [data, setData] = useState([]);\n const param = useParams(); // Lấy giá trị 'name' từ URL\n console.log(\"Name: \", param.name);\n useEffect(() => {\n axios.get('http://localhost:5001/namePage' + param.name).then(response => {\n setData(response.data);\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: data\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 28,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n children: \"Go to Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 5\n }, this);\n}\n_s(HomePage, \"R0VdyxAYxzDriUqQEISfIS+bMrU=\", false, function () {\n return [useParams];\n});\n_c = HomePage;\nexport default HomePage;\nvar _c;\n$RefreshReg$(_c, \"HomePage\");","map":{"version":3,"names":["React","useEffect","useState","axios","Link","useParams","jsxDEV","_jsxDEV","HomePage","history","_s","data","setData","param","console","log","name","get","then","response","catch","error","children","fileName","_jsxFileName","lineNumber","columnNumber","to","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/pages/HomePage.js"],"sourcesContent":["// import React from 'react';\n\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link, useParams } from 'react-router-dom';\n\nfunction HomePage({ history }) {\n\n const [data, setData] = useState([]);\n const param = useParams(); // Lấy giá trị 'name' từ URL\n console.log(\"Name: \", param.name);\n\n useEffect(() => {\n axios.get('http://localhost:5001/namePage' + param.name)\n .then(response => {\n setData(response.data);\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n\n\n return (\n \n \n
{data} \n {/* {name} */}\n Home Page \n Go to Home Page\n \n );\n}\n\nexport default HomePage;\n"],"mappings":";;AAAA;;AAEA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,SAAS,QAAQ,kBAAkB;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAEnD,SAASC,QAAQA,CAAC;EAAEC;AAAQ,CAAC,EAAE;EAAAC,EAAA;EAE7B,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGV,QAAQ,CAAC,EAAE,CAAC;EACpC,MAAMW,KAAK,GAAGR,SAAS,CAAC,CAAC,CAAC,CAAC;EAC3BS,OAAO,CAACC,GAAG,CAAC,QAAQ,EAAEF,KAAK,CAACG,IAAI,CAAC;EAEjCf,SAAS,CAAC,MAAM;IACdE,KAAK,CAACc,GAAG,CAAC,gCAAgC,GAAGJ,KAAK,CAACG,IAAI,CAAC,CACrDE,IAAI,CAACC,QAAQ,IAAI;MAChBP,OAAO,CAACO,QAAQ,CAACR,IAAI,CAAC;IACxB,CAAC,CAAC,CACDS,KAAK,CAACC,KAAK,IAAI;MACdP,OAAO,CAACO,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;IAC9C,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAIN,oBAEEd,OAAA;IAAAe,QAAA,gBACEf,OAAA;MAAAe,QAAA,EAAKX;IAAI;MAAAY,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAK,CAAC,eAEfnB,OAAA;MAAAe,QAAA,EAAI;IAAS;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAI,CAAC,eAClBnB,OAAA,CAACH,IAAI;MAACuB,EAAE,EAAC,GAAG;MAAAL,QAAA,EAAC;IAAe;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAM,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OAChC,CAAC;AAEV;AAAChB,EAAA,CA3BQF,QAAQ;EAAA,QAGDH,SAAS;AAAA;AAAAuB,EAAA,GAHhBpB,QAAQ;AA6BjB,eAAeA,QAAQ;AAAC,IAAAoB,EAAA;AAAAC,YAAA,CAAAD,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/87737361eb16edbef207060f2ca38a4954c4d506fe357c7d1ec92914e9550132.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/87737361eb16edbef207060f2ca38a4954c4d506fe357c7d1ec92914e9550132.json b/frontend/node_modules/.cache/babel-loader/87737361eb16edbef207060f2ca38a4954c4d506fe357c7d1ec92914e9550132.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/87737361eb16edbef207060f2ca38a4954c4d506fe357c7d1ec92914e9550132.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,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":["/home/charlie/Documents/SciPlay-1/frontend/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,QAAQA,CAAA,EAAG;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,CAAC,CAAC;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
+Index: frontend/node_modules/.cache/babel-loader/f0092a49391de749dad22128ae67853540728d4ccceec5f809fa3e2f61ae95bd.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/f0092a49391de749dad22128ae67853540728d4ccceec5f809fa3e2f61ae95bd.json b/frontend/node_modules/.cache/babel-loader/f0092a49391de749dad22128ae67853540728d4ccceec5f809fa3e2f61ae95bd.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/f0092a49391de749dad22128ae67853540728d4ccceec5f809fa3e2f61ae95bd.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"'use strict';\n\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({\n 1: 2\n}, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;","map":{"version":3,"names":["$propertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","Object","NASHORN_BUG","call","exports","f","V","descriptor","enumerable"],"sources":["/home/charlie/Documents/SciPlay-1/frontend/node_modules/core-js-pure/internals/object-property-is-enumerable.js"],"sourcesContent":["'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,qBAAqB,GAAG,CAAC,CAAC,CAACC,oBAAoB;AACnD;AACA,IAAIC,wBAAwB,GAAGC,MAAM,CAACD,wBAAwB;;AAE9D;AACA,IAAIE,WAAW,GAAGF,wBAAwB,IAAI,CAACF,qBAAqB,CAACK,IAAI,CAAC;EAAE,CAAC,EAAE;AAAE,CAAC,EAAE,CAAC,CAAC;;AAEtF;AACA;AACAC,OAAO,CAACC,CAAC,GAAGH,WAAW,GAAG,SAASH,oBAAoBA,CAACO,CAAC,EAAE;EACzD,IAAIC,UAAU,GAAGP,wBAAwB,CAAC,IAAI,EAAEM,CAAC,CAAC;EAClD,OAAO,CAAC,CAACC,UAAU,IAAIA,UAAU,CAACC,UAAU;AAC9C,CAAC,GAAGV,qBAAqB"},"metadata":{},"sourceType":"script","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/e5f0d6911e35baee38031c73062b4bfe5873b12b35d11a2f66e7e8370f574d30.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/e5f0d6911e35baee38031c73062b4bfe5873b12b35d11a2f66e7e8370f574d30.json b/frontend/node_modules/.cache/babel-loader/e5f0d6911e35baee38031c73062b4bfe5873b12b35d11a2f66e7e8370f574d30.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/e5f0d6911e35baee38031c73062b4bfe5873b12b35d11a2f66e7e8370f574d30.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/pages/Home.js\",\n _s = $RefreshSig$();\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link } from 'react-router-dom';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction Home() {\n _s();\n const [data, setData] = useState([]);\n useEffect(() => {\n axios.get('http://localhost:5000/api/data').then(response => {\n setData(response.data);\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Ch\\xE0o m\\u1EEBng \\u0111\\u1EBFn v\\u1EDBi SciPlay\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Go to Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n children: data.map(item => /*#__PURE__*/_jsxDEV(\"li\", {\n children: [item.name, \": \", item.description]\n }, item.id, true, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 5\n }, this);\n}\n_s(Home, \"IEMTtLVFIuToo7X/raQbJAxzNQU=\");\n_c = Home;\nexport default Home;\nvar _c;\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"names":["React","useEffect","useState","axios","Link","jsxDEV","_jsxDEV","Home","_s","data","setData","get","then","response","catch","error","console","children","fileName","_jsxFileName","lineNumber","columnNumber","to","map","item","name","description","id","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/pages/Home.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link } from 'react-router-dom';\n\nfunction Home() {\n const [data, setData] = useState([]);\n\n useEffect(() => {\n axios.get('http://localhost:5000/api/data')\n .then(response => {\n setData(response.data);\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n return (\n \n
Chào mừng đến với SciPlay \n\n
Go to Home Page\n\n
\n {data.map(item => (\n \n {item.name}: {item.description}\n \n ))}\n \n
\n );\n}\n\nexport default Home;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAExC,SAASC,IAAIA,CAAA,EAAG;EAAAC,EAAA;EACd,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGR,QAAQ,CAAC,EAAE,CAAC;EAEpCD,SAAS,CAAC,MAAM;IACdE,KAAK,CAACQ,GAAG,CAAC,gCAAgC,CAAC,CACxCC,IAAI,CAACC,QAAQ,IAAI;MAChBH,OAAO,CAACG,QAAQ,CAACJ,IAAI,CAAC;IACxB,CAAC,CAAC,CACDK,KAAK,CAACC,KAAK,IAAI;MACdC,OAAO,CAACD,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;IAC9C,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAEN,oBACET,OAAA;IAAAW,QAAA,gBACEX,OAAA;MAAAW,QAAA,EAAI;IAAyB;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAI,CAAC,eAElCf,OAAA,CAACF,IAAI;MAACkB,EAAE,EAAC,WAAW;MAAAL,QAAA,EAAC;IAAe;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAM,CAAC,eAE3Cf,OAAA;MAAAW,QAAA,EACGR,IAAI,CAACc,GAAG,CAACC,IAAI,iBACZlB,OAAA;QAAAW,QAAA,GACGO,IAAI,CAACC,IAAI,EAAC,IAAE,EAACD,IAAI,CAACE,WAAW;MAAA,GADvBF,IAAI,CAACG,EAAE;QAAAT,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAEZ,CACL;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACA,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACF,CAAC;AAEV;AAACb,EAAA,CA5BQD,IAAI;AAAAqB,EAAA,GAAJrB,IAAI;AA8Bb,eAAeA,IAAI;AAAC,IAAAqB,EAAA;AAAAC,YAAA,CAAAD,EAAA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/1eb31dac7ab7061afd87dbe0ad513d0e14fa6fe64316e86a014501a6205c14bb.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/1eb31dac7ab7061afd87dbe0ad513d0e14fa6fe64316e86a014501a6205c14bb.json b/frontend/node_modules/.cache/babel-loader/1eb31dac7ab7061afd87dbe0ad513d0e14fa6fe64316e86a014501a6205c14bb.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/1eb31dac7ab7061afd87dbe0ad513d0e14fa6fe64316e86a014501a6205c14bb.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/SciPlay-1/frontend/src/index.js\";\nimport React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport AppRouter from './AppRouter';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst root = ReactDOM.createRoot(document.getElementById('root'));\nroot.render( /*#__PURE__*/_jsxDEV(React.StrictMode, {\n children: /*#__PURE__*/_jsxDEV(AppRouter, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 5\n }, this)\n}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 3\n}, this));\n\n// reportWebVitals();","map":{"version":3,"names":["React","ReactDOM","AppRouter","jsxDEV","_jsxDEV","root","createRoot","document","getElementById","render","StrictMode","children","fileName","_jsxFileName","lineNumber","columnNumber"],"sources":["/home/charlie/Documents/SciPlay-1/frontend/src/index.js"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport AppRouter from './AppRouter';\n\nconst root = ReactDOM.createRoot(document.getElementById('root'));\nroot.render(\n \n \n \n);\n\n// reportWebVitals();\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,QAAQ,MAAM,kBAAkB;AACvC,OAAOC,SAAS,MAAM,aAAa;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAEpC,MAAMC,IAAI,GAAGJ,QAAQ,CAACK,UAAU,CAACC,QAAQ,CAACC,cAAc,CAAC,MAAM,CAAC,CAAC;AACjEH,IAAI,CAACI,MAAM,eACTL,OAAA,CAACJ,KAAK,CAACU,UAAU;EAAAC,QAAA,eACfP,OAAA,CAACF,SAAS;IAAAU,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OAAE;AAAC;EAAAH,QAAA,EAAAC,YAAA;EAAAC,UAAA;EAAAC,YAAA;AAAA,OACG,CACpB,CAAC;;AAED"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/0e00d4c8585ecb180941d255e56a08624a118ddf8457968b10cb371bb7f17068.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/0e00d4c8585ecb180941d255e56a08624a118ddf8457968b10cb371bb7f17068.json b/frontend/node_modules/.cache/babel-loader/0e00d4c8585ecb180941d255e56a08624a118ddf8457968b10cb371bb7f17068.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/0e00d4c8585ecb180941d255e56a08624a118ddf8457968b10cb371bb7f17068.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/pages/Home.js\",\n _s = $RefreshSig$();\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link } from 'react-router-dom';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction Home() {\n _s();\n const [data, setData] = useState([]);\n useEffect(() => {\n axios.get('http://localhost:5001/api/data').then(response => {\n setData(response.data);\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n // Gửi thông tin name về backend khi bấm vào đường link\n const handleClick = name => {\n axios.post('http://localhost:5001/namePage', {\n name\n }).then(response => {\n // Xử lý dữ liệu trả về từ backend (nếu cần)\n }).catch(error => {\n console.error('Error sending data:', error);\n });\n };\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Ch\\xE0o m\\u1EEBng \\u0111\\u1EBFn v\\u1EDBi SciPlay\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"H\\xF4m nay b\\u1EA1n mu\\u1ED1n h\\u1ECDc g\\xEC?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Trang ch\\u1EE7\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"H\\u1ECDc\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Th\\u1EED Th\\xE1ch\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 45,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"X\\u1EBFp h\\u1EA1ng\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 48,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Di\\u1EC5n \\u0111\\xE0n\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"C\\u1EEDa h\\xE0ng\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 53,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 58,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"C\\xE1c kh\\xF3a \\u0111ang h\\u1ECDc\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 7\n }, this), \" onClick=\", () => handleClick(item.name), /*#__PURE__*/_jsxDEV(\"ul\", {\n children: data.map(item => /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: `/homepage`,\n onClick: () => handleClick(item.name),\n children: [item.name, \": \", item.description]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 64,\n columnNumber: 13\n }, this)\n }, item.id, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 5\n }, this);\n}\n_s(Home, \"IEMTtLVFIuToo7X/raQbJAxzNQU=\");\n_c = Home;\nexport default Home;\nvar _c;\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"names":["React","useEffect","useState","axios","Link","jsxDEV","_jsxDEV","Home","_s","data","setData","get","then","response","catch","error","console","handleClick","name","post","children","fileName","_jsxFileName","lineNumber","columnNumber","to","item","map","onClick","description","id","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/pages/Home.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link } from 'react-router-dom';\n\nfunction Home() {\n const [data, setData] = useState([]);\n\n useEffect(() => {\n axios.get('http://localhost:5001/api/data')\n .then(response => {\n setData(response.data);\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n\n // Gửi thông tin name về backend khi bấm vào đường link\n const handleClick = (name) => {\n axios.post('http://localhost:5001/namePage', { name })\n .then(response => {\n // Xử lý dữ liệu trả về từ backend (nếu cần)\n })\n .catch(error => {\n console.error('Error sending data:', error);\n });\n };\n\n\n\n return (\n \n
Chào mừng đến với SciPlay \n
Hôm nay bạn muốn học gì? \n\n
\n \n Trang chủ\n \n \n Học\n \n \n Thử Thách\n \n \n Xếp hạng\n \n \n Diễn đàn\n \n \n Cửa hàng\n \n \n\n
\n
Các khóa đang học onClick={() => handleClick(item.name)}\n
\n {data.map(item => (\n \n {/* handleClick(item.name)}> */}\n handleClick(item.name)}>\n {item.name}: {item.description}\n \n \n ))}\n \n
\n );\n}\n\nexport default Home;\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/d739d7c996e533c13d032f01e23b3a3b91081b04dbce35ac7c3c1574ec63847c.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/d739d7c996e533c13d032f01e23b3a3b91081b04dbce35ac7c3c1574ec63847c.json b/frontend/node_modules/.cache/babel-loader/d739d7c996e533c13d032f01e23b3a3b91081b04dbce35ac7c3c1574ec63847c.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/d739d7c996e533c13d032f01e23b3a3b91081b04dbce35ac7c3c1574ec63847c.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/pages/Home.js\",\n _s = $RefreshSig$();\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link } from 'react-router-dom';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction Home() {\n _s();\n const [data, setData] = useState([]);\n useEffect(() => {\n axios.get('http://localhost:5001/api/data').then(response => {\n setData(response.data);\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n // Gửi thông tin name về backend khi bấm vào đường link\n const handleClick = name => {\n axios.post('http://localhost:5001/namePage', {\n name\n }).then(response => {\n // Xử lý dữ liệu trả về từ backend (nếu cần)\n }).catch(error => {\n console.error('Error sending data:', error);\n });\n };\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Ch\\xE0o m\\u1EEBng \\u0111\\u1EBFn v\\u1EDBi SciPlay\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"H\\xF4m nay b\\u1EA1n mu\\u1ED1n h\\u1ECDc g\\xEC?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Trang ch\\u1EE7\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"H\\u1ECDc\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Th\\u1EED Th\\xE1ch\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 45,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"X\\u1EBFp h\\u1EA1ng\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 48,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Di\\u1EC5n \\u0111\\xE0n\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"C\\u1EEDa h\\xE0ng\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 53,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 58,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"C\\xE1c kh\\xF3a \\u0111ang h\\u1ECDc\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 7\n }, this), \" onClick=\", () => handleClick('abc'), /*#__PURE__*/_jsxDEV(\"ul\", {\n children: data.map(item => /*#__PURE__*/_jsxDEV(\"li\", {\n children: [item.name, \": \", item.description]\n }, item.id, true, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 5\n }, this);\n}\n_s(Home, \"IEMTtLVFIuToo7X/raQbJAxzNQU=\");\n_c = Home;\nexport default Home;\nvar _c;\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"names":["React","useEffect","useState","axios","Link","jsxDEV","_jsxDEV","Home","_s","data","setData","get","then","response","catch","error","console","handleClick","name","post","children","fileName","_jsxFileName","lineNumber","columnNumber","to","map","item","description","id","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/pages/Home.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link } from 'react-router-dom';\n\nfunction Home() {\n const [data, setData] = useState([]);\n\n useEffect(() => {\n axios.get('http://localhost:5001/api/data')\n .then(response => {\n setData(response.data);\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n\n // Gửi thông tin name về backend khi bấm vào đường link\n const handleClick = (name) => {\n axios.post('http://localhost:5001/namePage', { name })\n .then(response => {\n // Xử lý dữ liệu trả về từ backend (nếu cần)\n })\n .catch(error => {\n console.error('Error sending data:', error);\n });\n };\n\n\n\n return (\n \n
Chào mừng đến với SciPlay \n
Hôm nay bạn muốn học gì? \n\n
\n \n Trang chủ\n \n \n Học\n \n \n Thử Thách\n \n \n Xếp hạng\n \n \n Diễn đàn\n \n \n Cửa hàng\n \n \n\n
\n
Các khóa đang học onClick={() => handleClick('abc')}\n
\n {data.map(item => (\n \n {/* handleClick(item.name)}> */}\n \n {item.name}: {item.description}\n\n \n ))}\n \n
\n );\n}\n\nexport default Home;\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/32be78e34104839a881bc4d7d77f13632279cf74170bf43d683f5dae5a5ebc1a.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/32be78e34104839a881bc4d7d77f13632279cf74170bf43d683f5dae5a5ebc1a.json b/frontend/node_modules/.cache/babel-loader/32be78e34104839a881bc4d7d77f13632279cf74170bf43d683f5dae5a5ebc1a.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/32be78e34104839a881bc4d7d77f13632279cf74170bf43d683f5dae5a5ebc1a.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"'use strict';\n\nvar 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":["/home/charlie/Documents/SciPlay-1/frontend/node_modules/core-js-pure/internals/require-object-coercible.js"],"sourcesContent":["'use strict';\nvar 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,YAAY;;AACZ,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
+Index: frontend/node_modules/.cache/babel-loader/d9cc577e91474ab2c32ed97f3ea028520086bc660dbbd4eac37ec4bb2a90971f.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/d9cc577e91474ab2c32ed97f3ea028520086bc660dbbd4eac37ec4bb2a90971f.json b/frontend/node_modules/.cache/babel-loader/d9cc577e91474ab2c32ed97f3ea028520086bc660dbbd4eac37ec4bb2a90971f.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/d9cc577e91474ab2c32ed97f3ea028520086bc660dbbd4eac37ec4bb2a90971f.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"var _jsxFileName = \"/home/charlie/Documents/test-2/fe/src/pages/Home.js\",\n _s = $RefreshSig$();\nimport React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link } from 'react-router-dom';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction Home() {\n _s();\n const [data, setData] = useState([]);\n const [gifUrl, setGifUrl] = useState([]);\n useEffect(() => {\n axios.get('https://node-de-vcl-huythai855.vercel.app/api/data').then(response => {\n setData(response.data);\n setGifUrl;\n }).catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n // // Gửi thông tin name về backend khi bấm vào đường link\n // const handleClick = (name) => {\n // console.log('Clicked on: huy thai');\n\n // axios.post('http://localhost:8080/api/routing', { name })\n // .then(response => {\n // // \n // console.log(response.data);\n // })\n // .catch(error => {\n // console.error('Error sending data:', error);\n // });\n // };\n\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Ch\\xE0o m\\u1EEBng \\u0111\\u1EBFn v\\u1EDBi SciPlay\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"H\\xF4m nay b\\u1EA1n mu\\u1ED1n h\\u1ECDc g\\xEC?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Trang ch\\u1EE7\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"H\\u1ECDc\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 46,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Th\\u1EED Th\\xE1ch\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 49,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"X\\u1EBFp h\\u1EA1ng\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 53,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"Di\\u1EC5n \\u0111\\xE0n\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 56,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 55,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/homepage\",\n children: \"C\\u1EEDa h\\xE0ng\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 11\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: 42,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 63,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"C\\xE1c kh\\xF3a \\u0111ang h\\u1ECDc\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 64,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n children: data.map(item => /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: `/lesson/${item.lesson_id}`,\n children: [item.name, \" \", item.url]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 69,\n columnNumber: 13\n }, this)\n }, item.lesson_id, false, {\n fileName: _jsxFileName,\n lineNumber: 68,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 66,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 5\n }, this);\n}\n_s(Home, \"gQWqP+4ug/rz/S4svnH2fnaBKzA=\");\n_c = Home;\nexport default Home;\nvar _c;\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"names":["React","useEffect","useState","axios","Link","jsxDEV","_jsxDEV","Home","_s","data","setData","gifUrl","setGifUrl","get","then","response","catch","error","console","children","fileName","_jsxFileName","lineNumber","columnNumber","to","map","item","lesson_id","name","url","_c","$RefreshReg$"],"sources":["/home/charlie/Documents/test-2/fe/src/pages/Home.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { Link } from 'react-router-dom';\n\nfunction Home() {\n const [data, setData] = useState([]);\n const [gifUrl, setGifUrl] = useState([]);\n\n useEffect(() => {\n axios.get('https://node-de-vcl-huythai855.vercel.app/api/data')\n .then(response => {\n setData(response.data);\n setGifUrl\n })\n .catch(error => {\n console.error('Error fetching data:', error);\n });\n }, []);\n\n\n // // Gửi thông tin name về backend khi bấm vào đường link\n // const handleClick = (name) => {\n // console.log('Clicked on: huy thai');\n\n // axios.post('http://localhost:8080/api/routing', { name })\n // .then(response => {\n // // \n // console.log(response.data);\n // })\n // .catch(error => {\n // console.error('Error sending data:', error);\n // });\n // };\n\n\n\n return (\n \n
Chào mừng đến với SciPlay \n
Hôm nay bạn muốn học gì? \n\n
\n \n Trang chủ\n \n \n Học\n \n \n Thử Thách\n \n \n Xếp hạng\n \n \n Diễn đàn\n \n \n Cửa hàng\n \n \n\n
\n
Các khóa đang học \n \n
\n {data.map(item => (\n \n {item.name} {item.url}\n \n ))}\n \n \n
\n );\n}\n\nexport default Home;\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
+\ No newline at end of file
+Index: frontend/node_modules/.cache/babel-loader/054be990fa6a45c1538890619157ceb4abaa2b57408664b9c2f11a8a21575d94.json
+===================================================================
+diff --git a/frontend/node_modules/.cache/babel-loader/054be990fa6a45c1538890619157ceb4abaa2b57408664b9c2f11a8a21575d94.json b/frontend/node_modules/.cache/babel-loader/054be990fa6a45c1538890619157ceb4abaa2b57408664b9c2f11a8a21575d94.json
+deleted file mode 100644
+--- a/frontend/node_modules/.cache/babel-loader/054be990fa6a45c1538890619157ceb4abaa2b57408664b9c2f11a8a21575d94.json (revision cc759384ae91771489f25250ab50a8a4375afee7)
++++ /dev/null (revision cc759384ae91771489f25250ab50a8a4375afee7)
+@@ -1,1 +0,0 @@
+-{"ast":null,"code":"/**\n * @license React\n * react-dom.production.min.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 Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';\n\nvar aa = require(\"react\"),\n ca = require(\"scheduler\");\nfunction p(a) {\n for (var b = \"https://reactjs.org/docs/error-decoder.html?invariant=\" + a, c = 1; c < arguments.length; c++) b += \"&args[]=\" + encodeURIComponent(arguments[c]);\n return \"Minified React error #\" + a + \"; visit \" + b + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";\n}\nvar da = new Set(),\n ea = {};\nfunction fa(a, b) {\n ha(a, b);\n ha(a + \"Capture\", b);\n}\nfunction ha(a, b) {\n ea[a] = b;\n for (a = 0; a < b.length; a++) da.add(b[a]);\n}\nvar ia = !(\"undefined\" === typeof window || \"undefined\" === typeof window.document || \"undefined\" === typeof window.document.createElement),\n ja = Object.prototype.hasOwnProperty,\n ka = /^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,\n la = {},\n ma = {};\nfunction oa(a) {\n if (ja.call(ma, a)) return !0;\n if (ja.call(la, a)) return !1;\n if (ka.test(a)) return ma[a] = !0;\n la[a] = !0;\n return !1;\n}\nfunction pa(a, b, c, d) {\n if (null !== c && 0 === c.type) return !1;\n switch (typeof b) {\n case \"function\":\n case \"symbol\":\n return !0;\n case \"boolean\":\n if (d) return !1;\n if (null !== c) return !c.acceptsBooleans;\n a = a.toLowerCase().slice(0, 5);\n return \"data-\" !== a && \"aria-\" !== a;\n default:\n return !1;\n }\n}\nfunction qa(a, b, c, d) {\n if (null === b || \"undefined\" === typeof b || pa(a, b, c, d)) return !0;\n if (d) return !1;\n if (null !== c) switch (c.type) {\n case 3:\n return !b;\n case 4:\n return !1 === b;\n case 5:\n return isNaN(b);\n case 6:\n return isNaN(b) || 1 > b;\n }\n return !1;\n}\nfunction v(a, b, c, d, e, f, g) {\n this.acceptsBooleans = 2 === b || 3 === b || 4 === b;\n this.attributeName = d;\n this.attributeNamespace = e;\n this.mustUseProperty = c;\n this.propertyName = a;\n this.type = b;\n this.sanitizeURL = f;\n this.removeEmptyString = g;\n}\nvar z = {};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function (a) {\n z[a] = new v(a, 0, !1, a, null, !1, !1);\n});\n[[\"acceptCharset\", \"accept-charset\"], [\"className\", \"class\"], [\"htmlFor\", \"for\"], [\"httpEquiv\", \"http-equiv\"]].forEach(function (a) {\n var b = a[0];\n z[b] = new v(b, 1, !1, a[1], null, !1, !1);\n});\n[\"contentEditable\", \"draggable\", \"spellCheck\", \"value\"].forEach(function (a) {\n z[a] = new v(a, 2, !1, a.toLowerCase(), null, !1, !1);\n});\n[\"autoReverse\", \"externalResourcesRequired\", \"focusable\", \"preserveAlpha\"].forEach(function (a) {\n z[a] = new v(a, 2, !1, a, null, !1, !1);\n});\n\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function (a) {\n z[a] = new v(a, 3, !1, a.toLowerCase(), null, !1, !1);\n});\n[\"checked\", \"multiple\", \"muted\", \"selected\"].forEach(function (a) {\n z[a] = new v(a, 3, !0, a, null, !1, !1);\n});\n[\"capture\", \"download\"].forEach(function (a) {\n z[a] = new v(a, 4, !1, a, null, !1, !1);\n});\n[\"cols\", \"rows\", \"size\", \"span\"].forEach(function (a) {\n z[a] = new v(a, 6, !1, a, null, !1, !1);\n});\n[\"rowSpan\", \"start\"].forEach(function (a) {\n z[a] = new v(a, 5, !1, a.toLowerCase(), null, !1, !1);\n});\nvar ra = /[\\-:]([a-z])/g;\nfunction sa(a) {\n return a[1].toUpperCase();\n}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function (a) {\n var b = a.replace(ra, sa);\n z[b] = new v(b, 1, !1, a, null, !1, !1);\n});\n\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function (a) {\n var b = a.replace(ra, sa);\n z[b] = new v(b, 1, !1, a, \"http://www.w3.org/1999/xlink\", !1, !1);\n});\n[\"xml:base\", \"xml:lang\", \"xml:space\"].forEach(function (a) {\n var b = a.replace(ra, sa);\n z[b] = new v(b, 1, !1, a, \"http://www.w3.org/XML/1998/namespace\", !1, !1);\n});\n[\"tabIndex\", \"crossOrigin\"].forEach(function (a) {\n z[a] = new v(a, 1, !1, a.toLowerCase(), null, !1, !1);\n});\nz.xlinkHref = new v(\"xlinkHref\", 1, !1, \"xlink:href\", \"http://www.w3.org/1999/xlink\", !0, !1);\n[\"src\", \"href\", \"action\", \"formAction\"].forEach(function (a) {\n z[a] = new v(a, 1, !1, a.toLowerCase(), null, !0, !0);\n});\nfunction ta(a, b, c, d) {\n var e = z.hasOwnProperty(b) ? z[b] : null;\n if (null !== e ? 0 !== e.type : d || !(2 < b.length) || \"o\" !== b[0] && \"O\" !== b[0] || \"n\" !== b[1] && \"N\" !== b[1]) qa(b, c, e, d) && (c = null), d || null === e ? oa(b) && (null === c ? a.removeAttribute(b) : a.setAttribute(b, \"\" + c)) : e.mustUseProperty ? a[e.propertyName] = null === c ? 3 === e.type ? !1 : \"\" : c : (b = e.attributeName, d = e.attributeNamespace, null === c ? a.removeAttribute(b) : (e = e.type, c = 3 === e || 4 === e && !0 === c ? \"\" : \"\" + c, d ? a.setAttributeNS(d, b, c) : a.setAttribute(b, c)));\n}\nvar ua = aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,\n va = Symbol.for(\"react.element\"),\n wa = Symbol.for(\"react.portal\"),\n ya = Symbol.for(\"react.fragment\"),\n za = Symbol.for(\"react.strict_mode\"),\n Aa = Symbol.for(\"react.profiler\"),\n Ba = Symbol.for(\"react.provider\"),\n Ca = Symbol.for(\"react.context\"),\n Da = Symbol.for(\"react.forward_ref\"),\n Ea = Symbol.for(\"react.suspense\"),\n Fa = Symbol.for(\"react.suspense_list\"),\n Ga = Symbol.for(\"react.memo\"),\n Ha = Symbol.for(\"react.lazy\");\nSymbol.for(\"react.scope\");\nSymbol.for(\"react.debug_trace_mode\");\nvar Ia = Symbol.for(\"react.offscreen\");\nSymbol.for(\"react.legacy_hidden\");\nSymbol.for(\"react.cache\");\nSymbol.for(\"react.tracing_marker\");\nvar Ja = Symbol.iterator;\nfunction Ka(a) {\n if (null === a || \"object\" !== typeof a) return null;\n a = Ja && a[Ja] || a[\"@@iterator\"];\n return \"function\" === typeof a ? a : null;\n}\nvar A = Object.assign,\n La;\nfunction Ma(a) {\n if (void 0 === La) try {\n throw Error();\n } catch (c) {\n var b = c.stack.trim().match(/\\n( *(at )?)/);\n La = b && b[1] || \"\";\n }\n return \"\\n\" + La + a;\n}\nvar Na = !1;\nfunction Oa(a, b) {\n if (!a || Na) return \"\";\n Na = !0;\n var c = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n if (b) {\n if (b = function b() {\n throw Error();\n }, Object.defineProperty(b.prototype, \"props\", {\n set: function set() {\n throw Error();\n }\n }), \"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(b, []);\n } catch (l) {\n var d = l;\n }\n Reflect.construct(a, [], b);\n } else {\n try {\n b.call();\n } catch (l) {\n d = l;\n }\n a.call(b.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (l) {\n d = l;\n }\n a();\n }\n } catch (l) {\n if (l && d && \"string\" === typeof l.stack) {\n for (var e = l.stack.split(\"\\n\"), f = d.stack.split(\"\\n\"), g = e.length - 1, h = f.length - 1; 1 <= g && 0 <= h && e[g] !== f[h];) h--;\n for (; 1 <= g && 0 <= h; g--, h--) if (e[g] !== f[h]) {\n if (1 !== g || 1 !== h) {\n do if (g--, h--, 0 > h || e[g] !== f[h]) {\n var k = \"\\n\" + e[g].replace(\" at new \", \" at \");\n a.displayName && k.includes(\"\") && (k = k.replace(\"\", a.displayName));\n return k;\n } while (1 <= g && 0 <= h);\n }\n break;\n }\n }\n } finally {\n Na = !1, Error.prepareStackTrace = c;\n }\n return (a = a ? a.displayName || a.name : \"\") ? Ma(a) : \"\";\n}\nfunction Pa(a) {\n switch (a.tag) {\n case 5:\n return Ma(a.type);\n case 16:\n return Ma(\"Lazy\");\n case 13:\n return Ma(\"Suspense\");\n case 19:\n return Ma(\"SuspenseList\");\n case 0:\n case 2:\n case 15:\n return a = Oa(a.type, !1), a;\n case 11:\n return a = Oa(a.type.render, !1), a;\n case 1:\n return a = Oa(a.type, !0), a;\n default:\n return \"\";\n }\n}\nfunction Qa(a) {\n if (null == a) return null;\n if (\"function\" === typeof a) return a.displayName || a.name || null;\n if (\"string\" === typeof a) return a;\n switch (a) {\n case ya:\n return \"Fragment\";\n case wa:\n return \"Portal\";\n case Aa:\n return \"Profiler\";\n case za:\n return \"StrictMode\";\n case Ea:\n return \"Suspense\";\n case Fa:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof a) switch (a.$$typeof) {\n case Ca:\n return (a.displayName || \"Context\") + \".Consumer\";\n case Ba:\n return (a._context.displayName || \"Context\") + \".Provider\";\n case Da:\n var b = a.render;\n a = a.displayName;\n a || (a = b.displayName || b.name || \"\", a = \"\" !== a ? \"ForwardRef(\" + a + \")\" : \"ForwardRef\");\n return a;\n case Ga:\n return b = a.displayName || null, null !== b ? b : Qa(a.type) || \"Memo\";\n case Ha:\n b = a._payload;\n a = a._init;\n try {\n return Qa(a(b));\n } catch (c) {}\n }\n return null;\n}\nfunction Ra(a) {\n var b = a.type;\n switch (a.tag) {\n case 24:\n return \"Cache\";\n case 9:\n return (b.displayName || \"Context\") + \".Consumer\";\n case 10:\n return (b._context.displayName || \"Context\") + \".Provider\";\n case 18:\n return \"DehydratedFragment\";\n case 11:\n return a = b.render, a = a.displayName || a.name || \"\", b.displayName || (\"\" !== a ? \"ForwardRef(\" + a + \")\" : \"ForwardRef\");\n case 7:\n return \"Fragment\";\n case 5:\n return b;\n case 4:\n return \"Portal\";\n case 3:\n return \"Root\";\n case 6:\n return \"Text\";\n case 16:\n return Qa(b);\n case 8:\n return b === za ? \"StrictMode\" : \"Mode\";\n case 22:\n return \"Offscreen\";\n case 12:\n return \"Profiler\";\n case 21:\n return \"Scope\";\n case 13:\n return \"Suspense\";\n case 19:\n return \"SuspenseList\";\n case 25:\n return \"TracingMarker\";\n case 1:\n case 0:\n case 17:\n case 2:\n case 14:\n case 15:\n if (\"function\" === typeof b) return b.displayName || b.name || null;\n if (\"string\" === typeof b) return b;\n }\n return null;\n}\nfunction Sa(a) {\n switch (typeof a) {\n case \"boolean\":\n case \"number\":\n case \"string\":\n case \"undefined\":\n return a;\n case \"object\":\n return a;\n default:\n return \"\";\n }\n}\nfunction Ta(a) {\n var b = a.type;\n return (a = a.nodeName) && \"input\" === a.toLowerCase() && (\"checkbox\" === b || \"radio\" === b);\n}\nfunction Ua(a) {\n var b = Ta(a) ? \"checked\" : \"value\",\n c = Object.getOwnPropertyDescriptor(a.constructor.prototype, b),\n d = \"\" + a[b];\n if (!a.hasOwnProperty(b) && \"undefined\" !== typeof c && \"function\" === typeof c.get && \"function\" === typeof c.set) {\n var e = c.get,\n f = c.set;\n Object.defineProperty(a, b, {\n configurable: !0,\n get: function get() {\n return e.call(this);\n },\n set: function set(a) {\n d = \"\" + a;\n f.call(this, a);\n }\n });\n Object.defineProperty(a, b, {\n enumerable: c.enumerable\n });\n return {\n getValue: function getValue() {\n return d;\n },\n setValue: function setValue(a) {\n d = \"\" + a;\n },\n stopTracking: function stopTracking() {\n a._valueTracker = null;\n delete a[b];\n }\n };\n }\n}\nfunction Va(a) {\n a._valueTracker || (a._valueTracker = Ua(a));\n}\nfunction Wa(a) {\n if (!a) return !1;\n var b = a._valueTracker;\n if (!b) return !0;\n var c = b.getValue();\n var d = \"\";\n a && (d = Ta(a) ? a.checked ? \"true\" : \"false\" : a.value);\n a = d;\n return a !== c ? (b.setValue(a), !0) : !1;\n}\nfunction Xa(a) {\n a = a || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof a) return null;\n try {\n return a.activeElement || a.body;\n } catch (b) {\n return a.body;\n }\n}\nfunction Ya(a, b) {\n var c = b.checked;\n return A({}, b, {\n defaultChecked: void 0,\n defaultValue: void 0,\n value: void 0,\n checked: null != c ? c : a._wrapperState.initialChecked\n });\n}\nfunction Za(a, b) {\n var c = null == b.defaultValue ? \"\" : b.defaultValue,\n d = null != b.checked ? b.checked : b.defaultChecked;\n c = Sa(null != b.value ? b.value : c);\n a._wrapperState = {\n initialChecked: d,\n initialValue: c,\n controlled: \"checkbox\" === b.type || \"radio\" === b.type ? null != b.checked : null != b.value\n };\n}\nfunction ab(a, b) {\n b = b.checked;\n null != b && ta(a, \"checked\", b, !1);\n}\nfunction bb(a, b) {\n ab(a, b);\n var c = Sa(b.value),\n d = b.type;\n if (null != c) {\n if (\"number\" === d) {\n if (0 === c && \"\" === a.value || a.value != c) a.value = \"\" + c;\n } else a.value !== \"\" + c && (a.value = \"\" + c);\n } else if (\"submit\" === d || \"reset\" === d) {\n a.removeAttribute(\"value\");\n return;\n }\n b.hasOwnProperty(\"value\") ? cb(a, b.type, c) : b.hasOwnProperty(\"defaultValue\") && cb(a, b.type, Sa(b.defaultValue));\n null == b.checked && null != b.defaultChecked && (a.defaultChecked = !!b.defaultChecked);\n}\nfunction db(a, b, c) {\n if (b.hasOwnProperty(\"value\") || b.hasOwnProperty(\"defaultValue\")) {\n var d = b.type;\n if (!(\"submit\" !== d && \"reset\" !== d || void 0 !== b.value && null !== b.value)) return;\n b = \"\" + a._wrapperState.initialValue;\n c || b === a.value || (a.value = b);\n a.defaultValue = b;\n }\n c = a.name;\n \"\" !== c && (a.name = \"\");\n a.defaultChecked = !!a._wrapperState.initialChecked;\n \"\" !== c && (a.name = c);\n}\nfunction cb(a, b, c) {\n if (\"number\" !== b || Xa(a.ownerDocument) !== a) null == c ? a.defaultValue = \"\" + a._wrapperState.initialValue : a.defaultValue !== \"\" + c && (a.defaultValue = \"\" + c);\n}\nvar eb = Array.isArray;\nfunction fb(a, b, c, d) {\n a = a.options;\n if (b) {\n b = {};\n for (var e = 0; e < c.length; e++) b[\"$\" + c[e]] = !0;\n for (c = 0; c < a.length; c++) e = b.hasOwnProperty(\"$\" + a[c].value), a[c].selected !== e && (a[c].selected = e), e && d && (a[c].defaultSelected = !0);\n } else {\n c = \"\" + Sa(c);\n b = null;\n for (e = 0; e < a.length; e++) {\n if (a[e].value === c) {\n a[e].selected = !0;\n d && (a[e].defaultSelected = !0);\n return;\n }\n null !== b || a[e].disabled || (b = a[e]);\n }\n null !== b && (b.selected = !0);\n }\n}\nfunction gb(a, b) {\n if (null != b.dangerouslySetInnerHTML) throw Error(p(91));\n return A({}, b, {\n value: void 0,\n defaultValue: void 0,\n children: \"\" + a._wrapperState.initialValue\n });\n}\nfunction hb(a, b) {\n var c = b.value;\n if (null == c) {\n c = b.children;\n b = b.defaultValue;\n if (null != c) {\n if (null != b) throw Error(p(92));\n if (eb(c)) {\n if (1 < c.length) throw Error(p(93));\n c = c[0];\n }\n b = c;\n }\n null == b && (b = \"\");\n c = b;\n }\n a._wrapperState = {\n initialValue: Sa(c)\n };\n}\nfunction ib(a, b) {\n var c = Sa(b.value),\n d = Sa(b.defaultValue);\n null != c && (c = \"\" + c, c !== a.value && (a.value = c), null == b.defaultValue && a.defaultValue !== c && (a.defaultValue = c));\n null != d && (a.defaultValue = \"\" + d);\n}\nfunction jb(a) {\n var b = a.textContent;\n b === a._wrapperState.initialValue && \"\" !== b && null !== b && (a.value = b);\n}\nfunction kb(a) {\n switch (a) {\n case \"svg\":\n return \"http://www.w3.org/2000/svg\";\n case \"math\":\n return \"http://www.w3.org/1998/Math/MathML\";\n default:\n return \"http://www.w3.org/1999/xhtml\";\n }\n}\nfunction lb(a, b) {\n return null == a || \"http://www.w3.org/1999/xhtml\" === a ? kb(b) : \"http://www.w3.org/2000/svg\" === a && \"foreignObject\" === b ? \"http://www.w3.org/1999/xhtml\" : a;\n}\nvar mb,\n nb = function (a) {\n return \"undefined\" !== typeof MSApp && MSApp.execUnsafeLocalFunction ? function (b, c, d, e) {\n MSApp.execUnsafeLocalFunction(function () {\n return a(b, c, d, e);\n });\n } : a;\n }(function (a, b) {\n if (\"http://www.w3.org/2000/svg\" !== a.namespaceURI || \"innerHTML\" in a) a.innerHTML = b;else {\n mb = mb || document.createElement(\"div\");\n mb.innerHTML = \"\" + b.valueOf().toString() + \" \";\n for (b = mb.firstChild; a.firstChild;) a.removeChild(a.firstChild);\n for (; b.firstChild;) a.appendChild(b.firstChild);\n }\n });\nfunction ob(a, b) {\n if (b) {\n var c = a.firstChild;\n if (c && c === a.lastChild && 3 === c.nodeType) {\n c.nodeValue = b;\n return;\n }\n }\n a.textContent = b;\n}\nvar pb = {\n animationIterationCount: !0,\n aspectRatio: !0,\n borderImageOutset: !0,\n borderImageSlice: !0,\n borderImageWidth: !0,\n boxFlex: !0,\n boxFlexGroup: !0,\n boxOrdinalGroup: !0,\n columnCount: !0,\n columns: !0,\n flex: !0,\n flexGrow: !0,\n flexPositive: !0,\n flexShrink: !0,\n flexNegative: !0,\n flexOrder: !0,\n gridArea: !0,\n gridRow: !0,\n gridRowEnd: !0,\n gridRowSpan: !0,\n gridRowStart: !0,\n gridColumn: !0,\n gridColumnEnd: !0,\n gridColumnSpan: !0,\n gridColumnStart: !0,\n fontWeight: !0,\n lineClamp: !0,\n lineHeight: !0,\n opacity: !0,\n order: !0,\n orphans: !0,\n tabSize: !0,\n widows: !0,\n zIndex: !0,\n zoom: !0,\n fillOpacity: !0,\n floodOpacity: !0,\n stopOpacity: !0,\n strokeDasharray: !0,\n strokeDashoffset: !0,\n strokeMiterlimit: !0,\n strokeOpacity: !0,\n strokeWidth: !0\n },\n qb = [\"Webkit\", \"ms\", \"Moz\", \"O\"];\nObject.keys(pb).forEach(function (a) {\n qb.forEach(function (b) {\n b = b + a.charAt(0).toUpperCase() + a.substring(1);\n pb[b] = pb[a];\n });\n});\nfunction rb(a, b, c) {\n return null == b || \"boolean\" === typeof b || \"\" === b ? \"\" : c || \"number\" !== typeof b || 0 === b || pb.hasOwnProperty(a) && pb[a] ? (\"\" + b).trim() : b + \"px\";\n}\nfunction sb(a, b) {\n a = a.style;\n for (var c in b) if (b.hasOwnProperty(c)) {\n var d = 0 === c.indexOf(\"--\"),\n e = rb(c, b[c], d);\n \"float\" === c && (c = \"cssFloat\");\n d ? a.setProperty(c, e) : a[c] = e;\n }\n}\nvar tb = A({\n menuitem: !0\n}, {\n area: !0,\n base: !0,\n br: !0,\n col: !0,\n embed: !0,\n hr: !0,\n img: !0,\n input: !0,\n keygen: !0,\n link: !0,\n meta: !0,\n param: !0,\n source: !0,\n track: !0,\n wbr: !0\n});\nfunction ub(a, b) {\n if (b) {\n if (tb[a] && (null != b.children || null != b.dangerouslySetInnerHTML)) throw Error(p(137, a));\n if (null != b.dangerouslySetInnerHTML) {\n if (null != b.children) throw Error(p(60));\n if (\"object\" !== typeof b.dangerouslySetInnerHTML || !(\"__html\" in b.dangerouslySetInnerHTML)) throw Error(p(61));\n }\n if (null != b.style && \"object\" !== typeof b.style) throw Error(p(62));\n }\n}\nfunction vb(a, b) {\n if (-1 === a.indexOf(\"-\")) return \"string\" === typeof b.is;\n switch (a) {\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n return !1;\n default:\n return !0;\n }\n}\nvar wb = null;\nfunction xb(a) {\n a = a.target || a.srcElement || window;\n a.correspondingUseElement && (a = a.correspondingUseElement);\n return 3 === a.nodeType ? a.parentNode : a;\n}\nvar yb = null,\n zb = null,\n Ab = null;\nfunction Bb(a) {\n if (a = Cb(a)) {\n if (\"function\" !== typeof yb) throw Error(p(280));\n var b = a.stateNode;\n b && (b = Db(b), yb(a.stateNode, a.type, b));\n }\n}\nfunction Eb(a) {\n zb ? Ab ? Ab.push(a) : Ab = [a] : zb = a;\n}\nfunction Fb() {\n if (zb) {\n var a = zb,\n b = Ab;\n Ab = zb = null;\n Bb(a);\n if (b) for (a = 0; a < b.length; a++) Bb(b[a]);\n }\n}\nfunction Gb(a, b) {\n return a(b);\n}\nfunction Hb() {}\nvar Ib = !1;\nfunction Jb(a, b, c) {\n if (Ib) return a(b, c);\n Ib = !0;\n try {\n return Gb(a, b, c);\n } finally {\n if (Ib = !1, null !== zb || null !== Ab) Hb(), Fb();\n }\n}\nfunction Kb(a, b) {\n var c = a.stateNode;\n if (null === c) return null;\n var d = Db(c);\n if (null === d) return null;\n c = d[b];\n a: switch (b) {\n case \"onClick\":\n case \"onClickCapture\":\n case \"onDoubleClick\":\n case \"onDoubleClickCapture\":\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n case \"onMouseEnter\":\n (d = !d.disabled) || (a = a.type, d = !(\"button\" === a || \"input\" === a || \"select\" === a || \"textarea\" === a));\n a = !d;\n break a;\n default:\n a = !1;\n }\n if (a) return null;\n if (c && \"function\" !== typeof c) throw Error(p(231, b, typeof c));\n return c;\n}\nvar Lb = !1;\nif (ia) try {\n var Mb = {};\n Object.defineProperty(Mb, \"passive\", {\n get: function get() {\n Lb = !0;\n }\n });\n window.addEventListener(\"test\", Mb, Mb);\n window.removeEventListener(\"test\", Mb, Mb);\n} catch (a) {\n Lb = !1;\n}\nfunction Nb(a, b, c, d, e, f, g, h, k) {\n var l = Array.prototype.slice.call(arguments, 3);\n try {\n b.apply(c, l);\n } catch (m) {\n this.onError(m);\n }\n}\nvar Ob = !1,\n Pb = null,\n Qb = !1,\n Rb = null,\n Sb = {\n onError: function onError(a) {\n Ob = !0;\n Pb = a;\n }\n };\nfunction Tb(a, b, c, d, e, f, g, h, k) {\n Ob = !1;\n Pb = null;\n Nb.apply(Sb, arguments);\n}\nfunction Ub(a, b, c, d, e, f, g, h, k) {\n Tb.apply(this, arguments);\n if (Ob) {\n if (Ob) {\n var l = Pb;\n Ob = !1;\n Pb = null;\n } else throw Error(p(198));\n Qb || (Qb = !0, Rb = l);\n }\n}\nfunction Vb(a) {\n var b = a,\n c = a;\n if (a.alternate) for (; b.return;) b = b.return;else {\n a = b;\n do b = a, 0 !== (b.flags & 4098) && (c = b.return), a = b.return; while (a);\n }\n return 3 === b.tag ? c : null;\n}\nfunction Wb(a) {\n if (13 === a.tag) {\n var b = a.memoizedState;\n null === b && (a = a.alternate, null !== a && (b = a.memoizedState));\n if (null !== b) return b.dehydrated;\n }\n return null;\n}\nfunction Xb(a) {\n if (Vb(a) !== a) throw Error(p(188));\n}\nfunction Yb(a) {\n var b = a.alternate;\n if (!b) {\n b = Vb(a);\n if (null === b) throw Error(p(188));\n return b !== a ? null : a;\n }\n for (var c = a, d = b;;) {\n var e = c.return;\n if (null === e) break;\n var f = e.alternate;\n if (null === f) {\n d = e.return;\n if (null !== d) {\n c = d;\n continue;\n }\n break;\n }\n if (e.child === f.child) {\n for (f = e.child; f;) {\n if (f === c) return Xb(e), a;\n if (f === d) return Xb(e), b;\n f = f.sibling;\n }\n throw Error(p(188));\n }\n if (c.return !== d.return) c = e, d = f;else {\n for (var g = !1, h = e.child; h;) {\n if (h === c) {\n g = !0;\n c = e;\n d = f;\n break;\n }\n if (h === d) {\n g = !0;\n d = e;\n c = f;\n break;\n }\n h = h.sibling;\n }\n if (!g) {\n for (h = f.child; h;) {\n if (h === c) {\n g = !0;\n c = f;\n d = e;\n break;\n }\n if (h === d) {\n g = !0;\n d = f;\n c = e;\n break;\n }\n h = h.sibling;\n }\n if (!g) throw Error(p(189));\n }\n }\n if (c.alternate !== d) throw Error(p(190));\n }\n if (3 !== c.tag) throw Error(p(188));\n return c.stateNode.current === c ? a : b;\n}\nfunction Zb(a) {\n a = Yb(a);\n return null !== a ? $b(a) : null;\n}\nfunction $b(a) {\n if (5 === a.tag || 6 === a.tag) return a;\n for (a = a.child; null !== a;) {\n var b = $b(a);\n if (null !== b) return b;\n a = a.sibling;\n }\n return null;\n}\nvar ac = ca.unstable_scheduleCallback,\n bc = ca.unstable_cancelCallback,\n cc = ca.unstable_shouldYield,\n dc = ca.unstable_requestPaint,\n B = ca.unstable_now,\n ec = ca.unstable_getCurrentPriorityLevel,\n fc = ca.unstable_ImmediatePriority,\n gc = ca.unstable_UserBlockingPriority,\n hc = ca.unstable_NormalPriority,\n ic = ca.unstable_LowPriority,\n jc = ca.unstable_IdlePriority,\n kc = null,\n lc = null;\nfunction mc(a) {\n if (lc && \"function\" === typeof lc.onCommitFiberRoot) try {\n lc.onCommitFiberRoot(kc, a, void 0, 128 === (a.current.flags & 128));\n } catch (b) {}\n}\nvar oc = Math.clz32 ? Math.clz32 : nc,\n pc = Math.log,\n qc = Math.LN2;\nfunction nc(a) {\n a >>>= 0;\n return 0 === a ? 32 : 31 - (pc(a) / qc | 0) | 0;\n}\nvar rc = 64,\n sc = 4194304;\nfunction tc(a) {\n switch (a & -a) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return a & 4194240;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n case 67108864:\n return a & 130023424;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 1073741824;\n default:\n return a;\n }\n}\nfunction uc(a, b) {\n var c = a.pendingLanes;\n if (0 === c) return 0;\n var d = 0,\n e = a.suspendedLanes,\n f = a.pingedLanes,\n g = c & 268435455;\n if (0 !== g) {\n var h = g & ~e;\n 0 !== h ? d = tc(h) : (f &= g, 0 !== f && (d = tc(f)));\n } else g = c & ~e, 0 !== g ? d = tc(g) : 0 !== f && (d = tc(f));\n if (0 === d) return 0;\n if (0 !== b && b !== d && 0 === (b & e) && (e = d & -d, f = b & -b, e >= f || 16 === e && 0 !== (f & 4194240))) return b;\n 0 !== (d & 4) && (d |= c & 16);\n b = a.entangledLanes;\n if (0 !== b) for (a = a.entanglements, b &= d; 0 < b;) c = 31 - oc(b), e = 1 << c, d |= a[c], b &= ~e;\n return d;\n}\nfunction vc(a, b) {\n switch (a) {\n case 1:\n case 2:\n case 4:\n return b + 250;\n case 8:\n case 16:\n case 32:\n case 64:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return b + 5E3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n case 67108864:\n return -1;\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n}\nfunction wc(a, b) {\n for (var c = a.suspendedLanes, d = a.pingedLanes, e = a.expirationTimes, f = a.pendingLanes; 0 < f;) {\n var g = 31 - oc(f),\n h = 1 << g,\n k = e[g];\n if (-1 === k) {\n if (0 === (h & c) || 0 !== (h & d)) e[g] = vc(h, b);\n } else k <= b && (a.expiredLanes |= h);\n f &= ~h;\n }\n}\nfunction xc(a) {\n a = a.pendingLanes & -1073741825;\n return 0 !== a ? a : a & 1073741824 ? 1073741824 : 0;\n}\nfunction yc() {\n var a = rc;\n rc <<= 1;\n 0 === (rc & 4194240) && (rc = 64);\n return a;\n}\nfunction zc(a) {\n for (var b = [], c = 0; 31 > c; c++) b.push(a);\n return b;\n}\nfunction Ac(a, b, c) {\n a.pendingLanes |= b;\n 536870912 !== b && (a.suspendedLanes = 0, a.pingedLanes = 0);\n a = a.eventTimes;\n b = 31 - oc(b);\n a[b] = c;\n}\nfunction Bc(a, b) {\n var c = a.pendingLanes & ~b;\n a.pendingLanes = b;\n a.suspendedLanes = 0;\n a.pingedLanes = 0;\n a.expiredLanes &= b;\n a.mutableReadLanes &= b;\n a.entangledLanes &= b;\n b = a.entanglements;\n var d = a.eventTimes;\n for (a = a.expirationTimes; 0 < c;) {\n var e = 31 - oc(c),\n f = 1 << e;\n b[e] = 0;\n d[e] = -1;\n a[e] = -1;\n c &= ~f;\n }\n}\nfunction Cc(a, b) {\n var c = a.entangledLanes |= b;\n for (a = a.entanglements; c;) {\n var d = 31 - oc(c),\n e = 1 << d;\n e & b | a[d] & b && (a[d] |= b);\n c &= ~e;\n }\n}\nvar C = 0;\nfunction Dc(a) {\n a &= -a;\n return 1 < a ? 4 < a ? 0 !== (a & 268435455) ? 16 : 536870912 : 4 : 1;\n}\nvar Ec,\n Fc,\n Gc,\n Hc,\n Ic,\n Jc = !1,\n Kc = [],\n Lc = null,\n Mc = null,\n Nc = null,\n Oc = new Map(),\n Pc = new Map(),\n Qc = [],\n Rc = \"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a, b) {\n switch (a) {\n case \"focusin\":\n case \"focusout\":\n Lc = null;\n break;\n case \"dragenter\":\n case \"dragleave\":\n Mc = null;\n break;\n case \"mouseover\":\n case \"mouseout\":\n Nc = null;\n break;\n case \"pointerover\":\n case \"pointerout\":\n Oc.delete(b.pointerId);\n break;\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n Pc.delete(b.pointerId);\n }\n}\nfunction Tc(a, b, c, d, e, f) {\n if (null === a || a.nativeEvent !== f) return a = {\n blockedOn: b,\n domEventName: c,\n eventSystemFlags: d,\n nativeEvent: f,\n targetContainers: [e]\n }, null !== b && (b = Cb(b), null !== b && Fc(b)), a;\n a.eventSystemFlags |= d;\n b = a.targetContainers;\n null !== e && -1 === b.indexOf(e) && b.push(e);\n return a;\n}\nfunction Uc(a, b, c, d, e) {\n switch (b) {\n case \"focusin\":\n return Lc = Tc(Lc, a, b, c, d, e), !0;\n case \"dragenter\":\n return Mc = Tc(Mc, a, b, c, d, e), !0;\n case \"mouseover\":\n return Nc = Tc(Nc, a, b, c, d, e), !0;\n case \"pointerover\":\n var f = e.pointerId;\n Oc.set(f, Tc(Oc.get(f) || null, a, b, c, d, e));\n return !0;\n case \"gotpointercapture\":\n return f = e.pointerId, Pc.set(f, Tc(Pc.get(f) || null, a, b, c, d, e)), !0;\n }\n return !1;\n}\nfunction Vc(a) {\n var b = Wc(a.target);\n if (null !== b) {\n var c = Vb(b);\n if (null !== c) if (b = c.tag, 13 === b) {\n if (b = Wb(c), null !== b) {\n a.blockedOn = b;\n Ic(a.priority, function () {\n Gc(c);\n });\n return;\n }\n } else if (3 === b && c.stateNode.current.memoizedState.isDehydrated) {\n a.blockedOn = 3 === c.tag ? c.stateNode.containerInfo : null;\n return;\n }\n }\n a.blockedOn = null;\n}\nfunction Xc(a) {\n if (null !== a.blockedOn) return !1;\n for (var b = a.targetContainers; 0 < b.length;) {\n var c = Yc(a.domEventName, a.eventSystemFlags, b[0], a.nativeEvent);\n if (null === c) {\n c = a.nativeEvent;\n var d = new c.constructor(c.type, c);\n wb = d;\n c.target.dispatchEvent(d);\n wb = null;\n } else return b = Cb(c), null !== b && Fc(b), a.blockedOn = c, !1;\n b.shift();\n }\n return !0;\n}\nfunction Zc(a, b, c) {\n Xc(a) && c.delete(b);\n}\nfunction $c() {\n Jc = !1;\n null !== Lc && Xc(Lc) && (Lc = null);\n null !== Mc && Xc(Mc) && (Mc = null);\n null !== Nc && Xc(Nc) && (Nc = null);\n Oc.forEach(Zc);\n Pc.forEach(Zc);\n}\nfunction ad(a, b) {\n a.blockedOn === b && (a.blockedOn = null, Jc || (Jc = !0, ca.unstable_scheduleCallback(ca.unstable_NormalPriority, $c)));\n}\nfunction bd(a) {\n function b(b) {\n return ad(b, a);\n }\n if (0 < Kc.length) {\n ad(Kc[0], a);\n for (var c = 1; c < Kc.length; c++) {\n var d = Kc[c];\n d.blockedOn === a && (d.blockedOn = null);\n }\n }\n null !== Lc && ad(Lc, a);\n null !== Mc && ad(Mc, a);\n null !== Nc && ad(Nc, a);\n Oc.forEach(b);\n Pc.forEach(b);\n for (c = 0; c < Qc.length; c++) d = Qc[c], d.blockedOn === a && (d.blockedOn = null);\n for (; 0 < Qc.length && (c = Qc[0], null === c.blockedOn);) Vc(c), null === c.blockedOn && Qc.shift();\n}\nvar cd = ua.ReactCurrentBatchConfig,\n dd = !0;\nfunction ed(a, b, c, d) {\n var e = C,\n f = cd.transition;\n cd.transition = null;\n try {\n C = 1, fd(a, b, c, d);\n } finally {\n C = e, cd.transition = f;\n }\n}\nfunction gd(a, b, c, d) {\n var e = C,\n f = cd.transition;\n cd.transition = null;\n try {\n C = 4, fd(a, b, c, d);\n } finally {\n C = e, cd.transition = f;\n }\n}\nfunction fd(a, b, c, d) {\n if (dd) {\n var e = Yc(a, b, c, d);\n if (null === e) hd(a, b, d, id, c), Sc(a, d);else if (Uc(e, a, b, c, d)) d.stopPropagation();else if (Sc(a, d), b & 4 && -1 < Rc.indexOf(a)) {\n for (; null !== e;) {\n var f = Cb(e);\n null !== f && Ec(f);\n f = Yc(a, b, c, d);\n null === f && hd(a, b, d, id, c);\n if (f === e) break;\n e = f;\n }\n null !== e && d.stopPropagation();\n } else hd(a, b, d, null, c);\n }\n}\nvar id = null;\nfunction Yc(a, b, c, d) {\n id = null;\n a = xb(d);\n a = Wc(a);\n if (null !== a) if (b = Vb(a), null === b) a = null;else if (c = b.tag, 13 === c) {\n a = Wb(b);\n if (null !== a) return a;\n a = null;\n } else if (3 === c) {\n if (b.stateNode.current.memoizedState.isDehydrated) return 3 === b.tag ? b.stateNode.containerInfo : null;\n a = null;\n } else b !== a && (a = null);\n id = a;\n return null;\n}\nfunction jd(a) {\n switch (a) {\n case \"cancel\":\n case \"click\":\n case \"close\":\n case \"contextmenu\":\n case \"copy\":\n case \"cut\":\n case \"auxclick\":\n case \"dblclick\":\n case \"dragend\":\n case \"dragstart\":\n case \"drop\":\n case \"focusin\":\n case \"focusout\":\n case \"input\":\n case \"invalid\":\n case \"keydown\":\n case \"keypress\":\n case \"keyup\":\n case \"mousedown\":\n case \"mouseup\":\n case \"paste\":\n case \"pause\":\n case \"play\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointerup\":\n case \"ratechange\":\n case \"reset\":\n case \"resize\":\n case \"seeked\":\n case \"submit\":\n case \"touchcancel\":\n case \"touchend\":\n case \"touchstart\":\n case \"volumechange\":\n case \"change\":\n case \"selectionchange\":\n case \"textInput\":\n case \"compositionstart\":\n case \"compositionend\":\n case \"compositionupdate\":\n case \"beforeblur\":\n case \"afterblur\":\n case \"beforeinput\":\n case \"blur\":\n case \"fullscreenchange\":\n case \"focus\":\n case \"hashchange\":\n case \"popstate\":\n case \"select\":\n case \"selectstart\":\n return 1;\n case \"drag\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"mousemove\":\n case \"mouseout\":\n case \"mouseover\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"scroll\":\n case \"toggle\":\n case \"touchmove\":\n case \"wheel\":\n case \"mouseenter\":\n case \"mouseleave\":\n case \"pointerenter\":\n case \"pointerleave\":\n return 4;\n case \"message\":\n switch (ec()) {\n case fc:\n return 1;\n case gc:\n return 4;\n case hc:\n case ic:\n return 16;\n case jc:\n return 536870912;\n default:\n return 16;\n }\n default:\n return 16;\n }\n}\nvar kd = null,\n ld = null,\n md = null;\nfunction nd() {\n if (md) return md;\n var a,\n b = ld,\n c = b.length,\n d,\n e = \"value\" in kd ? kd.value : kd.textContent,\n f = e.length;\n for (a = 0; a < c && b[a] === e[a]; a++);\n var g = c - a;\n for (d = 1; d <= g && b[c - d] === e[f - d]; d++);\n return md = e.slice(a, 1 < d ? 1 - d : void 0);\n}\nfunction od(a) {\n var b = a.keyCode;\n \"charCode\" in a ? (a = a.charCode, 0 === a && 13 === b && (a = 13)) : a = b;\n 10 === a && (a = 13);\n return 32 <= a || 13 === a ? a : 0;\n}\nfunction pd() {\n return !0;\n}\nfunction qd() {\n return !1;\n}\nfunction rd(a) {\n function b(b, d, e, f, g) {\n this._reactName = b;\n this._targetInst = e;\n this.type = d;\n this.nativeEvent = f;\n this.target = g;\n this.currentTarget = null;\n for (var c in a) a.hasOwnProperty(c) && (b = a[c], this[c] = b ? b(f) : f[c]);\n this.isDefaultPrevented = (null != f.defaultPrevented ? f.defaultPrevented : !1 === f.returnValue) ? pd : qd;\n this.isPropagationStopped = qd;\n return this;\n }\n A(b.prototype, {\n preventDefault: function preventDefault() {\n this.defaultPrevented = !0;\n var a = this.nativeEvent;\n a && (a.preventDefault ? a.preventDefault() : \"unknown\" !== typeof a.returnValue && (a.returnValue = !1), this.isDefaultPrevented = pd);\n },\n stopPropagation: function stopPropagation() {\n var a = this.nativeEvent;\n a && (a.stopPropagation ? a.stopPropagation() : \"unknown\" !== typeof a.cancelBubble && (a.cancelBubble = !0), this.isPropagationStopped = pd);\n },\n persist: function persist() {},\n isPersistent: pd\n });\n return b;\n}\nvar sd = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function timeStamp(a) {\n return a.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n },\n td = rd(sd),\n ud = A({}, sd, {\n view: 0,\n detail: 0\n }),\n vd = rd(ud),\n wd,\n xd,\n yd,\n Ad = A({}, ud, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: zd,\n button: 0,\n buttons: 0,\n relatedTarget: function relatedTarget(a) {\n return void 0 === a.relatedTarget ? a.fromElement === a.srcElement ? a.toElement : a.fromElement : a.relatedTarget;\n },\n movementX: function movementX(a) {\n if (\"movementX\" in a) return a.movementX;\n a !== yd && (yd && \"mousemove\" === a.type ? (wd = a.screenX - yd.screenX, xd = a.screenY - yd.screenY) : xd = wd = 0, yd = a);\n return wd;\n },\n movementY: function movementY(a) {\n return \"movementY\" in a ? a.movementY : xd;\n }\n }),\n Bd = rd(Ad),\n Cd = A({}, Ad, {\n dataTransfer: 0\n }),\n Dd = rd(Cd),\n Ed = A({}, ud, {\n relatedTarget: 0\n }),\n Fd = rd(Ed),\n Gd = A({}, sd, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n Hd = rd(Gd),\n Id = A({}, sd, {\n clipboardData: function clipboardData(a) {\n return \"clipboardData\" in a ? a.clipboardData : window.clipboardData;\n }\n }),\n Jd = rd(Id),\n Kd = A({}, sd, {\n data: 0\n }),\n Ld = rd(Kd),\n Md = {\n Esc: \"Escape\",\n Spacebar: \" \",\n Left: \"ArrowLeft\",\n Up: \"ArrowUp\",\n Right: \"ArrowRight\",\n Down: \"ArrowDown\",\n Del: \"Delete\",\n Win: \"OS\",\n Menu: \"ContextMenu\",\n Apps: \"ContextMenu\",\n Scroll: \"ScrollLock\",\n MozPrintableKey: \"Unidentified\"\n },\n Nd = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 12: \"Clear\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 19: \"Pause\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 45: \"Insert\",\n 46: \"Delete\",\n 112: \"F1\",\n 113: \"F2\",\n 114: \"F3\",\n 115: \"F4\",\n 116: \"F5\",\n 117: \"F6\",\n 118: \"F7\",\n 119: \"F8\",\n 120: \"F9\",\n 121: \"F10\",\n 122: \"F11\",\n 123: \"F12\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 224: \"Meta\"\n },\n Od = {\n Alt: \"altKey\",\n Control: \"ctrlKey\",\n Meta: \"metaKey\",\n Shift: \"shiftKey\"\n };\nfunction Pd(a) {\n var b = this.nativeEvent;\n return b.getModifierState ? b.getModifierState(a) : (a = Od[a]) ? !!b[a] : !1;\n}\nfunction zd() {\n return Pd;\n}\nvar Qd = A({}, ud, {\n key: function key(a) {\n if (a.key) {\n var b = Md[a.key] || a.key;\n if (\"Unidentified\" !== b) return b;\n }\n return \"keypress\" === a.type ? (a = od(a), 13 === a ? \"Enter\" : String.fromCharCode(a)) : \"keydown\" === a.type || \"keyup\" === a.type ? Nd[a.keyCode] || \"Unidentified\" : \"\";\n },\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: zd,\n charCode: function charCode(a) {\n return \"keypress\" === a.type ? od(a) : 0;\n },\n keyCode: function keyCode(a) {\n return \"keydown\" === a.type || \"keyup\" === a.type ? a.keyCode : 0;\n },\n which: function which(a) {\n return \"keypress\" === a.type ? od(a) : \"keydown\" === a.type || \"keyup\" === a.type ? a.keyCode : 0;\n }\n }),\n Rd = rd(Qd),\n Sd = A({}, Ad, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n }),\n Td = rd(Sd),\n Ud = A({}, ud, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: zd\n }),\n Vd = rd(Ud),\n Wd = A({}, sd, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n Xd = rd(Wd),\n Yd = A({}, Ad, {\n deltaX: function deltaX(a) {\n return \"deltaX\" in a ? a.deltaX : \"wheelDeltaX\" in a ? -a.wheelDeltaX : 0;\n },\n deltaY: function deltaY(a) {\n return \"deltaY\" in a ? a.deltaY : \"wheelDeltaY\" in a ? -a.wheelDeltaY : \"wheelDelta\" in a ? -a.wheelDelta : 0;\n },\n deltaZ: 0,\n deltaMode: 0\n }),\n Zd = rd(Yd),\n $d = [9, 13, 27, 32],\n ae = ia && \"CompositionEvent\" in window,\n be = null;\nia && \"documentMode\" in document && (be = document.documentMode);\nvar ce = ia && \"TextEvent\" in window && !be,\n de = ia && (!ae || be && 8 < be && 11 >= be),\n ee = String.fromCharCode(32),\n fe = !1;\nfunction ge(a, b) {\n switch (a) {\n case \"keyup\":\n return -1 !== $d.indexOf(b.keyCode);\n case \"keydown\":\n return 229 !== b.keyCode;\n case \"keypress\":\n case \"mousedown\":\n case \"focusout\":\n return !0;\n default:\n return !1;\n }\n}\nfunction he(a) {\n a = a.detail;\n return \"object\" === typeof a && \"data\" in a ? a.data : null;\n}\nvar ie = !1;\nfunction je(a, b) {\n switch (a) {\n case \"compositionend\":\n return he(b);\n case \"keypress\":\n if (32 !== b.which) return null;\n fe = !0;\n return ee;\n case \"textInput\":\n return a = b.data, a === ee && fe ? null : a;\n default:\n return null;\n }\n}\nfunction ke(a, b) {\n if (ie) return \"compositionend\" === a || !ae && ge(a, b) ? (a = nd(), md = ld = kd = null, ie = !1, a) : null;\n switch (a) {\n case \"paste\":\n return null;\n case \"keypress\":\n if (!(b.ctrlKey || b.altKey || b.metaKey) || b.ctrlKey && b.altKey) {\n if (b.char && 1 < b.char.length) return b.char;\n if (b.which) return String.fromCharCode(b.which);\n }\n return null;\n case \"compositionend\":\n return de && \"ko\" !== b.locale ? null : b.data;\n default:\n return null;\n }\n}\nvar le = {\n color: !0,\n date: !0,\n datetime: !0,\n \"datetime-local\": !0,\n email: !0,\n month: !0,\n number: !0,\n password: !0,\n range: !0,\n search: !0,\n tel: !0,\n text: !0,\n time: !0,\n url: !0,\n week: !0\n};\nfunction me(a) {\n var b = a && a.nodeName && a.nodeName.toLowerCase();\n return \"input\" === b ? !!le[a.type] : \"textarea\" === b ? !0 : !1;\n}\nfunction ne(a, b, c, d) {\n Eb(d);\n b = oe(b, \"onChange\");\n 0 < b.length && (c = new td(\"onChange\", \"change\", null, c, d), a.push({\n event: c,\n listeners: b\n }));\n}\nvar pe = null,\n qe = null;\nfunction re(a) {\n se(a, 0);\n}\nfunction te(a) {\n var b = ue(a);\n if (Wa(b)) return a;\n}\nfunction ve(a, b) {\n if (\"change\" === a) return b;\n}\nvar we = !1;\nif (ia) {\n var xe;\n if (ia) {\n var ye = (\"oninput\" in document);\n if (!ye) {\n var ze = document.createElement(\"div\");\n ze.setAttribute(\"oninput\", \"return;\");\n ye = \"function\" === typeof ze.oninput;\n }\n xe = ye;\n } else xe = !1;\n we = xe && (!document.documentMode || 9 < document.documentMode);\n}\nfunction Ae() {\n pe && (pe.detachEvent(\"onpropertychange\", Be), qe = pe = null);\n}\nfunction Be(a) {\n if (\"value\" === a.propertyName && te(qe)) {\n var b = [];\n ne(b, qe, a, xb(a));\n Jb(re, b);\n }\n}\nfunction Ce(a, b, c) {\n \"focusin\" === a ? (Ae(), pe = b, qe = c, pe.attachEvent(\"onpropertychange\", Be)) : \"focusout\" === a && Ae();\n}\nfunction De(a) {\n if (\"selectionchange\" === a || \"keyup\" === a || \"keydown\" === a) return te(qe);\n}\nfunction Ee(a, b) {\n if (\"click\" === a) return te(b);\n}\nfunction Fe(a, b) {\n if (\"input\" === a || \"change\" === a) return te(b);\n}\nfunction Ge(a, b) {\n return a === b && (0 !== a || 1 / a === 1 / b) || a !== a && b !== b;\n}\nvar He = \"function\" === typeof Object.is ? Object.is : Ge;\nfunction Ie(a, b) {\n if (He(a, b)) return !0;\n if (\"object\" !== typeof a || null === a || \"object\" !== typeof b || null === b) return !1;\n var c = Object.keys(a),\n d = Object.keys(b);\n if (c.length !== d.length) return !1;\n for (d = 0; d < c.length; d++) {\n var e = c[d];\n if (!ja.call(b, e) || !He(a[e], b[e])) return !1;\n }\n return !0;\n}\nfunction Je(a) {\n for (; a && a.firstChild;) a = a.firstChild;\n return a;\n}\nfunction Ke(a, b) {\n var c = Je(a);\n a = 0;\n for (var d; c;) {\n if (3 === c.nodeType) {\n d = a + c.textContent.length;\n if (a <= b && d >= b) return {\n node: c,\n offset: b - a\n };\n a = d;\n }\n a: {\n for (; c;) {\n if (c.nextSibling) {\n c = c.nextSibling;\n break a;\n }\n c = c.parentNode;\n }\n c = void 0;\n }\n c = Je(c);\n }\n}\nfunction Le(a, b) {\n return a && b ? a === b ? !0 : a && 3 === a.nodeType ? !1 : b && 3 === b.nodeType ? Le(a, b.parentNode) : \"contains\" in a ? a.contains(b) : a.compareDocumentPosition ? !!(a.compareDocumentPosition(b) & 16) : !1 : !1;\n}\nfunction Me() {\n for (var a = window, b = Xa(); b instanceof a.HTMLIFrameElement;) {\n try {\n var c = \"string\" === typeof b.contentWindow.location.href;\n } catch (d) {\n c = !1;\n }\n if (c) a = b.contentWindow;else break;\n b = Xa(a.document);\n }\n return b;\n}\nfunction Ne(a) {\n var b = a && a.nodeName && a.nodeName.toLowerCase();\n return b && (\"input\" === b && (\"text\" === a.type || \"search\" === a.type || \"tel\" === a.type || \"url\" === a.type || \"password\" === a.type) || \"textarea\" === b || \"true\" === a.contentEditable);\n}\nfunction Oe(a) {\n var b = Me(),\n c = a.focusedElem,\n d = a.selectionRange;\n if (b !== c && c && c.ownerDocument && Le(c.ownerDocument.documentElement, c)) {\n if (null !== d && Ne(c)) if (b = d.start, a = d.end, void 0 === a && (a = b), \"selectionStart\" in c) c.selectionStart = b, c.selectionEnd = Math.min(a, c.value.length);else if (a = (b = c.ownerDocument || document) && b.defaultView || window, a.getSelection) {\n a = a.getSelection();\n var e = c.textContent.length,\n f = Math.min(d.start, e);\n d = void 0 === d.end ? f : Math.min(d.end, e);\n !a.extend && f > d && (e = d, d = f, f = e);\n e = Ke(c, f);\n var g = Ke(c, d);\n e && g && (1 !== a.rangeCount || a.anchorNode !== e.node || a.anchorOffset !== e.offset || a.focusNode !== g.node || a.focusOffset !== g.offset) && (b = b.createRange(), b.setStart(e.node, e.offset), a.removeAllRanges(), f > d ? (a.addRange(b), a.extend(g.node, g.offset)) : (b.setEnd(g.node, g.offset), a.addRange(b)));\n }\n b = [];\n for (a = c; a = a.parentNode;) 1 === a.nodeType && b.push({\n element: a,\n left: a.scrollLeft,\n top: a.scrollTop\n });\n \"function\" === typeof c.focus && c.focus();\n for (c = 0; c < b.length; c++) a = b[c], a.element.scrollLeft = a.left, a.element.scrollTop = a.top;\n }\n}\nvar Pe = ia && \"documentMode\" in document && 11 >= document.documentMode,\n Qe = null,\n Re = null,\n Se = null,\n Te = !1;\nfunction Ue(a, b, c) {\n var d = c.window === c ? c.document : 9 === c.nodeType ? c : c.ownerDocument;\n Te || null == Qe || Qe !== Xa(d) || (d = Qe, \"selectionStart\" in d && Ne(d) ? d = {\n start: d.selectionStart,\n end: d.selectionEnd\n } : (d = (d.ownerDocument && d.ownerDocument.defaultView || window).getSelection(), d = {\n anchorNode: d.anchorNode,\n anchorOffset: d.anchorOffset,\n focusNode: d.focusNode,\n focusOffset: d.focusOffset\n }), Se && Ie(Se, d) || (Se = d, d = oe(Re, \"onSelect\"), 0 < d.length && (b = new td(\"onSelect\", \"select\", null, b, c), a.push({\n event: b,\n listeners: d\n }), b.target = Qe)));\n}\nfunction Ve(a, b) {\n var c = {};\n c[a.toLowerCase()] = b.toLowerCase();\n c[\"Webkit\" + a] = \"webkit\" + b;\n c[\"Moz\" + a] = \"moz\" + b;\n return c;\n}\nvar We = {\n animationend: Ve(\"Animation\", \"AnimationEnd\"),\n animationiteration: Ve(\"Animation\", \"AnimationIteration\"),\n animationstart: Ve(\"Animation\", \"AnimationStart\"),\n transitionend: Ve(\"Transition\", \"TransitionEnd\")\n },\n Xe = {},\n Ye = {};\nia && (Ye = document.createElement(\"div\").style, \"AnimationEvent\" in window || (delete We.animationend.animation, delete We.animationiteration.animation, delete We.animationstart.animation), \"TransitionEvent\" in window || delete We.transitionend.transition);\nfunction Ze(a) {\n if (Xe[a]) return Xe[a];\n if (!We[a]) return a;\n var b = We[a],\n c;\n for (c in b) if (b.hasOwnProperty(c) && c in Ye) return Xe[a] = b[c];\n return a;\n}\nvar $e = Ze(\"animationend\"),\n af = Ze(\"animationiteration\"),\n bf = Ze(\"animationstart\"),\n cf = Ze(\"transitionend\"),\n df = new Map(),\n ef = \"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a, b) {\n df.set(a, b);\n fa(b, [a]);\n}\nfor (var gf = 0; gf < ef.length; gf++) {\n var hf = ef[gf],\n jf = hf.toLowerCase(),\n kf = hf[0].toUpperCase() + hf.slice(1);\n ff(jf, \"on\" + kf);\n}\nff($e, \"onAnimationEnd\");\nff(af, \"onAnimationIteration\");\nff(bf, \"onAnimationStart\");\nff(\"dblclick\", \"onDoubleClick\");\nff(\"focusin\", \"onFocus\");\nff(\"focusout\", \"onBlur\");\nff(cf, \"onTransitionEnd\");\nha(\"onMouseEnter\", [\"mouseout\", \"mouseover\"]);\nha(\"onMouseLeave\", [\"mouseout\", \"mouseover\"]);\nha(\"onPointerEnter\", [\"pointerout\", \"pointerover\"]);\nha(\"onPointerLeave\", [\"pointerout\", \"pointerover\"]);\nfa(\"onChange\", \"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));\nfa(\"onSelect\", \"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));\nfa(\"onBeforeInput\", [\"compositionend\", \"keypress\", \"textInput\", \"paste\"]);\nfa(\"onCompositionEnd\", \"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionStart\", \"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\", \"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));\nvar lf = \"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),\n mf = new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a, b, c) {\n var d = a.type || \"unknown-event\";\n a.currentTarget = c;\n Ub(d, b, void 0, a);\n a.currentTarget = null;\n}\nfunction se(a, b) {\n b = 0 !== (b & 4);\n for (var c = 0; c < a.length; c++) {\n var d = a[c],\n e = d.event;\n d = d.listeners;\n a: {\n var f = void 0;\n if (b) for (var g = d.length - 1; 0 <= g; g--) {\n var h = d[g],\n k = h.instance,\n l = h.currentTarget;\n h = h.listener;\n if (k !== f && e.isPropagationStopped()) break a;\n nf(e, h, l);\n f = k;\n } else for (g = 0; g < d.length; g++) {\n h = d[g];\n k = h.instance;\n l = h.currentTarget;\n h = h.listener;\n if (k !== f && e.isPropagationStopped()) break a;\n nf(e, h, l);\n f = k;\n }\n }\n }\n if (Qb) throw a = Rb, Qb = !1, Rb = null, a;\n}\nfunction D(a, b) {\n var c = b[of];\n void 0 === c && (c = b[of] = new Set());\n var d = a + \"__bubble\";\n c.has(d) || (pf(b, a, 2, !1), c.add(d));\n}\nfunction qf(a, b, c) {\n var d = 0;\n b && (d |= 4);\n pf(c, a, d, b);\n}\nvar rf = \"_reactListening\" + Math.random().toString(36).slice(2);\nfunction sf(a) {\n if (!a[rf]) {\n a[rf] = !0;\n da.forEach(function (b) {\n \"selectionchange\" !== b && (mf.has(b) || qf(b, !1, a), qf(b, !0, a));\n });\n var b = 9 === a.nodeType ? a : a.ownerDocument;\n null === b || b[rf] || (b[rf] = !0, qf(\"selectionchange\", !1, b));\n }\n}\nfunction pf(a, b, c, d) {\n switch (jd(b)) {\n case 1:\n var e = ed;\n break;\n case 4:\n e = gd;\n break;\n default:\n e = fd;\n }\n c = e.bind(null, b, c, a);\n e = void 0;\n !Lb || \"touchstart\" !== b && \"touchmove\" !== b && \"wheel\" !== b || (e = !0);\n d ? void 0 !== e ? a.addEventListener(b, c, {\n capture: !0,\n passive: e\n }) : a.addEventListener(b, c, !0) : void 0 !== e ? a.addEventListener(b, c, {\n passive: e\n }) : a.addEventListener(b, c, !1);\n}\nfunction hd(a, b, c, d, e) {\n var f = d;\n if (0 === (b & 1) && 0 === (b & 2) && null !== d) a: for (;;) {\n if (null === d) return;\n var g = d.tag;\n if (3 === g || 4 === g) {\n var h = d.stateNode.containerInfo;\n if (h === e || 8 === h.nodeType && h.parentNode === e) break;\n if (4 === g) for (g = d.return; null !== g;) {\n var k = g.tag;\n if (3 === k || 4 === k) if (k = g.stateNode.containerInfo, k === e || 8 === k.nodeType && k.parentNode === e) return;\n g = g.return;\n }\n for (; null !== h;) {\n g = Wc(h);\n if (null === g) return;\n k = g.tag;\n if (5 === k || 6 === k) {\n d = f = g;\n continue a;\n }\n h = h.parentNode;\n }\n }\n d = d.return;\n }\n Jb(function () {\n var d = f,\n e = xb(c),\n g = [];\n a: {\n var h = df.get(a);\n if (void 0 !== h) {\n var k = td,\n n = a;\n switch (a) {\n case \"keypress\":\n if (0 === od(c)) break a;\n case \"keydown\":\n case \"keyup\":\n k = Rd;\n break;\n case \"focusin\":\n n = \"focus\";\n k = Fd;\n break;\n case \"focusout\":\n n = \"blur\";\n k = Fd;\n break;\n case \"beforeblur\":\n case \"afterblur\":\n k = Fd;\n break;\n case \"click\":\n if (2 === c.button) break a;\n case \"auxclick\":\n case \"dblclick\":\n case \"mousedown\":\n case \"mousemove\":\n case \"mouseup\":\n case \"mouseout\":\n case \"mouseover\":\n case \"contextmenu\":\n k = Bd;\n break;\n case \"drag\":\n case \"dragend\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"dragstart\":\n case \"drop\":\n k = Dd;\n break;\n case \"touchcancel\":\n case \"touchend\":\n case \"touchmove\":\n case \"touchstart\":\n k = Vd;\n break;\n case $e:\n case af:\n case bf:\n k = Hd;\n break;\n case cf:\n k = Xd;\n break;\n case \"scroll\":\n k = vd;\n break;\n case \"wheel\":\n k = Zd;\n break;\n case \"copy\":\n case \"cut\":\n case \"paste\":\n k = Jd;\n break;\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"pointerup\":\n k = Td;\n }\n var t = 0 !== (b & 4),\n J = !t && \"scroll\" === a,\n x = t ? null !== h ? h + \"Capture\" : null : h;\n t = [];\n for (var w = d, u; null !== w;) {\n u = w;\n var F = u.stateNode;\n 5 === u.tag && null !== F && (u = F, null !== x && (F = Kb(w, x), null != F && t.push(tf(w, F, u))));\n if (J) break;\n w = w.return;\n }\n 0 < t.length && (h = new k(h, n, null, c, e), g.push({\n event: h,\n listeners: t\n }));\n }\n }\n if (0 === (b & 7)) {\n a: {\n h = \"mouseover\" === a || \"pointerover\" === a;\n k = \"mouseout\" === a || \"pointerout\" === a;\n if (h && c !== wb && (n = c.relatedTarget || c.fromElement) && (Wc(n) || n[uf])) break a;\n if (k || h) {\n h = e.window === e ? e : (h = e.ownerDocument) ? h.defaultView || h.parentWindow : window;\n if (k) {\n if (n = c.relatedTarget || c.toElement, k = d, n = n ? Wc(n) : null, null !== n && (J = Vb(n), n !== J || 5 !== n.tag && 6 !== n.tag)) n = null;\n } else k = null, n = d;\n if (k !== n) {\n t = Bd;\n F = \"onMouseLeave\";\n x = \"onMouseEnter\";\n w = \"mouse\";\n if (\"pointerout\" === a || \"pointerover\" === a) t = Td, F = \"onPointerLeave\", x = \"onPointerEnter\", w = \"pointer\";\n J = null == k ? h : ue(k);\n u = null == n ? h : ue(n);\n h = new t(F, w + \"leave\", k, c, e);\n h.target = J;\n h.relatedTarget = u;\n F = null;\n Wc(e) === d && (t = new t(x, w + \"enter\", n, c, e), t.target = u, t.relatedTarget = J, F = t);\n J = F;\n if (k && n) b: {\n t = k;\n x = n;\n w = 0;\n for (u = t; u; u = vf(u)) w++;\n u = 0;\n for (F = x; F; F = vf(F)) u++;\n for (; 0 < w - u;) t = vf(t), w--;\n for (; 0 < u - w;) x = vf(x), u--;\n for (; w--;) {\n if (t === x || null !== x && t === x.alternate) break b;\n t = vf(t);\n x = vf(x);\n }\n t = null;\n } else t = null;\n null !== k && wf(g, h, k, t, !1);\n null !== n && null !== J && wf(g, J, n, t, !0);\n }\n }\n }\n a: {\n h = d ? ue(d) : window;\n k = h.nodeName && h.nodeName.toLowerCase();\n if (\"select\" === k || \"input\" === k && \"file\" === h.type) var na = ve;else if (me(h)) {\n if (we) na = Fe;else {\n na = De;\n var xa = Ce;\n }\n } else (k = h.nodeName) && \"input\" === k.toLowerCase() && (\"checkbox\" === h.type || \"radio\" === h.type) && (na = Ee);\n if (na && (na = na(a, d))) {\n ne(g, na, c, e);\n break a;\n }\n xa && xa(a, h, d);\n \"focusout\" === a && (xa = h._wrapperState) && xa.controlled && \"number\" === h.type && cb(h, \"number\", h.value);\n }\n xa = d ? ue(d) : window;\n switch (a) {\n case \"focusin\":\n if (me(xa) || \"true\" === xa.contentEditable) Qe = xa, Re = d, Se = null;\n break;\n case \"focusout\":\n Se = Re = Qe = null;\n break;\n case \"mousedown\":\n Te = !0;\n break;\n case \"contextmenu\":\n case \"mouseup\":\n case \"dragend\":\n Te = !1;\n Ue(g, c, e);\n break;\n case \"selectionchange\":\n if (Pe) break;\n case \"keydown\":\n case \"keyup\":\n Ue(g, c, e);\n }\n var $a;\n if (ae) b: {\n switch (a) {\n case \"compositionstart\":\n var ba = \"onCompositionStart\";\n break b;\n case \"compositionend\":\n ba = \"onCompositionEnd\";\n break b;\n case \"compositionupdate\":\n ba = \"onCompositionUpdate\";\n break b;\n }\n ba = void 0;\n } else ie ? ge(a, c) && (ba = \"onCompositionEnd\") : \"keydown\" === a && 229 === c.keyCode && (ba = \"onCompositionStart\");\n ba && (de && \"ko\" !== c.locale && (ie || \"onCompositionStart\" !== ba ? \"onCompositionEnd\" === ba && ie && ($a = nd()) : (kd = e, ld = \"value\" in kd ? kd.value : kd.textContent, ie = !0)), xa = oe(d, ba), 0 < xa.length && (ba = new Ld(ba, a, null, c, e), g.push({\n event: ba,\n listeners: xa\n }), $a ? ba.data = $a : ($a = he(c), null !== $a && (ba.data = $a))));\n if ($a = ce ? je(a, c) : ke(a, c)) d = oe(d, \"onBeforeInput\"), 0 < d.length && (e = new Ld(\"onBeforeInput\", \"beforeinput\", null, c, e), g.push({\n event: e,\n listeners: d\n }), e.data = $a);\n }\n se(g, b);\n });\n}\nfunction tf(a, b, c) {\n return {\n instance: a,\n listener: b,\n currentTarget: c\n };\n}\nfunction oe(a, b) {\n for (var c = b + \"Capture\", d = []; null !== a;) {\n var e = a,\n f = e.stateNode;\n 5 === e.tag && null !== f && (e = f, f = Kb(a, c), null != f && d.unshift(tf(a, f, e)), f = Kb(a, b), null != f && d.push(tf(a, f, e)));\n a = a.return;\n }\n return d;\n}\nfunction vf(a) {\n if (null === a) return null;\n do a = a.return; while (a && 5 !== a.tag);\n return a ? a : null;\n}\nfunction wf(a, b, c, d, e) {\n for (var f = b._reactName, g = []; null !== c && c !== d;) {\n var h = c,\n k = h.alternate,\n l = h.stateNode;\n if (null !== k && k === d) break;\n 5 === h.tag && null !== l && (h = l, e ? (k = Kb(c, f), null != k && g.unshift(tf(c, k, h))) : e || (k = Kb(c, f), null != k && g.push(tf(c, k, h))));\n c = c.return;\n }\n 0 !== g.length && a.push({\n event: b,\n listeners: g\n });\n}\nvar xf = /\\r\\n?/g,\n yf = /\\u0000|\\uFFFD/g;\nfunction zf(a) {\n return (\"string\" === typeof a ? a : \"\" + a).replace(xf, \"\\n\").replace(yf, \"\");\n}\nfunction Af(a, b, c) {\n b = zf(b);\n if (zf(a) !== b && c) throw Error(p(425));\n}\nfunction Bf() {}\nvar Cf = null,\n Df = null;\nfunction Ef(a, b) {\n return \"textarea\" === a || \"noscript\" === a || \"string\" === typeof b.children || \"number\" === typeof b.children || \"object\" === typeof b.dangerouslySetInnerHTML && null !== b.dangerouslySetInnerHTML && null != b.dangerouslySetInnerHTML.__html;\n}\nvar Ff = \"function\" === typeof setTimeout ? setTimeout : void 0,\n Gf = \"function\" === typeof clearTimeout ? clearTimeout : void 0,\n Hf = \"function\" === typeof Promise ? Promise : void 0,\n Jf = \"function\" === typeof queueMicrotask ? queueMicrotask : \"undefined\" !== typeof Hf ? function (a) {\n return Hf.resolve(null).then(a).catch(If);\n } : Ff;\nfunction If(a) {\n setTimeout(function () {\n throw a;\n });\n}\nfunction Kf(a, b) {\n var c = b,\n d = 0;\n do {\n var e = c.nextSibling;\n a.removeChild(c);\n if (e && 8 === e.nodeType) if (c = e.data, \"/$\" === c) {\n if (0 === d) {\n a.removeChild(e);\n bd(b);\n return;\n }\n d--;\n } else \"$\" !== c && \"$?\" !== c && \"$!\" !== c || d++;\n c = e;\n } while (c);\n bd(b);\n}\nfunction Lf(a) {\n for (; null != a; a = a.nextSibling) {\n var b = a.nodeType;\n if (1 === b || 3 === b) break;\n if (8 === b) {\n b = a.data;\n if (\"$\" === b || \"$!\" === b || \"$?\" === b) break;\n if (\"/$\" === b) return null;\n }\n }\n return a;\n}\nfunction Mf(a) {\n a = a.previousSibling;\n for (var b = 0; a;) {\n if (8 === a.nodeType) {\n var c = a.data;\n if (\"$\" === c || \"$!\" === c || \"$?\" === c) {\n if (0 === b) return a;\n b--;\n } else \"/$\" === c && b++;\n }\n a = a.previousSibling;\n }\n return null;\n}\nvar Nf = Math.random().toString(36).slice(2),\n Of = \"__reactFiber$\" + Nf,\n Pf = \"__reactProps$\" + Nf,\n uf = \"__reactContainer$\" + Nf,\n of = \"__reactEvents$\" + Nf,\n Qf = \"__reactListeners$\" + Nf,\n Rf = \"__reactHandles$\" + Nf;\nfunction Wc(a) {\n var b = a[Of];\n if (b) return b;\n for (var c = a.parentNode; c;) {\n if (b = c[uf] || c[Of]) {\n c = b.alternate;\n if (null !== b.child || null !== c && null !== c.child) for (a = Mf(a); null !== a;) {\n if (c = a[Of]) return c;\n a = Mf(a);\n }\n return b;\n }\n a = c;\n c = a.parentNode;\n }\n return null;\n}\nfunction Cb(a) {\n a = a[Of] || a[uf];\n return !a || 5 !== a.tag && 6 !== a.tag && 13 !== a.tag && 3 !== a.tag ? null : a;\n}\nfunction ue(a) {\n if (5 === a.tag || 6 === a.tag) return a.stateNode;\n throw Error(p(33));\n}\nfunction Db(a) {\n return a[Pf] || null;\n}\nvar Sf = [],\n Tf = -1;\nfunction Uf(a) {\n return {\n current: a\n };\n}\nfunction E(a) {\n 0 > Tf || (a.current = Sf[Tf], Sf[Tf] = null, Tf--);\n}\nfunction G(a, b) {\n Tf++;\n Sf[Tf] = a.current;\n a.current = b;\n}\nvar Vf = {},\n H = Uf(Vf),\n Wf = Uf(!1),\n Xf = Vf;\nfunction Yf(a, b) {\n var c = a.type.contextTypes;\n if (!c) return Vf;\n var d = a.stateNode;\n if (d && d.__reactInternalMemoizedUnmaskedChildContext === b) return d.__reactInternalMemoizedMaskedChildContext;\n var e = {},\n f;\n for (f in c) e[f] = b[f];\n d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = b, a.__reactInternalMemoizedMaskedChildContext = e);\n return e;\n}\nfunction Zf(a) {\n a = a.childContextTypes;\n return null !== a && void 0 !== a;\n}\nfunction $f() {\n E(Wf);\n E(H);\n}\nfunction ag(a, b, c) {\n if (H.current !== Vf) throw Error(p(168));\n G(H, b);\n G(Wf, c);\n}\nfunction bg(a, b, c) {\n var d = a.stateNode;\n b = b.childContextTypes;\n if (\"function\" !== typeof d.getChildContext) return c;\n d = d.getChildContext();\n for (var e in d) if (!(e in b)) throw Error(p(108, Ra(a) || \"Unknown\", e));\n return A({}, c, d);\n}\nfunction cg(a) {\n a = (a = a.stateNode) && a.__reactInternalMemoizedMergedChildContext || Vf;\n Xf = H.current;\n G(H, a);\n G(Wf, Wf.current);\n return !0;\n}\nfunction dg(a, b, c) {\n var d = a.stateNode;\n if (!d) throw Error(p(169));\n c ? (a = bg(a, b, Xf), d.__reactInternalMemoizedMergedChildContext = a, E(Wf), E(H), G(H, a)) : E(Wf);\n G(Wf, c);\n}\nvar eg = null,\n fg = !1,\n gg = !1;\nfunction hg(a) {\n null === eg ? eg = [a] : eg.push(a);\n}\nfunction ig(a) {\n fg = !0;\n hg(a);\n}\nfunction jg() {\n if (!gg && null !== eg) {\n gg = !0;\n var a = 0,\n b = C;\n try {\n var c = eg;\n for (C = 1; a < c.length; a++) {\n var d = c[a];\n do d = d(!0); while (null !== d);\n }\n eg = null;\n fg = !1;\n } catch (e) {\n throw null !== eg && (eg = eg.slice(a + 1)), ac(fc, jg), e;\n } finally {\n C = b, gg = !1;\n }\n }\n return null;\n}\nvar kg = [],\n lg = 0,\n mg = null,\n ng = 0,\n og = [],\n pg = 0,\n qg = null,\n rg = 1,\n sg = \"\";\nfunction tg(a, b) {\n kg[lg++] = ng;\n kg[lg++] = mg;\n mg = a;\n ng = b;\n}\nfunction ug(a, b, c) {\n og[pg++] = rg;\n og[pg++] = sg;\n og[pg++] = qg;\n qg = a;\n var d = rg;\n a = sg;\n var e = 32 - oc(d) - 1;\n d &= ~(1 << e);\n c += 1;\n var f = 32 - oc(b) + e;\n if (30 < f) {\n var g = e - e % 5;\n f = (d & (1 << g) - 1).toString(32);\n d >>= g;\n e -= g;\n rg = 1 << 32 - oc(b) + e | c << e | d;\n sg = f + a;\n } else rg = 1 << f | c << e | d, sg = a;\n}\nfunction vg(a) {\n null !== a.return && (tg(a, 1), ug(a, 1, 0));\n}\nfunction wg(a) {\n for (; a === mg;) mg = kg[--lg], kg[lg] = null, ng = kg[--lg], kg[lg] = null;\n for (; a === qg;) qg = og[--pg], og[pg] = null, sg = og[--pg], og[pg] = null, rg = og[--pg], og[pg] = null;\n}\nvar xg = null,\n yg = null,\n I = !1,\n zg = null;\nfunction Ag(a, b) {\n var c = Bg(5, null, null, 0);\n c.elementType = \"DELETED\";\n c.stateNode = b;\n c.return = a;\n b = a.deletions;\n null === b ? (a.deletions = [c], a.flags |= 16) : b.push(c);\n}\nfunction Cg(a, b) {\n switch (a.tag) {\n case 5:\n var c = a.type;\n b = 1 !== b.nodeType || c.toLowerCase() !== b.nodeName.toLowerCase() ? null : b;\n return null !== b ? (a.stateNode = b, xg = a, yg = Lf(b.firstChild), !0) : !1;\n case 6:\n return b = \"\" === a.pendingProps || 3 !== b.nodeType ? null : b, null !== b ? (a.stateNode = b, xg = a, yg = null, !0) : !1;\n case 13:\n return b = 8 !== b.nodeType ? null : b, null !== b ? (c = null !== qg ? {\n id: rg,\n overflow: sg\n } : null, a.memoizedState = {\n dehydrated: b,\n treeContext: c,\n retryLane: 1073741824\n }, c = Bg(18, null, null, 0), c.stateNode = b, c.return = a, a.child = c, xg = a, yg = null, !0) : !1;\n default:\n return !1;\n }\n}\nfunction Dg(a) {\n return 0 !== (a.mode & 1) && 0 === (a.flags & 128);\n}\nfunction Eg(a) {\n if (I) {\n var b = yg;\n if (b) {\n var c = b;\n if (!Cg(a, b)) {\n if (Dg(a)) throw Error(p(418));\n b = Lf(c.nextSibling);\n var d = xg;\n b && Cg(a, b) ? Ag(d, c) : (a.flags = a.flags & -4097 | 2, I = !1, xg = a);\n }\n } else {\n if (Dg(a)) throw Error(p(418));\n a.flags = a.flags & -4097 | 2;\n I = !1;\n xg = a;\n }\n }\n}\nfunction Fg(a) {\n for (a = a.return; null !== a && 5 !== a.tag && 3 !== a.tag && 13 !== a.tag;) a = a.return;\n xg = a;\n}\nfunction Gg(a) {\n if (a !== xg) return !1;\n if (!I) return Fg(a), I = !0, !1;\n var b;\n (b = 3 !== a.tag) && !(b = 5 !== a.tag) && (b = a.type, b = \"head\" !== b && \"body\" !== b && !Ef(a.type, a.memoizedProps));\n if (b && (b = yg)) {\n if (Dg(a)) throw Hg(), Error(p(418));\n for (; b;) Ag(a, b), b = Lf(b.nextSibling);\n }\n Fg(a);\n if (13 === a.tag) {\n a = a.memoizedState;\n a = null !== a ? a.dehydrated : null;\n if (!a) throw Error(p(317));\n a: {\n a = a.nextSibling;\n for (b = 0; a;) {\n if (8 === a.nodeType) {\n var c = a.data;\n if (\"/$\" === c) {\n if (0 === b) {\n yg = Lf(a.nextSibling);\n break a;\n }\n b--;\n } else \"$\" !== c && \"$!\" !== c && \"$?\" !== c || b++;\n }\n a = a.nextSibling;\n }\n yg = null;\n }\n } else yg = xg ? Lf(a.stateNode.nextSibling) : null;\n return !0;\n}\nfunction Hg() {\n for (var a = yg; a;) a = Lf(a.nextSibling);\n}\nfunction Ig() {\n yg = xg = null;\n I = !1;\n}\nfunction Jg(a) {\n null === zg ? zg = [a] : zg.push(a);\n}\nvar Kg = ua.ReactCurrentBatchConfig;\nfunction Lg(a, b) {\n if (a && a.defaultProps) {\n b = A({}, b);\n a = a.defaultProps;\n for (var c in a) void 0 === b[c] && (b[c] = a[c]);\n return b;\n }\n return b;\n}\nvar Mg = Uf(null),\n Ng = null,\n Og = null,\n Pg = null;\nfunction Qg() {\n Pg = Og = Ng = null;\n}\nfunction Rg(a) {\n var b = Mg.current;\n E(Mg);\n a._currentValue = b;\n}\nfunction Sg(a, b, c) {\n for (; null !== a;) {\n var d = a.alternate;\n (a.childLanes & b) !== b ? (a.childLanes |= b, null !== d && (d.childLanes |= b)) : null !== d && (d.childLanes & b) !== b && (d.childLanes |= b);\n if (a === c) break;\n a = a.return;\n }\n}\nfunction Tg(a, b) {\n Ng = a;\n Pg = Og = null;\n a = a.dependencies;\n null !== a && null !== a.firstContext && (0 !== (a.lanes & b) && (Ug = !0), a.firstContext = null);\n}\nfunction Vg(a) {\n var b = a._currentValue;\n if (Pg !== a) if (a = {\n context: a,\n memoizedValue: b,\n next: null\n }, null === Og) {\n if (null === Ng) throw Error(p(308));\n Og = a;\n Ng.dependencies = {\n lanes: 0,\n firstContext: a\n };\n } else Og = Og.next = a;\n return b;\n}\nvar Wg = null;\nfunction Xg(a) {\n null === Wg ? Wg = [a] : Wg.push(a);\n}\nfunction Yg(a, b, c, d) {\n var e = b.interleaved;\n null === e ? (c.next = c, Xg(b)) : (c.next = e.next, e.next = c);\n b.interleaved = c;\n return Zg(a, d);\n}\nfunction Zg(a, b) {\n a.lanes |= b;\n var c = a.alternate;\n null !== c && (c.lanes |= b);\n c = a;\n for (a = a.return; null !== a;) a.childLanes |= b, c = a.alternate, null !== c && (c.childLanes |= b), c = a, a = a.return;\n return 3 === c.tag ? c.stateNode : null;\n}\nvar $g = !1;\nfunction ah(a) {\n a.updateQueue = {\n baseState: a.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: {\n pending: null,\n interleaved: null,\n lanes: 0\n },\n effects: null\n };\n}\nfunction bh(a, b) {\n a = a.updateQueue;\n b.updateQueue === a && (b.updateQueue = {\n baseState: a.baseState,\n firstBaseUpdate: a.firstBaseUpdate,\n lastBaseUpdate: a.lastBaseUpdate,\n shared: a.shared,\n effects: a.effects\n });\n}\nfunction ch(a, b) {\n return {\n eventTime: a,\n lane: b,\n tag: 0,\n payload: null,\n callback: null,\n next: null\n };\n}\nfunction dh(a, b, c) {\n var d = a.updateQueue;\n if (null === d) return null;\n d = d.shared;\n if (0 !== (K & 2)) {\n var e = d.pending;\n null === e ? b.next = b : (b.next = e.next, e.next = b);\n d.pending = b;\n return Zg(a, c);\n }\n e = d.interleaved;\n null === e ? (b.next = b, Xg(d)) : (b.next = e.next, e.next = b);\n d.interleaved = b;\n return Zg(a, c);\n}\nfunction eh(a, b, c) {\n b = b.updateQueue;\n if (null !== b && (b = b.shared, 0 !== (c & 4194240))) {\n var d = b.lanes;\n d &= a.pendingLanes;\n c |= d;\n b.lanes = c;\n Cc(a, c);\n }\n}\nfunction fh(a, b) {\n var c = a.updateQueue,\n d = a.alternate;\n if (null !== d && (d = d.updateQueue, c === d)) {\n var e = null,\n f = null;\n c = c.firstBaseUpdate;\n if (null !== c) {\n do {\n var g = {\n eventTime: c.eventTime,\n lane: c.lane,\n tag: c.tag,\n payload: c.payload,\n callback: c.callback,\n next: null\n };\n null === f ? e = f = g : f = f.next = g;\n c = c.next;\n } while (null !== c);\n null === f ? e = f = b : f = f.next = b;\n } else e = f = b;\n c = {\n baseState: d.baseState,\n firstBaseUpdate: e,\n lastBaseUpdate: f,\n shared: d.shared,\n effects: d.effects\n };\n a.updateQueue = c;\n return;\n }\n a = c.lastBaseUpdate;\n null === a ? c.firstBaseUpdate = b : a.next = b;\n c.lastBaseUpdate = b;\n}\nfunction gh(a, b, c, d) {\n var e = a.updateQueue;\n $g = !1;\n var f = e.firstBaseUpdate,\n g = e.lastBaseUpdate,\n h = e.shared.pending;\n if (null !== h) {\n e.shared.pending = null;\n var k = h,\n l = k.next;\n k.next = null;\n null === g ? f = l : g.next = l;\n g = k;\n var m = a.alternate;\n null !== m && (m = m.updateQueue, h = m.lastBaseUpdate, h !== g && (null === h ? m.firstBaseUpdate = l : h.next = l, m.lastBaseUpdate = k));\n }\n if (null !== f) {\n var q = e.baseState;\n g = 0;\n m = l = k = null;\n h = f;\n do {\n var r = h.lane,\n y = h.eventTime;\n if ((d & r) === r) {\n null !== m && (m = m.next = {\n eventTime: y,\n lane: 0,\n tag: h.tag,\n payload: h.payload,\n callback: h.callback,\n next: null\n });\n a: {\n var n = a,\n t = h;\n r = b;\n y = c;\n switch (t.tag) {\n case 1:\n n = t.payload;\n if (\"function\" === typeof n) {\n q = n.call(y, q, r);\n break a;\n }\n q = n;\n break a;\n case 3:\n n.flags = n.flags & -65537 | 128;\n case 0:\n n = t.payload;\n r = \"function\" === typeof n ? n.call(y, q, r) : n;\n if (null === r || void 0 === r) break a;\n q = A({}, q, r);\n break a;\n case 2:\n $g = !0;\n }\n }\n null !== h.callback && 0 !== h.lane && (a.flags |= 64, r = e.effects, null === r ? e.effects = [h] : r.push(h));\n } else y = {\n eventTime: y,\n lane: r,\n tag: h.tag,\n payload: h.payload,\n callback: h.callback,\n next: null\n }, null === m ? (l = m = y, k = q) : m = m.next = y, g |= r;\n h = h.next;\n if (null === h) if (h = e.shared.pending, null === h) break;else r = h, h = r.next, r.next = null, e.lastBaseUpdate = r, e.shared.pending = null;\n } while (1);\n null === m && (k = q);\n e.baseState = k;\n e.firstBaseUpdate = l;\n e.lastBaseUpdate = m;\n b = e.shared.interleaved;\n if (null !== b) {\n e = b;\n do g |= e.lane, e = e.next; while (e !== b);\n } else null === f && (e.shared.lanes = 0);\n hh |= g;\n a.lanes = g;\n a.memoizedState = q;\n }\n}\nfunction ih(a, b, c) {\n a = b.effects;\n b.effects = null;\n if (null !== a) for (b = 0; b < a.length; b++) {\n var d = a[b],\n e = d.callback;\n if (null !== e) {\n d.callback = null;\n d = c;\n if (\"function\" !== typeof e) throw Error(p(191, e));\n e.call(d);\n }\n }\n}\nvar jh = new aa.Component().refs;\nfunction kh(a, b, c, d) {\n b = a.memoizedState;\n c = c(d, b);\n c = null === c || void 0 === c ? b : A({}, b, c);\n a.memoizedState = c;\n 0 === a.lanes && (a.updateQueue.baseState = c);\n}\nvar nh = {\n isMounted: function isMounted(a) {\n return (a = a._reactInternals) ? Vb(a) === a : !1;\n },\n enqueueSetState: function enqueueSetState(a, b, c) {\n a = a._reactInternals;\n var d = L(),\n e = lh(a),\n f = ch(d, e);\n f.payload = b;\n void 0 !== c && null !== c && (f.callback = c);\n b = dh(a, f, e);\n null !== b && (mh(b, a, e, d), eh(b, a, e));\n },\n enqueueReplaceState: function enqueueReplaceState(a, b, c) {\n a = a._reactInternals;\n var d = L(),\n e = lh(a),\n f = ch(d, e);\n f.tag = 1;\n f.payload = b;\n void 0 !== c && null !== c && (f.callback = c);\n b = dh(a, f, e);\n null !== b && (mh(b, a, e, d), eh(b, a, e));\n },\n enqueueForceUpdate: function enqueueForceUpdate(a, b) {\n a = a._reactInternals;\n var c = L(),\n d = lh(a),\n e = ch(c, d);\n e.tag = 2;\n void 0 !== b && null !== b && (e.callback = b);\n b = dh(a, e, d);\n null !== b && (mh(b, a, d, c), eh(b, a, d));\n }\n};\nfunction oh(a, b, c, d, e, f, g) {\n a = a.stateNode;\n return \"function\" === typeof a.shouldComponentUpdate ? a.shouldComponentUpdate(d, f, g) : b.prototype && b.prototype.isPureReactComponent ? !Ie(c, d) || !Ie(e, f) : !0;\n}\nfunction ph(a, b, c) {\n var d = !1,\n e = Vf;\n var f = b.contextType;\n \"object\" === typeof f && null !== f ? f = Vg(f) : (e = Zf(b) ? Xf : H.current, d = b.contextTypes, f = (d = null !== d && void 0 !== d) ? Yf(a, e) : Vf);\n b = new b(c, f);\n a.memoizedState = null !== b.state && void 0 !== b.state ? b.state : null;\n b.updater = nh;\n a.stateNode = b;\n b._reactInternals = a;\n d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = e, a.__reactInternalMemoizedMaskedChildContext = f);\n return b;\n}\nfunction qh(a, b, c, d) {\n a = b.state;\n \"function\" === typeof b.componentWillReceiveProps && b.componentWillReceiveProps(c, d);\n \"function\" === typeof b.UNSAFE_componentWillReceiveProps && b.UNSAFE_componentWillReceiveProps(c, d);\n b.state !== a && nh.enqueueReplaceState(b, b.state, null);\n}\nfunction rh(a, b, c, d) {\n var e = a.stateNode;\n e.props = c;\n e.state = a.memoizedState;\n e.refs = jh;\n ah(a);\n var f = b.contextType;\n \"object\" === typeof f && null !== f ? e.context = Vg(f) : (f = Zf(b) ? Xf : H.current, e.context = Yf(a, f));\n e.state = a.memoizedState;\n f = b.getDerivedStateFromProps;\n \"function\" === typeof f && (kh(a, b, f, c), e.state = a.memoizedState);\n \"function\" === typeof b.getDerivedStateFromProps || \"function\" === typeof e.getSnapshotBeforeUpdate || \"function\" !== typeof e.UNSAFE_componentWillMount && \"function\" !== typeof e.componentWillMount || (b = e.state, \"function\" === typeof e.componentWillMount && e.componentWillMount(), \"function\" === typeof e.UNSAFE_componentWillMount && e.UNSAFE_componentWillMount(), b !== e.state && nh.enqueueReplaceState(e, e.state, null), gh(a, c, e, d), e.state = a.memoizedState);\n \"function\" === typeof e.componentDidMount && (a.flags |= 4194308);\n}\nfunction sh(a, b, c) {\n a = c.ref;\n if (null !== a && \"function\" !== typeof a && \"object\" !== typeof a) {\n if (c._owner) {\n c = c._owner;\n if (c) {\n if (1 !== c.tag) throw Error(p(309));\n var d = c.stateNode;\n }\n if (!d) throw Error(p(147, a));\n var e = d,\n f = \"\" + a;\n if (null !== b && null !== b.ref && \"function\" === typeof b.ref && b.ref._stringRef === f) return b.ref;\n b = function b(a) {\n var b = e.refs;\n b === jh && (b = e.refs = {});\n null === a ? delete b[f] : b[f] = a;\n };\n b._stringRef = f;\n return b;\n }\n if (\"string\" !== typeof a) throw Error(p(284));\n if (!c._owner) throw Error(p(290, a));\n }\n return a;\n}\nfunction th(a, b) {\n a = Object.prototype.toString.call(b);\n throw Error(p(31, \"[object Object]\" === a ? \"object with keys {\" + Object.keys(b).join(\", \") + \"}\" : a));\n}\nfunction uh(a) {\n var b = a._init;\n return b(a._payload);\n}\nfunction vh(a) {\n function b(b, c) {\n if (a) {\n var d = b.deletions;\n null === d ? (b.deletions = [c], b.flags |= 16) : d.push(c);\n }\n }\n function c(c, d) {\n if (!a) return null;\n for (; null !== d;) b(c, d), d = d.sibling;\n return null;\n }\n function d(a, b) {\n for (a = new Map(); null !== b;) null !== b.key ? a.set(b.key, b) : a.set(b.index, b), b = b.sibling;\n return a;\n }\n function e(a, b) {\n a = wh(a, b);\n a.index = 0;\n a.sibling = null;\n return a;\n }\n function f(b, c, d) {\n b.index = d;\n if (!a) return b.flags |= 1048576, c;\n d = b.alternate;\n if (null !== d) return d = d.index, d < c ? (b.flags |= 2, c) : d;\n b.flags |= 2;\n return c;\n }\n function g(b) {\n a && null === b.alternate && (b.flags |= 2);\n return b;\n }\n function h(a, b, c, d) {\n if (null === b || 6 !== b.tag) return b = xh(c, a.mode, d), b.return = a, b;\n b = e(b, c);\n b.return = a;\n return b;\n }\n function k(a, b, c, d) {\n var f = c.type;\n if (f === ya) return m(a, b, c.props.children, d, c.key);\n if (null !== b && (b.elementType === f || \"object\" === typeof f && null !== f && f.$$typeof === Ha && uh(f) === b.type)) return d = e(b, c.props), d.ref = sh(a, b, c), d.return = a, d;\n d = yh(c.type, c.key, c.props, null, a.mode, d);\n d.ref = sh(a, b, c);\n d.return = a;\n return d;\n }\n function l(a, b, c, d) {\n if (null === b || 4 !== b.tag || b.stateNode.containerInfo !== c.containerInfo || b.stateNode.implementation !== c.implementation) return b = zh(c, a.mode, d), b.return = a, b;\n b = e(b, c.children || []);\n b.return = a;\n return b;\n }\n function m(a, b, c, d, f) {\n if (null === b || 7 !== b.tag) return b = Ah(c, a.mode, d, f), b.return = a, b;\n b = e(b, c);\n b.return = a;\n return b;\n }\n function q(a, b, c) {\n if (\"string\" === typeof b && \"\" !== b || \"number\" === typeof b) return b = xh(\"\" + b, a.mode, c), b.return = a, b;\n if (\"object\" === typeof b && null !== b) {\n switch (b.$$typeof) {\n case va:\n return c = yh(b.type, b.key, b.props, null, a.mode, c), c.ref = sh(a, null, b), c.return = a, c;\n case wa:\n return b = zh(b, a.mode, c), b.return = a, b;\n case Ha:\n var d = b._init;\n return q(a, d(b._payload), c);\n }\n if (eb(b) || Ka(b)) return b = Ah(b, a.mode, c, null), b.return = a, b;\n th(a, b);\n }\n return null;\n }\n function r(a, b, c, d) {\n var e = null !== b ? b.key : null;\n if (\"string\" === typeof c && \"\" !== c || \"number\" === typeof c) return null !== e ? null : h(a, b, \"\" + c, d);\n if (\"object\" === typeof c && null !== c) {\n switch (c.$$typeof) {\n case va:\n return c.key === e ? k(a, b, c, d) : null;\n case wa:\n return c.key === e ? l(a, b, c, d) : null;\n case Ha:\n return e = c._init, r(a, b, e(c._payload), d);\n }\n if (eb(c) || Ka(c)) return null !== e ? null : m(a, b, c, d, null);\n th(a, c);\n }\n return null;\n }\n function y(a, b, c, d, e) {\n if (\"string\" === typeof d && \"\" !== d || \"number\" === typeof d) return a = a.get(c) || null, h(b, a, \"\" + d, e);\n if (\"object\" === typeof d && null !== d) {\n switch (d.$$typeof) {\n case va:\n return a = a.get(null === d.key ? c : d.key) || null, k(b, a, d, e);\n case wa:\n return a = a.get(null === d.key ? c : d.key) || null, l(b, a, d, e);\n case Ha:\n var f = d._init;\n return y(a, b, c, f(d._payload), e);\n }\n if (eb(d) || Ka(d)) return a = a.get(c) || null, m(b, a, d, e, null);\n th(b, d);\n }\n return null;\n }\n function n(e, g, h, k) {\n for (var l = null, m = null, u = g, w = g = 0, x = null; null !== u && w < h.length; w++) {\n u.index > w ? (x = u, u = null) : x = u.sibling;\n var n = r(e, u, h[w], k);\n if (null === n) {\n null === u && (u = x);\n break;\n }\n a && u && null === n.alternate && b(e, u);\n g = f(n, g, w);\n null === m ? l = n : m.sibling = n;\n m = n;\n u = x;\n }\n if (w === h.length) return c(e, u), I && tg(e, w), l;\n if (null === u) {\n for (; w < h.length; w++) u = q(e, h[w], k), null !== u && (g = f(u, g, w), null === m ? l = u : m.sibling = u, m = u);\n I && tg(e, w);\n return l;\n }\n for (u = d(e, u); w < h.length; w++) x = y(u, e, w, h[w], k), null !== x && (a && null !== x.alternate && u.delete(null === x.key ? w : x.key), g = f(x, g, w), null === m ? l = x : m.sibling = x, m = x);\n a && u.forEach(function (a) {\n return b(e, a);\n });\n I && tg(e, w);\n return l;\n }\n function t(e, g, h, k) {\n var l = Ka(h);\n if (\"function\" !== typeof l) throw Error(p(150));\n h = l.call(h);\n if (null == h) throw Error(p(151));\n for (var u = l = null, m = g, w = g = 0, x = null, n = h.next(); null !== m && !n.done; w++, n = h.next()) {\n m.index > w ? (x = m, m = null) : x = m.sibling;\n var t = r(e, m, n.value, k);\n if (null === t) {\n null === m && (m = x);\n break;\n }\n a && m && null === t.alternate && b(e, m);\n g = f(t, g, w);\n null === u ? l = t : u.sibling = t;\n u = t;\n m = x;\n }\n if (n.done) return c(e, m), I && tg(e, w), l;\n if (null === m) {\n for (; !n.done; w++, n = h.next()) n = q(e, n.value, k), null !== n && (g = f(n, g, w), null === u ? l = n : u.sibling = n, u = n);\n I && tg(e, w);\n return l;\n }\n for (m = d(e, m); !n.done; w++, n = h.next()) n = y(m, e, w, n.value, k), null !== n && (a && null !== n.alternate && m.delete(null === n.key ? w : n.key), g = f(n, g, w), null === u ? l = n : u.sibling = n, u = n);\n a && m.forEach(function (a) {\n return b(e, a);\n });\n I && tg(e, w);\n return l;\n }\n function J(a, d, f, h) {\n \"object\" === typeof f && null !== f && f.type === ya && null === f.key && (f = f.props.children);\n if (\"object\" === typeof f && null !== f) {\n switch (f.$$typeof) {\n case va:\n a: {\n for (var k = f.key, l = d; null !== l;) {\n if (l.key === k) {\n k = f.type;\n if (k === ya) {\n if (7 === l.tag) {\n c(a, l.sibling);\n d = e(l, f.props.children);\n d.return = a;\n a = d;\n break a;\n }\n } else if (l.elementType === k || \"object\" === typeof k && null !== k && k.$$typeof === Ha && uh(k) === l.type) {\n c(a, l.sibling);\n d = e(l, f.props);\n d.ref = sh(a, l, f);\n d.return = a;\n a = d;\n break a;\n }\n c(a, l);\n break;\n } else b(a, l);\n l = l.sibling;\n }\n f.type === ya ? (d = Ah(f.props.children, a.mode, h, f.key), d.return = a, a = d) : (h = yh(f.type, f.key, f.props, null, a.mode, h), h.ref = sh(a, d, f), h.return = a, a = h);\n }\n return g(a);\n case wa:\n a: {\n for (l = f.key; null !== d;) {\n if (d.key === l) {\n if (4 === d.tag && d.stateNode.containerInfo === f.containerInfo && d.stateNode.implementation === f.implementation) {\n c(a, d.sibling);\n d = e(d, f.children || []);\n d.return = a;\n a = d;\n break a;\n } else {\n c(a, d);\n break;\n }\n } else b(a, d);\n d = d.sibling;\n }\n d = zh(f, a.mode, h);\n d.return = a;\n a = d;\n }\n return g(a);\n case Ha:\n return l = f._init, J(a, d, l(f._payload), h);\n }\n if (eb(f)) return n(a, d, f, h);\n if (Ka(f)) return t(a, d, f, h);\n th(a, f);\n }\n return \"string\" === typeof f && \"\" !== f || \"number\" === typeof f ? (f = \"\" + f, null !== d && 6 === d.tag ? (c(a, d.sibling), d = e(d, f), d.return = a, a = d) : (c(a, d), d = xh(f, a.mode, h), d.return = a, a = d), g(a)) : c(a, d);\n }\n return J;\n}\nvar Bh = vh(!0),\n Ch = vh(!1),\n Dh = {},\n Eh = Uf(Dh),\n Fh = Uf(Dh),\n Gh = Uf(Dh);\nfunction Hh(a) {\n if (a === Dh) throw Error(p(174));\n return a;\n}\nfunction Ih(a, b) {\n G(Gh, b);\n G(Fh, a);\n G(Eh, Dh);\n a = b.nodeType;\n switch (a) {\n case 9:\n case 11:\n b = (b = b.documentElement) ? b.namespaceURI : lb(null, \"\");\n break;\n default:\n a = 8 === a ? b.parentNode : b, b = a.namespaceURI || null, a = a.tagName, b = lb(b, a);\n }\n E(Eh);\n G(Eh, b);\n}\nfunction Jh() {\n E(Eh);\n E(Fh);\n E(Gh);\n}\nfunction Kh(a) {\n Hh(Gh.current);\n var b = Hh(Eh.current);\n var c = lb(b, a.type);\n b !== c && (G(Fh, a), G(Eh, c));\n}\nfunction Lh(a) {\n Fh.current === a && (E(Eh), E(Fh));\n}\nvar M = Uf(0);\nfunction Mh(a) {\n for (var b = a; null !== b;) {\n if (13 === b.tag) {\n var c = b.memoizedState;\n if (null !== c && (c = c.dehydrated, null === c || \"$?\" === c.data || \"$!\" === c.data)) return b;\n } else if (19 === b.tag && void 0 !== b.memoizedProps.revealOrder) {\n if (0 !== (b.flags & 128)) return b;\n } else if (null !== b.child) {\n b.child.return = b;\n b = b.child;\n continue;\n }\n if (b === a) break;\n for (; null === b.sibling;) {\n if (null === b.return || b.return === a) return null;\n b = b.return;\n }\n b.sibling.return = b.return;\n b = b.sibling;\n }\n return null;\n}\nvar Nh = [];\nfunction Oh() {\n for (var a = 0; a < Nh.length; a++) Nh[a]._workInProgressVersionPrimary = null;\n Nh.length = 0;\n}\nvar Ph = ua.ReactCurrentDispatcher,\n Qh = ua.ReactCurrentBatchConfig,\n Rh = 0,\n N = null,\n O = null,\n P = null,\n Sh = !1,\n Th = !1,\n Uh = 0,\n Vh = 0;\nfunction Q() {\n throw Error(p(321));\n}\nfunction Wh(a, b) {\n if (null === b) return !1;\n for (var c = 0; c < b.length && c < a.length; c++) if (!He(a[c], b[c])) return !1;\n return !0;\n}\nfunction Xh(a, b, c, d, e, f) {\n Rh = f;\n N = b;\n b.memoizedState = null;\n b.updateQueue = null;\n b.lanes = 0;\n Ph.current = null === a || null === a.memoizedState ? Yh : Zh;\n a = c(d, e);\n if (Th) {\n f = 0;\n do {\n Th = !1;\n Uh = 0;\n if (25 <= f) throw Error(p(301));\n f += 1;\n P = O = null;\n b.updateQueue = null;\n Ph.current = $h;\n a = c(d, e);\n } while (Th);\n }\n Ph.current = ai;\n b = null !== O && null !== O.next;\n Rh = 0;\n P = O = N = null;\n Sh = !1;\n if (b) throw Error(p(300));\n return a;\n}\nfunction bi() {\n var a = 0 !== Uh;\n Uh = 0;\n return a;\n}\nfunction ci() {\n var a = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === P ? N.memoizedState = P = a : P = P.next = a;\n return P;\n}\nfunction di() {\n if (null === O) {\n var a = N.alternate;\n a = null !== a ? a.memoizedState : null;\n } else a = O.next;\n var b = null === P ? N.memoizedState : P.next;\n if (null !== b) P = b, O = a;else {\n if (null === a) throw Error(p(310));\n O = a;\n a = {\n memoizedState: O.memoizedState,\n baseState: O.baseState,\n baseQueue: O.baseQueue,\n queue: O.queue,\n next: null\n };\n null === P ? N.memoizedState = P = a : P = P.next = a;\n }\n return P;\n}\nfunction ei(a, b) {\n return \"function\" === typeof b ? b(a) : b;\n}\nfunction fi(a) {\n var b = di(),\n c = b.queue;\n if (null === c) throw Error(p(311));\n c.lastRenderedReducer = a;\n var d = O,\n e = d.baseQueue,\n f = c.pending;\n if (null !== f) {\n if (null !== e) {\n var g = e.next;\n e.next = f.next;\n f.next = g;\n }\n d.baseQueue = e = f;\n c.pending = null;\n }\n if (null !== e) {\n f = e.next;\n d = d.baseState;\n var h = g = null,\n k = null,\n l = f;\n do {\n var m = l.lane;\n if ((Rh & m) === m) null !== k && (k = k.next = {\n lane: 0,\n action: l.action,\n hasEagerState: l.hasEagerState,\n eagerState: l.eagerState,\n next: null\n }), d = l.hasEagerState ? l.eagerState : a(d, l.action);else {\n var q = {\n lane: m,\n action: l.action,\n hasEagerState: l.hasEagerState,\n eagerState: l.eagerState,\n next: null\n };\n null === k ? (h = k = q, g = d) : k = k.next = q;\n N.lanes |= m;\n hh |= m;\n }\n l = l.next;\n } while (null !== l && l !== f);\n null === k ? g = d : k.next = h;\n He(d, b.memoizedState) || (Ug = !0);\n b.memoizedState = d;\n b.baseState = g;\n b.baseQueue = k;\n c.lastRenderedState = d;\n }\n a = c.interleaved;\n if (null !== a) {\n e = a;\n do f = e.lane, N.lanes |= f, hh |= f, e = e.next; while (e !== a);\n } else null === e && (c.lanes = 0);\n return [b.memoizedState, c.dispatch];\n}\nfunction gi(a) {\n var b = di(),\n c = b.queue;\n if (null === c) throw Error(p(311));\n c.lastRenderedReducer = a;\n var d = c.dispatch,\n e = c.pending,\n f = b.memoizedState;\n if (null !== e) {\n c.pending = null;\n var g = e = e.next;\n do f = a(f, g.action), g = g.next; while (g !== e);\n He(f, b.memoizedState) || (Ug = !0);\n b.memoizedState = f;\n null === b.baseQueue && (b.baseState = f);\n c.lastRenderedState = f;\n }\n return [f, d];\n}\nfunction hi() {}\nfunction ii(a, b) {\n var c = N,\n d = di(),\n e = b(),\n f = !He(d.memoizedState, e);\n f && (d.memoizedState = e, Ug = !0);\n d = d.queue;\n ji(ki.bind(null, c, d, a), [a]);\n if (d.getSnapshot !== b || f || null !== P && P.memoizedState.tag & 1) {\n c.flags |= 2048;\n li(9, mi.bind(null, c, d, e, b), void 0, null);\n if (null === R) throw Error(p(349));\n 0 !== (Rh & 30) || ni(c, b, e);\n }\n return e;\n}\nfunction ni(a, b, c) {\n a.flags |= 16384;\n a = {\n getSnapshot: b,\n value: c\n };\n b = N.updateQueue;\n null === b ? (b = {\n lastEffect: null,\n stores: null\n }, N.updateQueue = b, b.stores = [a]) : (c = b.stores, null === c ? b.stores = [a] : c.push(a));\n}\nfunction mi(a, b, c, d) {\n b.value = c;\n b.getSnapshot = d;\n oi(b) && pi(a);\n}\nfunction ki(a, b, c) {\n return c(function () {\n oi(b) && pi(a);\n });\n}\nfunction oi(a) {\n var b = a.getSnapshot;\n a = a.value;\n try {\n var c = b();\n return !He(a, c);\n } catch (d) {\n return !0;\n }\n}\nfunction pi(a) {\n var b = Zg(a, 1);\n null !== b && mh(b, a, 1, -1);\n}\nfunction qi(a) {\n var b = ci();\n \"function\" === typeof a && (a = a());\n b.memoizedState = b.baseState = a;\n a = {\n pending: null,\n interleaved: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: ei,\n lastRenderedState: a\n };\n b.queue = a;\n a = a.dispatch = ri.bind(null, N, a);\n return [b.memoizedState, a];\n}\nfunction li(a, b, c, d) {\n a = {\n tag: a,\n create: b,\n destroy: c,\n deps: d,\n next: null\n };\n b = N.updateQueue;\n null === b ? (b = {\n lastEffect: null,\n stores: null\n }, N.updateQueue = b, b.lastEffect = a.next = a) : (c = b.lastEffect, null === c ? b.lastEffect = a.next = a : (d = c.next, c.next = a, a.next = d, b.lastEffect = a));\n return a;\n}\nfunction si() {\n return di().memoizedState;\n}\nfunction ti(a, b, c, d) {\n var e = ci();\n N.flags |= a;\n e.memoizedState = li(1 | b, c, void 0, void 0 === d ? null : d);\n}\nfunction ui(a, b, c, d) {\n var e = di();\n d = void 0 === d ? null : d;\n var f = void 0;\n if (null !== O) {\n var g = O.memoizedState;\n f = g.destroy;\n if (null !== d && Wh(d, g.deps)) {\n e.memoizedState = li(b, c, f, d);\n return;\n }\n }\n N.flags |= a;\n e.memoizedState = li(1 | b, c, f, d);\n}\nfunction vi(a, b) {\n return ti(8390656, 8, a, b);\n}\nfunction ji(a, b) {\n return ui(2048, 8, a, b);\n}\nfunction wi(a, b) {\n return ui(4, 2, a, b);\n}\nfunction xi(a, b) {\n return ui(4, 4, a, b);\n}\nfunction yi(a, b) {\n if (\"function\" === typeof b) return a = a(), b(a), function () {\n b(null);\n };\n if (null !== b && void 0 !== b) return a = a(), b.current = a, function () {\n b.current = null;\n };\n}\nfunction zi(a, b, c) {\n c = null !== c && void 0 !== c ? c.concat([a]) : null;\n return ui(4, 4, yi.bind(null, b, a), c);\n}\nfunction Ai() {}\nfunction Bi(a, b) {\n var c = di();\n b = void 0 === b ? null : b;\n var d = c.memoizedState;\n if (null !== d && null !== b && Wh(b, d[1])) return d[0];\n c.memoizedState = [a, b];\n return a;\n}\nfunction Ci(a, b) {\n var c = di();\n b = void 0 === b ? null : b;\n var d = c.memoizedState;\n if (null !== d && null !== b && Wh(b, d[1])) return d[0];\n a = a();\n c.memoizedState = [a, b];\n return a;\n}\nfunction Di(a, b, c) {\n if (0 === (Rh & 21)) return a.baseState && (a.baseState = !1, Ug = !0), a.memoizedState = c;\n He(c, b) || (c = yc(), N.lanes |= c, hh |= c, a.baseState = !0);\n return b;\n}\nfunction Ei(a, b) {\n var c = C;\n C = 0 !== c && 4 > c ? c : 4;\n a(!0);\n var d = Qh.transition;\n Qh.transition = {};\n try {\n a(!1), b();\n } finally {\n C = c, Qh.transition = d;\n }\n}\nfunction Fi() {\n return di().memoizedState;\n}\nfunction Gi(a, b, c) {\n var d = lh(a);\n c = {\n lane: d,\n action: c,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (Hi(a)) Ii(b, c);else if (c = Yg(a, b, c, d), null !== c) {\n var e = L();\n mh(c, a, d, e);\n Ji(c, b, d);\n }\n}\nfunction ri(a, b, c) {\n var d = lh(a),\n e = {\n lane: d,\n action: c,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (Hi(a)) Ii(b, e);else {\n var f = a.alternate;\n if (0 === a.lanes && (null === f || 0 === f.lanes) && (f = b.lastRenderedReducer, null !== f)) try {\n var g = b.lastRenderedState,\n h = f(g, c);\n e.hasEagerState = !0;\n e.eagerState = h;\n if (He(h, g)) {\n var k = b.interleaved;\n null === k ? (e.next = e, Xg(b)) : (e.next = k.next, k.next = e);\n b.interleaved = e;\n return;\n }\n } catch (l) {} finally {}\n c = Yg(a, b, e, d);\n null !== c && (e = L(), mh(c, a, d, e), Ji(c, b, d));\n }\n}\nfunction Hi(a) {\n var b = a.alternate;\n return a === N || null !== b && b === N;\n}\nfunction Ii(a, b) {\n Th = Sh = !0;\n var c = a.pending;\n null === c ? b.next = b : (b.next = c.next, c.next = b);\n a.pending = b;\n}\nfunction Ji(a, b, c) {\n if (0 !== (c & 4194240)) {\n var d = b.lanes;\n d &= a.pendingLanes;\n c |= d;\n b.lanes = c;\n Cc(a, c);\n }\n}\nvar ai = {\n readContext: Vg,\n useCallback: Q,\n useContext: Q,\n useEffect: Q,\n useImperativeHandle: Q,\n useInsertionEffect: Q,\n useLayoutEffect: Q,\n useMemo: Q,\n useReducer: Q,\n useRef: Q,\n useState: Q,\n useDebugValue: Q,\n useDeferredValue: Q,\n useTransition: Q,\n useMutableSource: Q,\n useSyncExternalStore: Q,\n useId: Q,\n unstable_isNewReconciler: !1\n },\n Yh = {\n readContext: Vg,\n useCallback: function useCallback(a, b) {\n ci().memoizedState = [a, void 0 === b ? null : b];\n return a;\n },\n useContext: Vg,\n useEffect: vi,\n useImperativeHandle: function useImperativeHandle(a, b, c) {\n c = null !== c && void 0 !== c ? c.concat([a]) : null;\n return ti(4194308, 4, yi.bind(null, b, a), c);\n },\n useLayoutEffect: function useLayoutEffect(a, b) {\n return ti(4194308, 4, a, b);\n },\n useInsertionEffect: function useInsertionEffect(a, b) {\n return ti(4, 2, a, b);\n },\n useMemo: function useMemo(a, b) {\n var c = ci();\n b = void 0 === b ? null : b;\n a = a();\n c.memoizedState = [a, b];\n return a;\n },\n useReducer: function useReducer(a, b, c) {\n var d = ci();\n b = void 0 !== c ? c(b) : b;\n d.memoizedState = d.baseState = b;\n a = {\n pending: null,\n interleaved: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: a,\n lastRenderedState: b\n };\n d.queue = a;\n a = a.dispatch = Gi.bind(null, N, a);\n return [d.memoizedState, a];\n },\n useRef: function useRef(a) {\n var b = ci();\n a = {\n current: a\n };\n return b.memoizedState = a;\n },\n useState: qi,\n useDebugValue: Ai,\n useDeferredValue: function useDeferredValue(a) {\n return ci().memoizedState = a;\n },\n useTransition: function useTransition() {\n var a = qi(!1),\n b = a[0];\n a = Ei.bind(null, a[1]);\n ci().memoizedState = a;\n return [b, a];\n },\n useMutableSource: function useMutableSource() {},\n useSyncExternalStore: function useSyncExternalStore(a, b, c) {\n var d = N,\n e = ci();\n if (I) {\n if (void 0 === c) throw Error(p(407));\n c = c();\n } else {\n c = b();\n if (null === R) throw Error(p(349));\n 0 !== (Rh & 30) || ni(d, b, c);\n }\n e.memoizedState = c;\n var f = {\n value: c,\n getSnapshot: b\n };\n e.queue = f;\n vi(ki.bind(null, d, f, a), [a]);\n d.flags |= 2048;\n li(9, mi.bind(null, d, f, c, b), void 0, null);\n return c;\n },\n useId: function useId() {\n var a = ci(),\n b = R.identifierPrefix;\n if (I) {\n var c = sg;\n var d = rg;\n c = (d & ~(1 << 32 - oc(d) - 1)).toString(32) + c;\n b = \":\" + b + \"R\" + c;\n c = Uh++;\n 0 < c && (b += \"H\" + c.toString(32));\n b += \":\";\n } else c = Vh++, b = \":\" + b + \"r\" + c.toString(32) + \":\";\n return a.memoizedState = b;\n },\n unstable_isNewReconciler: !1\n },\n Zh = {\n readContext: Vg,\n useCallback: Bi,\n useContext: Vg,\n useEffect: ji,\n useImperativeHandle: zi,\n useInsertionEffect: wi,\n useLayoutEffect: xi,\n useMemo: Ci,\n useReducer: fi,\n useRef: si,\n useState: function useState() {\n return fi(ei);\n },\n useDebugValue: Ai,\n useDeferredValue: function useDeferredValue(a) {\n var b = di();\n return Di(b, O.memoizedState, a);\n },\n useTransition: function useTransition() {\n var a = fi(ei)[0],\n b = di().memoizedState;\n return [a, b];\n },\n useMutableSource: hi,\n useSyncExternalStore: ii,\n useId: Fi,\n unstable_isNewReconciler: !1\n },\n $h = {\n readContext: Vg,\n useCallback: Bi,\n useContext: Vg,\n useEffect: ji,\n useImperativeHandle: zi,\n useInsertionEffect: wi,\n useLayoutEffect: xi,\n useMemo: Ci,\n useReducer: gi,\n useRef: si,\n useState: function useState() {\n return gi(ei);\n },\n useDebugValue: Ai,\n useDeferredValue: function useDeferredValue(a) {\n var b = di();\n return null === O ? b.memoizedState = a : Di(b, O.memoizedState, a);\n },\n useTransition: function useTransition() {\n var a = gi(ei)[0],\n b = di().memoizedState;\n return [a, b];\n },\n useMutableSource: hi,\n useSyncExternalStore: ii,\n useId: Fi,\n unstable_isNewReconciler: !1\n };\nfunction Ki(a, b) {\n try {\n var c = \"\",\n d = b;\n do c += Pa(d), d = d.return; while (d);\n var e = c;\n } catch (f) {\n e = \"\\nError generating stack: \" + f.message + \"\\n\" + f.stack;\n }\n return {\n value: a,\n source: b,\n stack: e,\n digest: null\n };\n}\nfunction Li(a, b, c) {\n return {\n value: a,\n source: null,\n stack: null != c ? c : null,\n digest: null != b ? b : null\n };\n}\nfunction Mi(a, b) {\n try {\n console.error(b.value);\n } catch (c) {\n setTimeout(function () {\n throw c;\n });\n }\n}\nvar Ni = \"function\" === typeof WeakMap ? WeakMap : Map;\nfunction Oi(a, b, c) {\n c = ch(-1, c);\n c.tag = 3;\n c.payload = {\n element: null\n };\n var d = b.value;\n c.callback = function () {\n Pi || (Pi = !0, Qi = d);\n Mi(a, b);\n };\n return c;\n}\nfunction Ri(a, b, c) {\n c = ch(-1, c);\n c.tag = 3;\n var d = a.type.getDerivedStateFromError;\n if (\"function\" === typeof d) {\n var e = b.value;\n c.payload = function () {\n return d(e);\n };\n c.callback = function () {\n Mi(a, b);\n };\n }\n var f = a.stateNode;\n null !== f && \"function\" === typeof f.componentDidCatch && (c.callback = function () {\n Mi(a, b);\n \"function\" !== typeof d && (null === Si ? Si = new Set([this]) : Si.add(this));\n var c = b.stack;\n this.componentDidCatch(b.value, {\n componentStack: null !== c ? c : \"\"\n });\n });\n return c;\n}\nfunction Ti(a, b, c) {\n var d = a.pingCache;\n if (null === d) {\n d = a.pingCache = new Ni();\n var e = new Set();\n d.set(b, e);\n } else e = d.get(b), void 0 === e && (e = new Set(), d.set(b, e));\n e.has(c) || (e.add(c), a = Ui.bind(null, a, b, c), b.then(a, a));\n}\nfunction Vi(a) {\n do {\n var b;\n if (b = 13 === a.tag) b = a.memoizedState, b = null !== b ? null !== b.dehydrated ? !0 : !1 : !0;\n if (b) return a;\n a = a.return;\n } while (null !== a);\n return null;\n}\nfunction Wi(a, b, c, d, e) {\n if (0 === (a.mode & 1)) return a === b ? a.flags |= 65536 : (a.flags |= 128, c.flags |= 131072, c.flags &= -52805, 1 === c.tag && (null === c.alternate ? c.tag = 17 : (b = ch(-1, 1), b.tag = 2, dh(c, b, 1))), c.lanes |= 1), a;\n a.flags |= 65536;\n a.lanes = e;\n return a;\n}\nvar Xi = ua.ReactCurrentOwner,\n Ug = !1;\nfunction Yi(a, b, c, d) {\n b.child = null === a ? Ch(b, null, c, d) : Bh(b, a.child, c, d);\n}\nfunction Zi(a, b, c, d, e) {\n c = c.render;\n var f = b.ref;\n Tg(b, e);\n d = Xh(a, b, c, d, f, e);\n c = bi();\n if (null !== a && !Ug) return b.updateQueue = a.updateQueue, b.flags &= -2053, a.lanes &= ~e, $i(a, b, e);\n I && c && vg(b);\n b.flags |= 1;\n Yi(a, b, d, e);\n return b.child;\n}\nfunction aj(a, b, c, d, e) {\n if (null === a) {\n var f = c.type;\n if (\"function\" === typeof f && !bj(f) && void 0 === f.defaultProps && null === c.compare && void 0 === c.defaultProps) return b.tag = 15, b.type = f, cj(a, b, f, d, e);\n a = yh(c.type, null, d, b, b.mode, e);\n a.ref = b.ref;\n a.return = b;\n return b.child = a;\n }\n f = a.child;\n if (0 === (a.lanes & e)) {\n var g = f.memoizedProps;\n c = c.compare;\n c = null !== c ? c : Ie;\n if (c(g, d) && a.ref === b.ref) return $i(a, b, e);\n }\n b.flags |= 1;\n a = wh(f, d);\n a.ref = b.ref;\n a.return = b;\n return b.child = a;\n}\nfunction cj(a, b, c, d, e) {\n if (null !== a) {\n var f = a.memoizedProps;\n if (Ie(f, d) && a.ref === b.ref) if (Ug = !1, b.pendingProps = d = f, 0 !== (a.lanes & e)) 0 !== (a.flags & 131072) && (Ug = !0);else return b.lanes = a.lanes, $i(a, b, e);\n }\n return dj(a, b, c, d, e);\n}\nfunction ej(a, b, c) {\n var d = b.pendingProps,\n e = d.children,\n f = null !== a ? a.memoizedState : null;\n if (\"hidden\" === d.mode) {\n if (0 === (b.mode & 1)) b.memoizedState = {\n baseLanes: 0,\n cachePool: null,\n transitions: null\n }, G(fj, gj), gj |= c;else {\n if (0 === (c & 1073741824)) return a = null !== f ? f.baseLanes | c : c, b.lanes = b.childLanes = 1073741824, b.memoizedState = {\n baseLanes: a,\n cachePool: null,\n transitions: null\n }, b.updateQueue = null, G(fj, gj), gj |= a, null;\n b.memoizedState = {\n baseLanes: 0,\n cachePool: null,\n transitions: null\n };\n d = null !== f ? f.baseLanes : c;\n G(fj, gj);\n gj |= d;\n }\n } else null !== f ? (d = f.baseLanes | c, b.memoizedState = null) : d = c, G(fj, gj), gj |= d;\n Yi(a, b, e, c);\n return b.child;\n}\nfunction hj(a, b) {\n var c = b.ref;\n if (null === a && null !== c || null !== a && a.ref !== c) b.flags |= 512, b.flags |= 2097152;\n}\nfunction dj(a, b, c, d, e) {\n var f = Zf(c) ? Xf : H.current;\n f = Yf(b, f);\n Tg(b, e);\n c = Xh(a, b, c, d, f, e);\n d = bi();\n if (null !== a && !Ug) return b.updateQueue = a.updateQueue, b.flags &= -2053, a.lanes &= ~e, $i(a, b, e);\n I && d && vg(b);\n b.flags |= 1;\n Yi(a, b, c, e);\n return b.child;\n}\nfunction ij(a, b, c, d, e) {\n if (Zf(c)) {\n var f = !0;\n cg(b);\n } else f = !1;\n Tg(b, e);\n if (null === b.stateNode) jj(a, b), ph(b, c, d), rh(b, c, d, e), d = !0;else if (null === a) {\n var g = b.stateNode,\n h = b.memoizedProps;\n g.props = h;\n var k = g.context,\n l = c.contextType;\n \"object\" === typeof l && null !== l ? l = Vg(l) : (l = Zf(c) ? Xf : H.current, l = Yf(b, l));\n var m = c.getDerivedStateFromProps,\n q = \"function\" === typeof m || \"function\" === typeof g.getSnapshotBeforeUpdate;\n q || \"function\" !== typeof g.UNSAFE_componentWillReceiveProps && \"function\" !== typeof g.componentWillReceiveProps || (h !== d || k !== l) && qh(b, g, d, l);\n $g = !1;\n var r = b.memoizedState;\n g.state = r;\n gh(b, d, g, e);\n k = b.memoizedState;\n h !== d || r !== k || Wf.current || $g ? (\"function\" === typeof m && (kh(b, c, m, d), k = b.memoizedState), (h = $g || oh(b, c, h, d, r, k, l)) ? (q || \"function\" !== typeof g.UNSAFE_componentWillMount && \"function\" !== typeof g.componentWillMount || (\"function\" === typeof g.componentWillMount && g.componentWillMount(), \"function\" === typeof g.UNSAFE_componentWillMount && g.UNSAFE_componentWillMount()), \"function\" === typeof g.componentDidMount && (b.flags |= 4194308)) : (\"function\" === typeof g.componentDidMount && (b.flags |= 4194308), b.memoizedProps = d, b.memoizedState = k), g.props = d, g.state = k, g.context = l, d = h) : (\"function\" === typeof g.componentDidMount && (b.flags |= 4194308), d = !1);\n } else {\n g = b.stateNode;\n bh(a, b);\n h = b.memoizedProps;\n l = b.type === b.elementType ? h : Lg(b.type, h);\n g.props = l;\n q = b.pendingProps;\n r = g.context;\n k = c.contextType;\n \"object\" === typeof k && null !== k ? k = Vg(k) : (k = Zf(c) ? Xf : H.current, k = Yf(b, k));\n var y = c.getDerivedStateFromProps;\n (m = \"function\" === typeof y || \"function\" === typeof g.getSnapshotBeforeUpdate) || \"function\" !== typeof g.UNSAFE_componentWillReceiveProps && \"function\" !== typeof g.componentWillReceiveProps || (h !== q || r !== k) && qh(b, g, d, k);\n $g = !1;\n r = b.memoizedState;\n g.state = r;\n gh(b, d, g, e);\n var n = b.memoizedState;\n h !== q || r !== n || Wf.current || $g ? (\"function\" === typeof y && (kh(b, c, y, d), n = b.memoizedState), (l = $g || oh(b, c, l, d, r, n, k) || !1) ? (m || \"function\" !== typeof g.UNSAFE_componentWillUpdate && \"function\" !== typeof g.componentWillUpdate || (\"function\" === typeof g.componentWillUpdate && g.componentWillUpdate(d, n, k), \"function\" === typeof g.UNSAFE_componentWillUpdate && g.UNSAFE_componentWillUpdate(d, n, k)), \"function\" === typeof g.componentDidUpdate && (b.flags |= 4), \"function\" === typeof g.getSnapshotBeforeUpdate && (b.flags |= 1024)) : (\"function\" !== typeof g.componentDidUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 4), \"function\" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 1024), b.memoizedProps = d, b.memoizedState = n), g.props = d, g.state = n, g.context = k, d = l) : (\"function\" !== typeof g.componentDidUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 4), \"function\" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 1024), d = !1);\n }\n return kj(a, b, c, d, f, e);\n}\nfunction kj(a, b, c, d, e, f) {\n hj(a, b);\n var g = 0 !== (b.flags & 128);\n if (!d && !g) return e && dg(b, c, !1), $i(a, b, f);\n d = b.stateNode;\n Xi.current = b;\n var h = g && \"function\" !== typeof c.getDerivedStateFromError ? null : d.render();\n b.flags |= 1;\n null !== a && g ? (b.child = Bh(b, a.child, null, f), b.child = Bh(b, null, h, f)) : Yi(a, b, h, f);\n b.memoizedState = d.state;\n e && dg(b, c, !0);\n return b.child;\n}\nfunction lj(a) {\n var b = a.stateNode;\n b.pendingContext ? ag(a, b.pendingContext, b.pendingContext !== b.context) : b.context && ag(a, b.context, !1);\n Ih(a, b.containerInfo);\n}\nfunction mj(a, b, c, d, e) {\n Ig();\n Jg(e);\n b.flags |= 256;\n Yi(a, b, c, d);\n return b.child;\n}\nvar nj = {\n dehydrated: null,\n treeContext: null,\n retryLane: 0\n};\nfunction oj(a) {\n return {\n baseLanes: a,\n cachePool: null,\n transitions: null\n };\n}\nfunction pj(a, b, c) {\n var d = b.pendingProps,\n e = M.current,\n f = !1,\n g = 0 !== (b.flags & 128),\n h;\n (h = g) || (h = null !== a && null === a.memoizedState ? !1 : 0 !== (e & 2));\n if (h) f = !0, b.flags &= -129;else if (null === a || null !== a.memoizedState) e |= 1;\n G(M, e & 1);\n if (null === a) {\n Eg(b);\n a = b.memoizedState;\n if (null !== a && (a = a.dehydrated, null !== a)) return 0 === (b.mode & 1) ? b.lanes = 1 : \"$!\" === a.data ? b.lanes = 8 : b.lanes = 1073741824, null;\n g = d.children;\n a = d.fallback;\n return f ? (d = b.mode, f = b.child, g = {\n mode: \"hidden\",\n children: g\n }, 0 === (d & 1) && null !== f ? (f.childLanes = 0, f.pendingProps = g) : f = qj(g, d, 0, null), a = Ah(a, d, c, null), f.return = b, a.return = b, f.sibling = a, b.child = f, b.child.memoizedState = oj(c), b.memoizedState = nj, a) : rj(b, g);\n }\n e = a.memoizedState;\n if (null !== e && (h = e.dehydrated, null !== h)) return sj(a, b, g, d, h, e, c);\n if (f) {\n f = d.fallback;\n g = b.mode;\n e = a.child;\n h = e.sibling;\n var k = {\n mode: \"hidden\",\n children: d.children\n };\n 0 === (g & 1) && b.child !== e ? (d = b.child, d.childLanes = 0, d.pendingProps = k, b.deletions = null) : (d = wh(e, k), d.subtreeFlags = e.subtreeFlags & 14680064);\n null !== h ? f = wh(h, f) : (f = Ah(f, g, c, null), f.flags |= 2);\n f.return = b;\n d.return = b;\n d.sibling = f;\n b.child = d;\n d = f;\n f = b.child;\n g = a.child.memoizedState;\n g = null === g ? oj(c) : {\n baseLanes: g.baseLanes | c,\n cachePool: null,\n transitions: g.transitions\n };\n f.memoizedState = g;\n f.childLanes = a.childLanes & ~c;\n b.memoizedState = nj;\n return d;\n }\n f = a.child;\n a = f.sibling;\n d = wh(f, {\n mode: \"visible\",\n children: d.children\n });\n 0 === (b.mode & 1) && (d.lanes = c);\n d.return = b;\n d.sibling = null;\n null !== a && (c = b.deletions, null === c ? (b.deletions = [a], b.flags |= 16) : c.push(a));\n b.child = d;\n b.memoizedState = null;\n return d;\n}\nfunction rj(a, b) {\n b = qj({\n mode: \"visible\",\n children: b\n }, a.mode, 0, null);\n b.return = a;\n return a.child = b;\n}\nfunction tj(a, b, c, d) {\n null !== d && Jg(d);\n Bh(b, a.child, null, c);\n a = rj(b, b.pendingProps.children);\n a.flags |= 2;\n b.memoizedState = null;\n return a;\n}\nfunction sj(a, b, c, d, e, f, g) {\n if (c) {\n if (b.flags & 256) return b.flags &= -257, d = Li(Error(p(422))), tj(a, b, g, d);\n if (null !== b.memoizedState) return b.child = a.child, b.flags |= 128, null;\n f = d.fallback;\n e = b.mode;\n d = qj({\n mode: \"visible\",\n children: d.children\n }, e, 0, null);\n f = Ah(f, e, g, null);\n f.flags |= 2;\n d.return = b;\n f.return = b;\n d.sibling = f;\n b.child = d;\n 0 !== (b.mode & 1) && Bh(b, a.child, null, g);\n b.child.memoizedState = oj(g);\n b.memoizedState = nj;\n return f;\n }\n if (0 === (b.mode & 1)) return tj(a, b, g, null);\n if (\"$!\" === e.data) {\n d = e.nextSibling && e.nextSibling.dataset;\n if (d) var h = d.dgst;\n d = h;\n f = Error(p(419));\n d = Li(f, d, void 0);\n return tj(a, b, g, d);\n }\n h = 0 !== (g & a.childLanes);\n if (Ug || h) {\n d = R;\n if (null !== d) {\n switch (g & -g) {\n case 4:\n e = 2;\n break;\n case 16:\n e = 8;\n break;\n case 64:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n case 67108864:\n e = 32;\n break;\n case 536870912:\n e = 268435456;\n break;\n default:\n e = 0;\n }\n e = 0 !== (e & (d.suspendedLanes | g)) ? 0 : e;\n 0 !== e && e !== f.retryLane && (f.retryLane = e, Zg(a, e), mh(d, a, e, -1));\n }\n uj();\n d = Li(Error(p(421)));\n return tj(a, b, g, d);\n }\n if (\"$?\" === e.data) return b.flags |= 128, b.child = a.child, b = vj.bind(null, a), e._reactRetry = b, null;\n a = f.treeContext;\n yg = Lf(e.nextSibling);\n xg = b;\n I = !0;\n zg = null;\n null !== a && (og[pg++] = rg, og[pg++] = sg, og[pg++] = qg, rg = a.id, sg = a.overflow, qg = b);\n b = rj(b, d.children);\n b.flags |= 4096;\n return b;\n}\nfunction wj(a, b, c) {\n a.lanes |= b;\n var d = a.alternate;\n null !== d && (d.lanes |= b);\n Sg(a.return, b, c);\n}\nfunction xj(a, b, c, d, e) {\n var f = a.memoizedState;\n null === f ? a.memoizedState = {\n isBackwards: b,\n rendering: null,\n renderingStartTime: 0,\n last: d,\n tail: c,\n tailMode: e\n } : (f.isBackwards = b, f.rendering = null, f.renderingStartTime = 0, f.last = d, f.tail = c, f.tailMode = e);\n}\nfunction yj(a, b, c) {\n var d = b.pendingProps,\n e = d.revealOrder,\n f = d.tail;\n Yi(a, b, d.children, c);\n d = M.current;\n if (0 !== (d & 2)) d = d & 1 | 2, b.flags |= 128;else {\n if (null !== a && 0 !== (a.flags & 128)) a: for (a = b.child; null !== a;) {\n if (13 === a.tag) null !== a.memoizedState && wj(a, c, b);else if (19 === a.tag) wj(a, c, b);else if (null !== a.child) {\n a.child.return = a;\n a = a.child;\n continue;\n }\n if (a === b) break a;\n for (; null === a.sibling;) {\n if (null === a.return || a.return === b) break a;\n a = a.return;\n }\n a.sibling.return = a.return;\n a = a.sibling;\n }\n d &= 1;\n }\n G(M, d);\n if (0 === (b.mode & 1)) b.memoizedState = null;else switch (e) {\n case \"forwards\":\n c = b.child;\n for (e = null; null !== c;) a = c.alternate, null !== a && null === Mh(a) && (e = c), c = c.sibling;\n c = e;\n null === c ? (e = b.child, b.child = null) : (e = c.sibling, c.sibling = null);\n xj(b, !1, e, c, f);\n break;\n case \"backwards\":\n c = null;\n e = b.child;\n for (b.child = null; null !== e;) {\n a = e.alternate;\n if (null !== a && null === Mh(a)) {\n b.child = e;\n break;\n }\n a = e.sibling;\n e.sibling = c;\n c = e;\n e = a;\n }\n xj(b, !0, c, null, f);\n break;\n case \"together\":\n xj(b, !1, null, null, void 0);\n break;\n default:\n b.memoizedState = null;\n }\n return b.child;\n}\nfunction jj(a, b) {\n 0 === (b.mode & 1) && null !== a && (a.alternate = null, b.alternate = null, b.flags |= 2);\n}\nfunction $i(a, b, c) {\n null !== a && (b.dependencies = a.dependencies);\n hh |= b.lanes;\n if (0 === (c & b.childLanes)) return null;\n if (null !== a && b.child !== a.child) throw Error(p(153));\n if (null !== b.child) {\n a = b.child;\n c = wh(a, a.pendingProps);\n b.child = c;\n for (c.return = b; null !== a.sibling;) a = a.sibling, c = c.sibling = wh(a, a.pendingProps), c.return = b;\n c.sibling = null;\n }\n return b.child;\n}\nfunction zj(a, b, c) {\n switch (b.tag) {\n case 3:\n lj(b);\n Ig();\n break;\n case 5:\n Kh(b);\n break;\n case 1:\n Zf(b.type) && cg(b);\n break;\n case 4:\n Ih(b, b.stateNode.containerInfo);\n break;\n case 10:\n var d = b.type._context,\n e = b.memoizedProps.value;\n G(Mg, d._currentValue);\n d._currentValue = e;\n break;\n case 13:\n d = b.memoizedState;\n if (null !== d) {\n if (null !== d.dehydrated) return G(M, M.current & 1), b.flags |= 128, null;\n if (0 !== (c & b.child.childLanes)) return pj(a, b, c);\n G(M, M.current & 1);\n a = $i(a, b, c);\n return null !== a ? a.sibling : null;\n }\n G(M, M.current & 1);\n break;\n case 19:\n d = 0 !== (c & b.childLanes);\n if (0 !== (a.flags & 128)) {\n if (d) return yj(a, b, c);\n b.flags |= 128;\n }\n e = b.memoizedState;\n null !== e && (e.rendering = null, e.tail = null, e.lastEffect = null);\n G(M, M.current);\n if (d) break;else return null;\n case 22:\n case 23:\n return b.lanes = 0, ej(a, b, c);\n }\n return $i(a, b, c);\n}\nvar Aj, Bj, Cj, Dj;\nAj = function Aj(a, b) {\n for (var c = b.child; null !== c;) {\n if (5 === c.tag || 6 === c.tag) a.appendChild(c.stateNode);else if (4 !== c.tag && null !== c.child) {\n c.child.return = c;\n c = c.child;\n continue;\n }\n if (c === b) break;\n for (; null === c.sibling;) {\n if (null === c.return || c.return === b) return;\n c = c.return;\n }\n c.sibling.return = c.return;\n c = c.sibling;\n }\n};\nBj = function Bj() {};\nCj = function Cj(a, b, c, d) {\n var e = a.memoizedProps;\n if (e !== d) {\n a = b.stateNode;\n Hh(Eh.current);\n var f = null;\n switch (c) {\n case \"input\":\n e = Ya(a, e);\n d = Ya(a, d);\n f = [];\n break;\n case \"select\":\n e = A({}, e, {\n value: void 0\n });\n d = A({}, d, {\n value: void 0\n });\n f = [];\n break;\n case \"textarea\":\n e = gb(a, e);\n d = gb(a, d);\n f = [];\n break;\n default:\n \"function\" !== typeof e.onClick && \"function\" === typeof d.onClick && (a.onclick = Bf);\n }\n ub(c, d);\n var g;\n c = null;\n for (l in e) if (!d.hasOwnProperty(l) && e.hasOwnProperty(l) && null != e[l]) if (\"style\" === l) {\n var h = e[l];\n for (g in h) h.hasOwnProperty(g) && (c || (c = {}), c[g] = \"\");\n } else \"dangerouslySetInnerHTML\" !== l && \"children\" !== l && \"suppressContentEditableWarning\" !== l && \"suppressHydrationWarning\" !== l && \"autoFocus\" !== l && (ea.hasOwnProperty(l) ? f || (f = []) : (f = f || []).push(l, null));\n for (l in d) {\n var k = d[l];\n h = null != e ? e[l] : void 0;\n if (d.hasOwnProperty(l) && k !== h && (null != k || null != h)) if (\"style\" === l) {\n if (h) {\n for (g in h) !h.hasOwnProperty(g) || k && k.hasOwnProperty(g) || (c || (c = {}), c[g] = \"\");\n for (g in k) k.hasOwnProperty(g) && h[g] !== k[g] && (c || (c = {}), c[g] = k[g]);\n } else c || (f || (f = []), f.push(l, c)), c = k;\n } else \"dangerouslySetInnerHTML\" === l ? (k = k ? k.__html : void 0, h = h ? h.__html : void 0, null != k && h !== k && (f = f || []).push(l, k)) : \"children\" === l ? \"string\" !== typeof k && \"number\" !== typeof k || (f = f || []).push(l, \"\" + k) : \"suppressContentEditableWarning\" !== l && \"suppressHydrationWarning\" !== l && (ea.hasOwnProperty(l) ? (null != k && \"onScroll\" === l && D(\"scroll\", a), f || h === k || (f = [])) : (f = f || []).push(l, k));\n }\n c && (f = f || []).push(\"style\", c);\n var l = f;\n if (b.updateQueue = l) b.flags |= 4;\n }\n};\nDj = function Dj(a, b, c, d) {\n c !== d && (b.flags |= 4);\n};\nfunction Ej(a, b) {\n if (!I) switch (a.tailMode) {\n case \"hidden\":\n b = a.tail;\n for (var c = null; null !== b;) null !== b.alternate && (c = b), b = b.sibling;\n null === c ? a.tail = null : c.sibling = null;\n break;\n case \"collapsed\":\n c = a.tail;\n for (var d = null; null !== c;) null !== c.alternate && (d = c), c = c.sibling;\n null === d ? b || null === a.tail ? a.tail = null : a.tail.sibling = null : d.sibling = null;\n }\n}\nfunction S(a) {\n var b = null !== a.alternate && a.alternate.child === a.child,\n c = 0,\n d = 0;\n if (b) for (var e = a.child; null !== e;) c |= e.lanes | e.childLanes, d |= e.subtreeFlags & 14680064, d |= e.flags & 14680064, e.return = a, e = e.sibling;else for (e = a.child; null !== e;) c |= e.lanes | e.childLanes, d |= e.subtreeFlags, d |= e.flags, e.return = a, e = e.sibling;\n a.subtreeFlags |= d;\n a.childLanes = c;\n return b;\n}\nfunction Fj(a, b, c) {\n var d = b.pendingProps;\n wg(b);\n switch (b.tag) {\n case 2:\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return S(b), null;\n case 1:\n return Zf(b.type) && $f(), S(b), null;\n case 3:\n d = b.stateNode;\n Jh();\n E(Wf);\n E(H);\n Oh();\n d.pendingContext && (d.context = d.pendingContext, d.pendingContext = null);\n if (null === a || null === a.child) Gg(b) ? b.flags |= 4 : null === a || a.memoizedState.isDehydrated && 0 === (b.flags & 256) || (b.flags |= 1024, null !== zg && (Gj(zg), zg = null));\n Bj(a, b);\n S(b);\n return null;\n case 5:\n Lh(b);\n var e = Hh(Gh.current);\n c = b.type;\n if (null !== a && null != b.stateNode) Cj(a, b, c, d, e), a.ref !== b.ref && (b.flags |= 512, b.flags |= 2097152);else {\n if (!d) {\n if (null === b.stateNode) throw Error(p(166));\n S(b);\n return null;\n }\n a = Hh(Eh.current);\n if (Gg(b)) {\n d = b.stateNode;\n c = b.type;\n var f = b.memoizedProps;\n d[Of] = b;\n d[Pf] = f;\n a = 0 !== (b.mode & 1);\n switch (c) {\n case \"dialog\":\n D(\"cancel\", d);\n D(\"close\", d);\n break;\n case \"iframe\":\n case \"object\":\n case \"embed\":\n D(\"load\", d);\n break;\n case \"video\":\n case \"audio\":\n for (e = 0; e < lf.length; e++) D(lf[e], d);\n break;\n case \"source\":\n D(\"error\", d);\n break;\n case \"img\":\n case \"image\":\n case \"link\":\n D(\"error\", d);\n D(\"load\", d);\n break;\n case \"details\":\n D(\"toggle\", d);\n break;\n case \"input\":\n Za(d, f);\n D(\"invalid\", d);\n break;\n case \"select\":\n d._wrapperState = {\n wasMultiple: !!f.multiple\n };\n D(\"invalid\", d);\n break;\n case \"textarea\":\n hb(d, f), D(\"invalid\", d);\n }\n ub(c, f);\n e = null;\n for (var g in f) if (f.hasOwnProperty(g)) {\n var h = f[g];\n \"children\" === g ? \"string\" === typeof h ? d.textContent !== h && (!0 !== f.suppressHydrationWarning && Af(d.textContent, h, a), e = [\"children\", h]) : \"number\" === typeof h && d.textContent !== \"\" + h && (!0 !== f.suppressHydrationWarning && Af(d.textContent, h, a), e = [\"children\", \"\" + h]) : ea.hasOwnProperty(g) && null != h && \"onScroll\" === g && D(\"scroll\", d);\n }\n switch (c) {\n case \"input\":\n Va(d);\n db(d, f, !0);\n break;\n case \"textarea\":\n Va(d);\n jb(d);\n break;\n case \"select\":\n case \"option\":\n break;\n default:\n \"function\" === typeof f.onClick && (d.onclick = Bf);\n }\n d = e;\n b.updateQueue = d;\n null !== d && (b.flags |= 4);\n } else {\n g = 9 === e.nodeType ? e : e.ownerDocument;\n \"http://www.w3.org/1999/xhtml\" === a && (a = kb(c));\n \"http://www.w3.org/1999/xhtml\" === a ? \"script\" === c ? (a = g.createElement(\"div\"), a.innerHTML = \"