22 lines
92 KiB
JavaScript
22 lines
92 KiB
JavaScript
"use strict";
|
|
/*
|
|
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
* This devtool is neither made for production nor for readable output files.
|
|
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
* or disable the default devtool with "devtool: false".
|
|
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
*/
|
|
self["webpackHotUpdate_N_E"]("app/dashboard/analytics/page",{
|
|
|
|
/***/ "(app-pages-browser)/./app/dashboard/analytics/page.tsx":
|
|
/*!******************************************!*\
|
|
!*** ./app/dashboard/analytics/page.tsx ***!
|
|
\******************************************/
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Analytics; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Cell_Pie_PieChart_ResponsiveContainer_Tooltip_recharts__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Cell,Pie,PieChart,ResponsiveContainer,Tooltip!=!recharts */ \"(app-pages-browser)/./node_modules/recharts/es6/component/ResponsiveContainer.js\");\n/* harmony import */ var _barrel_optimize_names_Cell_Pie_PieChart_ResponsiveContainer_Tooltip_recharts__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Cell,Pie,PieChart,ResponsiveContainer,Tooltip!=!recharts */ \"(app-pages-browser)/./node_modules/recharts/es6/chart/PieChart.js\");\n/* harmony import */ var _barrel_optimize_names_Cell_Pie_PieChart_ResponsiveContainer_Tooltip_recharts__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Cell,Pie,PieChart,ResponsiveContainer,Tooltip!=!recharts */ \"(app-pages-browser)/./node_modules/recharts/es6/polar/Pie.js\");\n/* harmony import */ var _barrel_optimize_names_Cell_Pie_PieChart_ResponsiveContainer_Tooltip_recharts__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! __barrel_optimize__?names=Cell,Pie,PieChart,ResponsiveContainer,Tooltip!=!recharts */ \"(app-pages-browser)/./node_modules/recharts/es6/component/Cell.js\");\n/* harmony import */ var _barrel_optimize_names_Cell_Pie_PieChart_ResponsiveContainer_Tooltip_recharts__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! __barrel_optimize__?names=Cell,Pie,PieChart,ResponsiveContainer,Tooltip!=!recharts */ \"(app-pages-browser)/./node_modules/recharts/es6/component/Tooltip.js\");\n/* harmony import */ var _barrel_optimize_names_Download_Globe_ScanLine_ShieldCheck_Users_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Download,Globe,ScanLine,ShieldCheck,Users!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/download.js\");\n/* harmony import */ var _barrel_optimize_names_Download_Globe_ScanLine_ShieldCheck_Users_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Download,Globe,ScanLine,ShieldCheck,Users!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/scan-line.js\");\n/* harmony import */ var _barrel_optimize_names_Download_Globe_ScanLine_ShieldCheck_Users_lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=Download,Globe,ScanLine,ShieldCheck,Users!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/users.js\");\n/* harmony import */ var _barrel_optimize_names_Download_Globe_ScanLine_ShieldCheck_Users_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Download,Globe,ScanLine,ShieldCheck,Users!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/shield-check.js\");\n/* harmony import */ var _barrel_optimize_names_Download_Globe_ScanLine_ShieldCheck_Users_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Download,Globe,ScanLine,ShieldCheck,Users!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/globe.js\");\n/* harmony import */ var _components_ScanTrendChart__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ScanTrendChart */ \"(app-pages-browser)/./components/ScanTrendChart.tsx\");\n/* harmony import */ var _lib_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/api */ \"(app-pages-browser)/./lib/api.ts\");\n/* harmony import */ var _components_GeographicOverview__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/GeographicOverview */ \"(app-pages-browser)/./components/GeographicOverview.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\nconst PRESETS = [\n {\n label: \"7d\",\n days: 7\n },\n {\n label: \"30d\",\n days: 30\n },\n {\n label: \"90d\",\n days: 90\n }\n];\nconst DONUT = [\n \"#2563eb\",\n \"#10b981\",\n \"#f59e0b\",\n \"#94a3b8\"\n];\nconst DOW = [\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\",\n \"Sun\"\n];\nfunction Analytics() {\n _s();\n const [days, setDays] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(30);\n const [s, setS] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [trend, setTrend] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [topP, setTopP] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [cities, setCities] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [devices, setDevices] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [heat, setHeat] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [recent, setRecent] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [geo, setGeo] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n (0,_lib_api__WEBPACK_IMPORTED_MODULE_3__.api)(\"/analytics/geography\").then(setGeo).catch(()=>{});\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n (0,_lib_api__WEBPACK_IMPORTED_MODULE_3__.api)(\"/analytics/summary?days=\".concat(days)).then(setS).catch(()=>{});\n (0,_lib_api__WEBPACK_IMPORTED_MODULE_3__.api)(\"/analytics/trend?days=\".concat(days)).then(setTrend).catch(()=>{});\n (0,_lib_api__WEBPACK_IMPORTED_MODULE_3__.api)(\"/analytics/top-products\").then(setTopP).catch(()=>{});\n (0,_lib_api__WEBPACK_IMPORTED_MODULE_3__.api)(\"/analytics/top-cities\").then(setCities).catch(()=>{});\n (0,_lib_api__WEBPACK_IMPORTED_MODULE_3__.api)(\"/analytics/devices\").then(setDevices).catch(()=>{});\n (0,_lib_api__WEBPACK_IMPORTED_MODULE_3__.api)(\"/analytics/time-distribution\").then(setHeat).catch(()=>{});\n (0,_lib_api__WEBPACK_IMPORTED_MODULE_3__.api)(\"/analytics/recent-scans\").then(setRecent).catch(()=>{});\n }, [\n days\n ]);\n const maxP = Math.max(1, ...topP.map((p)=>p.scans));\n const maxHeat = Math.max(1, ...heat.map((h)=>h.count));\n var _s_total_scans, _s_unique_consumers, _s_today_scans, _s_active_products, _s_avg_trust_score, _s_countries;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-xl font-bold\",\n children: \"Analytics & Insights\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 51,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex rounded-lg border border-slate-200 overflow-hidden\",\n children: PRESETS.map((p)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setDays(p.days),\n className: \"px-3 py-1.5 text-sm font-medium \".concat(days === p.days ? \"bg-brand-600 text-white\" : \"bg-white text-slate-600\"),\n children: p.label\n }, p.days, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 55,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 53,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"\".concat(_lib_api__WEBPACK_IMPORTED_MODULE_3__.apiBase, \"/analytics/export?days=\").concat(days),\n className: \"flex items-center gap-2 border border-slate-200 px-3 py-1.5 rounded-lg text-sm font-medium\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Download_Globe_ScanLine_ShieldCheck_Users_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 63,\n columnNumber: 13\n }, this),\n \" CSV\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 61,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 52,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 50,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Kpi, {\n label: \"Total Scans\",\n value: (_s_total_scans = s === null || s === void 0 ? void 0 : s.total_scans) !== null && _s_total_scans !== void 0 ? _s_total_scans : 0,\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Download_Globe_ScanLine_ShieldCheck_Users_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 70,\n columnNumber: 68\n }, void 0),\n tint: \"bg-blue-50 text-blue-600\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 70,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Kpi, {\n label: \"Unique Consumers\",\n value: (_s_unique_consumers = s === null || s === void 0 ? void 0 : s.unique_consumers) !== null && _s_unique_consumers !== void 0 ? _s_unique_consumers : 0,\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Download_Globe_ScanLine_ShieldCheck_Users_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 71,\n columnNumber: 78\n }, void 0),\n tint: \"bg-violet-50 text-violet-600\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 71,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Kpi, {\n label: \"Today\",\n value: (_s_today_scans = s === null || s === void 0 ? void 0 : s.today_scans) !== null && _s_today_scans !== void 0 ? _s_today_scans : 0,\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Download_Globe_ScanLine_ShieldCheck_Users_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 72,\n columnNumber: 62\n }, void 0),\n tint: \"bg-orange-50 text-orange-500\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 72,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Kpi, {\n label: \"Active Products\",\n value: (_s_active_products = s === null || s === void 0 ? void 0 : s.active_products) !== null && _s_active_products !== void 0 ? _s_active_products : 0,\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Download_Globe_ScanLine_ShieldCheck_Users_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 73,\n columnNumber: 76\n }, void 0),\n tint: \"bg-emerald-50 text-emerald-600\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 73,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Kpi, {\n label: \"Avg Trust\",\n value: \"\".concat((_s_avg_trust_score = s === null || s === void 0 ? void 0 : s.avg_trust_score) !== null && _s_avg_trust_score !== void 0 ? _s_avg_trust_score : 0, \"%\"),\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Download_Globe_ScanLine_ShieldCheck_Users_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 74,\n columnNumber: 76\n }, void 0),\n tint: \"bg-blue-50 text-blue-600\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Kpi, {\n label: \"Countries\",\n value: (_s_countries = s === null || s === void 0 ? void 0 : s.countries) !== null && _s_countries !== void 0 ? _s_countries : 0,\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Download_Globe_ScanLine_ShieldCheck_Users_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 75,\n columnNumber: 64\n }, void 0),\n tint: \"bg-amber-50 text-amber-500\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 75,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 69,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid lg:grid-cols-3 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card p-5 lg:col-span-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-bold mb-2\",\n children: \"Scan Trend\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 80,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ScanTrendChart__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n data: trend\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 81,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 79,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card p-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-bold mb-2\",\n children: \"Device Types\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 84,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Cell_Pie_PieChart_ResponsiveContainer_Tooltip_recharts__WEBPACK_IMPORTED_MODULE_10__.ResponsiveContainer, {\n width: \"100%\",\n height: 200,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Cell_Pie_PieChart_ResponsiveContainer_Tooltip_recharts__WEBPACK_IMPORTED_MODULE_11__.PieChart, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Cell_Pie_PieChart_ResponsiveContainer_Tooltip_recharts__WEBPACK_IMPORTED_MODULE_12__.Pie, {\n data: devices,\n dataKey: \"scans\",\n nameKey: \"device\",\n innerRadius: 50,\n outerRadius: 80,\n paddingAngle: 2,\n children: devices.map((_, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Cell_Pie_PieChart_ResponsiveContainer_Tooltip_recharts__WEBPACK_IMPORTED_MODULE_13__.Cell, {\n fill: DONUT[i % DONUT.length]\n }, i, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 88,\n columnNumber: 40\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 87,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Cell_Pie_PieChart_ResponsiveContainer_Tooltip_recharts__WEBPACK_IMPORTED_MODULE_14__.Tooltip, {}, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 90,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 86,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 85,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap gap-2 justify-center mt-2 text-xs\",\n children: devices.map((d, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"flex items-center gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"h-2 w-2 rounded-full\",\n style: {\n background: DONUT[i % DONUT.length]\n }\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 96,\n columnNumber: 17\n }, this),\n d.device,\n \" (\",\n d.scans,\n \")\"\n ]\n }, d.device, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 95,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 93,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 83,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card p-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-bold mb-4\",\n children: \"Scan Time Distribution\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 104,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"overflow-x-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-grid gap-0.5\",\n style: {\n gridTemplateColumns: \"32px repeat(24, 14px)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {}, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 107,\n columnNumber: 13\n }, this),\n Array.from({\n length: 24\n }).map((_, h)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-[8px] text-slate-400 text-center\",\n children: h % 3 === 0 ? h : \"\"\n }, h, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 109,\n columnNumber: 15\n }, this)),\n DOW.map((day, d)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-[10px] text-slate-500 pr-1 flex items-center\",\n children: day\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 113,\n columnNumber: 17\n }, this),\n Array.from({\n length: 24\n }).map((_, h)=>{\n const cell = heat.find((x)=>x.dow === d && x.hour === h);\n var _cell_count;\n const v = (_cell_count = cell === null || cell === void 0 ? void 0 : cell.count) !== null && _cell_count !== void 0 ? _cell_count : 0;\n const op = v === 0 ? 0.06 : 0.2 + v / maxHeat * 0.8;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n title: \"\".concat(day, \" \").concat(h, \":00 — \").concat(v),\n className: \"h-[14px] w-[14px] rounded-[2px]\",\n style: {\n background: \"rgba(37,99,235,\".concat(op, \")\")\n }\n }, \"\".concat(d, \"-\").concat(h), false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 118,\n columnNumber: 26\n }, this);\n })\n ]\n }, \"row-\".concat(d), true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 112,\n columnNumber: 15\n }, this))\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 106,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 105,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 103,\n columnNumber: 10\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 78,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid lg:grid-cols-3 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card p-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-bold mb-4\",\n children: \"Top Products\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 130,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3\",\n children: [\n topP.map((p)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-28 text-sm text-slate-600 truncate\",\n children: p.name\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 134,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 h-3 rounded-full bg-slate-100 overflow-hidden\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-full rounded-full bg-blue-400\",\n style: {\n width: \"\".concat(p.scans / maxP * 100, \"%\")\n }\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 136,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 135,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-10 text-right text-sm font-semibold\",\n children: p.scans\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 138,\n columnNumber: 17\n }, this)\n ]\n }, p.name, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 133,\n columnNumber: 15\n }, this)),\n topP.length === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-slate-400\",\n children: \"No data.\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 141,\n columnNumber: 35\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 131,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 129,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card p-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-bold mb-4\",\n children: \"Top Cities\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 145,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ol\", {\n className: \"space-y-2 text-sm\",\n children: [\n cities.map((c, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"flex justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-slate-600\",\n children: [\n i + 1,\n \". \",\n c.city\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 149,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold\",\n children: c.scans\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 150,\n columnNumber: 17\n }, this)\n ]\n }, c.city, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 148,\n columnNumber: 15\n }, this)),\n cities.length === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"text-slate-400\",\n children: \"No data.\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 153,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 146,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 144,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card p-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-bold mb-4\",\n children: \"Geographic Overview\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 157,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_GeographicOverview__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n data: geo\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 161,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 156,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 128,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card overflow-x-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-bold p-5 pb-3\",\n children: \"Recent Scans\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 170,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"table\", {\n className: \"w-full text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"thead\", {\n className: \"bg-slate-50 text-slate-500 text-left\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: \"Time\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 174,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: \"Code\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 175,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: \"City\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 176,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: \"Country\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 177,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-4 py-3 font-medium\",\n children: \"Device\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 178,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 173,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 172,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tbody\", {\n className: \"divide-y divide-slate-100\",\n children: [\n recent.map((r, i)=>/*#__PURE__*/ {\n var _r_city, _r_country, _r_device;\n return (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3 text-slate-500\",\n children: new Date(r.at).toLocaleString()\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 184,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3 font-mono text-slate-600\",\n children: r.code\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 185,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3\",\n children: (_r_city = r.city) !== null && _r_city !== void 0 ? _r_city : \"—\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 186,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3\",\n children: (_r_country = r.country) !== null && _r_country !== void 0 ? _r_country : \"—\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 187,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-4 py-3\",\n children: (_r_device = r.device) !== null && _r_device !== void 0 ? _r_device : \"—\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 188,\n columnNumber: 17\n }, this)\n ]\n }, i, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 183,\n columnNumber: 15\n }, this);\n }),\n recent.length === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n colSpan: 5,\n className: \"px-4 py-10 text-center text-slate-400\",\n children: \"No scans yet.\"\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 191,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 191,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 181,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 171,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 169,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 49,\n columnNumber: 5\n }, this);\n}\n_s(Analytics, \"xo402BOD2YG4i34PaZjxPIK/9YI=\");\n_c = Analytics;\nfunction Kpi(param) {\n let { label, value, icon, tint } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card p-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-11 w-11 rounded-xl grid place-items-center shrink-0 \".concat(tint),\n children: icon\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 203,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-w-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xl font-extrabold text-slate-900\",\n children: value\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 205,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-slate-500\",\n children: label\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 206,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 204,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 202,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\company_projects\\\\verify pack\\\\frontend\\\\app\\\\dashboard\\\\analytics\\\\page.tsx\",\n lineNumber: 201,\n columnNumber: 5\n }, this);\n}\n_c1 = Kpi;\nvar _c, _c1;\n$RefreshReg$(_c, \"Analytics\");\n$RefreshReg$(_c1, \"Kpi\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9kYXNoYm9hcmQvYW5hbHl0aWNzL3BhZ2UudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDc0Q7QUFHcEM7QUFDMkQ7QUFDcEI7QUFDaEI7QUFDd0I7QUFFakUsTUFBTWlCLFVBQVU7SUFDZDtRQUFFQyxPQUFPO1FBQU1DLE1BQU07SUFBRTtJQUN2QjtRQUFFRCxPQUFPO1FBQU9DLE1BQU07SUFBRztJQUN6QjtRQUFFRCxPQUFPO1FBQU9DLE1BQU07SUFBRztDQUMxQjtBQUNELE1BQU1DLFFBQVE7SUFBQztJQUFXO0lBQVc7SUFBVztDQUFVO0FBQzFELE1BQU1DLE1BQU07SUFBQztJQUFPO0lBQU87SUFBTztJQUFPO0lBQU87SUFBTztDQUFNO0FBRzlDLFNBQVNDOztJQUN0QixNQUFNLENBQUNILE1BQU1JLFFBQVEsR0FBR3JCLCtDQUFRQSxDQUFDO0lBQ2pDLE1BQU0sQ0FBQ3NCLEdBQUdDLEtBQUssR0FBR3ZCLCtDQUFRQSxDQUFNO0lBQ2hDLE1BQU0sQ0FBQ3dCLE9BQU9DLFNBQVMsR0FBR3pCLCtDQUFRQSxDQUFRLEVBQUU7SUFDNUMsTUFBTSxDQUFDMEIsTUFBTUMsUUFBUSxHQUFHM0IsK0NBQVFBLENBQVEsRUFBRTtJQUMxQyxNQUFNLENBQUM0QixRQUFRQyxVQUFVLEdBQUc3QiwrQ0FBUUEsQ0FBUSxFQUFFO0lBQzlDLE1BQU0sQ0FBQzhCLFNBQVNDLFdBQVcsR0FBRy9CLCtDQUFRQSxDQUFRLEVBQUU7SUFDaEQsTUFBTSxDQUFDZ0MsTUFBTUMsUUFBUSxHQUFHakMsK0NBQVFBLENBQVEsRUFBRTtJQUMxQyxNQUFNLENBQUNrQyxRQUFRQyxVQUFVLEdBQUduQywrQ0FBUUEsQ0FBUSxFQUFFO0lBQzlDLE1BQU0sQ0FBQ29DLEtBQUtDLE9BQU8sR0FBR3JDLCtDQUFRQSxDQUFRLEVBQUU7SUFFMUNELGdEQUFTQSxDQUFDO1FBQ1JhLDZDQUFHQSxDQUFDLHdCQUF3QjBCLElBQUksQ0FB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Q0FDeEQsOERBQUNSOzRCQUFJQyxXQUFVO3NDQUEwQmxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUtuRDtNQVpTd0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vYXBwL2Rhc2hib2FyZC9hbmFseXRpY3MvcGFnZS50c3g/YjgyOCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcbmltcG9ydCB7IEZyYWdtZW50LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBQaWVDaGFydCwgUGllLCBDZWxsLCBSZXNwb25zaXZlQ29udGFpbmVyLCBUb29sdGlwLFxufSBmcm9tIFwicmVjaGFydHNcIjtcbmltcG9ydCB7IERvd25sb2FkLCBTY2FuTGluZSwgVXNlcnMsIEdsb2JlLCBTaGllbGRDaGVjayB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcbmltcG9ydCBTY2FuVHJlbmRDaGFydCBmcm9tIFwiQC9jb21wb25lbnRzL1NjYW5UcmVuZENoYXJ0XCI7XG5pbXBvcnQgeyBhcGksIGFwaUJhc2UgfSBmcm9tIFwiQC9saWIvYXBpXCI7XG5pbXBvcnQgR2VvZ3JhcGhpY092ZXJ2aWV3IGZyb20gXCJAL2NvbXBvbmVudHMvR2VvZ3JhcGhpY092ZXJ2aWV3XCI7XG5cbmNvbnN0IFBSRVNFVFMgPSBbXG4gIHsgbGFiZWw6IFwiN2RcIiwgZGF5czogNyB9LFxuICB7IGxhYmVsOiBcIjMwZFwiLCBkYXlzOiAzMCB9LFxuICB7IGxhYmVsOiBcIjkwZFwiLCBkYXlzOiA5MCB9LFxuXTtcbmNvbnN0IERPTlVUID0gW1wiIzI1NjNlYlwiLCBcIiMxMGI5ODFcIiwgXCIjZjU5ZTBiXCIsIFwiIzk0YTNiOFwiXTtcbmNvbnN0IERPVyA9IFtcIk1vblwiLCBcIlR1ZVwiLCBcIldlZFwiLCBcIlRodVwiLCBcIkZyaVwiLCBcIlNhdFwiLCBcIlN1blwiXTtcblxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBBbmFseXRpY3MoKSB7XG4gIGNvbnN0IFtkYXlzLCBzZXREYXlzXSA9IHVzZVN0YXRlKDMwKTtcbiAgY29uc3QgW3MsIHNldFNdID0gdXNlU3RhdGU8YW55PihudWxsKTtcbiAgY29uc3QgW3RyZW5kLCBzZXRUcmVuZF0gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xuICBjb25zdCBbdG9wUCwgc2V0VG9wUF0gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xuICBjb25zdCBbY2l0aWVzLCBzZXRDaXRpZXNdID0gdXNlU3RhdGU8YW55W10+KFtdKTtcbiAgY29uc3QgW2RldmljZXMsIHNldERldmljZXNdID0gdXNlU3RhdGU8YW55W10+KFtdKTtcbiAgY29uc3QgW2hlYXQsIHNldEhlYXRdID0gdXNlU3RhdGU8YW55W10+KFtdKTtcbiAgY29uc3QgW3JlY2VudCwgc2V0UmVjZW50XSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG4gIGNvbnN0IFtnZW8sIHNldEdlb10gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xuXG51c2VFZmZlY3QoKCkgPT4ge1xuICBhcGkoXCIvYW5hbHl0aWNzL2dlb2dyYXBoeVwiKS50aGVuKHNldEdlbykuY2F0Y2goKCkgPT4ge30pO1xufSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYXBpKGAvYW5hbHl0aWNzL3N1bW1hcnk/ZGF5cz0ke2RheXN9YCkudGhlbihzZXRTKS5jYXRjaCgoKSA9PiB7fSk7XG4gICAgYXBpKGAvYW5hbHl0aWNzL3RyZW5kP2RheXM9JHtkYXlzfWApLnRoZW4oc2V0VHJlbmQpLmNhdGNoKCgpID0+IHt9KTtcbiAgICBhcGkoXCIvYW5hbHl0aWNzL3RvcC1wcm9kdWN0c1wiKS50aGVuKHNldFRvcFApLmNhdGNoKCgpID0+IHt9KTtcbiAgICBhcGkoXCIvYW5hbHl0aWNzL3RvcC1jaXRpZXNcIikudGhlbihzZXRDaXRpZXMpLmNhdGNoKCgpID0+IHt9KTtcbiAgICBhcGkoXCIvYW5hbHl0aWNzL2RldmljZXNcIikudGhlbihzZXREZXZpY2VzKS5jYXRjaCgoKSA9PiB7fSk7XG4gICAgYXBpKFwiL2FuYWx5dGljcy90aW1lLWRpc3RyaWJ1dGlvblwiKS50aGVuKHNldEhlYXQpLmNhdGNoKCgpID0+IHt9KTtcbiAgICBhcGkoXCIvYW5hbHl0aWNzL3JlY2VudC1zY2Fuc1wiKS50aGVuKHNldFJlY2VudCkuY2F0Y2goKCkgPT4ge30pO1xuICB9LCBbZGF5c10pO1xuXG4gIGNvbnN0IG1heFAgPSBNYXRoLm1heCgxLCAuLi50b3BQLm1hcCgocCkgPT4gcC5zY2FucykpO1xuICBjb25zdCBtYXhIZWF0ID0gTWF0aC5tYXgoMSwgLi4uaGVhdC5tYXAoKGgpID0+IGguY291bnQpKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS01XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGRcIj5BbmFseXRpY3MgJiBJbnNpZ2h0czwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgICAgIHtQUkVTRVRTLm1hcCgocCkgPT4gKFxuICAgICAgICAgICAgICA8YnV0dG9uIGtleT17cC5kYXlzfSBvbkNsaWNrPXsoKSA9PiBzZXREYXlzKHAuZGF5cyl9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgcHgtMyBweS0xLjUgdGV4dC1zbSBmb250LW1lZGl1bSAke2RheXMgPT09IHAuZGF5cyA/IFwiYmctYnJhbmQtNjAwIHRleHQtd2hpdGVcIiA6IFwiYmctd2hpdGUgdGV4dC1zbGF0ZS02MDBcIn1gfT5cbiAgICAgICAgICAgICAgICB7cC5sYWJlbH1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8YSBocmVmPXtgJHthcGlCYXNlfS9hbmFseXRpY3MvZXhwb3J0P2RheXM9JHtkYXlzfWB9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCBweC0zIHB5LTEuNSByb3VuZGVkLWxnIHRleHQtc20gZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICAgIDxEb3dubG9hZCBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz4gQ1NWXG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7LyogS1BJcyAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMiBzbTpncmlkLWNvbHMtMyBsZzpncmlkLWNvbHMtNiBnYXAtNFwiPlxuICAgICAgICA8S3BpIGxhYmVsPVwiVG90YWwgU2NhbnNcIiB2YWx1ZT17cz8udG90YWxfc2NhbnMgPz8gMH0gaWNvbj17PFNjYW5MaW5lIGNsYXNzTmFtZT1cImgtNSB3LTVcIiAvPn0gdGludD1cImJnLWJsdWUtNTAgdGV4dC1ibHVlLTYwMFwiIC8+XG4gICAgICAgIDxLcGkgbGFiZWw9XCJVbmlxdWUgQ29uc3VtZXJzXCIgdmFsdWU9e3M/LnVuaXF1ZV9jb25zdW1lcnMgPz8gMH0gaWNvbj17PFVzZXJzIGNsYXNzTmFtZT1cImgtNSB3LTVcIiAvPn0gdGludD1cImJnLXZpb2xldC01MCB0ZXh0LXZpb2xldC02MDBcIiAvPlxuICAgICAgICA8S3BpIGxhYmVsPVwiVG9kYXlcIiB2YWx1ZT17cz8udG9kYXlfc2NhbnMgPz8gMH0gaWNvbj17PFNjYW5MaW5lIGNsYXNzTmFtZT1cImgtNSB3LTVcIiAvPn0gdGludD1cImJnLW9yYW5nZS01MCB0ZXh0LW9yYW5nZS01MDBcIiAvPlxuICAgICAgICA8S3BpIGxhYmVsPVwiQWN0aXZlIFByb2R1Y3RzXCIgdmFsdWU9e3M/LmFjdGl2ZV9wcm9kdWN0cyA/PyAwfSBpY29uPXs8U2hpZWxkQ2hlY2sgY2xhc3NOYW1lPVwiaC01IHctNVwiIC8+fSB0aW50PVwiYmctZW1lcmFsZC01MCB0ZXh0LWVtZXJhbGQtNjAwXCIgLz5cbiAgICAgICAgPEtwaSBsYWJlbD1cIkF2ZyBUcnVzdFwiIHZhbHVlPXtgJHtzPy5hdmdfdHJ1c3Rfc2NvcmUgPz8gMH0lYH0gaWNvbj17PFNoaWVsZENoZWNrIGNsYXNzTmFtZT1cImgtNSB3LTVcIiAvPn0gdGludD1cImJnLWJsdWUtNTAgdGV4dC1ibHVlLTYwMFwiIC8+XG4gICAgICAgIDxLcGkgbGFiZWw9XCJDb3VudHJpZXNcIiB2YWx1ZT17cz8uY291bnRyaWVzID8/IDB9IGljb249ezxHbG9iZSBjbGFzc05hbWU9XCJoLTUgdy01XCIgLz59IHRpbnQ9XCJiZy1hbWJlci01MCB0ZXh0LWFtYmVyLTUwMFwiIC8+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGxnOmdyaWQtY29scy0zIGdhcC00XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZCBwLTUgbGc6Y29sLXNwYW4tMVwiPlxuICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJmb250LWJvbGQgbWItMlwiPlNjYW4gVHJlbmQ8L2gzPlxuICAgICAgICAgIDxTY2FuVHJlbmRDaGFydCBkYXRhPXt0cmVuZH0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZCBwLTVcIj5cbiAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwiZm9udC1ib2xkIG1iLTJcIj5EZXZpY2UgVHlwZXM8L2gzPlxuICAgICAgICAgIDxSZXNwb25zaXZlQ29udGFpbmVyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD17MjAwfT5cbiAgICAgICAgICAgIDxQaWVDaGFydD5cbiAgICAgICAgICAgICAgPFBpZSBkYXRhPXtkZXZpY2VzfSBkYXRhS2V5PVwic2NhbnNcIiBuYW1lS2V5PVwiZGV2aWNlXCIgaW5uZXJSYWRpdXM9ezUwfSBvdXRlclJhZGl1cz17ODB9IHBhZGRpbmdBbmdsZT17Mn0+XG4gICAgICAgICAgICAgICAge2RldmljZXMubWFwKChfLCBpKSA9PiA8Q2VsbCBrZXk9e2l9IGZpbGw9e0RPTlVUW2kgJSBET05VVC5sZW5ndGhdfSAvPil9XG4gICAgICAgICAgICAgIDwvUGllPlxuICAgICAgICAgICAgICA8VG9vbHRpcCAvPlxuICAgICAgICAgICAgPC9QaWVDaGFydD5cbiAgICAgICAgICA8L1Jlc3BvbnNpdmVDb250YWluZXI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMiBqdXN0aWZ5LWNlbnRlciBtdC0yIHRleHQteHNcIj5cbiAgICAgICAgICAgIHtkZXZpY2VzLm1hcCgoZCwgaSkgPT4gKFxuICAgICAgICAgICAgICA8c3BhbiBrZXk9e2QuZGV2aWNlfSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImgtMiB3LTIgcm91bmRlZC1mdWxsXCIgc3R5bGU9e3sgYmFja2dyb3VuZDogRE9OVVRbaSAlIERPTlVULmxlbmd0aF0gfX0gLz5cbiAgICAgICAgICAgICAgICB7ZC5kZXZpY2V9ICh7ZC5zY2Fuc30pXG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZCBwLTVcIj5cbiAgICAgICAgPGgzIGNsYXNzTmFtZT1cImZvbnQtYm9sZCBtYi00XCI+U2NhbiBUaW1lIERpc3RyaWJ1dGlvbjwvaDM+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwib3ZlcmZsb3cteC1hdXRvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZ3JpZCBnYXAtMC41XCIgc3R5bGU9e3sgZ3JpZFRlbXBsYXRlQ29sdW1uczogXCIzMnB4IHJlcGVhdCgyNCwgMTRweClcIiB9fT5cbiAgICAgICAgICAgIDxkaXYgLz5cbiAgICAgICAgICAgIHtBcnJheS5mcm9tKHsgbGVuZ3RoOiAyNCB9KS5tYXAoKF8sIGgpID0+IChcbiAgICAgICAgICAgICAgPGRpdiBrZXk9e2h9IGNsYXNzTmFtZT1cInRleHQtWzhweF0gdGV4dC1zbGF0ZS00MDAgdGV4dC1jZW50ZXJcIj57aCAlIDMgPT09IDAgPyBoIDogXCJcIn08L2Rpdj5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgICAge0RPVy5tYXAoKGRheSwgZCkgPT4gKFxuICAgICAgICAgICAgICA8RnJhZ21lbnQga2V5PXtgcm93LSR7ZH1gfT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtWzEwcHhdIHRleHQtc2xhdGUtNTAwIHByLTEgZmxleCBpdGVtcy1jZW50ZXJcIj57ZGF5fTwvZGl2PlxuICAgICAgICAgICAgICAgIHtBcnJheS5mcm9tKHsgbGVuZ3RoOiAyNCB9KS5tYXAoKF8sIGgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGNlbGwgPSBoZWF0LmZpbmQoKHgpID0+IHguZG93ID09PSBkICYmIHguaG91ciA9PT0gaCk7XG4gICAgICAgICAgICAgICAgICBjb25zdCB2ID0gY2VsbD8uY291bnQgPz8gMDtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IG9wID0gdiA9PT0gMCA/IDAuMDYgOiAwLjIgKyAodiAvIG1heEhlYXQpICogMC44O1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIDxkaXYga2V5PXtgJHtkfS0ke2h9YH0gdGl0bGU9e2Ake2RheX0gJHtofTowMCDigJQgJHt2fWB9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtWzE0cHhdIHctWzE0cHhdIHJvdW5kZWQtWzJweF1cIiBzdHlsZT17eyBiYWNrZ3JvdW5kOiBgcmdiYSgzNyw5OSwyMzUsJHtvcH0pYCB9fSAvPjtcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBsZzpncmlkLWNvbHMtMyBnYXAtNFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQgcC01XCI+XG4gICAgICAgICAgPGgzIGNsYXNzTmFtZT1cImZvbnQtYm9sZCBtYi00XCI+VG9wIFByb2R1Y3RzPC9oMz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktM1wiPlxuICAgICAgICAgICAge3RvcFAubWFwKChwKSA9PiAoXG4gICAgICAgICAgICAgIDxkaXYga2V5PXtwLm5hbWV9IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTI4IHRleHQtc20gdGV4dC1zbGF0ZS02MDAgdHJ1bmNhdGVcIj57cC5uYW1lfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIGgtMyByb3VuZGVkLWZ1bGwgYmctc2xhdGUtMTAwIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoLWZ1bGwgcm91bmRlZC1mdWxsIGJnLWJsdWUtNDAwXCIgc3R5bGU9e3sgd2lkdGg6IGAkeyhwLnNjYW5zIC8gbWF4UCkgKiAxMDB9JWAgfX0gLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMTAgdGV4dC1yaWdodCB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIj57cC5zY2Fuc308L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICAgIHt0b3BQLmxlbmd0aCA9PT0gMCAmJiA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtc2xhdGUtNDAwXCI+Tm8gZGF0YS48L3A+fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkIHAtNVwiPlxuICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJmb250LWJvbGQgbWItNFwiPlRvcCBDaXRpZXM8L2gzPlxuICAgICAgICAgIDxvbCBjbGFzc05hbWU9XCJzcGFjZS15LTIgdGV4dC1zbVwiPlxuICAgICAgICAgICAge2NpdGllcy5tYXAoKGMsIGkpID0+IChcbiAgICAgICAgICAgICAgPGxpIGtleT17Yy5jaXR5fSBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc2xhdGUtNjAwXCI+e2kgKyAxfS4ge2MuY2l0eX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZFwiPntjLnNjYW5zfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgICAge2NpdGllcy5sZW5ndGggPT09IDAgJiYgPGxpIGNsYXNzTmFtZT1cInRleHQtc2xhdGUtNDAwXCI+Tm8gZGF0YS48L2xpPn1cbiAgICAgICAgICA8L29sPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkIHAtNVwiPlxuICAgIDxoMyBjbGFzc05hbWU9XCJmb250LWJvbGQgbWItNFwiPlxuICAgICAgICBHZW9ncmFwaGljIE92ZXJ2aWV3XG4gICAgPC9oMz5cblxuICAgIDxHZW9ncmFwaGljT3ZlcnZpZXcgZGF0YT17Z2VvfSAvPlxuPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgey8qIEhlYXRtYXAgKi99XG4gICAgIFxuXG4gICAgICB7LyogUmVjZW50IHNjYW5zICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkIG92ZXJmbG93LXgtYXV0b1wiPlxuICAgICAgICA8aDMgY2xhc3NOYW1lPVwiZm9udC1ib2xkIHAtNSBwYi0zXCI+UmVjZW50IFNjYW5zPC9oMz5cbiAgICAgICAgPHRhYmxlIGNsYXNzTmFtZT1cInctZnVsbCB0ZXh0LXNtXCI+XG4gICAgICAgICAgPHRoZWFkIGNsYXNzTmFtZT1cImJnLXNsYXRlLTUwIHRleHQtc2xhdGUtNTAwIHRleHQtbGVmdFwiPlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICA8dGggY2xhc3NOYW1lPVwicHgtNCBweS0zIGZvbnQtbWVkaXVtXCI+VGltZTwvdGg+XG4gICAgICAgICAgICAgIDx0aCBjbGFzc05hbWU9XCJweC00IHB5LTMgZm9udC1tZWRpdW1cIj5Db2RlPC90aD5cbiAgICAgICAgICAgICAgPHRoIGNsYXNzTmFtZT1cInB4LTQgcHktMyBmb250LW1lZGl1bVwiPkNpdHk8L3RoPlxuICAgICAgICAgICAgICA8dGggY2xhc3NOYW1lPVwicHgtNCBweS0zIGZvbnQtbWVkaXVtXCI+Q291bnRyeTwvdGg+XG4gICAgICAgICAgICAgIDx0aCBjbGFzc05hbWU9XCJweC00IHB5LTMgZm9udC1tZWRpdW1cIj5EZXZpY2U8L3RoPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgIDx0Ym9keSBjbGFzc05hbWU9XCJkaXZpZGUteSBkaXZpZGUtc2xhdGUtMTAwXCI+XG4gICAgICAgICAgICB7cmVjZW50Lm1hcCgociwgaSkgPT4gKFxuICAgICAgICAgICAgICA8dHIga2V5PXtpfT5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtNCBweS0zIHRleHQtc2xhdGUtNTAwXCI+e25ldyBEYXRlKHIuYXQpLnRvTG9jYWxlU3RyaW5nKCl9PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtNCBweS0zIGZvbnQtbW9ubyB0ZXh0LXNsYXRlLTYwMFwiPntyLmNvZGV9PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtNCBweS0zXCI+e3IuY2l0eSA/PyBcIuKAlFwifTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT1cInB4LTQgcHktM1wiPntyLmNvdW50cnkgPz8gXCLigJRcIn08L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzc05hbWU9XCJweC00IHB5LTNcIj57ci5kZXZpY2UgPz8gXCLigJRcIn08L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICB7cmVjZW50Lmxlbmd0aCA9PT0gMCAmJiA8dHI+PHRkIGNvbFNwYW49ezV9IGNsYXNzTmFtZT1cInB4LTQgcHktMTAgdGV4dC1jZW50ZXIgdGV4dC1zbGF0ZS00MDBcIj5ObyBzY2FucyB5ZXQuPC90ZD48L3RyPn1cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmZ1bmN0aW9uIEtwaSh7IGxhYmVsLCB2YWx1ZSwgaWNvbiwgdGludCB9OiBhbnkpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQgcC00XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgaC0xMSB3LTExIHJvdW5kZWQteGwgZ3JpZCBwbGFjZS1pdGVtcy1jZW50ZXIgc2hyaW5rLTAgJHt0aW50fWB9PntpY29ufTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1pbi13LTBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQteGwgZm9udC1leHRyYWJvbGQgdGV4dC1zbGF0ZS05MDBcIj57dmFsdWV9PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtc2xhdGUtNTAwXCI+e2xhYmVsfTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuIl0sIm5hbWVzIjpbIkZyYWdtZW50IiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJQaWVDaGFydCIsIlBpZSIsIkNlbGwiLCJSZXNwb25zaXZlQ29udGFpbmVyIiwiVG9vbHRpcCIsIkRvd25sb2FkIiwiU2NhbkxpbmUiLCJVc2VycyIsIkdsb2JlIiwiU2hpZWxkQ2hlY2siLCJTY2FuVHJlbmRDaGFydCIsImFwaSIsImFwaUJhc2UiLCJHZW9ncmFwaGljT3ZlcnZpZXciLCJQUkVTRVRTIiwibGFiZWwiLCJkYXlzIiwiRE9OVVQiLCJET1ciLCJBbmFseXRpY3MiLCJzZXREYXlzIiwicyIsInNldFMiLCJ0cmVuZCIsInNldFRyZW5kIiwidG9wUCIsInNldFRvcFAiLCJjaXRpZXMiLCJzZXRDaXRpZXMiLCJkZXZpY2VzIiwic2V0RGV2aWNlcyIsImhlYXQiLCJzZXRIZWF0IiwicmVjZW50Iiwic2V0UmVjZW50IiwiZ2VvIiwic2V0R2VvIiwidGhlbiIsImNhdGNoIiwibWF4UCIsIk1hdGgiLCJtYXgiLCJtYXAiLCJwIiwic2NhbnMiLCJtYXhIZWF0IiwiaCIsImNvdW50IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDIiLCJidXR0b24iLCJvbkNsaWNrIiwiYSIsImhyZWYiLCJLcGkiLCJ2YWx1ZSIsInRvdGFsX3NjYW5zIiwiaWNvbiIsInRpbnQiLCJ1bmlxdWVfY29uc3VtZXJzIiwidG9kYXlfc2NhbnMiLCJhY3RpdmVfcHJvZHVjdHMiLCJhdmdfdHJ1c3Rfc2NvcmUiLCJjb3VudHJpZXMiLCJoMyIsImRhdGEiLCJ3aWR0aCIsImhlaWdodCIsImRhdGFLZXkiLCJuYW1lS2V5IiwiaW5uZXJSYWRpdXMiLCJvdXRlclJhZGl1cyIsInBhZGRpbmdBbmdsZSIsIl8iLCJpIiwiZmlsbCIsImxlbmd0aCIsImQiLCJzcGFuIiwic3R5bGUiLCJiYWNrZ3JvdW5kIiwiZGV2aWNlIiwiZ3JpZFRlbXBsYXRlQ29sdW1ucyIsIkFycmF5IiwiZnJvbSIsImRheSIsImNlbGwiLCJmaW5kIiwieCIsImRvdyIsImhvdXIiLCJ2Iiwib3AiLCJ0aXRsZSIsIm5hbWUiLCJvbCIsImMiLCJsaSIsImNpdHkiLCJ0YWJsZSIsInRoZWFkIiwidHIiLCJ0aCIsInRib2R5IiwiciIsInRkIiwiRGF0ZSIsImF0IiwidG9Mb2NhbGVTdHJpbmciLCJjb2RlIiwiY291bnRyeSIsImNvbFNwYW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/dashboard/analytics/page.tsx\n"));
|
|
|
|
/***/ })
|
|
|
|
}); |