hex-audit 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (486) hide show
  1. package/CLAUDE.md +105 -0
  2. package/DEMO.md +141 -0
  3. package/README.md +378 -0
  4. package/dashboard/.next/BUILD_ID +1 -0
  5. package/dashboard/.next/app-build-manifest.json +99 -0
  6. package/dashboard/.next/app-path-routes-manifest.json +1 -0
  7. package/dashboard/.next/build-manifest.json +32 -0
  8. package/dashboard/.next/cache/.tsbuildinfo +1 -0
  9. package/dashboard/.next/cache/webpack/client-production/0.pack +0 -0
  10. package/dashboard/.next/cache/webpack/client-production/index.pack +0 -0
  11. package/dashboard/.next/cache/webpack/edge-server-production/0.pack +0 -0
  12. package/dashboard/.next/cache/webpack/edge-server-production/index.pack +0 -0
  13. package/dashboard/.next/cache/webpack/server-production/0.pack +0 -0
  14. package/dashboard/.next/cache/webpack/server-production/1.pack +0 -0
  15. package/dashboard/.next/cache/webpack/server-production/2.pack +0 -0
  16. package/dashboard/.next/cache/webpack/server-production/index.pack +0 -0
  17. package/dashboard/.next/cache/webpack/server-production/index.pack.old +0 -0
  18. package/dashboard/.next/export-marker.json +1 -0
  19. package/dashboard/.next/images-manifest.json +1 -0
  20. package/dashboard/.next/next-minimal-server.js.nft.json +1 -0
  21. package/dashboard/.next/next-server.js.nft.json +1 -0
  22. package/dashboard/.next/package.json +1 -0
  23. package/dashboard/.next/prerender-manifest.js +1 -0
  24. package/dashboard/.next/prerender-manifest.json +1 -0
  25. package/dashboard/.next/react-loadable-manifest.json +300 -0
  26. package/dashboard/.next/required-server-files.json +1 -0
  27. package/dashboard/.next/routes-manifest.json +1 -0
  28. package/dashboard/.next/server/app/_not-found/page.js +1 -0
  29. package/dashboard/.next/server/app/_not-found/page.js.nft.json +1 -0
  30. package/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  31. package/dashboard/.next/server/app/_not-found.html +1 -0
  32. package/dashboard/.next/server/app/_not-found.meta +6 -0
  33. package/dashboard/.next/server/app/_not-found.rsc +12 -0
  34. package/dashboard/.next/server/app/access/page.js +1 -0
  35. package/dashboard/.next/server/app/access/page.js.nft.json +1 -0
  36. package/dashboard/.next/server/app/access/page_client-reference-manifest.js +1 -0
  37. package/dashboard/.next/server/app/access.html +1 -0
  38. package/dashboard/.next/server/app/access.meta +5 -0
  39. package/dashboard/.next/server/app/access.rsc +8 -0
  40. package/dashboard/.next/server/app/api/code/route.js +1 -0
  41. package/dashboard/.next/server/app/api/code/route.js.nft.json +1 -0
  42. package/dashboard/.next/server/app/api/flows/route.js +1 -0
  43. package/dashboard/.next/server/app/api/flows/route.js.nft.json +1 -0
  44. package/dashboard/.next/server/app/api/flows.body +1 -0
  45. package/dashboard/.next/server/app/api/flows.meta +1 -0
  46. package/dashboard/.next/server/app/api/github-status/route.js +1 -0
  47. package/dashboard/.next/server/app/api/github-status/route.js.nft.json +1 -0
  48. package/dashboard/.next/server/app/api/issues/[id]/move/route.js +1 -0
  49. package/dashboard/.next/server/app/api/issues/[id]/move/route.js.nft.json +1 -0
  50. package/dashboard/.next/server/app/api/issues/[id]/route.js +1 -0
  51. package/dashboard/.next/server/app/api/issues/[id]/route.js.nft.json +1 -0
  52. package/dashboard/.next/server/app/api/mermaid/route.js +1 -0
  53. package/dashboard/.next/server/app/api/mermaid/route.js.nft.json +1 -0
  54. package/dashboard/.next/server/app/api/progress/route.js +1 -0
  55. package/dashboard/.next/server/app/api/progress/route.js.nft.json +1 -0
  56. package/dashboard/.next/server/app/api/watch/route.js +3 -0
  57. package/dashboard/.next/server/app/api/watch/route.js.nft.json +1 -0
  58. package/dashboard/.next/server/app/calls/page.js +1 -0
  59. package/dashboard/.next/server/app/calls/page.js.nft.json +1 -0
  60. package/dashboard/.next/server/app/calls/page_client-reference-manifest.js +1 -0
  61. package/dashboard/.next/server/app/calls.html +1 -0
  62. package/dashboard/.next/server/app/calls.meta +5 -0
  63. package/dashboard/.next/server/app/calls.rsc +8 -0
  64. package/dashboard/.next/server/app/conformance/page.js +1 -0
  65. package/dashboard/.next/server/app/conformance/page.js.nft.json +1 -0
  66. package/dashboard/.next/server/app/conformance/page_client-reference-manifest.js +1 -0
  67. package/dashboard/.next/server/app/conformance.html +1 -0
  68. package/dashboard/.next/server/app/conformance.meta +5 -0
  69. package/dashboard/.next/server/app/conformance.rsc +8 -0
  70. package/dashboard/.next/server/app/diagram/page.js +1 -0
  71. package/dashboard/.next/server/app/diagram/page.js.nft.json +1 -0
  72. package/dashboard/.next/server/app/diagram/page_client-reference-manifest.js +1 -0
  73. package/dashboard/.next/server/app/diagram.html +1 -0
  74. package/dashboard/.next/server/app/diagram.meta +5 -0
  75. package/dashboard/.next/server/app/diagram.rsc +10 -0
  76. package/dashboard/.next/server/app/flows/page.js +1 -0
  77. package/dashboard/.next/server/app/flows/page.js.nft.json +1 -0
  78. package/dashboard/.next/server/app/flows/page_client-reference-manifest.js +1 -0
  79. package/dashboard/.next/server/app/flows.html +1 -0
  80. package/dashboard/.next/server/app/flows.meta +5 -0
  81. package/dashboard/.next/server/app/flows.rsc +10 -0
  82. package/dashboard/.next/server/app/functions/page.js +1 -0
  83. package/dashboard/.next/server/app/functions/page.js.nft.json +1 -0
  84. package/dashboard/.next/server/app/functions/page_client-reference-manifest.js +1 -0
  85. package/dashboard/.next/server/app/functions.html +1 -0
  86. package/dashboard/.next/server/app/functions.meta +5 -0
  87. package/dashboard/.next/server/app/functions.rsc +8 -0
  88. package/dashboard/.next/server/app/icon.svg/route.js +12 -0
  89. package/dashboard/.next/server/app/icon.svg/route.js.nft.json +1 -0
  90. package/dashboard/.next/server/app/icon.svg.body +18 -0
  91. package/dashboard/.next/server/app/icon.svg.meta +1 -0
  92. package/dashboard/.next/server/app/index.html +1 -0
  93. package/dashboard/.next/server/app/index.meta +5 -0
  94. package/dashboard/.next/server/app/index.rsc +9 -0
  95. package/dashboard/.next/server/app/issues/page.js +1 -0
  96. package/dashboard/.next/server/app/issues/page.js.nft.json +1 -0
  97. package/dashboard/.next/server/app/issues/page_client-reference-manifest.js +1 -0
  98. package/dashboard/.next/server/app/issues.html +1 -0
  99. package/dashboard/.next/server/app/issues.meta +5 -0
  100. package/dashboard/.next/server/app/issues.rsc +8 -0
  101. package/dashboard/.next/server/app/page.js +20 -0
  102. package/dashboard/.next/server/app/page.js.nft.json +1 -0
  103. package/dashboard/.next/server/app/page_client-reference-manifest.js +1 -0
  104. package/dashboard/.next/server/app/progress/page.js +1 -0
  105. package/dashboard/.next/server/app/progress/page.js.nft.json +1 -0
  106. package/dashboard/.next/server/app/progress/page_client-reference-manifest.js +1 -0
  107. package/dashboard/.next/server/app/progress.html +1 -0
  108. package/dashboard/.next/server/app/progress.meta +5 -0
  109. package/dashboard/.next/server/app/progress.rsc +8 -0
  110. package/dashboard/.next/server/app/stats/page.js +1 -0
  111. package/dashboard/.next/server/app/stats/page.js.nft.json +1 -0
  112. package/dashboard/.next/server/app/stats/page_client-reference-manifest.js +1 -0
  113. package/dashboard/.next/server/app/stats.html +1 -0
  114. package/dashboard/.next/server/app/stats.meta +5 -0
  115. package/dashboard/.next/server/app/stats.rsc +8 -0
  116. package/dashboard/.next/server/app-paths-manifest.json +22 -0
  117. package/dashboard/.next/server/chunks/431.js +1 -0
  118. package/dashboard/.next/server/chunks/557.js +1 -0
  119. package/dashboard/.next/server/chunks/645.js +6 -0
  120. package/dashboard/.next/server/chunks/649.js +2 -0
  121. package/dashboard/.next/server/chunks/665.js +13 -0
  122. package/dashboard/.next/server/chunks/786.js +12 -0
  123. package/dashboard/.next/server/chunks/818.js +6 -0
  124. package/dashboard/.next/server/chunks/916.js +2 -0
  125. package/dashboard/.next/server/chunks/font-manifest.json +1 -0
  126. package/dashboard/.next/server/font-manifest.json +1 -0
  127. package/dashboard/.next/server/functions-config-manifest.json +1 -0
  128. package/dashboard/.next/server/interception-route-rewrite-manifest.js +1 -0
  129. package/dashboard/.next/server/middleware-build-manifest.js +1 -0
  130. package/dashboard/.next/server/middleware-manifest.json +6 -0
  131. package/dashboard/.next/server/middleware-react-loadable-manifest.js +1 -0
  132. package/dashboard/.next/server/next-font-manifest.js +1 -0
  133. package/dashboard/.next/server/next-font-manifest.json +1 -0
  134. package/dashboard/.next/server/pages/404.html +1 -0
  135. package/dashboard/.next/server/pages/500.html +1 -0
  136. package/dashboard/.next/server/pages/_app.js +1 -0
  137. package/dashboard/.next/server/pages/_app.js.nft.json +1 -0
  138. package/dashboard/.next/server/pages/_document.js +1 -0
  139. package/dashboard/.next/server/pages/_document.js.nft.json +1 -0
  140. package/dashboard/.next/server/pages/_error.js +1 -0
  141. package/dashboard/.next/server/pages/_error.js.nft.json +1 -0
  142. package/dashboard/.next/server/pages-manifest.json +1 -0
  143. package/dashboard/.next/server/server-reference-manifest.js +1 -0
  144. package/dashboard/.next/server/server-reference-manifest.json +1 -0
  145. package/dashboard/.next/server/webpack-runtime.js +1 -0
  146. package/dashboard/.next/static/0IZAlhEwk5-v4myUvWKBd/_buildManifest.js +1 -0
  147. package/dashboard/.next/static/0IZAlhEwk5-v4myUvWKBd/_ssgManifest.js +1 -0
  148. package/dashboard/.next/static/chunks/1.8868c4d131111be7.js +36 -0
  149. package/dashboard/.next/static/chunks/1015.3ab89142e5f44120.js +226 -0
  150. package/dashboard/.next/static/chunks/1151.b6ef5c786e587ed7.js +1 -0
  151. package/dashboard/.next/static/chunks/1199.a072929dbec89965.js +148 -0
  152. package/dashboard/.next/static/chunks/1375.d4d2f7fc9c9c2ff1.js +43 -0
  153. package/dashboard/.next/static/chunks/1799.83206776abbbf1fc.js +9 -0
  154. package/dashboard/.next/static/chunks/20154aaa.ccc347c04ab5ad4a.js +1 -0
  155. package/dashboard/.next/static/chunks/2077.7011a570c87aa7b1.js +1 -0
  156. package/dashboard/.next/static/chunks/2166.cc0fabeb2e89b840.js +215 -0
  157. package/dashboard/.next/static/chunks/2291.85a70cb0c228157b.js +29 -0
  158. package/dashboard/.next/static/chunks/2325.2c55cb9a6282ae3f.js +24 -0
  159. package/dashboard/.next/static/chunks/2383.62c035a052272594.js +1 -0
  160. package/dashboard/.next/static/chunks/2694.92bbe252063e4786.js +1 -0
  161. package/dashboard/.next/static/chunks/275.0d761aa0e5b030b8.js +34 -0
  162. package/dashboard/.next/static/chunks/2781.8536b644a480aede.js +93 -0
  163. package/dashboard/.next/static/chunks/2805.a8d71d2f92bb6ba9.js +1 -0
  164. package/dashboard/.next/static/chunks/2879.51436986f93981d9.js +1 -0
  165. package/dashboard/.next/static/chunks/3017.e55781da9dd32d37.js +1 -0
  166. package/dashboard/.next/static/chunks/3205-728c260fbb4f89c6.js +2 -0
  167. package/dashboard/.next/static/chunks/3236.dff44fa7961d9d5e.js +1 -0
  168. package/dashboard/.next/static/chunks/3480.9451396ad7ee7613.js +1 -0
  169. package/dashboard/.next/static/chunks/3626.ba1cf848a9f2e93d.js +64 -0
  170. package/dashboard/.next/static/chunks/3865.a432a7910a2f5281.js +90 -0
  171. package/dashboard/.next/static/chunks/3887.c22cbfa3f095826c.js +1 -0
  172. package/dashboard/.next/static/chunks/3924-4a05057b5450abe1.js +1 -0
  173. package/dashboard/.next/static/chunks/3948.fe3c7d758568d98b.js +287 -0
  174. package/dashboard/.next/static/chunks/4728.07d87640a3e7dd0d.js +24 -0
  175. package/dashboard/.next/static/chunks/4787.4e5f6a0e0e40a583.js +23 -0
  176. package/dashboard/.next/static/chunks/5060.baca226af35ed016.js +1 -0
  177. package/dashboard/.next/static/chunks/5284.f949ac90c95ff143.js +1 -0
  178. package/dashboard/.next/static/chunks/5715.1524bcc9591e180b.js +115 -0
  179. package/dashboard/.next/static/chunks/6014.700ae4969b64d728.js +104 -0
  180. package/dashboard/.next/static/chunks/6024.4d23707c65514679.js +79 -0
  181. package/dashboard/.next/static/chunks/6052.033a6f1013c666eb.js +141 -0
  182. package/dashboard/.next/static/chunks/6177.e5c84cfc4c0dea51.js +1 -0
  183. package/dashboard/.next/static/chunks/618f8807-547c5614e1318888.js +1 -0
  184. package/dashboard/.next/static/chunks/6434.9481771c33195d29.js +1 -0
  185. package/dashboard/.next/static/chunks/6468.f4a3e8fa6accc6da.js +77 -0
  186. package/dashboard/.next/static/chunks/6540.86f367d7390738d4.js +1 -0
  187. package/dashboard/.next/static/chunks/6549.4d0d472df96429a5.js +1 -0
  188. package/dashboard/.next/static/chunks/690f35d0.3e40ca0930e4bbdb.js +119 -0
  189. package/dashboard/.next/static/chunks/7020.831e16e26d91abc1.js +166 -0
  190. package/dashboard/.next/static/chunks/7397-f6f4dddc7a20bfc1.js +1 -0
  191. package/dashboard/.next/static/chunks/7498-ea83cb9e30ec5491.js +1 -0
  192. package/dashboard/.next/static/chunks/7802.89aec9ee11680850.js +80 -0
  193. package/dashboard/.next/static/chunks/7973.8b526f589aca5d84.js +79 -0
  194. package/dashboard/.next/static/chunks/7a04ac15.1c6cea694301806c.js +62 -0
  195. package/dashboard/.next/static/chunks/8216.1bead812eb126c35.js +5 -0
  196. package/dashboard/.next/static/chunks/8233babc.780b8e272eda298f.js +92 -0
  197. package/dashboard/.next/static/chunks/8452-e616b5f43bceb95f.js +13 -0
  198. package/dashboard/.next/static/chunks/8645.a5ca76f11edc9633.js +1 -0
  199. package/dashboard/.next/static/chunks/8928-60c623ee89d2e6ad.js +1 -0
  200. package/dashboard/.next/static/chunks/9173.2486ffca31131ec5.js +1 -0
  201. package/dashboard/.next/static/chunks/9178.469341860bf8caec.js +1 -0
  202. package/dashboard/.next/static/chunks/9466.e904660d38c03eea.js +1 -0
  203. package/dashboard/.next/static/chunks/9660.84a85811380c5f33.js +1 -0
  204. package/dashboard/.next/static/chunks/9717.6cf5c8c89403b651.js +1 -0
  205. package/dashboard/.next/static/chunks/9720.67d4d0d15a96d691.js +1 -0
  206. package/dashboard/.next/static/chunks/9811.65e1d080c2d256af.js +1 -0
  207. package/dashboard/.next/static/chunks/app/_not-found/page-548ab392d0e890d1.js +1 -0
  208. package/dashboard/.next/static/chunks/app/access/page-3668562e7464eb5d.js +1 -0
  209. package/dashboard/.next/static/chunks/app/calls/page-d07f5b8664cc8303.js +1 -0
  210. package/dashboard/.next/static/chunks/app/conformance/page-2fede1d7b5f9265d.js +1 -0
  211. package/dashboard/.next/static/chunks/app/diagram/page-b228444265546495.js +1 -0
  212. package/dashboard/.next/static/chunks/app/flows/page-fa67783d8cd79cab.js +1 -0
  213. package/dashboard/.next/static/chunks/app/functions/page-686f0296639133a3.js +1 -0
  214. package/dashboard/.next/static/chunks/app/issues/page-dc110d4cc0a5c398.js +1 -0
  215. package/dashboard/.next/static/chunks/app/layout-e7b50543ba216d12.js +1 -0
  216. package/dashboard/.next/static/chunks/app/page-a0f25953d4457935.js +1 -0
  217. package/dashboard/.next/static/chunks/app/progress/page-f07ac39d1d27b480.js +1 -0
  218. package/dashboard/.next/static/chunks/app/stats/page-db81f600a086f252.js +1 -0
  219. package/dashboard/.next/static/chunks/b7167ec1.7afbab6f609e3326.js +153 -0
  220. package/dashboard/.next/static/chunks/c7ea4e13.5effeeba6618bdb7.js +1 -0
  221. package/dashboard/.next/static/chunks/framework-cf6f5bdca6ba0184.js +33 -0
  222. package/dashboard/.next/static/chunks/main-70c6d841ad572657.js +1 -0
  223. package/dashboard/.next/static/chunks/main-app-9d2f6b8a47133e9b.js +1 -0
  224. package/dashboard/.next/static/chunks/pages/_app-6ad2b50514c24ab4.js +1 -0
  225. package/dashboard/.next/static/chunks/pages/_error-d5eb11c5c4626811.js +1 -0
  226. package/dashboard/.next/static/chunks/polyfills-78c92fac7aa8fdd8.js +1 -0
  227. package/dashboard/.next/static/chunks/webpack-08869f2b18792e51.js +1 -0
  228. package/dashboard/.next/static/css/e6cb67f77f13ae8e.css +3 -0
  229. package/dashboard/.next/static/media/0aa834ed78bf6d07-s.woff2 +0 -0
  230. package/dashboard/.next/static/media/438aa629764e75f3-s.woff2 +0 -0
  231. package/dashboard/.next/static/media/4c9affa5bc8f420e-s.p.woff2 +0 -0
  232. package/dashboard/.next/static/media/51251f8b9793cdb3-s.woff2 +0 -0
  233. package/dashboard/.next/static/media/67957d42bae0796d-s.woff2 +0 -0
  234. package/dashboard/.next/static/media/875ae681bfde4580-s.woff2 +0 -0
  235. package/dashboard/.next/static/media/886030b0b59bc5a7-s.woff2 +0 -0
  236. package/dashboard/.next/static/media/939c4f875ee75fbb-s.woff2 +0 -0
  237. package/dashboard/.next/static/media/bb3ef058b751a6ad-s.p.woff2 +0 -0
  238. package/dashboard/.next/static/media/cc978ac5ee68c2b6-s.woff2 +0 -0
  239. package/dashboard/.next/static/media/e857b654a2caa584-s.woff2 +0 -0
  240. package/dashboard/.next/static/media/f911b923c6adde36-s.woff2 +0 -0
  241. package/dashboard/.next/trace +80 -0
  242. package/dashboard/.next/types/app/access/page.ts +79 -0
  243. package/dashboard/.next/types/app/api/code/route.ts +343 -0
  244. package/dashboard/.next/types/app/api/flows/route.ts +343 -0
  245. package/dashboard/.next/types/app/api/github-status/route.ts +343 -0
  246. package/dashboard/.next/types/app/api/issues/[id]/move/route.ts +343 -0
  247. package/dashboard/.next/types/app/api/issues/[id]/route.ts +343 -0
  248. package/dashboard/.next/types/app/api/mermaid/route.ts +343 -0
  249. package/dashboard/.next/types/app/api/progress/route.ts +343 -0
  250. package/dashboard/.next/types/app/api/watch/route.ts +343 -0
  251. package/dashboard/.next/types/app/calls/page.ts +79 -0
  252. package/dashboard/.next/types/app/conformance/page.ts +79 -0
  253. package/dashboard/.next/types/app/diagram/page.ts +79 -0
  254. package/dashboard/.next/types/app/flows/page.ts +79 -0
  255. package/dashboard/.next/types/app/functions/page.ts +79 -0
  256. package/dashboard/.next/types/app/issues/page.ts +79 -0
  257. package/dashboard/.next/types/app/page.ts +79 -0
  258. package/dashboard/.next/types/app/progress/page.ts +79 -0
  259. package/dashboard/.next/types/app/stats/page.ts +79 -0
  260. package/dashboard/.next/types/package.json +1 -0
  261. package/dashboard/app/access/AccessClient.tsx +402 -0
  262. package/dashboard/app/access/ReadOnlyFunctions.tsx +114 -0
  263. package/dashboard/app/access/page.tsx +118 -0
  264. package/dashboard/app/api/code/route.ts +35 -0
  265. package/dashboard/app/api/flows/route.ts +28 -0
  266. package/dashboard/app/api/github-status/route.ts +23 -0
  267. package/dashboard/app/api/issues/[id]/move/route.ts +74 -0
  268. package/dashboard/app/api/issues/[id]/route.ts +109 -0
  269. package/dashboard/app/api/mermaid/route.ts +25 -0
  270. package/dashboard/app/api/progress/route.ts +36 -0
  271. package/dashboard/app/api/watch/route.ts +52 -0
  272. package/dashboard/app/calls/CallsClient.tsx +170 -0
  273. package/dashboard/app/calls/page.tsx +50 -0
  274. package/dashboard/app/conformance/ConformanceTable.tsx +214 -0
  275. package/dashboard/app/conformance/page.tsx +179 -0
  276. package/dashboard/app/diagram/page.tsx +65 -0
  277. package/dashboard/app/flows/page.tsx +102 -0
  278. package/dashboard/app/functions/FunctionsClient.tsx +167 -0
  279. package/dashboard/app/functions/page.tsx +171 -0
  280. package/dashboard/app/globals.css +157 -0
  281. package/dashboard/app/icon.svg +18 -0
  282. package/dashboard/app/issues/IssuesBoardClient.tsx +636 -0
  283. package/dashboard/app/issues/page.tsx +239 -0
  284. package/dashboard/app/layout.tsx +40 -0
  285. package/dashboard/app/page.tsx +259 -0
  286. package/dashboard/app/progress/ProgressClient.tsx +333 -0
  287. package/dashboard/app/progress/page.tsx +118 -0
  288. package/dashboard/app/stats/StatsClient.tsx +452 -0
  289. package/dashboard/app/stats/page.tsx +43 -0
  290. package/dashboard/components/AutoRefresh.tsx +37 -0
  291. package/dashboard/components/CodeReference.tsx +129 -0
  292. package/dashboard/components/CommandPalette.tsx +135 -0
  293. package/dashboard/components/ConfidenceBadge.tsx +53 -0
  294. package/dashboard/components/DashboardLayout.tsx +450 -0
  295. package/dashboard/components/FilterableTable.tsx +293 -0
  296. package/dashboard/components/LiveStatus.tsx +99 -0
  297. package/dashboard/components/MarkdownRenderer.tsx +40 -0
  298. package/dashboard/components/MermaidViewer.tsx +267 -0
  299. package/dashboard/components/NotYetGenerated.tsx +32 -0
  300. package/dashboard/components/SeverityBadge.tsx +28 -0
  301. package/dashboard/components/SignalBars.tsx +27 -0
  302. package/dashboard/components/SortableTable.tsx +122 -0
  303. package/dashboard/lib/conformance-tokens.ts +49 -0
  304. package/dashboard/lib/data.ts +102 -0
  305. package/dashboard/lib/watcher.ts +45 -0
  306. package/dashboard/next-env.d.ts +5 -0
  307. package/dashboard/next.config.mjs +9 -0
  308. package/dashboard/postcss.config.cjs +6 -0
  309. package/dashboard/tailwind.config.ts +79 -0
  310. package/dashboard/tsconfig.json +21 -0
  311. package/dist/analysis/access-control.d.ts +24 -0
  312. package/dist/analysis/access-control.d.ts.map +1 -0
  313. package/dist/analysis/access-control.js +378 -0
  314. package/dist/analysis/access-control.js.map +1 -0
  315. package/dist/analysis/attack-surface.d.ts +51 -0
  316. package/dist/analysis/attack-surface.d.ts.map +1 -0
  317. package/dist/analysis/attack-surface.js +206 -0
  318. package/dist/analysis/attack-surface.js.map +1 -0
  319. package/dist/analysis/constraint-extraction.d.ts +25 -0
  320. package/dist/analysis/constraint-extraction.d.ts.map +1 -0
  321. package/dist/analysis/constraint-extraction.js +398 -0
  322. package/dist/analysis/constraint-extraction.js.map +1 -0
  323. package/dist/analysis/context-assembler.d.ts +16 -0
  324. package/dist/analysis/context-assembler.d.ts.map +1 -0
  325. package/dist/analysis/context-assembler.js +88 -0
  326. package/dist/analysis/context-assembler.js.map +1 -0
  327. package/dist/analysis/dependency-graph.d.ts +31 -0
  328. package/dist/analysis/dependency-graph.d.ts.map +1 -0
  329. package/dist/analysis/dependency-graph.js +223 -0
  330. package/dist/analysis/dependency-graph.js.map +1 -0
  331. package/dist/analysis/erc-detection.d.ts +16 -0
  332. package/dist/analysis/erc-detection.d.ts.map +1 -0
  333. package/dist/analysis/erc-detection.js +81 -0
  334. package/dist/analysis/erc-detection.js.map +1 -0
  335. package/dist/analysis/external-calls.d.ts +8 -0
  336. package/dist/analysis/external-calls.d.ts.map +1 -0
  337. package/dist/analysis/external-calls.js +124 -0
  338. package/dist/analysis/external-calls.js.map +1 -0
  339. package/dist/analysis/nsloc.d.ts +46 -0
  340. package/dist/analysis/nsloc.d.ts.map +1 -0
  341. package/dist/analysis/nsloc.js +106 -0
  342. package/dist/analysis/nsloc.js.map +1 -0
  343. package/dist/analysis/pattern-detection.d.ts +20 -0
  344. package/dist/analysis/pattern-detection.d.ts.map +1 -0
  345. package/dist/analysis/pattern-detection.js +236 -0
  346. package/dist/analysis/pattern-detection.js.map +1 -0
  347. package/dist/analysis/state-variables.d.ts +33 -0
  348. package/dist/analysis/state-variables.d.ts.map +1 -0
  349. package/dist/analysis/state-variables.js +179 -0
  350. package/dist/analysis/state-variables.js.map +1 -0
  351. package/dist/commands/access.d.ts +3 -0
  352. package/dist/commands/access.d.ts.map +1 -0
  353. package/dist/commands/access.js +99 -0
  354. package/dist/commands/access.js.map +1 -0
  355. package/dist/commands/ai-status.d.ts +3 -0
  356. package/dist/commands/ai-status.d.ts.map +1 -0
  357. package/dist/commands/ai-status.js +172 -0
  358. package/dist/commands/ai-status.js.map +1 -0
  359. package/dist/commands/analyze.d.ts +3 -0
  360. package/dist/commands/analyze.d.ts.map +1 -0
  361. package/dist/commands/analyze.js +101 -0
  362. package/dist/commands/analyze.js.map +1 -0
  363. package/dist/commands/calls.d.ts +3 -0
  364. package/dist/commands/calls.d.ts.map +1 -0
  365. package/dist/commands/calls.js +92 -0
  366. package/dist/commands/calls.js.map +1 -0
  367. package/dist/commands/claude.d.ts +3 -0
  368. package/dist/commands/claude.d.ts.map +1 -0
  369. package/dist/commands/claude.js +42 -0
  370. package/dist/commands/claude.js.map +1 -0
  371. package/dist/commands/constraints.d.ts +3 -0
  372. package/dist/commands/constraints.d.ts.map +1 -0
  373. package/dist/commands/constraints.js +32 -0
  374. package/dist/commands/constraints.js.map +1 -0
  375. package/dist/commands/context.d.ts +3 -0
  376. package/dist/commands/context.d.ts.map +1 -0
  377. package/dist/commands/context.js +57 -0
  378. package/dist/commands/context.js.map +1 -0
  379. package/dist/commands/dashboard.d.ts +3 -0
  380. package/dist/commands/dashboard.d.ts.map +1 -0
  381. package/dist/commands/dashboard.js +95 -0
  382. package/dist/commands/dashboard.js.map +1 -0
  383. package/dist/commands/deps.d.ts +3 -0
  384. package/dist/commands/deps.d.ts.map +1 -0
  385. package/dist/commands/deps.js +67 -0
  386. package/dist/commands/deps.js.map +1 -0
  387. package/dist/commands/doctor.d.ts +17 -0
  388. package/dist/commands/doctor.d.ts.map +1 -0
  389. package/dist/commands/doctor.js +154 -0
  390. package/dist/commands/doctor.js.map +1 -0
  391. package/dist/commands/init.d.ts +3 -0
  392. package/dist/commands/init.d.ts.map +1 -0
  393. package/dist/commands/init.js +330 -0
  394. package/dist/commands/init.js.map +1 -0
  395. package/dist/commands/patterns.d.ts +3 -0
  396. package/dist/commands/patterns.d.ts.map +1 -0
  397. package/dist/commands/patterns.js +40 -0
  398. package/dist/commands/patterns.js.map +1 -0
  399. package/dist/commands/state.d.ts +3 -0
  400. package/dist/commands/state.d.ts.map +1 -0
  401. package/dist/commands/state.js +92 -0
  402. package/dist/commands/state.js.map +1 -0
  403. package/dist/commands/stats.d.ts +3 -0
  404. package/dist/commands/stats.d.ts.map +1 -0
  405. package/dist/commands/stats.js +347 -0
  406. package/dist/commands/stats.js.map +1 -0
  407. package/dist/commands/surface.d.ts +3 -0
  408. package/dist/commands/surface.d.ts.map +1 -0
  409. package/dist/commands/surface.js +45 -0
  410. package/dist/commands/surface.js.map +1 -0
  411. package/dist/commands/update-skills.d.ts +3 -0
  412. package/dist/commands/update-skills.d.ts.map +1 -0
  413. package/dist/commands/update-skills.js +40 -0
  414. package/dist/commands/update-skills.js.map +1 -0
  415. package/dist/commands/update.d.ts +3 -0
  416. package/dist/commands/update.d.ts.map +1 -0
  417. package/dist/commands/update.js +157 -0
  418. package/dist/commands/update.js.map +1 -0
  419. package/dist/core/config.d.ts +24 -0
  420. package/dist/core/config.d.ts.map +1 -0
  421. package/dist/core/config.js +70 -0
  422. package/dist/core/config.js.map +1 -0
  423. package/dist/core/errors.d.ts +17 -0
  424. package/dist/core/errors.d.ts.map +1 -0
  425. package/dist/core/errors.js +113 -0
  426. package/dist/core/errors.js.map +1 -0
  427. package/dist/core/external-tools.d.ts +39 -0
  428. package/dist/core/external-tools.d.ts.map +1 -0
  429. package/dist/core/external-tools.js +151 -0
  430. package/dist/core/external-tools.js.map +1 -0
  431. package/dist/core/logger.d.ts +16 -0
  432. package/dist/core/logger.d.ts.map +1 -0
  433. package/dist/core/logger.js +22 -0
  434. package/dist/core/logger.js.map +1 -0
  435. package/dist/core/output.d.ts +13 -0
  436. package/dist/core/output.d.ts.map +1 -0
  437. package/dist/core/output.js +45 -0
  438. package/dist/core/output.js.map +1 -0
  439. package/dist/core/paths.d.ts +21 -0
  440. package/dist/core/paths.d.ts.map +1 -0
  441. package/dist/core/paths.js +32 -0
  442. package/dist/core/paths.js.map +1 -0
  443. package/dist/core/progress.d.ts +34 -0
  444. package/dist/core/progress.d.ts.map +1 -0
  445. package/dist/core/progress.js +119 -0
  446. package/dist/core/progress.js.map +1 -0
  447. package/dist/core/schema.d.ts +3197 -0
  448. package/dist/core/schema.d.ts.map +1 -0
  449. package/dist/core/schema.js +420 -0
  450. package/dist/core/schema.js.map +1 -0
  451. package/dist/core/skills.d.ts +28 -0
  452. package/dist/core/skills.d.ts.map +1 -0
  453. package/dist/core/skills.js +82 -0
  454. package/dist/core/skills.js.map +1 -0
  455. package/dist/index.d.ts +3 -0
  456. package/dist/index.d.ts.map +1 -0
  457. package/dist/index.js +43 -0
  458. package/dist/index.js.map +1 -0
  459. package/dist/parsers/lcov.d.ts +27 -0
  460. package/dist/parsers/lcov.d.ts.map +1 -0
  461. package/dist/parsers/lcov.js +68 -0
  462. package/dist/parsers/lcov.js.map +1 -0
  463. package/dist/parsers/slither.d.ts +63 -0
  464. package/dist/parsers/slither.d.ts.map +1 -0
  465. package/dist/parsers/slither.js +160 -0
  466. package/dist/parsers/slither.js.map +1 -0
  467. package/dist/parsers/solc.d.ts +19 -0
  468. package/dist/parsers/solc.d.ts.map +1 -0
  469. package/dist/parsers/solc.js +43 -0
  470. package/dist/parsers/solc.js.map +1 -0
  471. package/dist/parsers/solidity-parser.d.ts +77 -0
  472. package/dist/parsers/solidity-parser.d.ts.map +1 -0
  473. package/dist/parsers/solidity-parser.js +357 -0
  474. package/dist/parsers/solidity-parser.js.map +1 -0
  475. package/dist/skills/generate-overleaf.md +326 -0
  476. package/dist/skills/generate-poc.md +186 -0
  477. package/dist/skills/ingest-aa-report.md +172 -0
  478. package/dist/skills/init-audit.md +271 -0
  479. package/dist/skills/sync-issues.md +266 -0
  480. package/dist/skills/validate-issue.md +149 -0
  481. package/dist/skills/write-finding.md +142 -0
  482. package/dist/types/index.d.ts +30 -0
  483. package/dist/types/index.d.ts.map +1 -0
  484. package/dist/types/index.js +2 -0
  485. package/dist/types/index.js.map +1 -0
  486. package/package.json +81 -0
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/4c9affa5bc8f420e-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/e6cb67f77f13ae8e.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-08869f2b18792e51.js"/><script src="/_next/static/chunks/618f8807-547c5614e1318888.js" async=""></script><script src="/_next/static/chunks/3205-728c260fbb4f89c6.js" async=""></script><script src="/_next/static/chunks/main-app-9d2f6b8a47133e9b.js" async=""></script><script src="/_next/static/chunks/7498-ea83cb9e30ec5491.js" async=""></script><script src="/_next/static/chunks/app/layout-e7b50543ba216d12.js" async=""></script><title>Hex</title><meta name="description" content="Local dashboard for Solidity smart contract audits"/><link rel="icon" href="/icon.svg?83fa4bf1ef0d214d" type="image/svg+xml" sizes="any"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="__variable_73ee6c __variable_3c557b min-h-screen bg-surface-0 text-text-primary font-sans"><script>((e,t,r,n,o,l,a,u)=>{let i=document.documentElement,s=["light","dark"];function c(t){(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,n=r&&l?o.map(e=>l[e]||e):o;r?(i.classList.remove(...n),i.classList.add(l&&l[t]?l[t]:t)):i.setAttribute(e,t)}),u&&s.includes(t)&&(i.style.colorScheme=t)}if(n)c(n);else try{let e=localStorage.getItem(t)||r,n=a&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;c(n)}catch(e){}})("data-theme","theme","dark",null,["light","dark"],null,false,true)</script><div class="min-h-screen"><button type="button" aria-label="Toggle navigation" class="fixed left-3 top-3 z-[60] flex h-10 w-10 items-center justify-center rounded-md bg-surface-1 border border-border-default text-text-secondary hover:text-text-primary md:hidden"><svg class="h-5 w-5" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"></path></svg></button><nav aria-label="Main navigation" class="fixed left-0 top-0 z-50 flex h-screen w-[220px] flex-col border-r border-border-subtle bg-surface-1 transition-transform duration-200 -translate-x-full md:translate-x-0"><div class="px-5 pb-4 pt-6"><div class="flex items-baseline gap-2"><span class="text-title font-semibold text-text-primary">Hex</span><span class="text-caption text-text-tertiary">v0.4.0</span></div></div><div class="flex-1 overflow-y-auto px-3 pb-4"><div class="mt-6 first:mt-0"><div class="mb-1.5 px-3 text-caption font-medium text-text-tertiary">Recon</div><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="m2.25 12 8.954-8.955a1.126 1.126 0 0 1 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25"></path></svg><span>Home</span></a><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/progress"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M11.35 3.836c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75 2.25 2.25 0 0 0-.1-.664m-5.8 0A2.251 2.251 0 0 1 13.5 2.25H15a2.25 2.25 0 0 1 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m8.9-4.414c.376.023.75.05 1.124.08 1.131.094 1.976 1.057 1.976 2.192V16.5A2.25 2.25 0 0 1 18 18.75h-2.25m-7.5-10.5H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V18.75m-7.5-10.5h6.375c.621 0 1.125.504 1.125 1.125v9.375m-8.25-3 1.5 1.5 3-3.75"></path></svg><span>Progress</span></a><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/stats"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z"></path></svg><span>Stats</span></a></div><div class="mt-6 first:mt-0"><div class="mb-1.5 px-3 text-caption font-medium text-text-tertiary">Analysis</div><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/access"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z"></path></svg><span>Access Control</span></a><a aria-current="page" class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body bg-accent-subtle text-accent font-medium" href="/functions"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M17.25 6.75 22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3-4.5 16.5"></path></svg><span>Functions</span></a><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/calls"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M7.5 21 3 16.5m0 0L7.5 12M3 16.5h13.5m0-13.5L21 7.5m0 0L16.5 12M21 7.5H7.5"></path></svg><span>Ext Calls</span></a></div><div class="mt-6 first:mt-0"><div class="mb-1.5 px-3 text-caption font-medium text-text-tertiary">Reasoning</div><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/conformance"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M10.125 2.25h-4.5c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125v-9M10.125 2.25h.375a9 9 0 0 1 9 9v.375M10.125 2.25A3.375 3.375 0 0 1 13.5 5.625v1.5c0 .621.504 1.125 1.125 1.125h1.5a3.375 3.375 0 0 1 3.375 3.375"></path></svg><span>Spec Conformance</span></a></div><div class="mt-6 first:mt-0"><div class="mb-1.5 px-3 text-caption font-medium text-text-tertiary">Visual</div><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/diagram"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M7.5 3.75H6A2.25 2.25 0 0 0 3.75 6v1.5M16.5 3.75H18A2.25 2.25 0 0 1 20.25 6v1.5m0 9V18A2.25 2.25 0 0 1 18 20.25h-1.5m-9 0H6A2.25 2.25 0 0 1 3.75 18v-1.5M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"></path></svg><span>Diagram</span></a><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/flows"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 3v11.25A2.25 2.25 0 0 0 6 16.5h2.25M3.75 3h-1.5m1.5 0h16.5m0 0h1.5m-1.5 0v11.25A2.25 2.25 0 0 1 18 16.5h-2.25m-7.5 0h7.5m-7.5 0-1 3m8.5-3 1 3m0 0 .5 1.5m-.5-1.5h-9.5m0 0-.5 1.5"></path></svg><span>Flows</span></a></div><div class="mt-6 first:mt-0"><div class="mb-1.5 px-3 text-caption font-medium text-text-tertiary">Issues</div><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/issues"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M8.25 6.75h12M8.25 12h12m-12 5.25h12M3.75 6.75h.007v.008H3.75V6.75Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0ZM3.75 12h.007v.008H3.75V12Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm-.375 5.25h.007v.008H3.75v-.008Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z"></path></svg><span>Board</span></a></div></div><div class="border-t border-border-subtle px-3 py-3 space-y-1"><div class="px-3 py-1 text-caption text-text-tertiary" aria-live="polite"><div class="flex items-center gap-2" title="Last refresh 6:25:26 PM — watcher disconnected"><span class="inline-block h-1.5 w-1.5 rounded-full bg-[var(--medium)]" aria-hidden="true"></span><span>Reconnecting…</span></div></div><div class="h-9"></div><div class="flex items-center gap-1.5 px-3 py-1 text-caption text-text-tertiary"><kbd class="rounded border border-border-default bg-surface-2 px-1.5 py-0.5 text-[11px]">⌘K</kbd><span>Quick nav</span></div></div></nav><main class="min-h-screen bg-surface-0 p-6 pt-16 md:ml-[220px] md:pt-6"><div class="mx-auto max-w-6xl"><div><h2 class="mb-sp-5 text-title font-semibold text-text-primary">Functions</h2><div class="flex flex-col items-center justify-center border border-dashed border-border-default bg-surface-1 px-sp-5 py-sp-8 text-center" style="border-radius:var(--radius-sm)"><svg class="mb-4 h-12 w-12 text-text-tertiary" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m6.75 12H9.75m3 0H9.75m0 0v3m-3-6h1.5m-1.5 0v3m6-6h.008v.008H15V9.75Z"></path></svg><h3 class="mb-2 text-heading font-medium text-text-primary">Data not yet generated</h3><p class="mb-4 text-body text-text-secondary">Run the following command to generate this data:</p><code class="border border-border-default bg-surface-0 px-sp-4 py-sp-2 font-mono text-body text-accent" style="border-radius:var(--radius-sm)">hex access</code></div></div></div></main></div><script src="/_next/static/chunks/webpack-08869f2b18792e51.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/4c9affa5bc8f420e-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/bb3ef058b751a6ad-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/css/e6cb67f77f13ae8e.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"4:I[5268,[],\"\"]\n6:I[5276,[],\"\"]\n7:I[3297,[],\"\"]\n8:I[4595,[\"7498\",\"static/chunks/7498-ea83cb9e30ec5491.js\",\"3185\",\"static/chunks/app/layout-e7b50543ba216d12.js\"],\"ThemeProvider\"]\n9:I[2198,[\"7498\",\"static/chunks/7498-ea83cb9e30ec5491.js\",\"3185\",\"static/chunks/app/layout-e7b50543ba216d12.js\"],\"CommandPalette\"]\na:I[1187,[\"7498\",\"static/chunks/7498-ea83cb9e30ec5491.js\",\"3185\",\"static/chunks/app/layout-e7b50543ba216d12.js\"],\"DashboardLayout\"]\nc:I[9690,[],\"\"]\nd:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e6cb67f77f13ae8e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"buildId\":\"0IZAlhEwk5-v4myUvWKBd\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/functions\",\"initialTree\":[\"\",{\"children\":[\"functions\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"functions\",{\"children\":[\"__PAGE__\",{},[[\"$L5\",[\"$\",\"div\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"mb-sp-5 text-title font-semibold text-text-primary\",\"children\":\"Functions\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center justify-center border border-dashed border-border-default bg-surface-1 px-sp-5 py-sp-8 text-center\",\"style\":{\"borderRadius\":\"var(--radius-sm)\"},\"children\":[[\"$\",\"svg\",null,{\"className\":\"mb-4 h-12 w-12 text-text-tertiary\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"strokeWidth\":1.5,\"children\":[\"$\",\"path\",null,{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m6.75 12H9.75m3 0H9.75m0 0v3m-3-6h1.5m-1.5 0v3m6-6h.008v.008H15V9.75Z\"}]}],[\"$\",\"h3\",null,{\"className\":\"mb-2 text-heading font-medium text-text-primary\",\"children\":\"Data not yet generated\"}],[\"$\",\"p\",null,{\"className\":\"mb-4 text-body text-text-secondary\",\"children\":\"Run the following command to generate this data:\"}],[\"$\",\"code\",null,{\"className\":\"border border-border-default bg-surface-0 px-sp-4 py-sp-2 font-mono text-body text-accent\",\"style\":{\"borderRadius\":\"var(--radius-sm)\"},\"children\":\"hex access\"}]]}]]}]],null],null]},[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"functions\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_73ee6c __variable_3c557b min-h-screen bg-surface-0 text-text-primary font-sans\",\"children\":[\"$\",\"$L8\",null,{\"attribute\":\"data-theme\",\"defaultTheme\":\"dark\",\"enableSystem\":false,\"children\":[[\"$\",\"$L9\",null,{}],[\"$\",\"$La\",null,{\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]]}]}]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$Lb\"],\"globalErrorComponent\":\"$c\",\"missingSlots\":\"$Wd\"}]]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Hex\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Local dashboard for Solidity smart contract audits\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/icon.svg?83fa4bf1ef0d214d\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"meta\",\"5\",{\"name\":\"next-size-adjust\"}]]\n5:null\n"])</script></body></html>
@@ -0,0 +1,5 @@
1
+ {
2
+ "headers": {
3
+ "x-next-cache-tags": "_N_T_/layout,_N_T_/functions/layout,_N_T_/functions/page,_N_T_/functions"
4
+ }
5
+ }
@@ -0,0 +1,8 @@
1
+ 2:I[5276,[],""]
2
+ 3:I[3297,[],""]
3
+ 4:I[4595,["7498","static/chunks/7498-ea83cb9e30ec5491.js","3185","static/chunks/app/layout-e7b50543ba216d12.js"],"ThemeProvider"]
4
+ 5:I[2198,["7498","static/chunks/7498-ea83cb9e30ec5491.js","3185","static/chunks/app/layout-e7b50543ba216d12.js"],"CommandPalette"]
5
+ 6:I[1187,["7498","static/chunks/7498-ea83cb9e30ec5491.js","3185","static/chunks/app/layout-e7b50543ba216d12.js"],"DashboardLayout"]
6
+ 0:["0IZAlhEwk5-v4myUvWKBd",[[["",{"children":["functions",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["functions",{"children":["__PAGE__",{},[["$L1",["$","div",null,{"children":[["$","h2",null,{"className":"mb-sp-5 text-title font-semibold text-text-primary","children":"Functions"}],["$","div",null,{"className":"flex flex-col items-center justify-center border border-dashed border-border-default bg-surface-1 px-sp-5 py-sp-8 text-center","style":{"borderRadius":"var(--radius-sm)"},"children":[["$","svg",null,{"className":"mb-4 h-12 w-12 text-text-tertiary","fill":"none","viewBox":"0 0 24 24","stroke":"currentColor","strokeWidth":1.5,"children":["$","path",null,{"strokeLinecap":"round","strokeLinejoin":"round","d":"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m6.75 12H9.75m3 0H9.75m0 0v3m-3-6h1.5m-1.5 0v3m6-6h.008v.008H15V9.75Z"}]}],["$","h3",null,{"className":"mb-2 text-heading font-medium text-text-primary","children":"Data not yet generated"}],["$","p",null,{"className":"mb-4 text-body text-text-secondary","children":"Run the following command to generate this data:"}],["$","code",null,{"className":"border border-border-default bg-surface-0 px-sp-4 py-sp-2 font-mono text-body text-accent","style":{"borderRadius":"var(--radius-sm)"},"children":"hex access"}]]}]]}]],null],null]},["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children","functions","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":null}],null]},[["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_73ee6c __variable_3c557b min-h-screen bg-surface-0 text-text-primary font-sans","children":["$","$L4",null,{"attribute":"data-theme","defaultTheme":"dark","enableSystem":false,"children":[["$","$L5",null,{}],["$","$L6",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]]}]}]}],null],null],[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e6cb67f77f13ae8e.css","precedence":"next","crossOrigin":"$undefined"}]],[null,"$L7"]]]]]
7
+ 7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Hex"}],["$","meta","3",{"name":"description","content":"Local dashboard for Solidity smart contract audits"}],["$","link","4",{"rel":"icon","href":"/icon.svg?83fa4bf1ef0d214d","type":"image/svg+xml","sizes":"any"}],["$","meta","5",{"name":"next-size-adjust"}]]
8
+ 1:null
@@ -0,0 +1,12 @@
1
+ (()=>{var e={};e.id=33,e.ids=[33],e.modules={399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},6824:(e,t,i)=>{"use strict";i.r(t),i.d(t,{originalPathname:()=>f,patchFetch:()=>m,requestAsyncStorage:()=>h,routeModule:()=>c,serverHooks:()=>b,staticGenerationAsyncStorage:()=>p});var r={};i.r(r),i.d(r,{GET:()=>u,dynamic:()=>d});var o=i(3277),n=i(5265),a=i(5356),s=i(5367);let l=Buffer.from("PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+CiAgPHJlY3Qgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iNiIgZmlsbD0iIzFjMWMxZSIvPgogIDxwb2x5Z29uCiAgICBwb2ludHM9IjE2LDQgMjYuNCw5LjUgMjYuNCwyMi41IDE2LDI4IDUuNiwyMi41IDUuNiw5LjUiCiAgICBmaWxsPSJyZ2JhKDkxLDEwOCwyNDAsMC4xMikiCiAgICBzdHJva2U9IiM1YjZjZjAiCiAgICBzdHJva2Utd2lkdGg9IjEuNSIKICAgIHN0cm9rZS1saW5lam9pbj0icm91bmQiCiAgLz4KICA8cGF0aAogICAgZD0iTTExLjUgMTEuNSBMMjAgMTYgTDExLjUgMjAuNSIKICAgIHN0cm9rZT0iIzViNmNmMCIKICAgIHN0cm9rZS13aWR0aD0iMi41IgogICAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogICAgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIKICAgIGZpbGw9Im5vbmUiCiAgLz4KPC9zdmc+Cg==","base64");function u(){return new s.NextResponse(l,{headers:{"Content-Type":"image/svg+xml","Cache-Control":"public, immutable, no-transform, max-age=31536000"}})}let d="force-static",c=new o.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/icon.svg/route",pathname:"/icon.svg",filename:"icon",bundlePath:"app/icon.svg/route"},resolvedPagePath:"next-metadata-route-loader?page=%2Ficon.svg%2Froute&filePath=%2Fhome%2Fdx%2FWork%2Fhex%2Fdashboard%2Fapp%2Ficon.svg&isDynamic=0!?__next_metadata_route__",nextConfigOutput:"",userland:r}),{requestAsyncStorage:h,staticGenerationAsyncStorage:p,serverHooks:b}=c,f="/icon.svg/route";function m(){return(0,a.patchFetch)({serverHooks:b,staticGenerationAsyncStorage:p})}},3812:e=>{"use strict";var t=Object.defineProperty,i=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,n={};function a(e){var t;let i=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),r=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===i.length?r:`${r}; ${i.join("; ")}`}function s(e){let t=new Map;for(let i of e.split(/; */)){if(!i)continue;let e=i.indexOf("=");if(-1===e){t.set(i,"true");continue}let[r,o]=[i.slice(0,e),i.slice(e+1)];try{t.set(r,decodeURIComponent(null!=o?o:"true"))}catch{}}return t}function l(e){var t,i;if(!e)return;let[[r,o],...n]=s(e),{domain:a,expires:l,httponly:c,maxage:h,path:p,samesite:b,secure:f,partitioned:m,priority:g}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase(),t]));return function(e){let t={};for(let i in e)e[i]&&(t[i]=e[i]);return t}({name:r,value:decodeURIComponent(o),domain:a,...l&&{expires:new Date(l)},...c&&{httpOnly:!0},..."string"==typeof h&&{maxAge:Number(h)},path:p,...b&&{sameSite:u.includes(t=(t=b).toLowerCase())?t:void 0},...f&&{secure:!0},...g&&{priority:d.includes(i=(i=g).toLowerCase())?i:void 0},...m&&{partitioned:!0}})}((e,i)=>{for(var r in i)t(e,r,{get:i[r],enumerable:!0})})(n,{RequestCookies:()=>c,ResponseCookies:()=>h,parseCookie:()=>s,parseSetCookie:()=>l,stringifyCookie:()=>a}),e.exports=((e,n,a,s)=>{if(n&&"object"==typeof n||"function"==typeof n)for(let a of r(n))o.call(e,a)||void 0===a||t(e,a,{get:()=>n[a],enumerable:!(s=i(n,a))||s.enumerable});return e})(t({},"__esModule",{value:!0}),n);var u=["strict","lax","none"],d=["low","medium","high"],c=class{constructor(e){this._parsed=new Map,this._headers=e;let t=e.get("cookie");if(t)for(let[e,i]of s(t))this._parsed.set(e,{name:e,value:i})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let i=Array.from(this._parsed);if(!e.length)return i.map(([e,t])=>t);let r="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return i.filter(([e])=>e===r).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,i]=1===e.length?[e[0].name,e[0].value]:e,r=this._parsed;return r.set(t,{name:t,value:i}),this._headers.set("cookie",Array.from(r).map(([e,t])=>a(t)).join("; ")),this}delete(e){let t=this._parsed,i=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>a(t)).join("; ")),i}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},h=class{constructor(e){var t,i,r;this._parsed=new Map,this._headers=e;let o=null!=(r=null!=(i=null==(t=e.getSetCookie)?void 0:t.call(e))?i:e.get("set-cookie"))?r:[];for(let e of Array.isArray(o)?o:function(e){if(!e)return[];var t,i,r,o,n,a=[],s=0;function l(){for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length}for(;s<e.length;){for(t=s,n=!1;l();)if(","===(i=e.charAt(s))){for(r=s,s+=1,l(),o=s;s<e.length&&"="!==(i=e.charAt(s))&&";"!==i&&","!==i;)s+=1;s<e.length&&"="===e.charAt(s)?(n=!0,s=o,a.push(e.substring(t,r)),t=s):s=r+1}else s+=1;(!n||s>=e.length)&&a.push(e.substring(t,e.length))}return a}(o)){let t=l(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let i=Array.from(this._parsed.values());if(!e.length)return i;let r="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return i.filter(e=>e.name===r)}has(e){return this._parsed.has(e)}set(...e){let[t,i,r]=1===e.length?[e[0].name,e[0].value,e[0]]:e,o=this._parsed;return o.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:i,...r})),function(e,t){for(let[,i]of(t.delete("set-cookie"),e)){let e=a(i);t.append("set-cookie",e)}}(o,this._headers),this}delete(...e){let[t,i,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0].path,e[0].domain];return this.set({name:t,path:i,domain:r,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a).join("; ")}}},5724:(e,t,i)=>{var r;(()=>{var o={226:function(o,n){!function(a,s){"use strict";var l="function",u="undefined",d="object",c="string",h="major",p="model",b="name",f="type",m="vendor",g="version",w="architecture",v="console",x="mobile",y="tablet",P="smarttv",k="wearable",_="embedded",j="Amazon",S="Apple",C="ASUS",A="BlackBerry",O="Browser",I="Chrome",L="Firefox",R="Google",M="Huawei",N="Microsoft",U="Motorola",q="Opera",T="Samsung",E="Sharp",z="Sony",D="Xiaomi",H="Zebra",$="Facebook",B="Chromium OS",W="Mac OS",F=function(e,t){var i={};for(var r in e)t[r]&&t[r].length%2==0?i[r]=t[r].concat(e[r]):i[r]=e[r];return i},Z=function(e){for(var t={},i=0;i<e.length;i++)t[e[i].toUpperCase()]=e[i];return t},G=function(e,t){return typeof e===c&&-1!==V(t).indexOf(V(e))},V=function(e){return e.toLowerCase()},J=function(e,t){if(typeof e===c)return e=e.replace(/^\s\s*/,""),typeof t===u?e:e.substring(0,350)},K=function(e,t){for(var i,r,o,n,a,u,c=0;c<t.length&&!a;){var h=t[c],p=t[c+1];for(i=r=0;i<h.length&&!a&&h[i];)if(a=h[i++].exec(e))for(o=0;o<p.length;o++)u=a[++r],typeof(n=p[o])===d&&n.length>0?2===n.length?typeof n[1]==l?this[n[0]]=n[1].call(this,u):this[n[0]]=n[1]:3===n.length?typeof n[1]!==l||n[1].exec&&n[1].test?this[n[0]]=u?u.replace(n[1],n[2]):void 0:this[n[0]]=u?n[1].call(this,u,n[2]):void 0:4===n.length&&(this[n[0]]=u?n[3].call(this,u.replace(n[1],n[2])):void 0):this[n]=u||s;c+=2}},Y=function(e,t){for(var i in t)if(typeof t[i]===d&&t[i].length>0){for(var r=0;r<t[i].length;r++)if(G(t[i][r],e))return"?"===i?s:i}else if(G(t[i],e))return"?"===i?s:i;return e},X={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},Q={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[g,[b,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[g,[b,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[b,g],[/opios[\/ ]+([\w\.]+)/i],[g,[b,q+" Mini"]],[/\bopr\/([\w\.]+)/i],[g,[b,q]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[b,g],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[g,[b,"UC"+O]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i],[g,[b,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[g,[b,"WeChat"]],[/konqueror\/([\w\.]+)/i],[g,[b,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[g,[b,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[g,[b,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[b,/(.+)/,"$1 Secure "+O],g],[/\bfocus\/([\w\.]+)/i],[g,[b,L+" Focus"]],[/\bopt\/([\w\.]+)/i],[g,[b,q+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[g,[b,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[g,[b,"Dolphin"]],[/coast\/([\w\.]+)/i],[g,[b,q+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[g,[b,"MIUI "+O]],[/fxios\/([-\w\.]+)/i],[g,[b,L]],[/\bqihu|(qi?ho?o?|360)browser/i],[[b,"360 "+O]],[/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i],[[b,/(.+)/,"$1 "+O],g],[/(comodo_dragon)\/([\w\.]+)/i],[[b,/_/g," "],g],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[b,g],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i,/\[(linkedin)app\]/i],[b],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[b,$],g],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[b,g],[/\bgsa\/([\w\.]+) .*safari\//i],[g,[b,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[g,[b,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[g,[b,I+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[b,I+" WebView"],g],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[g,[b,"Android "+O]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[b,g],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[g,[b,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[g,b],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[b,[g,Y,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[b,g],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[b,"Netscape"],g],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[g,[b,L+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[b,g],[/(cobalt)\/([\w\.]+)/i],[b,[g,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[w,"amd64"]],[/(ia32(?=;))/i],[[w,V]],[/((?:i[346]|x)86)[;\)]/i],[[w,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[w,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[w,"armhf"]],[/windows (ce|mobile); ppc;/i],[[w,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[w,/ower/,"",V]],[/(sun4\w)[;\)]/i],[[w,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[w,V]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[p,[m,T],[f,y]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[p,[m,T],[f,x]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[p,[m,S],[f,x]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[p,[m,S],[f,y]],[/(macintosh);/i],[p,[m,S]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[p,[m,E],[f,x]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[p,[m,M],[f,y]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[p,[m,M],[f,x]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[p,/_/g," "],[m,D],[f,x]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[p,/_/g," "],[m,D],[f,y]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[p,[m,"OPPO"],[f,x]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[p,[m,"Vivo"],[f,x]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[p,[m,"Realme"],[f,x]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[p,[m,U],[f,x]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[p,[m,U],[f,y]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[p,[m,"LG"],[f,y]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[p,[m,"LG"],[f,x]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[p,[m,"Lenovo"],[f,y]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[p,/_/g," "],[m,"Nokia"],[f,x]],[/(pixel c)\b/i],[p,[m,R],[f,y]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[p,[m,R],[f,x]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[p,[m,z],[f,x]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[p,"Xperia Tablet"],[m,z],[f,y]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[p,[m,"OnePlus"],[f,x]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[p,[m,j],[f,y]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[p,/(.+)/g,"Fire Phone $1"],[m,j],[f,x]],[/(playbook);[-\w\),; ]+(rim)/i],[p,m,[f,y]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[p,[m,A],[f,x]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[p,[m,C],[f,y]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[p,[m,C],[f,x]],[/(nexus 9)/i],[p,[m,"HTC"],[f,y]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[m,[p,/_/g," "],[f,x]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[p,[m,"Acer"],[f,y]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[p,[m,"Meizu"],[f,x]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[m,p,[f,x]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[m,p,[f,y]],[/(surface duo)/i],[p,[m,N],[f,y]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[p,[m,"Fairphone"],[f,x]],[/(u304aa)/i],[p,[m,"AT&T"],[f,x]],[/\bsie-(\w*)/i],[p,[m,"Siemens"],[f,x]],[/\b(rct\w+) b/i],[p,[m,"RCA"],[f,y]],[/\b(venue[\d ]{2,7}) b/i],[p,[m,"Dell"],[f,y]],[/\b(q(?:mv|ta)\w+) b/i],[p,[m,"Verizon"],[f,y]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[p,[m,"Barnes & Noble"],[f,y]],[/\b(tm\d{3}\w+) b/i],[p,[m,"NuVision"],[f,y]],[/\b(k88) b/i],[p,[m,"ZTE"],[f,y]],[/\b(nx\d{3}j) b/i],[p,[m,"ZTE"],[f,x]],[/\b(gen\d{3}) b.+49h/i],[p,[m,"Swiss"],[f,x]],[/\b(zur\d{3}) b/i],[p,[m,"Swiss"],[f,y]],[/\b((zeki)?tb.*\b) b/i],[p,[m,"Zeki"],[f,y]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[m,"Dragon Touch"],p,[f,y]],[/\b(ns-?\w{0,9}) b/i],[p,[m,"Insignia"],[f,y]],[/\b((nxa|next)-?\w{0,9}) b/i],[p,[m,"NextBook"],[f,y]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[m,"Voice"],p,[f,x]],[/\b(lvtel\-)?(v1[12]) b/i],[[m,"LvTel"],p,[f,x]],[/\b(ph-1) /i],[p,[m,"Essential"],[f,x]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[p,[m,"Envizen"],[f,y]],[/\b(trio[-\w\. ]+) b/i],[p,[m,"MachSpeed"],[f,y]],[/\btu_(1491) b/i],[p,[m,"Rotor"],[f,y]],[/(shield[\w ]+) b/i],[p,[m,"Nvidia"],[f,y]],[/(sprint) (\w+)/i],[m,p,[f,x]],[/(kin\.[onetw]{3})/i],[[p,/\./g," "],[m,N],[f,x]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[p,[m,H],[f,y]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[p,[m,H],[f,x]],[/smart-tv.+(samsung)/i],[m,[f,P]],[/hbbtv.+maple;(\d+)/i],[[p,/^/,"SmartTV"],[m,T],[f,P]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[m,"LG"],[f,P]],[/(apple) ?tv/i],[m,[p,S+" TV"],[f,P]],[/crkey/i],[[p,I+"cast"],[m,R],[f,P]],[/droid.+aft(\w)( bui|\))/i],[p,[m,j],[f,P]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[p,[m,E],[f,P]],[/(bravia[\w ]+)( bui|\))/i],[p,[m,z],[f,P]],[/(mitv-\w{5}) bui/i],[p,[m,D],[f,P]],[/Hbbtv.*(technisat) (.*);/i],[m,p,[f,P]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[m,J],[p,J],[f,P]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[f,P]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[m,p,[f,v]],[/droid.+; (shield) bui/i],[p,[m,"Nvidia"],[f,v]],[/(playstation [345portablevi]+)/i],[p,[m,z],[f,v]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[p,[m,N],[f,v]],[/((pebble))app/i],[m,p,[f,k]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[p,[m,S],[f,k]],[/droid.+; (glass) \d/i],[p,[m,R],[f,k]],[/droid.+; (wt63?0{2,3})\)/i],[p,[m,H],[f,k]],[/(quest( 2| pro)?)/i],[p,[m,$],[f,k]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[m,[f,_]],[/(aeobc)\b/i],[p,[m,j],[f,_]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[p,[f,x]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[p,[f,y]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[f,y]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[f,x]],[/(android[-\w\. ]{0,9});.+buil/i],[p,[m,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[g,[b,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[g,[b,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[b,g],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[g,b]],os:[[/microsoft (windows) (vista|xp)/i],[b,g],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[b,[g,Y,X]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[b,"Windows"],[g,Y,X]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/ios;fbsv\/([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[g,/_/g,"."],[b,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[b,W],[g,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[g,b],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[b,g],[/\(bb(10);/i],[g,[b,A]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[g,[b,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[g,[b,L+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[g,[b,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[g,[b,"watchOS"]],[/crkey\/([\d\.]+)/i],[g,[b,I+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[b,B],g],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[b,g],[/(sunos) ?([\w\.\d]*)/i],[[b,"Solaris"],g],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[b,g]]},ee=function(e,t){if(typeof e===d&&(t=e,e=s),!(this instanceof ee))return new ee(e,t).getResult();var i=typeof a!==u&&a.navigator?a.navigator:s,r=e||(i&&i.userAgent?i.userAgent:""),o=i&&i.userAgentData?i.userAgentData:s,n=t?F(Q,t):Q,v=i&&i.userAgent==r;return this.getBrowser=function(){var e,t={};return t[b]=s,t[g]=s,K.call(t,r,n.browser),t[h]=typeof(e=t[g])===c?e.replace(/[^\d\.]/g,"").split(".")[0]:s,v&&i&&i.brave&&typeof i.brave.isBrave==l&&(t[b]="Brave"),t},this.getCPU=function(){var e={};return e[w]=s,K.call(e,r,n.cpu),e},this.getDevice=function(){var e={};return e[m]=s,e[p]=s,e[f]=s,K.call(e,r,n.device),v&&!e[f]&&o&&o.mobile&&(e[f]=x),v&&"Macintosh"==e[p]&&i&&typeof i.standalone!==u&&i.maxTouchPoints&&i.maxTouchPoints>2&&(e[p]="iPad",e[f]=y),e},this.getEngine=function(){var e={};return e[b]=s,e[g]=s,K.call(e,r,n.engine),e},this.getOS=function(){var e={};return e[b]=s,e[g]=s,K.call(e,r,n.os),v&&!e[b]&&o&&"Unknown"!=o.platform&&(e[b]=o.platform.replace(/chrome os/i,B).replace(/macos/i,W)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r=typeof e===c&&e.length>350?J(e,350):e,this},this.setUA(r),this};ee.VERSION="1.0.35",ee.BROWSER=Z([b,g,h]),ee.CPU=Z([w]),ee.DEVICE=Z([p,m,f,v,x,P,y,k,_]),ee.ENGINE=ee.OS=Z([b,g]),typeof n!==u?(o.exports&&(n=o.exports=ee),n.UAParser=ee):i.amdO?void 0!==(r=(function(){return ee}).call(t,i,t,e))&&(e.exports=r):typeof a!==u&&(a.UAParser=ee);var et=typeof a!==u&&(a.jQuery||a.Zepto);if(et&&!et.ua){var ei=new ee;et.ua=ei.getResult(),et.ua.get=function(){return ei.getUA()},et.ua.set=function(e){ei.setUA(e);var t=ei.getResult();for(var i in t)et.ua[i]=t[i]}}}("object"==typeof window?window:this)}},n={};function a(e){var t=n[e];if(void 0!==t)return t.exports;var i=n[e]={exports:{}},r=!0;try{o[e].call(i.exports,i,i.exports,a),r=!1}finally{r&&delete n[e]}return i.exports}a.ab=__dirname+"/";var s=a(226);e.exports=s})()},3277:(e,t,i)=>{"use strict";e.exports=i(517)},6612:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var i in t)Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}(t,{PageSignatureError:function(){return i},RemovedPageError:function(){return r},RemovedUAError:function(){return o}});class i extends Error{constructor({page:e}){super(`The middleware "${e}" accepts an async API directly with the form:
2
+
3
+ export function middleware(request, event) {
4
+ return NextResponse.redirect('/new-location')
5
+ }
6
+
7
+ Read more: https://nextjs.org/docs/messages/middleware-new-signature
8
+ `)}}class r extends Error{constructor(){super(`The request.page has been deprecated in favour of \`URLPattern\`.
9
+ Read more: https://nextjs.org/docs/messages/middleware-request-page
10
+ `)}}class o extends Error{constructor(){super(`The request.ua has been removed in favour of \`userAgent\` function.
11
+ Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent
12
+ `)}}},5367:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var i in t)Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}(t,{ImageResponse:function(){return r.ImageResponse},NextRequest:function(){return o.NextRequest},NextResponse:function(){return n.NextResponse},URLPattern:function(){return s.URLPattern},userAgent:function(){return a.userAgent},userAgentFromString:function(){return a.userAgentFromString}});let r=i(7335),o=i(9808),n=i(3037),a=i(623),s=i(1043)},2776:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NextURL",{enumerable:!0,get:function(){return d}});let r=i(854),o=i(6793),n=i(9002),a=i(7647),s=/(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)/;function l(e,t){return new URL(String(e).replace(s,"localhost"),t&&String(t).replace(s,"localhost"))}let u=Symbol("NextURLInternal");class d{constructor(e,t,i){let r,o;"object"==typeof t&&"pathname"in t||"string"==typeof t?(r=t,o=i||{}):o=i||t||{},this[u]={url:l(e,r??o.base),options:o,basePath:""},this.analyze()}analyze(){var e,t,i,o,s;let l=(0,a.getNextPathnameInfo)(this[u].url.pathname,{nextConfig:this[u].options.nextConfig,parseData:!0,i18nProvider:this[u].options.i18nProvider}),d=(0,n.getHostname)(this[u].url,this[u].options.headers);this[u].domainLocale=this[u].options.i18nProvider?this[u].options.i18nProvider.detectDomainLocale(d):(0,r.detectDomainLocale)(null==(t=this[u].options.nextConfig)?void 0:null==(e=t.i18n)?void 0:e.domains,d);let c=(null==(i=this[u].domainLocale)?void 0:i.defaultLocale)||(null==(s=this[u].options.nextConfig)?void 0:null==(o=s.i18n)?void 0:o.defaultLocale);this[u].url.pathname=l.pathname,this[u].defaultLocale=c,this[u].basePath=l.basePath??"",this[u].buildId=l.buildId,this[u].locale=l.locale??c,this[u].trailingSlash=l.trailingSlash}formatPathname(){return(0,o.formatNextPathnameInfo)({basePath:this[u].basePath,buildId:this[u].buildId,defaultLocale:this[u].options.forceLocale?void 0:this[u].defaultLocale,locale:this[u].locale,pathname:this[u].url.pathname,trailingSlash:this[u].trailingSlash})}formatSearch(){return this[u].url.search}get buildId(){return this[u].buildId}set buildId(e){this[u].buildId=e}get locale(){return this[u].locale??""}set locale(e){var t,i;if(!this[u].locale||!(null==(i=this[u].options.nextConfig)?void 0:null==(t=i.i18n)?void 0:t.locales.includes(e)))throw TypeError(`The NextURL configuration includes no locale "${e}"`);this[u].locale=e}get defaultLocale(){return this[u].defaultLocale}get domainLocale(){return this[u].domainLocale}get searchParams(){return this[u].url.searchParams}get host(){return this[u].url.host}set host(e){this[u].url.host=e}get hostname(){return this[u].url.hostname}set hostname(e){this[u].url.hostname=e}get port(){return this[u].url.port}set port(e){this[u].url.port=e}get protocol(){return this[u].url.protocol}set protocol(e){this[u].url.protocol=e}get href(){let e=this.formatPathname(),t=this.formatSearch();return`${this.protocol}//${this.host}${e}${t}${this.hash}`}set href(e){this[u].url=l(e),this.analyze()}get origin(){return this[u].url.origin}get pathname(){return this[u].url.pathname}set pathname(e){this[u].url.pathname=e}get hash(){return this[u].url.hash}set hash(e){this[u].url.hash=e}get search(){return this[u].url.search}set search(e){this[u].url.search=e}get password(){return this[u].url.password}set password(e){this[u].url.password=e}get username(){return this[u].url.username}set username(e){this[u].url.username=e}get basePath(){return this[u].basePath}set basePath(e){this[u].basePath=e.startsWith("/")?e:`/${e}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new d(String(this),this[u].options)}}},8817:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var i in t)Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}(t,{RequestCookies:function(){return r.RequestCookies},ResponseCookies:function(){return r.ResponseCookies}});let r=i(3812)},7335:(e,t)=>{"use strict";function i(){throw Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead')}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageResponse",{enumerable:!0,get:function(){return i}})},9808:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var i in t)Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}(t,{INTERNALS:function(){return s},NextRequest:function(){return l}});let r=i(2776),o=i(6929),n=i(6612),a=i(8817),s=Symbol("internal request");class l extends Request{constructor(e,t={}){let i="string"!=typeof e&&"url"in e?e.url:String(e);(0,o.validateURL)(i),e instanceof Request?super(e,t):super(i,t);let n=new r.NextURL(i,{headers:(0,o.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:t.nextConfig});this[s]={cookies:new a.RequestCookies(this.headers),geo:t.geo||{},ip:t.ip,nextUrl:n,url:n.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,geo:this.geo,ip:this.ip,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[s].cookies}get geo(){return this[s].geo}get ip(){return this[s].ip}get nextUrl(){return this[s].nextUrl}get page(){throw new n.RemovedPageError}get ua(){throw new n.RemovedUAError}get url(){return this[s].url}}},3037:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NextResponse",{enumerable:!0,get:function(){return u}});let r=i(2776),o=i(6929),n=i(8817),a=Symbol("internal response"),s=new Set([301,302,303,307,308]);function l(e,t){var i;if(null==e?void 0:null==(i=e.request)?void 0:i.headers){if(!(e.request.headers instanceof Headers))throw Error("request.headers must be an instance of Headers");let i=[];for(let[r,o]of e.request.headers)t.set("x-middleware-request-"+r,o),i.push(r);t.set("x-middleware-override-headers",i.join(","))}}class u extends Response{constructor(e,t={}){super(e,t),this[a]={cookies:new n.ResponseCookies(this.headers),url:t.url?new r.NextURL(t.url,{headers:(0,o.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:t.nextConfig}):void 0}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,url:this.url,body:this.body,bodyUsed:this.bodyUsed,headers:Object.fromEntries(this.headers),ok:this.ok,redirected:this.redirected,status:this.status,statusText:this.statusText,type:this.type}}get cookies(){return this[a].cookies}static json(e,t){let i=Response.json(e,t);return new u(i.body,i)}static redirect(e,t){let i="number"==typeof t?t:(null==t?void 0:t.status)??307;if(!s.has(i))throw RangeError('Failed to execute "redirect" on "response": Invalid status code');let r="object"==typeof t?t:{},n=new Headers(null==r?void 0:r.headers);return n.set("Location",(0,o.validateURL)(e)),new u(null,{...r,headers:n,status:i})}static rewrite(e,t){let i=new Headers(null==t?void 0:t.headers);return i.set("x-middleware-rewrite",(0,o.validateURL)(e)),l(t,i),new u(null,{...t,headers:i})}static next(e){let t=new Headers(null==e?void 0:e.headers);return t.set("x-middleware-next","1"),l(e,t),new u(null,{...e,headers:t})}}},1043:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"URLPattern",{enumerable:!0,get:function(){return i}});let i="undefined"==typeof URLPattern?void 0:URLPattern},623:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var i in t)Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}(t,{isBot:function(){return o},userAgent:function(){return a},userAgentFromString:function(){return n}});let r=function(e){return e&&e.__esModule?e:{default:e}}(i(5724));function o(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e)}function n(e){return{...(0,r.default)(e),isBot:void 0!==e&&o(e)}}function a({headers:e}){return n(e.get("user-agent")||void 0)}},6929:(e,t)=>{"use strict";function i(e){let t=new Headers;for(let[i,r]of Object.entries(e))for(let e of Array.isArray(r)?r:[r])void 0!==e&&("number"==typeof e&&(e=e.toString()),t.append(i,e));return t}function r(e){var t,i,r,o,n,a=[],s=0;function l(){for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length}for(;s<e.length;){for(t=s,n=!1;l();)if(","===(i=e.charAt(s))){for(r=s,s+=1,l(),o=s;s<e.length&&"="!==(i=e.charAt(s))&&";"!==i&&","!==i;)s+=1;s<e.length&&"="===e.charAt(s)?(n=!0,s=o,a.push(e.substring(t,r)),t=s):s=r+1}else s+=1;(!n||s>=e.length)&&a.push(e.substring(t,e.length))}return a}function o(e){let t={},i=[];if(e)for(let[o,n]of e.entries())"set-cookie"===o.toLowerCase()?(i.push(...r(n)),t[o]=1===i.length?i[0]:i):t[o]=n;return t}function n(e){try{return String(new URL(String(e)))}catch(t){throw Error(`URL is malformed "${String(e)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:t})}}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var i in t)Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}(t,{fromNodeOutgoingHttpHeaders:function(){return i},splitCookiesString:function(){return r},toNodeOutgoingHttpHeaders:function(){return o},validateURL:function(){return n}})},9002:(e,t)=>{"use strict";function i(e,t){let i;if((null==t?void 0:t.host)&&!Array.isArray(t.host))i=t.host.toString().split(":",1)[0];else{if(!e.hostname)return;i=e.hostname}return i.toLowerCase()}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getHostname",{enumerable:!0,get:function(){return i}})},854:(e,t)=>{"use strict";function i(e,t,i){if(e)for(let n of(i&&(i=i.toLowerCase()),e)){var r,o;if(t===(null==(r=n.domain)?void 0:r.split(":",1)[0].toLowerCase())||i===n.defaultLocale.toLowerCase()||(null==(o=n.locales)?void 0:o.some(e=>e.toLowerCase()===i)))return n}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"detectDomainLocale",{enumerable:!0,get:function(){return i}})},291:(e,t)=>{"use strict";function i(e,t){let i;let r=e.split("/");return(t||[]).some(t=>!!r[1]&&r[1].toLowerCase()===t.toLowerCase()&&(i=t,r.splice(1,1),e=r.join("/")||"/",!0)),{pathname:e,detectedLocale:i}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return i}})},8156:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return n}});let r=i(2109),o=i(5272);function n(e,t,i,n){if(!t||t===i)return e;let a=e.toLowerCase();return!n&&((0,o.pathHasPrefix)(a,"/api")||(0,o.pathHasPrefix)(a,"/"+t.toLowerCase()))?e:(0,r.addPathPrefix)(e,"/"+t)}},2109:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let r=i(5446);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:i,query:o,hash:n}=(0,r.parsePath)(e);return""+t+i+o+n}},7321:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathSuffix",{enumerable:!0,get:function(){return o}});let r=i(5446);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:i,query:o,hash:n}=(0,r.parsePath)(e);return""+i+t+o+n}},6793:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"formatNextPathnameInfo",{enumerable:!0,get:function(){return s}});let r=i(8040),o=i(2109),n=i(7321),a=i(8156);function s(e){let t=(0,a.addLocale)(e.pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix);return(e.buildId||!e.trailingSlash)&&(t=(0,r.removeTrailingSlash)(t)),e.buildId&&(t=(0,n.addPathSuffix)((0,o.addPathPrefix)(t,"/_next/data/"+e.buildId),"/"===e.pathname?"index.json":".json")),t=(0,o.addPathPrefix)(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:(0,n.addPathSuffix)(t,"/"):(0,r.removeTrailingSlash)(t)}},7647:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getNextPathnameInfo",{enumerable:!0,get:function(){return a}});let r=i(291),o=i(249),n=i(5272);function a(e,t){var i,a;let{basePath:s,i18n:l,trailingSlash:u}=null!=(i=t.nextConfig)?i:{},d={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):u};s&&(0,n.pathHasPrefix)(d.pathname,s)&&(d.pathname=(0,o.removePathPrefix)(d.pathname,s),d.basePath=s);let c=d.pathname;if(d.pathname.startsWith("/_next/data/")&&d.pathname.endsWith(".json")){let e=d.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/"),i=e[0];d.buildId=i,c="index"!==e[1]?"/"+e.slice(1).join("/"):"/",!0===t.parseData&&(d.pathname=c)}if(l){let e=t.i18nProvider?t.i18nProvider.analyze(d.pathname):(0,r.normalizeLocalePath)(d.pathname,l.locales);d.locale=e.detectedLocale,d.pathname=null!=(a=e.pathname)?a:d.pathname,!e.detectedLocale&&d.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(c):(0,r.normalizeLocalePath)(c,l.locales)).detectedLocale&&(d.locale=e.detectedLocale)}return d}},5446:(e,t)=>{"use strict";function i(e){let t=e.indexOf("#"),i=e.indexOf("?"),r=i>-1&&(t<0||i<t);return r||t>-1?{pathname:e.substring(0,r?i:t),query:r?e.substring(i,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return i}})},5272:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let r=i(5446);function o(e,t){if("string"!=typeof e)return!1;let{pathname:i}=(0,r.parsePath)(e);return i===t||i.startsWith(t+"/")}},249:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removePathPrefix",{enumerable:!0,get:function(){return o}});let r=i(5272);function o(e,t){if(!(0,r.pathHasPrefix)(e,t))return e;let i=e.slice(t.length);return i.startsWith("/")?i:"/"+i}},8040:(e,t)=>{"use strict";function i(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return i}})}};var t=require("../../webpack-runtime.js");t.C(e);var i=e=>t(t.s=e),r=t.X(0,[916],()=>i(6824));module.exports=r})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../package.json","../../chunks/916.js","../../webpack-runtime.js"]}
@@ -0,0 +1,18 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
2
+ <rect width="32" height="32" rx="6" fill="#1c1c1e"/>
3
+ <polygon
4
+ points="16,4 26.4,9.5 26.4,22.5 16,28 5.6,22.5 5.6,9.5"
5
+ fill="rgba(91,108,240,0.12)"
6
+ stroke="#5b6cf0"
7
+ stroke-width="1.5"
8
+ stroke-linejoin="round"
9
+ />
10
+ <path
11
+ d="M11.5 11.5 L20 16 L11.5 20.5"
12
+ stroke="#5b6cf0"
13
+ stroke-width="2.5"
14
+ stroke-linecap="round"
15
+ stroke-linejoin="round"
16
+ fill="none"
17
+ />
18
+ </svg>
@@ -0,0 +1 @@
1
+ {"status":200,"headers":{"cache-control":"public, immutable, no-transform, max-age=31536000","content-type":"image/svg+xml","x-next-cache-tags":"_N_T_/layout,_N_T_/icon.svg/layout,_N_T_/icon.svg/route,_N_T_/icon.svg"}}
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/4c9affa5bc8f420e-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/e6cb67f77f13ae8e.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-08869f2b18792e51.js"/><script src="/_next/static/chunks/618f8807-547c5614e1318888.js" async=""></script><script src="/_next/static/chunks/3205-728c260fbb4f89c6.js" async=""></script><script src="/_next/static/chunks/main-app-9d2f6b8a47133e9b.js" async=""></script><script src="/_next/static/chunks/7498-ea83cb9e30ec5491.js" async=""></script><script src="/_next/static/chunks/7397-f6f4dddc7a20bfc1.js" async=""></script><script src="/_next/static/chunks/app/page-a0f25953d4457935.js" async=""></script><script src="/_next/static/chunks/app/layout-e7b50543ba216d12.js" async=""></script><title>Hex</title><meta name="description" content="Local dashboard for Solidity smart contract audits"/><link rel="icon" href="/icon.svg?83fa4bf1ef0d214d" type="image/svg+xml" sizes="any"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="__variable_73ee6c __variable_3c557b min-h-screen bg-surface-0 text-text-primary font-sans"><script>((e,t,r,n,o,l,a,u)=>{let i=document.documentElement,s=["light","dark"];function c(t){(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,n=r&&l?o.map(e=>l[e]||e):o;r?(i.classList.remove(...n),i.classList.add(l&&l[t]?l[t]:t)):i.setAttribute(e,t)}),u&&s.includes(t)&&(i.style.colorScheme=t)}if(n)c(n);else try{let e=localStorage.getItem(t)||r,n=a&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;c(n)}catch(e){}})("data-theme","theme","dark",null,["light","dark"],null,false,true)</script><div class="min-h-screen"><button type="button" aria-label="Toggle navigation" class="fixed left-3 top-3 z-[60] flex h-10 w-10 items-center justify-center rounded-md bg-surface-1 border border-border-default text-text-secondary hover:text-text-primary md:hidden"><svg class="h-5 w-5" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"></path></svg></button><nav aria-label="Main navigation" class="fixed left-0 top-0 z-50 flex h-screen w-[220px] flex-col border-r border-border-subtle bg-surface-1 transition-transform duration-200 -translate-x-full md:translate-x-0"><div class="px-5 pb-4 pt-6"><div class="flex items-baseline gap-2"><span class="text-title font-semibold text-text-primary">Hex</span><span class="text-caption text-text-tertiary">v0.4.0</span></div></div><div class="flex-1 overflow-y-auto px-3 pb-4"><div class="mt-6 first:mt-0"><div class="mb-1.5 px-3 text-caption font-medium text-text-tertiary">Recon</div><a aria-current="page" class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body bg-accent-subtle text-accent font-medium" href="/"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="m2.25 12 8.954-8.955a1.126 1.126 0 0 1 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25"></path></svg><span>Home</span></a><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/progress"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M11.35 3.836c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75 2.25 2.25 0 0 0-.1-.664m-5.8 0A2.251 2.251 0 0 1 13.5 2.25H15a2.25 2.25 0 0 1 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m8.9-4.414c.376.023.75.05 1.124.08 1.131.094 1.976 1.057 1.976 2.192V16.5A2.25 2.25 0 0 1 18 18.75h-2.25m-7.5-10.5H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V18.75m-7.5-10.5h6.375c.621 0 1.125.504 1.125 1.125v9.375m-8.25-3 1.5 1.5 3-3.75"></path></svg><span>Progress</span></a><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/stats"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z"></path></svg><span>Stats</span></a></div><div class="mt-6 first:mt-0"><div class="mb-1.5 px-3 text-caption font-medium text-text-tertiary">Analysis</div><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/access"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z"></path></svg><span>Access Control</span></a><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/functions"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M17.25 6.75 22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3-4.5 16.5"></path></svg><span>Functions</span></a><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/calls"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M7.5 21 3 16.5m0 0L7.5 12M3 16.5h13.5m0-13.5L21 7.5m0 0L16.5 12M21 7.5H7.5"></path></svg><span>Ext Calls</span></a></div><div class="mt-6 first:mt-0"><div class="mb-1.5 px-3 text-caption font-medium text-text-tertiary">Reasoning</div><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/conformance"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M10.125 2.25h-4.5c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125v-9M10.125 2.25h.375a9 9 0 0 1 9 9v.375M10.125 2.25A3.375 3.375 0 0 1 13.5 5.625v1.5c0 .621.504 1.125 1.125 1.125h1.5a3.375 3.375 0 0 1 3.375 3.375"></path></svg><span>Spec Conformance</span></a></div><div class="mt-6 first:mt-0"><div class="mb-1.5 px-3 text-caption font-medium text-text-tertiary">Visual</div><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/diagram"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M7.5 3.75H6A2.25 2.25 0 0 0 3.75 6v1.5M16.5 3.75H18A2.25 2.25 0 0 1 20.25 6v1.5m0 9V18A2.25 2.25 0 0 1 18 20.25h-1.5m-9 0H6A2.25 2.25 0 0 1 3.75 18v-1.5M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"></path></svg><span>Diagram</span></a><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/flows"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 3v11.25A2.25 2.25 0 0 0 6 16.5h2.25M3.75 3h-1.5m1.5 0h16.5m0 0h1.5m-1.5 0v11.25A2.25 2.25 0 0 1 18 16.5h-2.25m-7.5 0h7.5m-7.5 0-1 3m8.5-3 1 3m0 0 .5 1.5m-.5-1.5h-9.5m0 0-.5 1.5"></path></svg><span>Flows</span></a></div><div class="mt-6 first:mt-0"><div class="mb-1.5 px-3 text-caption font-medium text-text-tertiary">Issues</div><a class="group flex items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary" href="/issues"><svg class="h-4 w-4 shrink-0" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M8.25 6.75h12M8.25 12h12m-12 5.25h12M3.75 6.75h.007v.008H3.75V6.75Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0ZM3.75 12h.007v.008H3.75V12Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm-.375 5.25h.007v.008H3.75v-.008Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z"></path></svg><span>Board</span></a></div></div><div class="border-t border-border-subtle px-3 py-3 space-y-1"><div class="px-3 py-1 text-caption text-text-tertiary" aria-live="polite"><div class="flex items-center gap-2" title="Last refresh 6:25:26 PM — watcher disconnected"><span class="inline-block h-1.5 w-1.5 rounded-full bg-[var(--medium)]" aria-hidden="true"></span><span>Reconnecting…</span></div></div><div class="h-9"></div><div class="flex items-center gap-1.5 px-3 py-1 text-caption text-text-tertiary"><kbd class="rounded border border-border-default bg-surface-2 px-1.5 py-0.5 text-[11px]">⌘K</kbd><span>Quick nav</span></div></div></nav><main class="min-h-screen bg-surface-0 p-6 pt-16 md:ml-[220px] md:pt-6"><div class="mx-auto max-w-6xl"><div><div class="mb-6"><h1 class="text-title font-semibold text-text-primary">Hex Dashboard</h1></div><div class="mb-6 grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-5 stagger"><a href="/stats"><div class="rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2 cursor-pointer"><div class="text-display scale-in text-text-tertiary">--</div><div class="mt-1 text-caption text-text-secondary">Contracts</div></div></a><a href="/stats"><div class="rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2 cursor-pointer"><div class="text-display scale-in text-text-tertiary">--</div><div class="mt-1 text-caption text-text-secondary">nSLOC</div></div></a><a href="/functions"><div class="rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2 cursor-pointer"><div class="text-display scale-in text-text-tertiary">--</div><div class="mt-1 text-caption text-text-secondary">Functions</div></div></a><a href="/calls"><div class="rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2 cursor-pointer"><div class="text-display scale-in text-text-tertiary">--</div><div class="mt-1 text-caption text-text-secondary">Ext Calls</div></div></a><a href="/issues"><div class="rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2 cursor-pointer"><div class="text-display scale-in text-text-tertiary">--</div><div class="mt-1 text-caption text-text-secondary">Issues</div></div></a></div><div class="mb-6"><div class="flex flex-col items-center justify-center border border-dashed border-border-default bg-surface-1 px-sp-5 py-sp-8 text-center" style="border-radius:var(--radius-sm)"><svg class="mb-4 h-12 w-12 text-text-tertiary" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m6.75 12H9.75m3 0H9.75m0 0v3m-3-6h1.5m-1.5 0v3m6-6h.008v.008H15V9.75Z"></path></svg><h3 class="mb-2 text-heading font-medium text-text-primary">Data not yet generated</h3><p class="mb-4 text-body text-text-secondary">Run the following command to generate this data:</p><code class="border border-border-default bg-surface-0 px-sp-4 py-sp-2 font-mono text-body text-accent" style="border-radius:var(--radius-sm)">hex overview</code></div></div><div class="grid gap-3 sm:grid-cols-2 lg:grid-cols-3 stagger"><a class="group flex items-start gap-3 rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2" href="/stats"><div class="shrink-0 text-text-tertiary group-hover:text-accent"><svg class="h-5 w-5" aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z"></path></svg></div><div><h3 class="text-heading font-medium text-text-primary group-hover:text-accent">Stats</h3><p class="mt-0.5 text-caption text-text-secondary">Contract metrics, nSLOC, coverage</p></div></a><a class="group flex items-start gap-3 rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2" href="/access"><div class="shrink-0 text-text-tertiary group-hover:text-accent"><svg class="h-5 w-5" aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z"></path></svg></div><div><h3 class="text-heading font-medium text-text-primary group-hover:text-accent">Access Control</h3><p class="mt-0.5 text-caption text-text-secondary">Roles, permissions, visibility</p></div></a><a class="group flex items-start gap-3 rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2" href="/calls"><div class="shrink-0 text-text-tertiary group-hover:text-accent"><svg class="h-5 w-5" aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M7.5 21 3 16.5m0 0L7.5 12M3 16.5h13.5m0-13.5L21 7.5m0 0L16.5 12M21 7.5H7.5"></path></svg></div><div><h3 class="text-heading font-medium text-text-primary group-hover:text-accent">External Calls</h3><p class="mt-0.5 text-caption text-text-secondary">Cross-contract calls, trust levels</p></div></a><a class="group flex items-start gap-3 rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2" href="/issues"><div class="shrink-0 text-text-tertiary group-hover:text-accent"><svg class="h-5 w-5" aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M8.25 6.75h12M8.25 12h12m-12 5.25h12M3.75 6.75h.007v.008H3.75V6.75Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0ZM3.75 12h.007v.008H3.75V12Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm-.375 5.25h.007v.008H3.75v-.008Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z"></path></svg></div><div><h3 class="text-heading font-medium text-text-primary group-hover:text-accent">Issues</h3><p class="mt-0.5 text-caption text-text-secondary">Potential, verified, invalid, and duplicate issues</p></div></a><a class="group flex items-start gap-3 rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2" href="/diagram"><div class="shrink-0 text-text-tertiary group-hover:text-accent"><svg class="h-5 w-5" aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M7.5 3.75H6A2.25 2.25 0 0 0 3.75 6v1.5M16.5 3.75H18A2.25 2.25 0 0 1 20.25 6v1.5m0 9V18A2.25 2.25 0 0 1 18 20.25h-1.5m-9 0H6A2.25 2.25 0 0 1 3.75 18v-1.5M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"></path></svg></div><div><h3 class="text-heading font-medium text-text-primary group-hover:text-accent">Diagram</h3><p class="mt-0.5 text-caption text-text-secondary">Contract architecture visualization</p></div></a></div></div></div></main></div><script src="/_next/static/chunks/webpack-08869f2b18792e51.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/4c9affa5bc8f420e-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/bb3ef058b751a6ad-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/css/e6cb67f77f13ae8e.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"4:I[5268,[],\"\"]\n6:I[7498,[\"7498\",\"static/chunks/7498-ea83cb9e30ec5491.js\",\"7397\",\"static/chunks/7397-f6f4dddc7a20bfc1.js\",\"1931\",\"static/chunks/app/page-a0f25953d4457935.js\"],\"\"]\n7:I[4595,[\"7498\",\"static/chunks/7498-ea83cb9e30ec5491.js\",\"3185\",\"static/chunks/app/layout-e7b50543ba216d12.js\"],\"ThemeProvider\"]\n8:I[2198,[\"7498\",\"static/chunks/7498-ea83cb9e30ec5491.js\",\"3185\",\"static/chunks/app/layout-e7b50543ba216d12.js\"],\"CommandPalette\"]\n9:I[1187,[\"7498\",\"static/chunks/7498-ea83cb9e30ec5491.js\",\"3185\",\"static/chunks/app/layout-e7b50543ba216d12.js\"],\"DashboardLayout\"]\na:I[5276,[],\"\"]\nb:I[3297,[],\"\"]\nd:I[9690,[],\"\"]\ne:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e6cb67f77f13ae8e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"buildId\":\"0IZAlhEwk5-v4myUvWKBd\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/\",\"initialTree\":[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"__PAGE__\",{},[[\"$L5\",[\"$\",\"div\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-6\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-title font-semibold text-text-primary\",\"children\":\"Hex Dashboard\"}],null]}],[\"$\",\"div\",null,{\"className\":\"mb-6 grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-5 stagger\",\"children\":[[\"$\",\"$L6\",null,{\"href\":\"/stats\",\"children\":[\"$\",\"div\",null,{\"className\":\"rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2 cursor-pointer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-display scale-in text-text-tertiary\",\"children\":\"--\"}],[\"$\",\"div\",null,{\"className\":\"mt-1 text-caption text-text-secondary\",\"children\":\"Contracts\"}]]}]}],[\"$\",\"$L6\",null,{\"href\":\"/stats\",\"children\":[\"$\",\"div\",null,{\"className\":\"rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2 cursor-pointer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-display scale-in text-text-tertiary\",\"children\":\"--\"}],[\"$\",\"div\",null,{\"className\":\"mt-1 text-caption text-text-secondary\",\"children\":\"nSLOC\"}]]}]}],[\"$\",\"$L6\",null,{\"href\":\"/functions\",\"children\":[\"$\",\"div\",null,{\"className\":\"rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2 cursor-pointer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-display scale-in text-text-tertiary\",\"children\":\"--\"}],[\"$\",\"div\",null,{\"className\":\"mt-1 text-caption text-text-secondary\",\"children\":\"Functions\"}]]}]}],[\"$\",\"$L6\",null,{\"href\":\"/calls\",\"children\":[\"$\",\"div\",null,{\"className\":\"rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2 cursor-pointer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-display scale-in text-text-tertiary\",\"children\":\"--\"}],[\"$\",\"div\",null,{\"className\":\"mt-1 text-caption text-text-secondary\",\"children\":\"Ext Calls\"}]]}]}],[\"$\",\"$L6\",null,{\"href\":\"/issues\",\"children\":[\"$\",\"div\",null,{\"className\":\"rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2 cursor-pointer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-display scale-in text-text-tertiary\",\"children\":\"--\"}],[\"$\",\"div\",null,{\"className\":\"mt-1 text-caption text-text-secondary\",\"children\":\"Issues\"}]]}]}]]}],[\"$\",\"div\",null,{\"className\":\"mb-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center justify-center border border-dashed border-border-default bg-surface-1 px-sp-5 py-sp-8 text-center\",\"style\":{\"borderRadius\":\"var(--radius-sm)\"},\"children\":[[\"$\",\"svg\",null,{\"className\":\"mb-4 h-12 w-12 text-text-tertiary\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"strokeWidth\":1.5,\"children\":[\"$\",\"path\",null,{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m6.75 12H9.75m3 0H9.75m0 0v3m-3-6h1.5m-1.5 0v3m6-6h.008v.008H15V9.75Z\"}]}],[\"$\",\"h3\",null,{\"className\":\"mb-2 text-heading font-medium text-text-primary\",\"children\":\"Data not yet generated\"}],[\"$\",\"p\",null,{\"className\":\"mb-4 text-body text-text-secondary\",\"children\":\"Run the following command to generate this data:\"}],[\"$\",\"code\",null,{\"className\":\"border border-border-default bg-surface-0 px-sp-4 py-sp-2 font-mono text-body text-accent\",\"style\":{\"borderRadius\":\"var(--radius-sm)\"},\"children\":\"hex overview\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"grid gap-3 sm:grid-cols-2 lg:grid-cols-3 stagger\",\"children\":[[\"$\",\"$L6\",\"/stats\",{\"href\":\"/stats\",\"className\":\"group flex items-start gap-3 rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"shrink-0 text-text-tertiary group-hover:text-accent\",\"children\":[\"$\",\"svg\",null,{\"className\":\"h-5 w-5\",\"aria-hidden\":\"true\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"strokeWidth\":1.5,\"children\":[\"$\",\"path\",null,{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z\"}]}]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-heading font-medium text-text-primary group-hover:text-accent\",\"children\":\"Stats\"}],[\"$\",\"p\",null,{\"className\":\"mt-0.5 text-caption text-text-secondary\",\"children\":\"Contract metrics, nSLOC, coverage\"}]]}]]}],[\"$\",\"$L6\",\"/access\",{\"href\":\"/access\",\"className\":\"group flex items-start gap-3 rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"shrink-0 text-text-tertiary group-hover:text-accent\",\"children\":[\"$\",\"svg\",null,{\"className\":\"h-5 w-5\",\"aria-hidden\":\"true\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"strokeWidth\":1.5,\"children\":[\"$\",\"path\",null,{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z\"}]}]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-heading font-medium text-text-primary group-hover:text-accent\",\"children\":\"Access Control\"}],[\"$\",\"p\",null,{\"className\":\"mt-0.5 text-caption text-text-secondary\",\"children\":\"Roles, permissions, visibility\"}]]}]]}],[\"$\",\"$L6\",\"/calls\",{\"href\":\"/calls\",\"className\":\"group flex items-start gap-3 rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"shrink-0 text-text-tertiary group-hover:text-accent\",\"children\":[\"$\",\"svg\",null,{\"className\":\"h-5 w-5\",\"aria-hidden\":\"true\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"strokeWidth\":1.5,\"children\":[\"$\",\"path\",null,{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M7.5 21 3 16.5m0 0L7.5 12M3 16.5h13.5m0-13.5L21 7.5m0 0L16.5 12M21 7.5H7.5\"}]}]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-heading font-medium text-text-primary group-hover:text-accent\",\"children\":\"External Calls\"}],[\"$\",\"p\",null,{\"className\":\"mt-0.5 text-caption text-text-secondary\",\"children\":\"Cross-contract calls, trust levels\"}]]}]]}],[\"$\",\"$L6\",\"/issues\",{\"href\":\"/issues\",\"className\":\"group flex items-start gap-3 rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"shrink-0 text-text-tertiary group-hover:text-accent\",\"children\":[\"$\",\"svg\",null,{\"className\":\"h-5 w-5\",\"aria-hidden\":\"true\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"strokeWidth\":1.5,\"children\":[\"$\",\"path\",null,{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8.25 6.75h12M8.25 12h12m-12 5.25h12M3.75 6.75h.007v.008H3.75V6.75Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0ZM3.75 12h.007v.008H3.75V12Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm-.375 5.25h.007v.008H3.75v-.008Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z\"}]}]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-heading font-medium text-text-primary group-hover:text-accent\",\"children\":\"Issues\"}],[\"$\",\"p\",null,{\"className\":\"mt-0.5 text-caption text-text-secondary\",\"children\":\"Potential, verified, invalid, and duplicate issues\"}]]}]]}],[\"$\",\"$L6\",\"/diagram\",{\"href\":\"/diagram\",\"className\":\"group flex items-start gap-3 rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"shrink-0 text-text-tertiary group-hover:text-accent\",\"children\":[\"$\",\"svg\",null,{\"className\":\"h-5 w-5\",\"aria-hidden\":\"true\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"strokeWidth\":1.5,\"children\":[\"$\",\"path\",null,{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M7.5 3.75H6A2.25 2.25 0 0 0 3.75 6v1.5M16.5 3.75H18A2.25 2.25 0 0 1 20.25 6v1.5m0 9V18A2.25 2.25 0 0 1 18 20.25h-1.5m-9 0H6A2.25 2.25 0 0 1 3.75 18v-1.5M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"}]}]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-heading font-medium text-text-primary group-hover:text-accent\",\"children\":\"Diagram\"}],[\"$\",\"p\",null,{\"className\":\"mt-0.5 text-caption text-text-secondary\",\"children\":\"Contract architecture visualization\"}]]}]]}]]}]]}]],null],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_73ee6c __variable_3c557b min-h-screen bg-surface-0 text-text-primary font-sans\",\"children\":[\"$\",\"$L7\",null,{\"attribute\":\"data-theme\",\"defaultTheme\":\"dark\",\"enableSystem\":false,\"children\":[[\"$\",\"$L8\",null,{}],[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]]}]}]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$Lc\"],\"globalErrorComponent\":\"$d\",\"missingSlots\":\"$We\"}]]\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Hex\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Local dashboard for Solidity smart contract audits\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/icon.svg?83fa4bf1ef0d214d\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"meta\",\"5\",{\"name\":\"next-size-adjust\"}]]\n5:null\n"])</script></body></html>
@@ -0,0 +1,5 @@
1
+ {
2
+ "headers": {
3
+ "x-next-cache-tags": "_N_T_/layout,_N_T_/page,_N_T_/"
4
+ }
5
+ }
@@ -0,0 +1,9 @@
1
+ 2:I[7498,["7498","static/chunks/7498-ea83cb9e30ec5491.js","7397","static/chunks/7397-f6f4dddc7a20bfc1.js","1931","static/chunks/app/page-a0f25953d4457935.js"],""]
2
+ 3:I[4595,["7498","static/chunks/7498-ea83cb9e30ec5491.js","3185","static/chunks/app/layout-e7b50543ba216d12.js"],"ThemeProvider"]
3
+ 4:I[2198,["7498","static/chunks/7498-ea83cb9e30ec5491.js","3185","static/chunks/app/layout-e7b50543ba216d12.js"],"CommandPalette"]
4
+ 5:I[1187,["7498","static/chunks/7498-ea83cb9e30ec5491.js","3185","static/chunks/app/layout-e7b50543ba216d12.js"],"DashboardLayout"]
5
+ 6:I[5276,[],""]
6
+ 7:I[3297,[],""]
7
+ 0:["0IZAlhEwk5-v4myUvWKBd",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","div",null,{"children":[["$","div",null,{"className":"mb-6","children":[["$","h1",null,{"className":"text-title font-semibold text-text-primary","children":"Hex Dashboard"}],null]}],["$","div",null,{"className":"mb-6 grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-5 stagger","children":[["$","$L2",null,{"href":"/stats","children":["$","div",null,{"className":"rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2 cursor-pointer","children":[["$","div",null,{"className":"text-display scale-in text-text-tertiary","children":"--"}],["$","div",null,{"className":"mt-1 text-caption text-text-secondary","children":"Contracts"}]]}]}],["$","$L2",null,{"href":"/stats","children":["$","div",null,{"className":"rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2 cursor-pointer","children":[["$","div",null,{"className":"text-display scale-in text-text-tertiary","children":"--"}],["$","div",null,{"className":"mt-1 text-caption text-text-secondary","children":"nSLOC"}]]}]}],["$","$L2",null,{"href":"/functions","children":["$","div",null,{"className":"rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2 cursor-pointer","children":[["$","div",null,{"className":"text-display scale-in text-text-tertiary","children":"--"}],["$","div",null,{"className":"mt-1 text-caption text-text-secondary","children":"Functions"}]]}]}],["$","$L2",null,{"href":"/calls","children":["$","div",null,{"className":"rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2 cursor-pointer","children":[["$","div",null,{"className":"text-display scale-in text-text-tertiary","children":"--"}],["$","div",null,{"className":"mt-1 text-caption text-text-secondary","children":"Ext Calls"}]]}]}],["$","$L2",null,{"href":"/issues","children":["$","div",null,{"className":"rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2 cursor-pointer","children":[["$","div",null,{"className":"text-display scale-in text-text-tertiary","children":"--"}],["$","div",null,{"className":"mt-1 text-caption text-text-secondary","children":"Issues"}]]}]}]]}],["$","div",null,{"className":"mb-6","children":["$","div",null,{"className":"flex flex-col items-center justify-center border border-dashed border-border-default bg-surface-1 px-sp-5 py-sp-8 text-center","style":{"borderRadius":"var(--radius-sm)"},"children":[["$","svg",null,{"className":"mb-4 h-12 w-12 text-text-tertiary","fill":"none","viewBox":"0 0 24 24","stroke":"currentColor","strokeWidth":1.5,"children":["$","path",null,{"strokeLinecap":"round","strokeLinejoin":"round","d":"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m6.75 12H9.75m3 0H9.75m0 0v3m-3-6h1.5m-1.5 0v3m6-6h.008v.008H15V9.75Z"}]}],["$","h3",null,{"className":"mb-2 text-heading font-medium text-text-primary","children":"Data not yet generated"}],["$","p",null,{"className":"mb-4 text-body text-text-secondary","children":"Run the following command to generate this data:"}],["$","code",null,{"className":"border border-border-default bg-surface-0 px-sp-4 py-sp-2 font-mono text-body text-accent","style":{"borderRadius":"var(--radius-sm)"},"children":"hex overview"}]]}]}],["$","div",null,{"className":"grid gap-3 sm:grid-cols-2 lg:grid-cols-3 stagger","children":[["$","$L2","/stats",{"href":"/stats","className":"group flex items-start gap-3 rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2","children":[["$","div",null,{"className":"shrink-0 text-text-tertiary group-hover:text-accent","children":["$","svg",null,{"className":"h-5 w-5","aria-hidden":"true","fill":"none","viewBox":"0 0 24 24","stroke":"currentColor","strokeWidth":1.5,"children":["$","path",null,{"strokeLinecap":"round","strokeLinejoin":"round","d":"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z"}]}]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-heading font-medium text-text-primary group-hover:text-accent","children":"Stats"}],["$","p",null,{"className":"mt-0.5 text-caption text-text-secondary","children":"Contract metrics, nSLOC, coverage"}]]}]]}],["$","$L2","/access",{"href":"/access","className":"group flex items-start gap-3 rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2","children":[["$","div",null,{"className":"shrink-0 text-text-tertiary group-hover:text-accent","children":["$","svg",null,{"className":"h-5 w-5","aria-hidden":"true","fill":"none","viewBox":"0 0 24 24","stroke":"currentColor","strokeWidth":1.5,"children":["$","path",null,{"strokeLinecap":"round","strokeLinejoin":"round","d":"M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z"}]}]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-heading font-medium text-text-primary group-hover:text-accent","children":"Access Control"}],["$","p",null,{"className":"mt-0.5 text-caption text-text-secondary","children":"Roles, permissions, visibility"}]]}]]}],["$","$L2","/calls",{"href":"/calls","className":"group flex items-start gap-3 rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2","children":[["$","div",null,{"className":"shrink-0 text-text-tertiary group-hover:text-accent","children":["$","svg",null,{"className":"h-5 w-5","aria-hidden":"true","fill":"none","viewBox":"0 0 24 24","stroke":"currentColor","strokeWidth":1.5,"children":["$","path",null,{"strokeLinecap":"round","strokeLinejoin":"round","d":"M7.5 21 3 16.5m0 0L7.5 12M3 16.5h13.5m0-13.5L21 7.5m0 0L16.5 12M21 7.5H7.5"}]}]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-heading font-medium text-text-primary group-hover:text-accent","children":"External Calls"}],["$","p",null,{"className":"mt-0.5 text-caption text-text-secondary","children":"Cross-contract calls, trust levels"}]]}]]}],["$","$L2","/issues",{"href":"/issues","className":"group flex items-start gap-3 rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2","children":[["$","div",null,{"className":"shrink-0 text-text-tertiary group-hover:text-accent","children":["$","svg",null,{"className":"h-5 w-5","aria-hidden":"true","fill":"none","viewBox":"0 0 24 24","stroke":"currentColor","strokeWidth":1.5,"children":["$","path",null,{"strokeLinecap":"round","strokeLinejoin":"round","d":"M8.25 6.75h12M8.25 12h12m-12 5.25h12M3.75 6.75h.007v.008H3.75V6.75Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0ZM3.75 12h.007v.008H3.75V12Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm-.375 5.25h.007v.008H3.75v-.008Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z"}]}]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-heading font-medium text-text-primary group-hover:text-accent","children":"Issues"}],["$","p",null,{"className":"mt-0.5 text-caption text-text-secondary","children":"Potential, verified, invalid, and duplicate issues"}]]}]]}],["$","$L2","/diagram",{"href":"/diagram","className":"group flex items-start gap-3 rounded-lg border border-border-subtle bg-surface-1 p-4 hover:border-border-default hover:bg-surface-2","children":[["$","div",null,{"className":"shrink-0 text-text-tertiary group-hover:text-accent","children":["$","svg",null,{"className":"h-5 w-5","aria-hidden":"true","fill":"none","viewBox":"0 0 24 24","stroke":"currentColor","strokeWidth":1.5,"children":["$","path",null,{"strokeLinecap":"round","strokeLinejoin":"round","d":"M7.5 3.75H6A2.25 2.25 0 0 0 3.75 6v1.5M16.5 3.75H18A2.25 2.25 0 0 1 20.25 6v1.5m0 9V18A2.25 2.25 0 0 1 18 20.25h-1.5m-9 0H6A2.25 2.25 0 0 1 3.75 18v-1.5M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"}]}]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-heading font-medium text-text-primary group-hover:text-accent","children":"Diagram"}],["$","p",null,{"className":"mt-0.5 text-caption text-text-secondary","children":"Contract architecture visualization"}]]}]]}]]}]]}]],null],null]},[["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_73ee6c __variable_3c557b min-h-screen bg-surface-0 text-text-primary font-sans","children":["$","$L3",null,{"attribute":"data-theme","defaultTheme":"dark","enableSystem":false,"children":[["$","$L4",null,{}],["$","$L5",null,{"children":["$","$L6",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L7",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]]}]}]}],null],null],[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e6cb67f77f13ae8e.css","precedence":"next","crossOrigin":"$undefined"}]],[null,"$L8"]]]]]
8
+ 8:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Hex"}],["$","meta","3",{"name":"description","content":"Local dashboard for Solidity smart contract audits"}],["$","link","4",{"rel":"icon","href":"/icon.svg?83fa4bf1ef0d214d","type":"image/svg+xml","sizes":"any"}],["$","meta","5",{"name":"next-size-adjust"}]]
9
+ 1:null
@@ -0,0 +1 @@
1
+ (()=>{var e={};e.id=521,e.ids=[521],e.modules={7849:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external")},2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},5403:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},4749:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},7561:e=>{"use strict";e.exports=require("node:fs")},9411:e=>{"use strict";e.exports=require("node:path")},1017:e=>{"use strict";e.exports=require("path")},7310:e=>{"use strict";e.exports=require("url")},1834:(e,t,n)=>{"use strict";n.r(t),n.d(t,{GlobalError:()=>a.a,__next_app__:()=>f,originalPathname:()=>d,pages:()=>c,routeModule:()=>h,tree:()=>u}),n(9817),n(8116),n(2874);var r=n(7105),i=n(5265),l=n(157),a=n.n(l),o=n(4665),s={};for(let e in o)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(s[e]=()=>o[e]);n.d(t,s);let u=["",{children:["issues",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(n.bind(n,9817)),"/home/dx/Work/hex/dashboard/app/issues/page.tsx"]}]},{metadata:{icon:[async e=>(await Promise.resolve().then(n.bind(n,2950))).default(e)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(n.bind(n,8116)),"/home/dx/Work/hex/dashboard/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(n.t.bind(n,2874,23)),"next/dist/client/components/not-found-error"],metadata:{icon:[async e=>(await Promise.resolve().then(n.bind(n,2950))).default(e)],apple:[],openGraph:[],twitter:[],manifest:void 0}}],c=["/home/dx/Work/hex/dashboard/app/issues/page.tsx"],d="/issues/page",f={require:n,loadChunk:()=>Promise.resolve()},h=new r.AppPageRouteModule({definition:{kind:i.x.APP_PAGE,page:"/issues/page",pathname:"/issues",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:u}})},3365:(e,t,n)=>{Promise.resolve().then(n.bind(n,9978))},9978:(e,t,n)=>{"use strict";let r;n.d(t,{IssuesBoardClient:()=>e6});var i,l,a,o,s,u,c,d,f,h,p=n(9899),g=n(5507),m=n.n(g),x=n(5408);let v="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function b(e){let t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function y(e){return"nodeType"in e}function w(e){var t,n;return e?b(e)?e:y(e)&&null!=(t=null==(n=e.ownerDocument)?void 0:n.defaultView)?t:window:window}function j(e){let{Document:t}=w(e);return e instanceof t}function C(e){return!b(e)&&e instanceof w(e).HTMLElement}function _(e){return e instanceof w(e).SVGElement}function D(e){return e?b(e)?e.document:y(e)?j(e)?e:C(e)||_(e)?e.ownerDocument:document:document:document}let S=v?g.useLayoutEffect:g.useEffect;function E(e){let t=(0,g.useRef)(e);return S(()=>{t.current=e}),(0,g.useCallback)(function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return null==t.current?void 0:t.current(...n)},[])}function N(e,t){void 0===t&&(t=[e]);let n=(0,g.useRef)(e);return S(()=>{n.current!==e&&(n.current=e)},t),n}function k(e,t){let n=(0,g.useRef)();return(0,g.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function M(e){let t=E(e),n=(0,g.useRef)(null),r=(0,g.useCallback)(e=>{e!==n.current&&(null==t||t(e,n.current)),n.current=e},[]);return[n,r]}function R(e){let t=(0,g.useRef)();return(0,g.useEffect)(()=>{t.current=e},[e]),t.current}let O={};function T(e,t){return(0,g.useMemo)(()=>{if(t)return t;let n=null==O[e]?0:O[e]+1;return O[e]=n,e+"-"+n},[e,t])}function P(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return r.reduce((t,n)=>{for(let[r,i]of Object.entries(n)){let n=t[r];null!=n&&(t[r]=n+e*i)}return t},{...t})}}let L=P(1),A=P(-1);function I(e){if(!e)return!1;let{KeyboardEvent:t}=w(e.target);return t&&e instanceof t}function B(e){if(function(e){if(!e)return!1;let{TouchEvent:t}=w(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return"clientX"in e&&"clientY"in e?{x:e.clientX,y:e.clientY}:null}let z=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[z.Translate.toString(e),z.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),F="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]",H={display:"none"};function U(e){let{id:t,value:n}=e;return m().createElement("div",{id:t,style:H},n)}function W(e){let{id:t,announcement:n,ariaLiveType:r="assertive"}=e;return m().createElement("div",{id:t,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":r,"aria-atomic":!0},n)}let q=(0,g.createContext)(null),J={draggable:"\n To pick up a draggable item, press the space bar.\n While dragging, use the arrow keys to move the item.\n Press space again to drop the item in its new position, or press escape to cancel.\n "},$={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function K(e){let{announcements:t=$,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=J}=e,{announce:l,announcement:a}=function(){let[e,t]=(0,g.useState)("");return{announce:(0,g.useCallback)(e=>{null!=e&&t(e)},[]),announcement:e}}(),o=T("DndLiveRegion"),[s,u]=(0,g.useState)(!1);if((0,g.useEffect)(()=>{u(!0)},[]),function(e){let t=(0,g.useContext)(q);(0,g.useEffect)(()=>{if(!t)throw Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}((0,g.useMemo)(()=>({onDragStart(e){let{active:n}=e;l(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&l(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;l(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;l(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;l(t.onDragCancel({active:n,over:r}))}}),[l,t])),!s)return null;let c=m().createElement(m().Fragment,null,m().createElement(U,{id:r,value:i.draggable}),m().createElement(W,{id:o,announcement:a}));return n?(0,x.createPortal)(c,n):c}function X(){}!function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"}(i||(i={}));let V=Object.freeze({x:0,y:0});function Y(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}let G=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,l=n.get(r);if(l){let n=function(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),l=Math.min(t.top+t.height,e.top+e.height);if(r<i&&n<l){let a=t.width*t.height,o=e.width*e.height,s=(i-r)*(l-n);return Number((s/(a+o-s)).toFixed(4))}return 0}(l,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(Y)};function Z(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:V}let Q=function(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return r.reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}(1),ee={ignoreTransform:!1};function et(e,t){void 0===t&&(t=ee);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=w(e).getComputedStyle(e);t&&(n=function(e,t,n){let r=function(e){if(e.startsWith("matrix3d(")){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith("matrix(")){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}(t);if(!r)return e;let{scaleX:i,scaleY:l,x:a,y:o}=r,s=e.left-a-(1-i)*parseFloat(n),u=e.top-o-(1-l)*parseFloat(n.slice(n.indexOf(" ")+1)),c=i?e.width/i:e.width,d=l?e.height/l:e.height;return{width:c,height:d,top:u,right:s+c,bottom:u+d,left:s}}(n,t,r))}let{top:r,left:i,width:l,height:a,bottom:o,right:s}=n;return{top:r,left:i,width:l,height:a,bottom:o,right:s}}function en(e){return et(e,{ignoreTransform:!0})}function er(e,t){let n=[];return e?function r(i){var l;if(null!=t&&n.length>=t||!i)return n;if(j(i)&&null!=i.scrollingElement&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!C(i)||_(i)||n.includes(i))return n;let a=w(e).getComputedStyle(i);return(i!==e&&function(e,t){void 0===t&&(t=w(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(e=>{let r=t[e];return"string"==typeof r&&n.test(r)})}(i,a)&&n.push(i),void 0===(l=a)&&(l=w(i).getComputedStyle(i)),"fixed"===l.position)?n:r(i.parentNode)}(e):n}function ei(e){let[t]=er(e,1);return null!=t?t:null}function el(e){return v&&e?b(e)?e:y(e)?j(e)||e===D(e).scrollingElement?window:C(e)?e:null:null:null}function ea(e){return b(e)?e.scrollX:e.scrollLeft}function eo(e){return b(e)?e.scrollY:e.scrollTop}function es(e){return{x:ea(e),y:eo(e)}}function eu(e){return!!v&&!!e&&e===document.scrollingElement}function ec(e){let t={x:0,y:0},n=eu(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y;return{isTop:i,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}!function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"}(l||(l={}));let ed={x:.2,y:.2};function ef(e){return e.reduce((e,t)=>L(e,es(t)),V)}let eh=[["x",["left","right"],function(e){return e.reduce((e,t)=>e+ea(t),0)}],["y",["top","bottom"],function(e){return e.reduce((e,t)=>e+eo(t),0)}]];class ep{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=er(t),r=ef(n);for(let[t,i,l]of(this.rect={...e},this.width=e.width,this.height=e.height,eh))for(let e of i)Object.defineProperty(this,e,{get:()=>{let i=l(n),a=r[t]-i;return this.rect[e]+a},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class eg{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>{var t;return null==(t=this.target)?void 0:t.removeEventListener(...e)})},this.target=e}add(e,t,n){var r;null==(r=this.target)||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}}function em(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return"number"==typeof t?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t&&r>t.y}function ex(e){e.preventDefault()}function ev(e){e.stopPropagation()}(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(a||(a={})),function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"}(o||(o={}));let eb={start:[o.Space,o.Enter],cancel:[o.Esc],end:[o.Space,o.Enter,o.Tab]},ey=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case o.Right:return{...n,x:n.x+25};case o.Left:return{...n,x:n.x-25};case o.Down:return{...n,y:n.y+25};case o.Up:return{...n,y:n.y-25}}};class ew{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new eg(D(t)),this.windowListeners=new eg(w(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(a.Resize,this.handleCancel),this.windowListeners.add(a.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(a.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&function(e,t){if(void 0===t&&(t=et),!e)return;let{top:n,left:r,bottom:i,right:l}=t(e);ei(e)&&(i<=0||l<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}(n),t(V)}handleKeyDown(e){if(I(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=eb,coordinateGetter:l=ey,scrollBehavior:a="smooth"}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:u}=n.current,c=u?{x:u.left,y:u.top}:V;this.referenceCoordinates||(this.referenceCoordinates=c);let d=l(e,{active:t,context:n.current,currentCoordinates:c});if(d){let t=A(d,c),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:l,isRight:s,isLeft:u,isBottom:c,maxScroll:f,minScroll:h}=ec(n),p=function(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}(n),g={x:Math.min(i===o.Right?p.right-p.width/2:p.right,Math.max(i===o.Right?p.left:p.left+p.width/2,d.x)),y:Math.min(i===o.Down?p.bottom-p.height/2:p.bottom,Math.max(i===o.Down?p.top:p.top+p.height/2,d.y))},m=i===o.Right&&!s||i===o.Left&&!u,x=i===o.Down&&!c||i===o.Up&&!l;if(m&&g.x!==d.x){let e=n.scrollLeft+t.x,l=i===o.Right&&e<=f.x||i===o.Left&&e>=h.x;if(l&&!t.y){n.scrollTo({left:e,behavior:a});return}l?r.x=n.scrollLeft-e:r.x=i===o.Right?n.scrollLeft-f.x:n.scrollLeft-h.x,r.x&&n.scrollBy({left:-r.x,behavior:a});break}if(x&&g.y!==d.y){let e=n.scrollTop+t.y,l=i===o.Down&&e<=f.y||i===o.Up&&e>=h.y;if(l&&!t.x){n.scrollTo({top:e,behavior:a});return}l?r.y=n.scrollTop-e:r.y=i===o.Down?n.scrollTop-f.y:n.scrollTop-h.y,r.y&&n.scrollBy({top:-r.y,behavior:a});break}}this.handleMove(e,L(A(d,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function ej(e){return!!(e&&"distance"in e)}function eC(e){return!!(e&&"delay"in e)}ew.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=eb,onActivation:i}=t,{active:l}=n,{code:a}=e.nativeEvent;if(r.start.includes(a)){let t=l.activatorNode.current;return(!t||e.target===t)&&(e.preventDefault(),null==i||i({event:e.nativeEvent}),!0)}return!1}}];class e_{constructor(e,t,n){var r;void 0===n&&(n=function(e){let{EventTarget:t}=w(e);return e instanceof t?e:D(e)}(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:i}=e,{target:l}=i;this.props=e,this.events=t,this.document=D(l),this.documentListeners=new eg(this.document),this.listeners=new eg(n),this.windowListeners=new eg(w(l)),this.initialCoordinates=null!=(r=B(i))?r:V,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(a.Resize,this.handleCancel),this.windowListeners.add(a.DragStart,ex),this.windowListeners.add(a.VisibilityChange,this.handleCancel),this.windowListeners.add(a.ContextMenu,ex),this.documentListeners.add(a.Keydown,this.handleKeydown),t){if(null!=n&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(eC(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(ej(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(a.Click,ev,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(a.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){var t;let{activated:n,initialCoordinates:r,props:i}=this,{onMove:l,options:{activationConstraint:a}}=i;if(!r)return;let o=null!=(t=B(e))?t:V,s=A(r,o);if(!n&&a){if(ej(a)){if(null!=a.tolerance&&em(s,a.tolerance))return this.handleCancel();if(em(s,a.distance))return this.handleStart()}return eC(a)&&em(s,a.tolerance)?this.handleCancel():void this.handlePending(a,s)}e.cancelable&&e.preventDefault(),l(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===o.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}let eD={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class eS extends e_{constructor(e){let{event:t}=e;super(e,eD,D(t.target))}}eS.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!!n.isPrimary&&0===n.button&&(null==r||r({event:n}),!0)}}];let eE={move:{name:"mousemove"},end:{name:"mouseup"}};!function(e){e[e.RightClick=2]="RightClick"}(s||(s={}));class eN extends e_{constructor(e){super(e,eE,D(e.event.target))}}eN.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button!==s.RightClick&&(null==r||r({event:n}),!0)}}];let ek={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class eM extends e_{constructor(e){super(e,ek)}static setup(){return window.addEventListener(ek.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(ek.move.name,e)};function e(){}}}eM.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return!(i.length>1)&&(null==r||r({event:n}),!0)}}],function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"}(u||(u={})),function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"}(c||(c={}));let eR={x:{[l.Backward]:!1,[l.Forward]:!1},y:{[l.Backward]:!1,[l.Forward]:!1}};(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(d||(d={})),(f||(f={})).Optimized="optimized";let eO=new Map;function eT(e,t){return k(n=>e?n||("function"==typeof t?t(e):e):null,[t,e])}function eP(e){let{callback:t,disabled:n}=e,r=E(t),i=(0,g.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.ResizeObserver)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,g.useEffect)(()=>()=>null==i?void 0:i.disconnect(),[i]),i}function eL(e){return new ep(et(e),e)}function eA(e,t,n){void 0===t&&(t=eL);let[r,i]=(0,g.useState)(null);function l(){i(r=>{if(!e)return null;if(!1===e.isConnected){var i;return null!=(i=null!=r?r:n)?i:null}let l=t(e);return JSON.stringify(r)===JSON.stringify(l)?r:l})}let a=function(e){let{callback:t,disabled:n}=e,r=E(t),i=(0,g.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.MutationObserver)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,g.useEffect)(()=>()=>null==i?void 0:i.disconnect(),[i]),i}({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if("childList"===t&&r instanceof HTMLElement&&r.contains(e)){l();break}}}}),o=eP({callback:l});return S(()=>{l(),e?(null==o||o.observe(e),null==a||a.observe(document.body,{childList:!0,subtree:!0})):(null==o||o.disconnect(),null==a||a.disconnect())},[e]),r}let eI=[];function eB(e,t){void 0===t&&(t=[]);let n=(0,g.useRef)(null);return(0,g.useEffect)(()=>{n.current=null},t),(0,g.useEffect)(()=>{let t=e!==V;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?A(e,n.current):V}function ez(e){return(0,g.useMemo)(()=>e?function(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}(e):null,[e])}let eF=[],eH=[{sensor:eS,options:{}},{sensor:ew,options:{}}],eU={current:{}},eW={draggable:{measure:en},droppable:{measure:en,strategy:d.WhileDragging,frequency:f.Optimized},dragOverlay:{measure:et}};class eq extends Map{get(e){var t;return null!=e&&null!=(t=super.get(e))?t:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){var t,n;return null!=(t=null==(n=this.get(e))?void 0:n.node.current)?t:void 0}}let eJ={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new eq,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:X},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:eW,measureDroppableContainers:X,windowRect:null,measuringScheduled:!1},e$={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:X,draggableNodes:new Map,over:null,measureDroppableContainers:X},eK=(0,g.createContext)(e$),eX=(0,g.createContext)(eJ);function eV(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new eq}}}function eY(e,t){switch(t.type){case i.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case i.DragMove:if(null==e.draggable.active)return e;return{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case i.DragEnd:case i.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case i.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new eq(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case i.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,l=e.droppable.containers.get(n);if(!l||r!==l.key)return e;let a=new eq(e.droppable.containers);return a.set(n,{...l,disabled:i}),{...e,droppable:{...e.droppable,containers:a}}}case i.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let l=new eq(e.droppable.containers);return l.delete(n),{...e,droppable:{...e.droppable,containers:l}}}default:return e}}function eG(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,g.useContext)(eK),l=R(r),a=R(null==n?void 0:n.id);return(0,g.useEffect)(()=>{if(!t&&!r&&l&&null!=a){if(!I(l)||document.activeElement===l.target)return;let e=i.get(a);if(!e)return;let{activatorNode:t,node:n}=e;(t.current||n.current)&&requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=e.matches(F)?e:e.querySelector(F);if(t){t.focus();break}}})}},[r,t,i,a,l]),null}let eZ=(0,g.createContext)({...V,scaleX:1,scaleY:1});!function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"}(h||(h={}));let eQ=(0,g.memo)(function(e){var t,n,r,a,o,s;let{id:f,accessibility:p,autoScroll:b=!0,children:y,sensors:j=eH,collisionDetection:_=G,measuring:D,modifiers:E,...O}=e,[P,A]=(0,g.useReducer)(eY,void 0,eV),[I,z]=function(){let[e]=(0,g.useState)(()=>new Set),t=(0,g.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,g.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>{var t;return null==(t=e[n])?void 0:t.call(e,r)})},[e]),t]}(),[F,H]=(0,g.useState)(h.Uninitialized),U=F===h.Initialized,{draggable:{active:W,nodes:J,translate:$},droppable:{containers:X}}=P,Y=null!=W?J.get(W):null,ee=(0,g.useRef)({initial:null,translated:null}),en=(0,g.useMemo)(()=>{var e;return null!=W?{id:W,data:null!=(e=null==Y?void 0:Y.data)?e:eU,rect:ee}:null},[W,Y]),ea=(0,g.useRef)(null),[eo,eh]=(0,g.useState)(null),[eg,em]=(0,g.useState)(null),ex=N(O,Object.values(O)),ev=T("DndDescribedBy",f),eb=(0,g.useMemo)(()=>X.getEnabled(),[X]),ey=(0,g.useMemo)(()=>({draggable:{...eW.draggable,...null==D?void 0:D.draggable},droppable:{...eW.droppable,...null==D?void 0:D.droppable},dragOverlay:{...eW.dragOverlay,...null==D?void 0:D.dragOverlay}}),[null==D?void 0:D.draggable,null==D?void 0:D.droppable,null==D?void 0:D.dragOverlay]),{droppableRects:ew,measureDroppableContainers:ej,measuringScheduled:eC}=function(e,t){let{dragging:n,dependencies:r,config:i}=t,[l,a]=(0,g.useState)(null),{frequency:o,measure:s,strategy:u}=i,c=(0,g.useRef)(e),f=function(){switch(u){case d.Always:return!1;case d.BeforeDragging:return n;default:return!n}}(),h=N(f),p=(0,g.useCallback)(function(e){void 0===e&&(e=[]),h.current||a(t=>null===t?e:t.concat(e.filter(e=>!t.includes(e))))},[h]),m=(0,g.useRef)(null),x=k(t=>{if(f&&!n)return eO;if(!t||t===eO||c.current!==e||null!=l){let t=new Map;for(let n of e){if(!n)continue;if(l&&l.length>0&&!l.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new ep(s(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,l,n,f,s]);return(0,g.useEffect)(()=>{c.current=e},[e]),(0,g.useEffect)(()=>{f||p()},[n,f]),(0,g.useEffect)(()=>{l&&l.length>0&&a(null)},[JSON.stringify(l)]),(0,g.useEffect)(()=>{f||"number"!=typeof o||null!==m.current||(m.current=setTimeout(()=>{p(),m.current=null},o))},[o,f,p,...r]),{droppableRects:x,measureDroppableContainers:p,measuringScheduled:null!=l}}(eb,{dragging:U,dependencies:[$.x,$.y],config:ey.droppable}),e_=function(e,t){let n=null!=t?e.get(t):void 0,r=n?n.node.current:null;return k(e=>{var n;return null==t?null:null!=(n=null!=r?r:e)?n:null},[r,t])}(J,W),eD=(0,g.useMemo)(()=>eg?B(eg):null,[eg]),eS=function(){let e=(null==eo?void 0:eo.autoScrollEnabled)===!1,t="object"==typeof b?!1===b.enabled:!1===b,n=U&&!e&&!t;return"object"==typeof b?{...b,enabled:n}:{enabled:n}}(),eE=eT(e_,ey.draggable.measure);!function(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,l=(0,g.useRef)(!1),{x:a,y:o}="boolean"==typeof i?{x:i,y:i}:i;S(()=>{if(!a&&!o||!t){l.current=!1;return}if(l.current||!r)return;let e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;let i=Z(n(e),r);if(a||(i.x=0),o||(i.y=0),l.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=ei(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,a,o,r,n])}({activeNode:null!=W?J.get(W):null,config:eS.layoutShiftCompensation,initialRect:eE,measure:ey.draggable.measure});let eN=eA(e_,ey.draggable.measure,eE),ek=eA(e_?e_.parentElement:null),eM=(0,g.useRef)({activatorEvent:null,active:null,activeNode:e_,collisionRect:null,collisions:null,droppableRects:ew,draggableNodes:J,draggingNode:null,draggingNodeRect:null,droppableContainers:X,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),eL=X.getNodeFor(null==(t=eM.current.over)?void 0:t.id),eq=function(e){let{measure:t}=e,[n,r]=(0,g.useState)(null),i=eP({callback:(0,g.useCallback)(e=>{for(let{target:n}of e)if(C(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[l,a]=M((0,g.useCallback)(e=>{let n=function(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return C(t)?t:e}(e);null==i||i.disconnect(),n&&(null==i||i.observe(n)),r(n?t(n):null)},[t,i]));return(0,g.useMemo)(()=>({nodeRef:l,rect:n,setRef:a}),[n,l,a])}({measure:ey.dragOverlay.measure}),eJ=null!=(n=eq.nodeRef.current)?n:e_,e$=U?null!=(r=eq.rect)?r:eN:null,eQ=!!(eq.nodeRef.current&&eq.rect),e0=function(e){let t=eT(e);return Z(e,t)}(eQ?null:eN),e1=ez(eJ?w(eJ):null),e5=function(e){let t=(0,g.useRef)(e),n=k(n=>e?n&&n!==eI&&e&&t.current&&e.parentNode===t.current.parentNode?n:er(e):eI,[e]);return(0,g.useEffect)(()=>{t.current=e},[e]),n}(U?null!=eL?eL:e_:null),e2=function(e,t){void 0===t&&(t=et);let[n]=e,r=ez(n?w(n):null),[i,l]=(0,g.useState)(eF);function a(){l(()=>e.length?e.map(e=>eu(e)?r:new ep(t(e),e)):eF)}let o=eP({callback:a});return S(()=>{null==o||o.disconnect(),a(),e.forEach(e=>null==o?void 0:o.observe(e))},[e]),i}(e5),e3=function(e,t){let{transform:n,...r}=t;return null!=e&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}(E,{transform:{x:$.x-e0.x,y:$.y-e0.y,scaleX:1,scaleY:1},activatorEvent:eg,active:en,activeNodeRect:eN,containerNodeRect:ek,draggingNodeRect:e$,over:eM.current.over,overlayNodeRect:eq.rect,scrollableAncestors:e5,scrollableAncestorRects:e2,windowRect:e1}),e4=eD?L(eD,$):null,e7=function(e){let[t,n]=(0,g.useState)(null),r=(0,g.useRef)(e),i=(0,g.useCallback)(e=>{let t=el(e.target);t&&n(e=>e?(e.set(t,es(t)),new Map(e)):null)},[]);return(0,g.useEffect)(()=>{let t=r.current;if(e!==t){l(t);let a=e.map(e=>{let t=el(e);return t?(t.addEventListener("scroll",i,{passive:!0}),[t,es(t)]):null}).filter(e=>null!=e);n(a.length?new Map(a):null),r.current=e}return()=>{l(e),l(t)};function l(e){e.forEach(e=>{let t=el(e);null==t||t.removeEventListener("scroll",i)})}},[i,e]),(0,g.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>L(e,t),V):ef(e):V,[e,t])}(e5),e8=eB(e7),e9=eB(e7,[eN]),e6=L(e3,e8),te=e$?Q(e$,e3):null,tt=en&&te?_({active:en,collisionRect:te,droppableRects:ew,droppableContainers:eb,pointerCoordinates:e4}):null,tn=function(e,t){if(!e||0===e.length)return null;let[n]=e;return n.id}(tt,0),[tr,ti]=(0,g.useState)(null),tl=(o=eQ?e3:L(e3,e9),s=null!=(a=null==tr?void 0:tr.rect)?a:null,{...o,scaleX:s&&eN?s.width/eN.width:1,scaleY:s&&eN?s.height/eN.height:1}),ta=(0,g.useRef)(null),to=(0,g.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(null==ea.current)return;let l=J.get(ea.current);if(!l)return;let a=e.nativeEvent,o=new n({active:ea.current,activeNode:l,event:a,options:r,context:eM,onAbort(e){if(!J.get(e))return;let{onDragAbort:t}=ex.current,n={id:e};null==t||t(n),I({type:"onDragAbort",event:n})},onPending(e,t,n,r){if(!J.get(e))return;let{onDragPending:i}=ex.current,l={id:e,constraint:t,initialCoordinates:n,offset:r};null==i||i(l),I({type:"onDragPending",event:l})},onStart(e){let t=ea.current;if(null==t)return;let n=J.get(t);if(!n)return;let{onDragStart:r}=ex.current,l={activatorEvent:a,active:{id:t,data:n.data,rect:ee}};(0,x.unstable_batchedUpdates)(()=>{null==r||r(l),H(h.Initializing),A({type:i.DragStart,initialCoordinates:e,active:t}),I({type:"onDragStart",event:l}),eh(ta.current),em(a)})},onMove(e){A({type:i.DragMove,coordinates:e})},onEnd:s(i.DragEnd),onCancel:s(i.DragCancel)});function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:l}=eM.current,o=null;if(t&&l){let{cancelDrop:s}=ex.current;o={activatorEvent:a,active:t,collisions:n,delta:l,over:r},e===i.DragEnd&&"function"==typeof s&&await Promise.resolve(s(o))&&(e=i.DragCancel)}ea.current=null,(0,x.unstable_batchedUpdates)(()=>{A({type:e}),H(h.Uninitialized),ti(null),eh(null),em(null),ta.current=null;let t=e===i.DragEnd?"onDragEnd":"onDragCancel";if(o){let e=ex.current[t];null==e||e(o),I({type:t,event:o})}})}}ta.current=o},[J]),ts=(0,g.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,l=J.get(r);null!==ea.current||!l||i.dndKit||i.defaultPrevented||!0!==e(n,t.options,{active:l})||(i.dndKit={capturedBy:t.sensor},ea.current=r,to(n,t))},[J,to]),tu=(0,g.useMemo)(()=>j.reduce((e,t)=>{let{sensor:n}=t;return[...e,...n.activators.map(e=>({eventName:e.eventName,handler:ts(e.handler,t)}))]},[]),[j,ts]);(0,g.useEffect)(()=>{if(!v)return;let e=j.map(e=>{let{sensor:t}=e;return null==t.setup?void 0:t.setup()});return()=>{for(let t of e)null==t||t()}},j.map(e=>{let{sensor:t}=e;return t})),S(()=>{eN&&F===h.Initializing&&H(h.Initialized)},[eN,F]),(0,g.useEffect)(()=>{let{onDragMove:e}=ex.current,{active:t,activatorEvent:n,collisions:r,over:i}=eM.current;if(!t||!n)return;let l={active:t,activatorEvent:n,collisions:r,delta:{x:e6.x,y:e6.y},over:i};(0,x.unstable_batchedUpdates)(()=>{null==e||e(l),I({type:"onDragMove",event:l})})},[e6.x,e6.y]),(0,g.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=eM.current;if(!e||null==ea.current||!t||!i)return;let{onDragOver:l}=ex.current,a=r.get(tn),o=a&&a.rect.current?{id:a.id,rect:a.rect.current,data:a.data,disabled:a.disabled}:null,s={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:o};(0,x.unstable_batchedUpdates)(()=>{ti(o),null==l||l(s),I({type:"onDragOver",event:s})})},[tn]),S(()=>{eM.current={activatorEvent:eg,active:en,activeNode:e_,collisionRect:te,collisions:tt,droppableRects:ew,draggableNodes:J,draggingNode:eJ,draggingNodeRect:e$,droppableContainers:X,over:tr,scrollableAncestors:e5,scrollAdjustedTranslate:e6},ee.current={initial:e$,translated:te}},[en,e_,tt,te,J,eJ,e$,ew,X,tr,e5,e6]),function(e){let{acceleration:t,activator:n=u.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=c.TreeOrder,pointerCoordinates:d,scrollableAncestors:f,scrollableAncestorRects:h,delta:p,threshold:m}=e,x=function(e){let{delta:t,disabled:n}=e,r=R(t);return k(e=>{if(n||!r||!e)return eR;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[l.Backward]:e.x[l.Backward]||-1===i.x,[l.Forward]:e.x[l.Forward]||1===i.x},y:{[l.Backward]:e.y[l.Backward]||-1===i.y,[l.Forward]:e.y[l.Forward]||1===i.y}}},[n,t,r])}({delta:p,disabled:!a}),[v,b]=function(){let e=(0,g.useRef)(null);return[(0,g.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,g.useCallback)(()=>{null!==e.current&&(clearInterval(e.current),e.current=null)},[])]}(),y=(0,g.useRef)({x:0,y:0}),w=(0,g.useRef)({x:0,y:0}),j=(0,g.useMemo)(()=>{switch(n){case u.Pointer:return d?{top:d.y,bottom:d.y,left:d.x,right:d.x}:null;case u.DraggableRect:return i}},[n,i,d]),C=(0,g.useRef)(null),_=(0,g.useCallback)(()=>{let e=C.current;if(!e)return;let t=y.current.x*w.current.x,n=y.current.y*w.current.y;e.scrollBy(t,n)},[]),D=(0,g.useMemo)(()=>s===c.TreeOrder?[...f].reverse():f,[s,f]);(0,g.useEffect)(()=>{if(!a||!f.length||!j){b();return}for(let e of D){if((null==r?void 0:r(e))===!1)continue;let n=h[f.indexOf(e)];if(!n)continue;let{direction:i,speed:a}=function(e,t,n,r,i){let{top:a,left:o,right:s,bottom:u}=n;void 0===r&&(r=10),void 0===i&&(i=ed);let{isTop:c,isBottom:d,isLeft:f,isRight:h}=ec(e),p={x:0,y:0},g={x:0,y:0},m={height:t.height*i.y,width:t.width*i.x};return!c&&a<=t.top+m.height?(p.y=l.Backward,g.y=r*Math.abs((t.top+m.height-a)/m.height)):!d&&u>=t.bottom-m.height&&(p.y=l.Forward,g.y=r*Math.abs((t.bottom-m.height-u)/m.height)),!h&&s>=t.right-m.width?(p.x=l.Forward,g.x=r*Math.abs((t.right-m.width-s)/m.width)):!f&&o<=t.left+m.width&&(p.x=l.Backward,g.x=r*Math.abs((t.left+m.width-o)/m.width)),{direction:p,speed:g}}(e,n,j,t,m);for(let e of["x","y"])x[e][i[e]]||(a[e]=0,i[e]=0);if(a.x>0||a.y>0){b(),C.current=e,v(_,o),y.current=a,w.current=i;return}}y.current={x:0,y:0},w.current={x:0,y:0},b()},[t,_,r,b,a,o,JSON.stringify(j),JSON.stringify(x),v,f,D,h,JSON.stringify(m)])}({...eS,delta:$,draggingRect:te,pointerCoordinates:e4,scrollableAncestors:e5,scrollableAncestorRects:e2});let tc=(0,g.useMemo)(()=>({active:en,activeNode:e_,activeNodeRect:eN,activatorEvent:eg,collisions:tt,containerNodeRect:ek,dragOverlay:eq,draggableNodes:J,droppableContainers:X,droppableRects:ew,over:tr,measureDroppableContainers:ej,scrollableAncestors:e5,scrollableAncestorRects:e2,measuringConfiguration:ey,measuringScheduled:eC,windowRect:e1}),[en,e_,eN,eg,tt,ek,eq,J,X,ew,tr,ej,e5,e2,ey,eC,e1]),td=(0,g.useMemo)(()=>({activatorEvent:eg,activators:tu,active:en,activeNodeRect:eN,ariaDescribedById:{draggable:ev},dispatch:A,draggableNodes:J,over:tr,measureDroppableContainers:ej}),[eg,tu,en,eN,A,ev,J,tr,ej]);return m().createElement(q.Provider,{value:z},m().createElement(eK.Provider,{value:td},m().createElement(eX.Provider,{value:tc},m().createElement(eZ.Provider,{value:tl},y)),m().createElement(eG,{disabled:(null==p?void 0:p.restoreFocus)===!1})),m().createElement(K,{...p,hiddenTextDescribedById:ev}))}),e0=(0,g.createContext)(null),e1="button",e5={timeout:25};r={styles:{active:{opacity:"0"}}},e=>{let{active:t,dragOverlay:n}=e,i={},{styles:l,className:a}=r;if(null!=l&&l.active)for(let[e,n]of Object.entries(l.active))void 0!==n&&(i[e]=t.node.style.getPropertyValue(e),t.node.style.setProperty(e,n));if(null!=l&&l.dragOverlay)for(let[e,t]of Object.entries(l.dragOverlay))void 0!==t&&n.node.style.setProperty(e,t);return null!=a&&a.active&&t.node.classList.add(a.active),null!=a&&a.dragOverlay&&n.node.classList.add(a.dragOverlay),function(){for(let[e,n]of Object.entries(i))t.node.style.setProperty(e,n);null!=a&&a.active&&t.node.classList.remove(a.active)}};let e2={Critical:"bg-[var(--critical)]/18 text-[var(--critical)]",High:"bg-[var(--high)]/18 text-[var(--high)]",Medium:"bg-[var(--medium)]/18 text-[var(--medium)]",Low:"bg-[var(--low)]/18 text-[var(--low)]",Info:"bg-[var(--info)]/18 text-[var(--info)]"};function e3({severity:e}){let t=e2[e]??e2.Info;return p.jsx("span",{className:`inline-flex items-center rounded-md px-2 py-0.5 text-caption font-medium ${t}`,children:e})}let e4=[{id:"potential",label:"Potential",description:"Awaiting validation"},{id:"verified",label:"Verified",description:"Confirmed issues ready to report"},{id:"invalid",label:"Invalid",description:"Rejected after review"},{id:"duplicate",label:"Duplicate",description:"Covered by another entry"}],e7={Critical:0,High:1,Medium:2,Low:3,Info:4},e8=["Critical","High","Medium","Low","Info"],e9=["Fixed","Mitigated","Acknowledged","Not Fixed","Unresolved"];function e6({issues:e}){var t;let[n,r]=(0,g.useState)(e),[i,l]=(0,g.useState)(null),[a,o]=(0,g.useState)("all"),s=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,g.useMemo)(()=>[...t].filter(e=>null!=e),[...t])}((t={activationConstraint:{distance:4}},(0,g.useMemo)(()=>({sensor:eS,options:null!=t?t:{}}),[eS,t]))),u=(0,g.useMemo)(()=>"all"===a?n:n.filter(e=>e.source===a),[n,a]),c=(0,g.useMemo)(()=>{let e={potential:[],verified:[],invalid:[],duplicate:[]};for(let t of u)e[t.column].push(t);for(let t of Object.values(e))t.sort((e,t)=>(e7[e.severity]??5)-(e7[t.severity]??5)||e.id.localeCompare(t.id));return e},[u]),d=(0,g.useMemo)(()=>{let e={potential:0,verified:0,invalid:0,duplicate:0};for(let t of n)e[t.column]++;return e},[n]),f=(0,g.useCallback)(async(t,n)=>{r(e=>e.map(e=>e.id===t?{...e,column:n,status:function(e){switch(e){case"potential":return"pending_validation";case"verified":return"verified";case"invalid":return"rejected";case"duplicate":return"duplicate"}}(n),duplicate_of:"duplicate"===n?e.duplicate_of:null}:e));try{let e=await fetch(`/api/issues/${encodeURIComponent(t)}/move`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({column:n})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??"move failed")}}catch(n){console.error(n),r(n=>n.map(n=>n.id===t?e.find(e=>e.id===t)??n:n))}},[e]),h=(0,g.useCallback)(async(e,t)=>{r(n=>n.map(n=>n.id===e?{...n,...t}:n));try{let n=await fetch(`/api/issues/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??"update failed")}}catch(e){console.error(e)}},[]),m=n.find(e=>e.id===i)??null;return(0,p.jsxs)("div",{children:[(0,p.jsxs)("header",{className:"mb-6 flex flex-wrap items-end justify-between gap-3",children:[(0,p.jsxs)("div",{children:[p.jsx("h1",{className:"text-title font-semibold text-text-primary",children:"Issues"}),(0,p.jsxs)("p",{className:"mt-1 text-body text-text-secondary",children:[n.length," total — ",d.potential," potential, ",d.verified," verified,"," ",d.invalid," invalid, ",d.duplicate," duplicate. Drag a card to change column; click to edit."]})]}),p.jsx(te,{value:a,onChange:o})]}),p.jsx(eQ,{sensors:s,onDragEnd:e=>{let{active:t,over:r}=e;if(!r)return;let i=r.id,l=t.id,a=n.find(e=>e.id===l);a&&a.column!==i&&f(l,i)},children:p.jsx("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2 xl:grid-cols-4",children:e4.map(e=>p.jsx(tt,{column:e,issues:c[e.id],onOpen:l},e.id))})}),m&&p.jsx(ti,{issue:m,onClose:()=>l(null),onSave:e=>h(m.id,e)})]})}function te({value:e,onChange:t}){return p.jsx("div",{className:"flex flex-wrap gap-1.5",children:[{id:"all",label:"All sources"},{id:"manual",label:"Manual"},{id:"auditagent",label:"AuditAgent"},{id:"conformance",label:"Conformance"},{id:"github",label:"GitHub"}].map(n=>{let r=e===n.id;return p.jsx("button",{type:"button",onClick:()=>t(n.id),className:`rounded-md px-2.5 py-1 text-caption font-medium ${r?"bg-accent text-surface-0":"bg-surface-2 text-text-secondary hover:text-text-primary"}`,children:n.label},n.id)})})}function tt({column:e,issues:t,onOpen:n}){let{isOver:r,setNodeRef:l}=function(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:l}=e,a=T("Droppable"),{active:o,dispatch:s,over:u,measureDroppableContainers:c}=(0,g.useContext)(eK),d=(0,g.useRef)({disabled:n}),f=(0,g.useRef)(!1),h=(0,g.useRef)(null),p=(0,g.useRef)(null),{disabled:m,updateMeasurementsFor:x,timeout:v}={...e5,...l},b=N(null!=x?x:r),y=eP({callback:(0,g.useCallback)(()=>{if(!f.current){f.current=!0;return}null!=p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{c(Array.isArray(b.current)?b.current:[b.current]),p.current=null},v)},[v]),disabled:m||!o}),[w,j]=M((0,g.useCallback)((e,t)=>{y&&(t&&(y.unobserve(t),f.current=!1),e&&y.observe(e))},[y])),C=N(t);return(0,g.useEffect)(()=>{y&&w.current&&(y.disconnect(),f.current=!1,y.observe(w.current))},[w,y]),(0,g.useEffect)(()=>(s({type:i.RegisterDroppable,element:{id:r,key:a,disabled:n,node:w,rect:h,data:C}}),()=>s({type:i.UnregisterDroppable,key:a,id:r})),[r]),(0,g.useEffect)(()=>{n!==d.current.disabled&&(s({type:i.SetDroppableDisabled,id:r,key:a,disabled:n}),d.current.disabled=n)},[r,a,n,s]),{active:o,rect:h,isOver:(null==u?void 0:u.id)===r,node:w,over:u,setNodeRef:j}}({id:e.id});return(0,p.jsxs)("section",{ref:l,"aria-label":e.label,className:`flex flex-col gap-2 rounded-lg border bg-surface-1 p-3 transition-colors ${r?"border-accent bg-surface-2":"border-border-subtle"}`,children:[(0,p.jsxs)("header",{className:"flex items-baseline justify-between",children:[p.jsx("h2",{className:"text-heading font-medium text-text-primary",children:e.label}),p.jsx("span",{className:"text-caption text-text-tertiary",children:t.length})]}),p.jsx("p",{className:"text-caption text-text-tertiary",children:e.description}),(0,p.jsxs)("div",{className:"mt-1 flex flex-col gap-2",children:[t.map(e=>p.jsx(tn,{issue:e,onOpen:n},e.id)),0===t.length&&p.jsx("div",{className:"rounded-md border border-dashed border-border-subtle py-6 text-center text-caption text-text-tertiary",children:"Empty"})]})]})}function tn({issue:e,onOpen:t}){let{attributes:n,listeners:r,setNodeRef:i,isDragging:l,transform:a}=function(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,l=T("Draggable"),{activators:a,activatorEvent:o,active:s,activeNodeRect:u,ariaDescribedById:c,draggableNodes:d,over:f}=(0,g.useContext)(eK),{role:h=e1,roleDescription:p="draggable",tabIndex:m=0}=null!=i?i:{},x=(null==s?void 0:s.id)===t,v=(0,g.useContext)(x?eZ:e0),[b,y]=M(),[w,j]=M(),C=(0,g.useMemo)(()=>a.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[a,t]),_=N(n);return S(()=>(d.set(t,{id:t,key:l,node:b,activatorNode:w,data:_}),()=>{let e=d.get(t);e&&e.key===l&&d.delete(t)}),[d,t]),{active:s,activatorEvent:o,activeNodeRect:u,attributes:(0,g.useMemo)(()=>({role:h,tabIndex:m,"aria-disabled":r,"aria-pressed":!!x&&h===e1||void 0,"aria-roledescription":p,"aria-describedby":c.draggable}),[r,h,m,x,p,c.draggable]),isDragging:x,listeners:r?void 0:C,node:b,over:f,setNodeRef:y,setActivatorNodeRef:j,transform:v}}({id:e.id}),o=a?{transform:`translate3d(${a.x}px, ${a.y}px, 0)`,zIndex:30}:{};return(0,p.jsxs)("article",{ref:i,style:o,...n,...r,onClick:n=>{a||(n.stopPropagation(),t(e.id))},className:`group cursor-grab rounded-md border bg-surface-0 p-3 text-left active:cursor-grabbing ${l?"border-accent shadow-lg":"border-border-subtle hover:border-border-default"}`,children:[(0,p.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[p.jsx("span",{className:"font-mono text-caption text-text-tertiary",children:e.id}),p.jsx(e3,{severity:e.severity})]}),p.jsx("h3",{className:"mt-1 text-body font-medium text-text-primary line-clamp-2",children:e.title}),(0,p.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5 text-caption",children:[p.jsx(tr,{source:e.source}),e.github_synced&&(0,p.jsxs)("a",{href:e.github_issue_url,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"rounded-md bg-surface-2 px-1.5 py-0.5 text-text-secondary hover:bg-surface-3 hover:text-text-primary",children:["GH ","closed"===e.github_state?"✕":"✓"]}),e.duplicate_of&&(0,p.jsxs)("span",{className:"rounded-md bg-surface-2 px-1.5 py-0.5 text-text-secondary",children:["dup of ",e.duplicate_of]}),"passing"===e.poc_status&&p.jsx("span",{className:"rounded-md bg-[var(--low)]/15 px-1.5 py-0.5 text-[var(--low)]",children:"PoC ✓"}),"failing"===e.poc_status&&p.jsx("span",{className:"rounded-md bg-[var(--critical)]/15 px-1.5 py-0.5 text-[var(--critical)]",children:"PoC ✕"}),e.resolution&&p.jsx("span",{className:"rounded-md bg-surface-2 px-1.5 py-0.5 text-text-secondary",children:e.resolution})]}),e.match_signals&&p.jsx("div",{className:"mt-2 text-caption text-text-tertiary",children:p.jsx("span",{className:"font-mono",children:[e.match_signals.contract?"contract":null,e.match_signals.function?"function":null,"different"!==e.match_signals.root_cause?`rc:${e.match_signals.root_cause}`:null,"different"!==e.match_signals.attack_vector?`av:${e.match_signals.attack_vector}`:null].filter(Boolean).join(" \xb7 ")})})]})}function tr({source:e}){return p.jsx("span",{className:"rounded-md bg-surface-2 px-1.5 py-0.5 text-text-tertiary",children:{manual:"Manual",auditagent:"AuditAgent",conformance:"Conformance",github:"GitHub"}[e]??e})}function ti({issue:e,onClose:t,onSave:n}){let[r,i]=(0,g.useState)(e.title),[l,a]=(0,g.useState)(e.severity),[o,s]=(0,g.useState)(e.description),[u,c]=(0,g.useState)(e.recommendation),[d,f]=(0,g.useState)(e.resolution??""),[h,m]=(0,g.useState)(e.update_from_client??""),[x,v]=(0,g.useState)(!1),b=(0,g.useRef)(null),y=async()=>{v(!0),await n({title:r,severity:l,description:o,recommendation:u,resolution:d||void 0,update_from_client:h||void 0}),v(!1),t()};return p.jsx("div",{ref:b,tabIndex:-1,className:"fixed inset-0 z-50 flex items-center justify-center p-4 outline-none",style:{background:"var(--overlay-bg)"},onClick:t,onKeyDown:e=>{"Escape"===e.key&&t()},children:(0,p.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":`Edit issue ${e.id}`,className:"relative flex max-h-[90vh] w-full max-w-2xl flex-col overflow-hidden border border-border-emphasis bg-surface-1 shadow-2xl",style:{borderRadius:"var(--radius-md)",boxShadow:"var(--shadow-accent)"},onClick:e=>e.stopPropagation(),children:[(0,p.jsxs)("div",{className:"flex items-center justify-between border-b border-border-default bg-surface-2 px-4 py-3",children:[(0,p.jsxs)("div",{className:"flex items-center gap-2",children:[p.jsx("span",{className:"font-mono text-body text-text-tertiary",children:e.id}),p.jsx(tr,{source:e.source}),e.github_synced&&e.github_issue_url&&p.jsx("a",{href:e.github_issue_url,target:"_blank",rel:"noopener noreferrer",className:"rounded-md bg-surface-3 px-1.5 py-0.5 text-caption text-text-secondary hover:text-text-primary",children:"GitHub issue"})]}),p.jsx("button",{type:"button",onClick:t,"aria-label":"Close",className:"rounded p-1 text-text-tertiary hover:bg-surface-3 hover:text-text-primary",children:p.jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]}),(0,p.jsxs)("div",{className:"flex-1 overflow-y-auto p-4",children:[p.jsx(tl,{label:"Title",children:p.jsx("input",{type:"text",value:r,onChange:e=>i(e.target.value),className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 text-body text-text-primary focus:border-accent focus:outline-none"})}),(0,p.jsxs)("div",{className:"mt-3 grid grid-cols-2 gap-3",children:[p.jsx(tl,{label:"Severity",children:p.jsx("select",{value:l,onChange:e=>a(e.target.value),className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 text-body text-text-primary focus:border-accent focus:outline-none",children:e8.map(e=>p.jsx("option",{value:e,children:e},e))})}),p.jsx(tl,{label:"Resolution (verified only)",children:(0,p.jsxs)("select",{value:d,onChange:e=>f(e.target.value),className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 text-body text-text-primary focus:border-accent focus:outline-none",children:[p.jsx("option",{value:"",children:"— none —"}),e9.map(e=>p.jsx("option",{value:e,children:e},e))]})})]}),p.jsx(tl,{label:"Description",className:"mt-3",children:p.jsx("textarea",{value:o,onChange:e=>s(e.target.value),rows:8,className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 font-mono text-caption text-text-primary focus:border-accent focus:outline-none"})}),p.jsx(tl,{label:"Recommendation",className:"mt-3",children:p.jsx("textarea",{value:u,onChange:e=>c(e.target.value),rows:4,className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 font-mono text-caption text-text-primary focus:border-accent focus:outline-none"})}),p.jsx(tl,{label:"Update from the client",className:"mt-3",children:p.jsx("textarea",{value:h,onChange:e=>m(e.target.value),rows:4,placeholder:"How the client responded — used by /generate-overleaf.",className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 font-mono text-caption text-text-primary focus:border-accent focus:outline-none"})}),e.code_locations.length>0&&(0,p.jsxs)("div",{className:"mt-4",children:[p.jsx("div",{className:"mb-1 text-caption font-medium text-text-tertiary",children:"Code locations"}),p.jsx("ul",{className:"space-y-1 font-mono text-caption text-text-secondary",children:e.code_locations.map((e,t)=>p.jsx("li",{children:e.file},`${e.file}-${t}`))})]}),e.match_signals&&(0,p.jsxs)("div",{className:"mt-4",children:[p.jsx("div",{className:"mb-1 text-caption font-medium text-text-tertiary",children:"Duplicate signals"}),p.jsx("p",{className:"text-caption text-text-secondary",children:e.reasoning??"Matched against another entry."}),(0,p.jsxs)("div",{className:"mt-1 flex flex-wrap gap-1.5 font-mono text-caption text-text-tertiary",children:[(0,p.jsxs)("span",{children:["contract: ",e.match_signals.contract?"✓":"—"]}),(0,p.jsxs)("span",{children:["function: ",e.match_signals.function?"✓":"—"]}),(0,p.jsxs)("span",{children:["root_cause: ",e.match_signals.root_cause]}),(0,p.jsxs)("span",{children:["attack_vector: ",e.match_signals.attack_vector]})]})]})]}),(0,p.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-border-default bg-surface-2 px-4 py-3",children:[p.jsx("button",{type:"button",onClick:t,className:"rounded-md px-3 py-1.5 text-body text-text-secondary hover:text-text-primary",children:"Cancel"}),p.jsx("button",{type:"button",onClick:y,disabled:x,className:"rounded-md bg-accent px-3 py-1.5 text-body font-medium text-surface-0 hover:bg-accent-secondary disabled:opacity-50",children:x?"Saving…":"Save"})]})]})})}function tl({label:e,className:t,children:n}){return(0,p.jsxs)("label",{className:`block ${t??""}`,children:[p.jsx("span",{className:"mb-1 block text-caption font-medium text-text-tertiary",children:e}),n]})}},9817:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>d});var r=n(5023),i=n(1760),l=n(446),a=n(2772);let o=(0,a.createProxy)(String.raw`/home/dx/Work/hex/dashboard/app/issues/IssuesBoardClient.tsx`),{__esModule:s,$$typeof:u}=o;o.default;let c=(0,a.createProxy)(String.raw`/home/dx/Work/hex/dashboard/app/issues/IssuesBoardClient.tsx#IssuesBoardClient`);function d(){let e=function(){let e=(0,i.gn)("findings.json")??{findings:[]},t=(0,i.gn)("tracking.json")??{findings:[]},n=(0,i.gn)("comparison.json")??{duplicates:[]},r=(0,i.gn)("spec-conformance.json")??{items:[]},l=new Map(e.findings.map(e=>[e.id,e])),a=new Map((r.items??[]).map(e=>[e.id,e])),o=(0,i.J1)("ai-results"),s=new Map;for(let e of o){let t=(0,i.V9)(`ai-results/${e}/findings.json`);if(t)for(let n of t.findings??[])s.set(n.id,{...n,tool:t.tool??e})}for(let e of(0,i.J1)("external")){let t=(0,i.V9)(`external/${e}/findings.json`);if(t)for(let n of t.findings??[])s.set(n.id,{...n,tool:t.tool??e})}let u=new Map;for(let e of n.duplicates??[])u.set(e.ai_finding,e);let c=[];for(let e of t.findings){let t=l.get(e.id),n=s.get(e.id),r=a.get(e.id),i=t?.description??n?.description??r?.finding??"",o=t?.recommendation??"",d=t?.resolution,f=t?.update_from_client,h=[];if(t?.root_cause?.locations)for(let e of t.root_cause.locations)h.push({file:e.file,snippet:e.snippet});else if(n?.affected_code)for(let e of n.affected_code)h.push({file:e.file,snippet:e.snippet});else r?.code_location?.file&&h.push({file:r.code_location.file});let p=u.get(e.id),g=p?.match_signals?{contract:!!p.match_signals.contract,function:!!p.match_signals.function,root_cause:String(p.match_signals.root_cause??""),attack_vector:String(p.match_signals.attack_vector??"")}:void 0;c.push({id:e.id,title:e.title||t?.title||n?.title||r?.spec_text||e.id,severity:e.severity,source:e.source??"manual",status:e.status??"pending_validation",column:function(e){switch(e){case"verified":return"verified";case"rejected":return"invalid";case"duplicate":return"duplicate";default:return"potential"}}(e.status),description:i,recommendation:o,resolution:d,update_from_client:f,code_locations:h,github_synced:!!t?.github?.issue_number,github_issue_url:t?.github?.issue_url,github_state:t?.github?.state,duplicate_of:e.duplicate_of??p?.matches??null,match_signals:g,reasoning:p?.reasoning,has_finding_record:!!t,category:t?.category??n?.category,poc_status:e.poc_status,poc_file:e.poc_file??t?.poc?.file??null,notes:e.notes??""})}let d=new Set(c.map(e=>e.id));for(let t of e.findings)d.has(t.id)||c.push({id:t.id,title:t.title,severity:t.severity,source:"manual",status:"verified",column:"verified",description:t.description??"",recommendation:t.recommendation??"",resolution:t.resolution,update_from_client:t.update_from_client,code_locations:t.root_cause?.locations??[],github_synced:!!t.github?.issue_number,github_issue_url:t.github?.issue_url,github_state:t.github?.state,duplicate_of:null,match_signals:void 0,reasoning:void 0,has_finding_record:!0,category:t.category,poc_status:t.poc?.status,poc_file:t.poc?.file??null,notes:""});return c}();return 0===e.length?(0,r.jsxs)("div",{children:[(0,r.jsxs)("header",{className:"mb-6",children:[r.jsx("h1",{className:"text-title font-semibold text-text-primary",children:"Issues"}),r.jsx("p",{className:"mt-1 text-body text-text-secondary",children:"Potential, Verified, Invalid, and Duplicate issues across all sources."})]}),r.jsx(l.v,{command:"/init-audit (then /write-finding or /ingest-aa-report)"})]}):r.jsx(c,{issues:e})}},446:(e,t,n)=>{"use strict";n.d(t,{v:()=>i});var r=n(5023);function i({command:e}){return(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center border border-dashed border-border-default bg-surface-1 px-sp-5 py-sp-8 text-center",style:{borderRadius:"var(--radius-sm)"},children:[r.jsx("svg",{className:"mb-4 h-12 w-12 text-text-tertiary",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m6.75 12H9.75m3 0H9.75m0 0v3m-3-6h1.5m-1.5 0v3m6-6h.008v.008H15V9.75Z"})}),r.jsx("h3",{className:"mb-2 text-heading font-medium text-text-primary",children:"Data not yet generated"}),r.jsx("p",{className:"mb-4 text-body text-text-secondary",children:"Run the following command to generate this data:"}),r.jsx("code",{className:"border border-border-default bg-surface-0 px-sp-4 py-sp-2 font-mono text-body text-accent",style:{borderRadius:"var(--radius-sm)"},children:e})]})}},1760:(e,t,n)=>{"use strict";n.d(t,{J1:()=>h,V9:()=>p,ZN:()=>f,au:()=>c,gn:()=>s,ki:()=>d,ws:()=>u});var r=n(7561),i=n.n(r),l=n(9411),a=n.n(l);function o(){let e=process.env.HEX_PROJECT_DIR??process.env.SOLAUDIT_PROJECT_DIR??process.cwd();try{let t=a().join(e,".hex","config.json");if(i().existsSync(t))return a().join(e,".hex");let n=a().join(e,".solaudit","config.json");if(i().existsSync(n))return a().join(e,".solaudit")}catch{}return a().join(e,".hex")}function s(e){try{let t=a().join(o(),e),n=i().readFileSync(t,"utf-8");return JSON.parse(n)}catch{return null}}function u(e){try{let t=a().join(o(),e);return i().readFileSync(t,"utf-8")}catch{return null}}function c(e,t){let n=a().join(o(),e);i().writeFileSync(n,JSON.stringify(t,null,2),"utf-8")}function d(e){try{let t=a().join(o(),e);return i().existsSync(t)}catch{return!1}}function f(){return o()}function h(e){try{let t=a().join(o(),e);if(!i().existsSync(t))return[];return i().readdirSync(t,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name)}catch{return[]}}function p(e){try{let t=a().join(o(),e),n=i().readFileSync(t,"utf-8");return JSON.parse(n)}catch{return null}}},2950:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>i});var r=n(1645);let i=e=>[{type:"image/svg+xml",sizes:"any",url:(0,r.fillMetadataSegment)(".",e.params,"icon.svg")+"?83fa4bf1ef0d214d"}]}};var t=require("../../webpack-runtime.js");t.C(e);var n=e=>t(t.s=e),r=t.X(0,[916,649,645,431],()=>n(1834));module.exports=r})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../package.json","../../chunks/431.js","../../chunks/645.js","../../chunks/649.js","../../chunks/916.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}