@preventive/triage 1.0.0-alpha.5 → 1.0.0-alpha.51

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 (368) hide show
  1. package/LICENSE-APACHE +202 -0
  2. package/README.md +16 -0
  3. package/api/reap.ts +17 -0
  4. package/cli.js +6 -0
  5. package/client/dependency-paths.d.ts +3 -0
  6. package/client/dependency-paths.js +36 -0
  7. package/client/finding-link.js +305 -0
  8. package/client/linked-findings.d.ts +1 -0
  9. package/client/linked-findings.js +115 -0
  10. package/common/bundle-commit.d.ts +1 -0
  11. package/common/bundle-commit.js +4 -0
  12. package/common/bundle-compare-diff.d.ts +3 -0
  13. package/common/bundle-compare-diff.js +357 -0
  14. package/common/bundle-compare-inputs.d.ts +2 -0
  15. package/common/bundle-compare-inputs.js +65 -0
  16. package/common/bundle-compare-versions.js +172 -0
  17. package/common/bundle-comparison.d.ts +8 -0
  18. package/common/bundle-comparison.js +62 -0
  19. package/common/bundle-metadata.d.ts +15 -0
  20. package/common/bundle-metadata.js +226 -0
  21. package/common/bundle-pkg-of.d.ts +1 -0
  22. package/common/bundle-pkg-of.js +90 -0
  23. package/common/bundle-reasons.d.ts +2 -0
  24. package/common/bundle-reasons.js +21 -0
  25. package/common/bundle-source-links.d.ts +6 -0
  26. package/common/bundle-source-links.js +216 -0
  27. package/common/bundle-sourcemap.d.ts +10 -0
  28. package/common/bundle-sourcemap.js +100 -0
  29. package/common/bundle-sources.d.ts +7 -0
  30. package/common/bundle-sources.js +333 -0
  31. package/common/bundle-stats.js +41 -0
  32. package/common/bundle-tabs.js +1 -0
  33. package/common/code-language.js +65 -0
  34. package/common/default-scan-models.ts +31 -0
  35. package/common/dependency-reviews.d.ts +18 -0
  36. package/common/dependency-reviews.js +64 -0
  37. package/common/finding-duplicates.js +58 -0
  38. package/common/finding-filters.js +274 -0
  39. package/common/finding-id.js +47 -0
  40. package/common/github-issue-labels.d.ts +1 -0
  41. package/common/github-issue-labels.js +11 -0
  42. package/common/github-pr.ts +56 -0
  43. package/common/gzip.js +59 -0
  44. package/common/line-diff.d.ts +8 -0
  45. package/common/line-diff.js +57 -0
  46. package/common/linked-workspace-groups.js +63 -0
  47. package/common/managed/agent-tasks.ts +292 -0
  48. package/common/managed/comments.ts +34 -0
  49. package/common/managed/finding-detail.d.ts +3 -0
  50. package/common/managed/finding-detail.js +66 -0
  51. package/common/managed/github-agents.ts +114 -0
  52. package/common/managed/github-logins.ts +49 -0
  53. package/common/managed/npm-packages.d.ts +7 -0
  54. package/common/managed/npm-packages.js +51 -0
  55. package/common/managed/permissions.ts +31 -0
  56. package/common/managed/report-content.ts +72 -0
  57. package/common/managed/report-filter.ts +109 -0
  58. package/common/managed/repository-alias.ts +65 -0
  59. package/common/managed/roles.ts +35 -0
  60. package/common/managed/routes.d.ts +2 -0
  61. package/common/managed/routes.js +359 -0
  62. package/common/managed/scan-models.ts +6 -0
  63. package/common/managed/team-app.d.ts +6 -0
  64. package/common/managed/team-app.js +47 -0
  65. package/common/managed/triage.ts +83 -0
  66. package/common/managed/upload-seal.ts +126 -0
  67. package/common/pretty-print.d.ts +5 -0
  68. package/common/pretty-print.js +24 -0
  69. package/common/revalidation-conflicts.js +48 -0
  70. package/common/revalidation-input-groups.js +56 -0
  71. package/common/save-error-reason.ts +20 -7
  72. package/common/scan-server.ts +13 -0
  73. package/common/security-links.d.ts +5 -0
  74. package/common/security-links.js +33 -0
  75. package/common/server-info.ts +46 -0
  76. package/common/utf8.d.ts +3 -0
  77. package/common/utf8.js +45 -0
  78. package/common/workspace-app.js +39 -0
  79. package/common/workspace-groups.js +176 -0
  80. package/out/activity.js +4 -0
  81. package/out/brotli-fallback.js +3 -3
  82. package/out/chunk-2K6UN3PC.js +3 -0
  83. package/out/chunk-2XUEZHIP.js +28 -0
  84. package/out/chunk-2ZDZWLFY.js +1 -0
  85. package/out/chunk-4HI2MSAV.js +17 -0
  86. package/out/chunk-6LNQTKAV.js +52 -0
  87. package/out/chunk-7BKKYVWR.js +7 -0
  88. package/out/chunk-7C7DWL7I.js +1 -0
  89. package/out/chunk-7JBSSRD7.js +3 -0
  90. package/out/chunk-7VAWINQF.js +6 -0
  91. package/out/chunk-C4Z6ZBXV.js +10 -0
  92. package/out/chunk-FMXWXDR4.js +36 -0
  93. package/out/chunk-GDPCLSOS.js +2 -0
  94. package/out/chunk-GO7FT4OD.js +1 -0
  95. package/out/chunk-HT2SSA3V.js +1 -0
  96. package/out/chunk-IPAH4LKF.js +232 -0
  97. package/out/chunk-IYPY47MC.js +1 -0
  98. package/out/chunk-IZ7POWI3.js +18 -0
  99. package/out/chunk-JCIIBLKR.js +1 -0
  100. package/out/chunk-KOGNQDSJ.js +1 -0
  101. package/out/chunk-NRPC74AM.js +1 -0
  102. package/out/chunk-OOJM4CTU.js +1 -0
  103. package/out/chunk-PBZPYIG7.js +1 -0
  104. package/out/chunk-PNHBZGDD.js +1 -0
  105. package/out/chunk-PWFUOLZK.js +17 -0
  106. package/out/chunk-PXK7EU4V.js +1 -0
  107. package/out/chunk-QB4CBOX2.js +1 -0
  108. package/out/chunk-R3NZFXVR.js +1 -0
  109. package/out/chunk-R5O6FAW4.js +2 -0
  110. package/out/chunk-SXV2T5C4.js +80 -0
  111. package/out/chunk-TQJDYHVE.js +2 -0
  112. package/out/chunk-TUII34K2.js +1 -0
  113. package/out/chunk-VDRXHIHN.js +3 -0
  114. package/out/chunk-VFWMQ3LG.js +2 -0
  115. package/out/chunk-VH4XMZIW.js +2 -0
  116. package/out/chunk-WCPJDAYA.js +10 -0
  117. package/out/chunk-WFYLMF6Z.js +10 -0
  118. package/out/chunk-WRAJVD35.js +1 -0
  119. package/out/chunk-WYLQWYLA.js +1 -0
  120. package/out/client-managed-import.js +4 -0
  121. package/out/client-managed.js +33 -0
  122. package/out/client-sync.js +11 -17
  123. package/out/compare.js +35 -0
  124. package/out/dialogs.js +55 -0
  125. package/out/github-issue-authorized.html +3 -0
  126. package/out/github-issue-authorized.js +1 -0
  127. package/out/graph.js +17 -4
  128. package/out/index.html +90 -8
  129. package/out/prism.js +14 -10
  130. package/out/scan.js +2 -0
  131. package/out/stasis.svg +20 -0
  132. package/out/terminal.js +366 -39
  133. package/out/view.css +1 -1
  134. package/out/view.js +19 -144
  135. package/package.json +364 -59
  136. package/risk/actions/findings.js +161 -0
  137. package/risk/actions/resolve.js +219 -0
  138. package/risk/actions/scripts/commands.js +182 -0
  139. package/risk/actions/scripts/grade.js +113 -0
  140. package/risk/actions/scripts/packages.js +123 -0
  141. package/risk/actions/scripts/shell.js +169 -0
  142. package/risk/actions/uses.js +76 -0
  143. package/risk/actions/workflow.js +110 -0
  144. package/risk/files/characters.js +196 -0
  145. package/risk/files/hosts.js +205 -0
  146. package/risk/files/readability.js +177 -0
  147. package/risk/files/runs-code.js +615 -0
  148. package/risk/files/script.js +118 -0
  149. package/risk/files/stamps.js +47 -0
  150. package/risk/index.d.ts +254 -0
  151. package/risk/index.js +11 -0
  152. package/risk/npm/assess.js +285 -0
  153. package/risk/npm/combined.js +68 -0
  154. package/risk/npm/compare.js +257 -0
  155. package/risk/npm/dependencies.js +172 -0
  156. package/risk/npm/diff.js +79 -0
  157. package/risk/npm/downloads.js +84 -0
  158. package/risk/npm/files.js +445 -0
  159. package/risk/npm/held.js +63 -0
  160. package/risk/npm/install-scripts.js +34 -0
  161. package/risk/npm/malware.js +36 -0
  162. package/risk/npm/manifest.js +65 -0
  163. package/risk/npm/new-dependency.js +60 -0
  164. package/risk/npm/old-version.js +108 -0
  165. package/risk/npm/registry.js +388 -0
  166. package/risk/npm/release.js +85 -0
  167. package/risk/npm/score.js +59 -0
  168. package/risk/npm/specs.js +124 -0
  169. package/risk/npm/tarball.js +96 -0
  170. package/server-common/database-config.ts +16 -0
  171. package/server-common/initialize.ts +18 -0
  172. package/server-common/npm-advisories.ts +101 -0
  173. package/{server → server-common}/origin.ts +5 -5
  174. package/server-common/reap.ts +48 -0
  175. package/server-common/scan-config.ts +19 -0
  176. package/server-common/standalone.ts +29 -0
  177. package/server-common/storage-crypto.ts +182 -0
  178. package/server-common/storage-log.ts +38 -0
  179. package/server-common/vercel-blob.ts +103 -0
  180. package/server-e2e/app.ts +487 -0
  181. package/{server → server-e2e}/bus-receiver.ts +2 -1
  182. package/{server → server-e2e}/cli.js +9 -4
  183. package/{server → server-e2e}/config.ts +50 -42
  184. package/{server → server-e2e}/db-neon.ts +2 -2
  185. package/{server → server-e2e}/db-revision-sql.ts +1 -1
  186. package/{server → server-e2e}/db-stmt.ts +2 -2
  187. package/{server → server-e2e}/db.ts +7 -7
  188. package/{server → server-e2e}/http.ts +44 -13
  189. package/{server → server-e2e}/hub.ts +40 -9
  190. package/server-e2e/index.ts +17 -0
  191. package/server-e2e/lifecycle.ts +95 -0
  192. package/{server → server-e2e}/neon-driver.ts +2 -2
  193. package/{server → server-e2e}/npm-proxy.ts +12 -145
  194. package/{server → server-e2e}/objstore/blob-vercel.ts +10 -114
  195. package/{server → server-e2e}/objstore/blob.ts +1 -1
  196. package/server-e2e/objstore/fetch-mint-guard.ts +74 -0
  197. package/{server → server-e2e}/objstore/handlers.ts +9 -8
  198. package/{server → server-e2e}/objstore/init.ts +19 -27
  199. package/{server → server-e2e}/objstore/reaper.ts +1 -1
  200. package/server-e2e/objstore/rest-deny.ts +28 -0
  201. package/server-e2e/objstore/rest-mint.ts +224 -0
  202. package/{server → server-e2e}/objstore/rest.ts +3 -3
  203. package/{server → server-e2e}/objstore/store-neon.ts +6 -10
  204. package/{server → server-e2e}/objstore/store.ts +7 -7
  205. package/{server → server-e2e}/objstore/tokens.ts +2 -2
  206. package/{server → server-e2e}/pubsub.ts +12 -9
  207. package/{server → server-e2e}/sign.ts +4 -4
  208. package/{server → server-e2e}/sse-server.ts +60 -33
  209. package/{server → server-e2e}/static.ts +31 -21
  210. package/{server → server-e2e}/sync-handlers.ts +64 -30
  211. package/{server → server-e2e}/ws-server.ts +20 -9
  212. package/server-managed/activity.ts +258 -0
  213. package/server-managed/agent-merges.ts +109 -0
  214. package/server-managed/app-agents.ts +23 -0
  215. package/server-managed/avatar-store.ts +13 -0
  216. package/server-managed/blob-store.ts +17 -0
  217. package/server-managed/brotli.ts +10 -0
  218. package/server-managed/bundle-advisories.ts +120 -0
  219. package/server-managed/bundle-advisory-inventory.ts +77 -0
  220. package/server-managed/bundle-build-diagnostics.d.ts +10 -0
  221. package/server-managed/bundle-build-diagnostics.js +23 -0
  222. package/server-managed/bundle-build-leases.ts +41 -0
  223. package/server-managed/bundle-build-worker.js +115 -0
  224. package/server-managed/bundle-build.ts +200 -0
  225. package/server-managed/bundle-cache.ts +211 -0
  226. package/server-managed/bundle-catalog.ts +29 -0
  227. package/server-managed/bundle-commits.ts +140 -0
  228. package/server-managed/bundle-store.ts +24 -0
  229. package/server-managed/bundle-summary-cache.ts +130 -0
  230. package/server-managed/bundle.ts +119 -0
  231. package/server-managed/cache-storage.ts +20 -0
  232. package/server-managed/cli.js +21 -0
  233. package/server-managed/combined.ts +47 -0
  234. package/server-managed/comments.ts +151 -0
  235. package/server-managed/commit-coauthors.ts +106 -0
  236. package/server-managed/commit-lockfiles.ts +76 -0
  237. package/server-managed/comparison.ts +52 -0
  238. package/server-managed/config.ts +164 -0
  239. package/server-managed/content-access.ts +15 -0
  240. package/server-managed/crypto.ts +25 -0
  241. package/server-managed/db-methods.ts +1923 -0
  242. package/server-managed/db-neon.ts +468 -0
  243. package/server-managed/db-schema.ts +238 -0
  244. package/server-managed/db-table-names.ts +22 -0
  245. package/server-managed/db.ts +143 -0
  246. package/server-managed/dependabot-access.ts +60 -0
  247. package/server-managed/dependabot-alerts.ts +185 -0
  248. package/server-managed/dependency-review-comments.ts +98 -0
  249. package/server-managed/dependency-reviews.ts +364 -0
  250. package/server-managed/github-accounts.ts +60 -0
  251. package/server-managed/github-actions.ts +71 -0
  252. package/server-managed/github-app.ts +376 -0
  253. package/server-managed/github-errors.ts +70 -0
  254. package/server-managed/github-graphql.ts +39 -0
  255. package/server-managed/github-issue-links.ts +140 -0
  256. package/server-managed/github-issue-oauth.ts +47 -0
  257. package/server-managed/github-issues.ts +152 -0
  258. package/server-managed/github-link-oauth.ts +69 -0
  259. package/server-managed/github-links.ts +204 -0
  260. package/server-managed/github-metadata.ts +213 -0
  261. package/server-managed/github-oauth.ts +238 -0
  262. package/server-managed/github-pulls.ts +227 -0
  263. package/server-managed/github-requests.ts +136 -0
  264. package/server-managed/github-users.ts +30 -0
  265. package/server-managed/http-response.ts +76 -0
  266. package/server-managed/http.ts +5503 -0
  267. package/server-managed/import-triage.ts +51 -0
  268. package/server-managed/index.ts +192 -0
  269. package/server-managed/kept-briefly.ts +37 -0
  270. package/server-managed/kept.ts +28 -0
  271. package/server-managed/link-reports.ts +162 -0
  272. package/server-managed/listed-activity.ts +39 -0
  273. package/server-managed/locked-packages.ts +152 -0
  274. package/server-managed/lockfile-scope.ts +49 -0
  275. package/server-managed/lru.ts +30 -0
  276. package/server-managed/managed-issues.ts +78 -0
  277. package/server-managed/management-catalog.ts +45 -0
  278. package/server-managed/management.ts +99 -0
  279. package/server-managed/npm-delta-worker.js +23 -0
  280. package/server-managed/npm-delta.ts +194 -0
  281. package/server-managed/npm-insights.ts +449 -0
  282. package/server-managed/npm-kept.ts +225 -0
  283. package/server-managed/npm-loads.ts +264 -0
  284. package/server-managed/npm-manifest.ts +115 -0
  285. package/server-managed/npm-packages.ts +454 -0
  286. package/server-managed/npm-patch.ts +325 -0
  287. package/server-managed/npm-provenance.ts +123 -0
  288. package/server-managed/npm-risk.ts +285 -0
  289. package/server-managed/object-storage-disk.ts +148 -0
  290. package/server-managed/object-storage-vercel.ts +67 -0
  291. package/server-managed/object-storage.ts +75 -0
  292. package/server-managed/package-entry-points.ts +51 -0
  293. package/server-managed/pretty-print.ts +434 -0
  294. package/server-managed/public-workspace.ts +238 -0
  295. package/server-managed/pull-comment-reviews.ts +161 -0
  296. package/server-managed/pull-dependencies.ts +351 -0
  297. package/server-managed/pull-dependency-reviews.ts +334 -0
  298. package/server-managed/pull-reviews.ts +205 -0
  299. package/server-managed/queue.ts +39 -0
  300. package/server-managed/release-commits.ts +84 -0
  301. package/server-managed/rename-diff-worker.js +26 -0
  302. package/server-managed/rename-diff.ts +279 -0
  303. package/server-managed/repo-path.ts +21 -0
  304. package/server-managed/report-migration.ts +35 -0
  305. package/server-managed/report-query.ts +10 -0
  306. package/server-managed/report-response.ts +16 -0
  307. package/server-managed/report-sources.ts +178 -0
  308. package/server-managed/report-store.ts +85 -0
  309. package/server-managed/repository-actions.ts +218 -0
  310. package/server-managed/repository-agents.ts +448 -0
  311. package/server-managed/repository-aliases.ts +91 -0
  312. package/server-managed/repository-browser.ts +294 -0
  313. package/server-managed/repository-changes.ts +284 -0
  314. package/server-managed/repository-code.ts +215 -0
  315. package/server-managed/repository-dependency-reviews.ts +166 -0
  316. package/server-managed/repository-discovery.ts +82 -0
  317. package/server-managed/repository-history.ts +432 -0
  318. package/server-managed/repository-issues.ts +195 -0
  319. package/server-managed/repository-policy.ts +27 -0
  320. package/server-managed/repository-pulls.ts +212 -0
  321. package/server-managed/repository-pulse.ts +460 -0
  322. package/server-managed/repository-risk-assess.ts +105 -0
  323. package/server-managed/repository-risk-audit.ts +79 -0
  324. package/server-managed/repository-risk-read.ts +170 -0
  325. package/server-managed/repository-risk.ts +491 -0
  326. package/server-managed/repository-squashes.ts +168 -0
  327. package/server-managed/request-timing.ts +63 -0
  328. package/server-managed/reviewed-dependencies.ts +149 -0
  329. package/server-managed/revisions.ts +35 -0
  330. package/server-managed/scan-downloads.ts +87 -0
  331. package/server-managed/session.ts +132 -0
  332. package/server-managed/slugs.ts +38 -0
  333. package/server-managed/solidity-entry-points.ts +71 -0
  334. package/server-managed/sql-postgres.ts +34 -0
  335. package/server-managed/sql.ts +88 -0
  336. package/server-managed/static.ts +28 -0
  337. package/server-managed/storage-command.ts +16 -0
  338. package/server-managed/storage-db.ts +183 -0
  339. package/server-managed/storage-encryption.ts +290 -0
  340. package/server-managed/storage-maintenance.ts +259 -0
  341. package/server-managed/storage-payload.ts +121 -0
  342. package/server-managed/storage-stores.ts +91 -0
  343. package/server-managed/storage.ts +82 -0
  344. package/server-managed/team-app.ts +134 -0
  345. package/server-managed/team-catalog.ts +7 -0
  346. package/server-managed/team-feed.ts +180 -0
  347. package/server-managed/team-npm-scopes.ts +106 -0
  348. package/server-managed/team-reports.ts +319 -0
  349. package/server-managed/triage-response.ts +16 -0
  350. package/server-managed/type-only-worker.js +19 -0
  351. package/server-managed/type-only.ts +105 -0
  352. package/server-managed/uploads.ts +106 -0
  353. package/server-managed/upstream-cache.ts +243 -0
  354. package/server-managed/view-as.ts +58 -0
  355. package/server-managed/workspace-shares.ts +169 -0
  356. package/server.ts +70 -0
  357. package/server/index.ts +0 -480
  358. package/server/lifecycle.ts +0 -208
  359. /package/{LICENSE → LICENSE-MIT} +0 -0
  360. /package/{server → server-e2e}/auth.ts +0 -0
  361. /package/{server → server-e2e}/config.example.json +0 -0
  362. /package/{server → server-e2e}/objstore/blob-fs.ts +0 -0
  363. /package/{server → server-e2e}/objstore/fs.ts +0 -0
  364. /package/{server → server-e2e}/objstore/sign.ts +0 -0
  365. /package/{server → server-e2e}/peer.ts +0 -0
  366. /package/{server → server-e2e}/sse-session.ts +0 -0
  367. /package/{server → server-e2e}/util.ts +0 -0
  368. /package/{server → server-e2e}/validation.ts +0 -0
@@ -0,0 +1 @@
1
+ function e(e,{packageDir:t=null}={}){if(t){if(t!==`.`){let e=t.match(/(?:^|\/)node_modules\/(@[^/]+\/[^/]+|[^/]+)$/u);return e&&e[1]!==`.pnpm`?e[1]:t}}else{let t=/\.sol$/iu.test(e)?/(?:^|\/)(?:node_modules\/(@[^/]+\/[^/]+|[^/]+)|dependencies\/(@[^/]+\/[^/]+|[^/]+)\/)/gu:/(?:^|\/)node_modules\/(@[^/]+\/[^/]+|[^/]+)/gu,n;for(;(n=t.exec(e))!==null;){let e=n[1]??n[2];if(e!==`.pnpm`)return e}}return`__own__`}function t(t,n=null){return e(t,{packageDir:n})===`__own__`||!!n&&!/(?:^|\/)(?:node_modules|dependencies|vendor)(?:\/|$)/u.test(n)}function n(e,n=null){let r=[],i=[];for(let a of e)(t(a,n?.get(a))?r:i).push(a);return[...r,...i]}function r(e){return e===`__own__`?`Own source`:typeof e==`string`?e.match(/^(?:.*\/)?vendor\/(.+)$/u)?.[1]??e:e}function i(e){return typeof e==`string`&&/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/u.test(e)?e:null}export{i as a,e as b,t as c,n as d,r as e};
@@ -0,0 +1,18 @@
1
+ import{a as e,b as t,d as n,e as r}from"./chunk-2ZDZWLFY.js";import"./chunk-PXK7EU4V.js";import{a as i,b as a,c as o,d as s,e as c,f as l,g as u,h as d,i as f,j as p,k as m,l as h,m as g,n as _,o as v,p as y,q as b,r as x,s as ee}from"./chunk-VH4XMZIW.js";import"./chunk-OOJM4CTU.js";var te=Object.freeze(Object.create(null));function S(e){return e===void 0?`nothing`:e===null?`null`:Array.isArray(e)?`a sequence`:typeof e==`object`?`a mapping`:typeof e==`string`?`the string ${u(e)}`:`the ${typeof e} ${String(e)}`}function ne(e,t,n,r,i){let a=(t,n,r)=>new s(`expected ${t}, found ${e(n)}`,r),o=(e,t)=>(n,r)=>{if(!e(n))throw a(t,n,r);return n},c=(e,i,o,c={})=>{if(!t(e))throw a(n,e,i);for(let t of o===void 0?[]:Object.keys(e)){if(Object.hasOwn(c,t))throw new s(c[t],d(i??``,t));if(!o.includes(t))throw new s(`unsupported ${r} ${u(t)}`,i)}return e};return{refuse:a,record:c,entries:(e,t)=>Object.entries(c(e,t)).map(([e,n])=>[e,n,d(t,e)]),sequence:o(Array.isArray,i),string:o(e=>typeof e==`string`,`a string`),boolean:o(e=>typeof e==`boolean`,`true or false`),count:o(e=>Number.isSafeInteger(e)&&e>=0,`a non-negative integer`)}}var C=e=>typeof e==`object`&&!!e&&!Array.isArray(e),{refuse:w,record:T,entries:E,sequence:re,string:D,boolean:O,count:ie}=ne(S,C,`a mapping`,`field`,`a sequence`),k=e=>e===void 0?te:e,A=(e,t,n,r)=>e[t]===void 0?void 0:r(e[t],d(n,t));function j(e,t){if(D(e,t)===``)throw new s(`expected a non-empty string`,t);return e}function M(e,t,n=e=>e){return re(e,t).map((e,r)=>n(j(e,`${t}[${r}]`),`${t}[${r}]`))}function N(e,t,n,r=E){let i=Object.create(null);for(let[a,o,s]of r(e,t))i[a]=n(o,s,a);return i}var P=(e,t,n=()=>{})=>N(e,t,(e,t,r)=>(n(r,t),D(e,t)));function F(e,t){if(e!==void 0&&e!==!0)throw w(`true`,e,t);return e===!0}var ae=e=>(t,n)=>(r,i)=>{let a=e(r,i);if(!t(a))throw new s(`${u(a)} is not ${n}`,i);return a};function oe(e,t){if(!C(e))throw TypeError(`expected an options object`);let n=Object.keys(e).find(e=>!t.includes(e));if(n!==void 0)throw TypeError(`unknown option ${u(n)}, of ${t.join(`, `)}`);return e}function se({checkVersions:e=!0,semver:t},n){if(typeof e!=`boolean`)throw TypeError(`checkVersions: expected a boolean`);if(t!==void 0&&!n.every(e=>typeof t?.[e]==`function`))throw TypeError(`semver: expected the semver package, with ${n.join(`, `)}`);if(e&&t===void 0)throw TypeError(`checkVersions needs semver: pass it as semver, or set checkVersions to false`);return e}function ce(e,t=new Set){if(t.has(e))return;t.add(e);let{parent:n}=e;if(n===void 0)return;let r=ce(n,t);return r===void 0?n.bundleDependencies?.includes(e.folder)||e.edgesIn.some(e=>ce(e.from,t)===n)?n:void 0:r}var le=({parent:e})=>e!==void 0&&(e.bundleDependencies!==void 0||le(e)),ue=e=>le(e)?ce(e):void 0;function de(e,t){let n=ue(e);return n!==void 0&&n!==t}function fe(e,t){let n=ue(e);if(e.inBundle!==(n!==void 0))throw new s(n===void 0?`set, where nothing bundles it`:`expected true, as ${u(n.location)} bundles it`,d(e.where,`inBundle`));let{resolution:r}=e;if(n===void 0||n===t){if(r===void 0)throw new s(`expected where it comes from, resolved or an integrity`,e.where)}else if(r!==void 0){let t=r.type===`git`||r.tarball!==void 0?`resolved`:`integrity`;throw new s(`npm takes it from the tarball of ${u(n.location)}, and from nothing else`,d(e.where,t))}}function pe(e){let t=e.get(``);for(let n of e.values())n.kind===`package`&&fe(n,t)}var me=ae(j),he=/^(?:@[\dA-Za-z~-][\w.~-]*\/)?[\dA-Za-z~-][\w.~-]*$/u,ge=e=>e.length<=214&&he.test(e);function I(e,t){if(!ge(e))throw new s(`${u(e)} is not a package name`,t);return e}var _e=`(0|[1-9]\\d*)`,ve=`(?:0|[1-9]\\d*|\\d*[A-Za-z-][\\dA-Za-z-]*)`,ye=RegExp(`^${_e}\\.${_e}\\.${_e}(?:-${ve}(?:\\.${ve})*)?(?:\\+[\\dA-Za-z-]+(?:\\.[\\dA-Za-z-]+)*)?$`,`u`);function be(e){if(e.length>256)return!1;let t=ye.exec(e);return t!==null&&t.slice(1,4).every(e=>Number(e)<=2**53-1)}var xe=me(be,`a version`),Se=/[\p{Cc}\p{Zl}\p{Zp}\p{Bidi_Control}\\]/u,Ce=e=>e!==``&&e!==`.`&&e!==`..`&&!Se.test(e),we=e=>!/^[A-Za-z]:/u.test(e)&&e.split(`/`).every(Ce);function L(e,t){let n=j(e,t);if(n===`.`)return n;let r=!0;for(let e of n.split(`/`))if(!(e===`..`&&r)&&(r=!1,!Ce(e)))throw new s(`${u(n)} is not a relative path in normal form`,t);if(/^[A-Za-z]:/u.test(n))throw new s(`${u(n)} starts with a drive letter`,t);return n}function Te(e,t){let n=L(e,t);if(n===`..`||n.startsWith(`../`))throw new s(`${u(n)} climbs out of the directory it is in`,t);return n}function Ee(e,t){let n=e===`.`?[]:e.split(`/`);for(let e of t===`.`?[]:t.split(`/`))e===`..`&&n.length>0&&n.at(-1)!==`..`?n.pop():n.push(e);return n.length===0?`.`:n.join(`/`)}var De=(e,t)=>Ee(e,t.split(`/`).filter(e=>e!==``&&e!==`.`).join(`/`)||`.`);function Oe(e,t){let n=e===`.`?[]:e.split(`/`),r=t===`.`?[]:t.split(`/`),i=0;for(;i<n.length&&i<r.length&&n[i]===r[i];)i++;return[...n.slice(i).map(()=>`..`),...r.slice(i)].join(`/`)||`.`}var ke=e=>/^(?:[\da-f]{40}|[\da-f]{64})$/u.test(e),Ae=e=>/^[\da-f]{40}$/u.test(e),je=/^$|^@$|^-|[\p{Cc}\p{Zl}\p{Zp}\p{Bidi_Control} ~^:?*[\\]|\.\.|@\{|^\/|\/$|\/\/|(?:^|\/)\.|\.lock(?:\/|$)|\.$/u;me(e=>!je.test(e),`a branch or tag name git takes`);var Me=/^(?:[^/:]*:\/\/)?(?:[^/@]*@)?-/u,Ne=/^[\dA-Za-z][\d+.A-Za-z-]*::/u,Pe=e=>e.replace(/%([\dA-Fa-f]{2})/gu,(e,t)=>String.fromCodePoint(Number.parseInt(t,16)));function Fe(e,t){let n=j(e,t);if(Me.test(n)||Me.test(Pe(n)))throw new s(`${u(n)} has a "-" where git or ssh would read an option`,t);if(Ne.test(n))throw new s(`${u(n)} names a remote helper of git's, which is not supported`,t);return n}function Ie(e,t){if(/[\s\p{Cc}]/u.test(j(e,t)))throw new s(`${u(e)} is not a repository URL`,t);return Fe(e,t)}var Le={__proto__:null,sha1:20,sha256:32,sha384:48,sha512:64},Re=e=>l(()=>t(e,{padding:!0}).length,()=>{});function ze(e,t){let n=j(e,t),r=n.indexOf(`-`),i=r===-1?void 0:Le[n.slice(0,r)];if(i===void 0||Re(n.slice(r+1))!==i)throw new s(`${u(e)} is not a sha1, sha256, sha384 or sha512 integrity`,t);return e}function Be(e,t){let n=new Map;for(let r of j(e,t).split(` `)){let e=ze(r,t).slice(0,r.indexOf(`-`));if(n.has(e))throw new s(`two ${e} integrities`,t);n.set(e,r)}return n}var Ve=e=>/^https?:\/\//u.test(e)&&!/[\s\p{Cc}]/u.test(e)&&URL.canParse(e),He=new Set([`registry.npmjs.org`,`registry.npmjs.com`,`registry.yarnpkg.com`]);function Ue(e,t,n,r){let i=new URL(e),a=i.hostname.replace(/(?<!\.)\.+$/u,``);if(He.has(a)&&i.pathname.replace(/^(\/@[^/]+)%2f/iu,`$1/`)!==`/${t}/-/${t.slice(t.indexOf(`/`)+1)}-${n}.tgz`)throw new s(`${u(e)} is not the registry's tarball of ${t}@${n}`,r)}var We=e=>e?.endsWith(`.git`)?e.slice(0,-4):e;function Ge(e,t,n){let r=We(t);return e&&r?{user:e,project:r,committish:n}:void 0}var Ke=e=>t=>{let[,n,r,i]=t.pathname.split(`/`,4);return i===e?void 0:Ge(n,r,t.hash.slice(1))},R={__proto__:null,github:{protocols:[`git:`,`http:`,`git+ssh:`,`git+https:`,`ssh:`,`https:`],domain:`github.com`,extract:e=>{let[,t,n,r,i]=e.pathname.split(`/`,5);if(!(r&&r!==`tree`))return Ge(t,n,r?i:e.hash.slice(1))}},bitbucket:{protocols:[`git+ssh:`,`git+https:`,`ssh:`,`https:`],domain:`bitbucket.org`,extract:Ke(`get`)},gitlab:{protocols:[`git+ssh:`,`git+https:`,`ssh:`,`https:`],domain:`gitlab.com`,extract:e=>{let t=e.pathname.slice(1);if(t.includes(`/-/`)||t.includes(`/archive.tar.gz`))return;let n=t.split(`/`),r=n.pop();return Ge(n.join(`/`),r,e.hash.slice(1))}},gist:{protocols:[`git:`,`git+ssh:`,`git+https:`,`ssh:`,`https:`],domain:`gist.github.com`,extract:e=>{let[,t,n,r]=e.pathname.split(`/`,4);if(r!==`raw`&&(t||n))return{user:n?t:null,project:We(n||t),committish:e.hash.slice(1)}}},sourcehut:{protocols:[`git+ssh:`,`https:`],domain:`git.sr.ht`,extract:Ke(`archive`)}},qe=new Map(Object.entries(R).map(([e,t])=>[t.domain,e])),Je=new Map(Object.keys(R).map(e=>[`${e}:`,e])),Ye=new Set([`git+ssh:`,`ssh:`,`git+https:`,`git:`,`http:`,`https:`,`git+http:`,...Je.keys()]);function Xe(e){let t=e.indexOf(`#`),n=e=>e===-1||t>-1&&e>t,r=e.indexOf(`/`);return n(e.search(/\s/u))&&r>0&&(t>-1?e[t-1]!==`/`:!e.endsWith(`/`))&&!e.startsWith(`.`)&&n(e.indexOf(`@`))&&n(e.indexOf(`:`))&&n(e.indexOf(`/`,r+1))}var Ze=(e,t,n)=>{let r=e.indexOf(n);return e.lastIndexOf(t,r>-1?r:1/0)};function Qe(e){let t=e.indexOf(`:`);if(Ye.has(e.slice(0,t+1))||e.slice(t,t+3)===`://`)return e;let n=e.indexOf(`@`);return n>-1?n>t?`git+ssh://${e}`:e:`${e.slice(0,t+1)}//${e.slice(t+1)}`}function $e(e){let t=e,n=Ze(t,`:`,`#`);return n>Ze(t,`@`,`#`)&&(t=`${t.slice(0,n)}/${t.slice(n+1)}`),Ze(t,`:`,`#`)===-1&&!t.includes(`//`)&&(t=`git+ssh://${t}`),t}var z=e=>e&&decodeURIComponent(e);function et(e){let t=e.pathname.startsWith(`/`)?e.pathname.slice(1):e.pathname,n=t.indexOf(`@`);n>-1&&(t=t.slice(n+1));let r=t.lastIndexOf(`/`),i=We(z(t.slice(r+1)));return{user:r>-1&&z(t.slice(0,r))||null,project:i,committish:z(e.hash.slice(1))||null}}function tt(e){if(!e)return;let t=Qe(Xe(e)?`github:${e}`:e),n=URL.parse(t)??URL.parse($e(t));if(n===null)return;let r=Je.get(n.protocol),i=r??qe.get(n.hostname.replace(/^www\./u,``));if(i!==void 0)try{if(r!==void 0)return{type:i,...et(n)};if(!R[i].protocols.includes(n.protocol))return;let e=R[i].extract(n);return e===void 0?void 0:{type:i,user:z(e.user),project:z(e.project),committish:z(e.committish)||null}}catch(e){if(e instanceof URIError)return;throw e}}function nt({type:e,user:t,project:n,committish:r},i){let a=i&&r?`#${r}`:``;return e===`gist`?`git@${R[e].domain}:${n}.git${a}`:`git@${R[e].domain}:${t}/${n}.git${a}`}var rt=/^(?:[Gg][Ii][Tt]\+)?[A-Za-z]+:/u,it=/^[^@]+@[^.:]+\.[^:]+:.+$/iu,at=/\.(?:tgz|tar\.gz|tar)$/iu,ot=e=>at.test(e),st=/^git(?:\+(?:https?|rsync|ftp|ssh))?:/u,B=(e,t)=>new s(`${u(e)} is ${t}`);function ct(e,t){let n=at.test(e)?`file`:`directory`;if(/^file:/iu.test(e)&&!e.startsWith(`file:`))throw B(e,`a path whose "file:" npm reads in another case otherwise`);let r=e.startsWith(`file:`)?e.slice(5):e;if(/^(?:[/~]|[A-Za-z]:)/u.test(r))throw B(e,`a path from the root, a drive or the home directory, which a lockfile does not hold`);return{type:n,path:De(t,r)}}function lt(e,t){let n={committish:null,range:null};for(let r of t?t.split(`::`):[]){let[t,i]=r.includes(`:`)?r.split(`:`):[void 0,r];if(t===`path`)throw B(e,`a subdirectory of a repository, which is not supported`);if(t!==void 0&&t!==`semver`)throw B(e,`a git spec with ${u(t)}, which npm passes over`);if(n.committish!==null||n.range!==null)throw B(e,`a git spec with two refs or ranges, which npm refuses`);t===void 0?n.committish=i:n.range=ut(e,i)}return n}var ut=(e,t)=>l(()=>decodeURIComponent(t),()=>{throw B(e,`a git spec npm cannot decode`)});function dt(e){let t=e.startsWith(`git+ssh:`)?/^git\+ssh:\/\/([^:#]+:[^#]+(?:\.git)?)(?:#(.*))?$/iu.exec(e):null;if(t!==null&&!/:\d+(?:\/|$)/u.test(t[1]))return{type:`git`,hosted:void 0,fetchSpec:t[1],...lt(e,t[2])};let n=URL.parse(e);if(n===null)throw B(e,`not a URL npm reads`);if(n.protocol===`http:`||n.protocol===`https:`)return{type:`remote`,url:e};if(!st.test(n.protocol))throw B(e,`of a protocol npm does not read, ${u(n.protocol)}`);let r=lt(e,n.hash.slice(1));return n.hash=``,{type:`git`,hosted:void 0,fetchSpec:n.href.replace(/^git\+/u,``),...r}}function ft(e,t,n){let r=t.trim();if(n===void 0)return{type:`registry`,name:e,fetchSpec:r,kind:void 0};let i=`tag`;if(n.valid(r,!0)===null?n.validRange(r,!0)!==null&&(i=`range`):i=`version`,i===`tag`&&encodeURIComponent(r)!==r)throw B(t,`a tag npm refuses, of a character a URL escapes`);return{type:`registry`,name:e,fetchSpec:r,kind:i}}function V(e,t,n,r){if(/^(?:file:|[.]|~\/|\/|[A-Za-z]:)/iu.test(t))return ct(t,n);if(/^npm:/iu.test(t))return mt(t,n,r);let i=tt(t);return i===void 0?rt.test(t)?dt(t):t.includes(`/`)||at.test(t)?ct(t,n):ft(e,t,r):{type:`git`,hosted:i,fetchSpec:void 0,...lt(t,i.committish)}}function pt(e,t,n){let r=e.indexOf(`@`,1),i=r>0?e.slice(0,r):e;return rt.test(e)?V(void 0,e,t,n):it.test(e)?V(void 0,`git+ssh://${e}`,t,n):!i.startsWith(`@`)&&(i.includes(`/`)||at.test(i))?V(void 0,e,t,n):V(I(i,void 0),r>0&&e.slice(r+1)||`*`,t,n)}function mt(e,t,n){let r=pt(e.slice(4),t,n);if(r.type===`alias`)throw B(e,`an alias of an alias, which npm refuses`);if(r.type!==`registry`||r.name===void 0)throw B(e,`an alias of no package of the registry, which npm refuses`);return{type:`alias`,sub:r}}var ht=(e,t,n,r)=>V(e,t||`*`,n,r),gt=e=>V(void 0,e,`.`,void 0),H=[`dev`,`optional`,`devOptional`,`peer`],_t=[`name`,`version`,`dependencies`,`optionalDependencies`,`peerDependencies`,`peerDependenciesMeta`,`bundleDependencies`,`acceptDependencies`,`funding`,`engines`,`os`,`cpu`,`libc`,`license`,`hasInstallScript`,`bin`,`deprecated`,`workspaces`,...H],vt={link:[`link`,`resolved`],importer:[..._t,`devDependencies`],package:[..._t,`resolved`,`integrity`,`inBundle`]},yt={hasShrinkwrap:`a shrinkwrap of its own, which is not supported`,extraneous:`nothing leads to it, and npm prunes it rather than install it`};function U(e,t){if(typeof e==`object`&&e&&Object.keys(e).length===0)throw new s(`expected what npm writes, which leaves an empty ${Array.isArray(e)?`sequence`:`mapping`} out`,t);return e}var bt=e=>(t,n)=>N(U(t,n),n,e),xt=(e,t)=>P(U(e,t),t,I),St=(e,t)=>I(j(e,t),t),Ct=(e,t)=>M(U(e,t),t,I),W=(e,t)=>M(U(e,t),t),wt=e=>(t,n)=>Array.isArray(t)?W(t,n):e(t,n),Tt=bt((e,t,n)=>(I(n,t),{optional:A(T(e,t),`optional`,t,O)??!1}));function Et(e,t){return typeof e==`string`?j(e,t):(T(U(e,t),t),{type:A(e,`type`,t,j),url:A(e,`url`,t,j)})}var Dt=(e,t)=>Array.isArray(e)?U(e,t).map((e,n)=>Et(e,`${t}[${n}]`)):Et(e,t);function Ot(e,t,n){if(!Ce(n)||/[/:]/u.test(n))throw new s(`${u(n)} is not the name of a bin, as npm writes one`,t);if(!we(j(e,t).replace(/\/$/u,``)))throw new s(`${u(e)} is not a path within the package, as npm writes a bin's`,t);return e}var kt=wt((e,t)=>(T(U(e,t),t,[`packages`,`nohoist`]),A(e,`nohoist`,t,W),W(e.packages,d(t,`packages`)))),At={__proto__:null,dependencies:xt,optionalDependencies:xt,peerDependencies:xt,devDependencies:(e,t)=>P(e,t,I),peerDependenciesMeta:Tt,acceptDependencies:xt,bundleDependencies:Ct,funding:Dt,engines:wt((e,t)=>P(U(e,t),t)),os:W,cpu:W,libc:W,license:wt(j),bin:bt(Ot),deprecated:j,workspaces:kt};function jt(e,t){let n=Object.fromEntries(H.map(n=>[n,F(e[n],d(t,n))]));if(n.devOptional&&(n.dev||n.optional))throw new s(`set beside dev or optional, where npm leaves it out`,d(t,`devOptional`));return n}var Mt=(e,t)=>Be(e,t)&&e;function Nt(e,t,n,r){if(e.startsWith(`file:`)){if(!ot(e))throw new s(`${u(e)} is a directory, which npm packs again at every install: not supported`,r);L(e.slice(5),r);return}if(!Ve(e))throw new s(`${u(e)} is not an http(s) URL, a file: tarball or a git URL`,r);if(tt(e)!==void 0)throw new s(`${u(e)} is a repository to npm, which it reads as one on a git host`,r);Ue(e,t,n,r)}function Pt(e,t,n,r){let i=d(t,`resolved`),a=A(e,`resolved`,t,j),o=A(e,`integrity`,t,Mt);if(a===void 0)return o===void 0?void 0:{type:`tarball`,tarball:void 0,integrity:o};if(st.test(a)){if(o!==void 0)throw new s(`an integrity, which npm does not check for a git repository`,d(t,`integrity`));let e=a.lastIndexOf(`#`);if(e===-1||!ke(a.slice(e+1)))throw new s(`expected a full commit hash after the "#" of ${u(a)}`,i);return{type:`git`,repo:Ie(a.slice(0,e),i),commit:a.slice(e+1)}}if(Nt(a,n,r,i),o===void 0)throw new s(`expected an integrity, which npm checks the tarball with`,t);return{type:`tarball`,tarball:a,integrity:o}}function Ft(e){let t=e.split(`/`),n=t.at(-1);return t.at(-2)?.startsWith(`@`)?`${t.at(-2)}/${n}`:n}function It(e,t){if(T(e,t,vt.link,yt),e.link!==!0)throw w(`true`,e.link,d(t,`link`));return e.resolved===``?``:L(e.resolved,d(t,`resolved`))}function Lt(e,t,n,r){T(e,t,vt[n],yt);let i=Object.create(null);for(let n of Object.keys(At))i[n]=A(e,n,t,At[n]);if(n===`importer`&&r!==void 0&&i.bundleDependencies!==void 0)throw new s(`a bundle of a directory, which is not supported`,d(t,`bundleDependencies`));let a=A(e,`name`,t,St);if(a!==void 0&&a===r)throw new s(`the name of its folder, which npm leaves out`,d(t,`name`));let o=A(e,`version`,t,n===`package`?xe:j);if(n===`package`&&o===void 0&&!st.test(e.resolved??``))throw new s(`expected a version, which only a package from a git repository is read without`,d(t,`version`));let c={name:a??r,version:o,...i,hasInstallScript:F(e.hasInstallScript,d(t,`hasInstallScript`)),flags:jt(e,t)};return n===`package`&&(c.resolution=Pt(e,t,c.name,o),c.inBundle=F(e.inBundle,d(t,`inBundle`))),c}function Rt(e,t){let[n,r,i,a]=[0,0,-1,0];for(;r<t.length;)if(e[n]===`*`)i=n++,a=r;else if(e[n]===`?`||e[n]===t[r])n++,r++;else{if(i===-1)return!1;n=i+1,r=++a}for(;e[n]===`*`;)n++;return n===e.length}function zt(e,t){let n=e.split(`/`);if(n.length>30||n.some(e=>e===``||/[[\]{}()!+#\\]/u.test(e)))throw new s(`${u(e)} is a glob not read here`,t);return n.map(e=>{if(e===`**`)return null;let t=!e.startsWith(`.`)&&/[*?]/u.test(e),n=[...e];return e=>!(t&&e.startsWith(`.`))&&Rt(n,[...e])})}function Bt(e,t){let n=t;for(let t=0;t<e.length;t++)n&1<<t&&e[t]===null&&(n|=1<<t+1);return n}function Vt(e,t,n){let r=0;for(let i=0;i<e.length;i++)t&1<<i&&(e[i]===null?r|=n.startsWith(`.`)?0:1<<i:e[i](n)&&(r|=1<<i+1));return Bt(e,r)}var Ht=(e,t)=>!!(t&1<<e.length),Ut=(e,t)=>Ht(e,t.split(`/`).reduce((t,n)=>Vt(e,t,n),Bt(e,1))),Wt=`packages`,Gt=/^(?:(.+)\/)?node_modules\/((?:@[^/]+\/)?[^/]+)$/u;function Kt(e,t){if(e===``)return{kind:`root`,parent:void 0,folder:void 0};L(e,t);let n=Gt.exec(e);if(n!==null){if(n[2]===`node_modules`)throw new s(`a folder named "node_modules", which no package is`,t);return{kind:`package`,parent:n[1]??``,folder:I(n[2],t)}}let r=e.split(`/`);if(r.includes(`node_modules`))throw new s(`in a node_modules, but none of its packages`,t);if(r.every(e=>e===`..`))throw new s(`a directory the project is in, which is not supported`,t);return{kind:`importer`,parent:void 0,folder:Ft(e)}}function qt(e,t,n){let{kind:r,parent:i,folder:a}=Kt(e,n),o={location:e,where:n,kind:r,parentLocation:i,folder:a,parent:void 0,fsParent:void 0,children:new Map,links:[],edges:new Map,edgesIn:[]};if(t?.link===void 0)return Object.assign(o,Lt(t,n,r===`package`?`package`:`importer`,a));if(r!==`package`)throw new s(`a link outside a node_modules, where npm writes none`,n);return Object.assign(o,{kind:`link`,targetLocation:It(t,n),target:void 0})}function Jt(e,t){let n=t.get(e.parentLocation);if(n===void 0)throw new s(`in the node_modules of ${u(e.parentLocation)}, which the lockfile does not have`,e.where);if(n.kind===`link`)throw new s(`in the node_modules of ${u(e.parentLocation)}, a link, in which npm installs nothing`,e.where);let r=e.folder.toLowerCase(),i=n.children.get(r);if(i!==void 0)throw new s(`in the folder of ${u(i.location)} to npm, which takes names in one case`,e.where);n.children.set(r,e),e.parent=n}function Yt(e,t){let n=t.get(e.targetLocation),r=d(e.where,`resolved`);if(n===void 0)throw new s(`${u(e.targetLocation)} is not in the lockfile, where npm looks for what a link leads to`,r);if(n.kind===`link`)throw new s(`${u(e.targetLocation)} is a link, where npm links the project, a directory or a package`,r);e.target=n,n.links.push(e)}function Xt(e,t){let n=e.location.split(`/`);for(;n.pop()!==void 0&&n.at(-1)!==`..`;){let e=t.get(n.join(`/`));if(e!==void 0)return e}}var Zt=e=>e.parent??e.fsParent,G=e=>e.kind===`link`?e.target:e,K=e=>e.location||`.`;function Qt(e,t){let n=t.toLowerCase();for(let t=e;t!==void 0;t=Zt(t)){let e=t.children.get(n);if(e!==void 0)return e}}function $t(e){let t=new Map;for(let[n,r,i]of E(e,Wt))t.set(n,qt(n,r,i));t.has(``)||t.set(``,qt(``,Object.create(null),d(Wt,``)));for(let e of t.values())e.parentLocation!==void 0&&Jt(e,t),e.kind===`link`&&Yt(e,t);for(let e of t.values())if(e.kind===`importer`){if(e.links.length===0)throw new s(`a directory no link leads to, of which npm installs nothing`,e.where);e.fsParent=Xt(e,t)}return t}function en(e){let t=e.get(``),n=d(t.where,`workspaces`),r=new Map;for(let[i,a]of(t.workspaces??[]).entries()){let t=zt(a.replace(/^\.?\/+/u,``),`${n}[${i}]`);for(let n of e.values()){if(n.kind!==`importer`||r.get(n.name)===n||!Ut(t,n.location))continue;let e=I(n.name,d(n.where,`name`));if(r.has(e))throw new s(`the name of the workspace ${u(r.get(e).location)} too, of which npm keeps one`,n.where);r.set(e,n)}}return r}var tn={__proto__:null,workspace:`workspaces`,peer:`peerDependencies`,peerOptional:`peerDependencies`,prod:`dependencies`,optional:`optionalDependencies`,dev:`devDependencies`},nn=e=>e.type===`workspace`?d(e.from.where,`workspaces`):d(d(e.from.where,tn[e.type]),e.name);function rn(e,t,n){let r=(t,n,r)=>{let i=t.toLowerCase(),a=e.edges.get(i);if(a?.type===`workspace`)return;let o={name:t,type:n,spec:r,accept:e.acceptDependencies?.[t],from:e,to:void 0};if(a!==void 0&&a.name!==t)throw new s(`${u(a.name)} too, to npm, which takes names in one case`,nn(o));e.edges.delete(i),e.edges.set(i,o)};if(e.kind===`root`)for(let[e,{location:n}]of t)r(e,`workspace`,`file:${n}`);let i=e.peerDependenciesMeta??Object.create(null),a=n?[]:Object.entries(e.peerDependencies??{});for(let[e,t]of a)i[e]?.optional||r(e,`peer`,t);for(let[e,t]of a)i[e]?.optional&&r(e,`peerOptional`,t);for(let t of e.parent===void 0?[`prod`,`optional`,`dev`]:[`prod`,`optional`])for(let[n,i]of Object.entries(e[tn[t]]??{}))r(n,t,i)}function an(e,t,n){for(let r of e.values())r.kind!==`link`&&rn(r,t,n);for(let t of e.values())for(let e of t.edges.values())e.to=Qt(t,e.name),e.to?.edgesIn.push(e)}var on=[...H,`extraneous`],sn=e=>new Map([...e.values()].map(e=>[e,Object.fromEntries(on.map(t=>[t,e.kind!==`root`]))]));function cn(e,t,n){if(!e.get(t)[n])for(let r=Zt(t);r!==void 0&&e.get(r)[n];r=Zt(r))e.get(r)[n]=!1}function ln(e,t){let[n,r,i]=[t===`dev`,t===`optional`||t===`peerOptional`,t.startsWith(`peer`)];return{extraneous:!e.extraneous&&!(i&&r),dev:!e.dev&&!n,optional:!e.optional&&!r,devOptional:!e.devOptional&&!e.dev&&!e.optional&&!n&&!r,peer:!e.peer&&!i}}function un(e,t){let n=sn(e),r=new Set,i=[e.get(``)];for(;i.length>0;){let e=i.pop();r.add(e);let a=n.get(e);if(cn(n,e,`extraneous`),e.kind===`link`){let o=n.get(e.target),s=on.filter(e=>o[e]&&!a[e]);if(t)Object.assign(o,a);else for(let e of s)o[e]=!1;(t||s.length>0||!r.has(e.target))&&i.push(e.target);continue}for(let{type:t,to:r}of e.edges.values()){if(r===void 0)continue;let e=ln(a,t),o=n.get(r),s=on.filter(t=>o[t]&&e[t]);for(let e of s)o[e]=!1;s.length>0&&i.push(r)}}return n}function dn(e,t,n){let r=[e],i=new Set;for(;r.length>0;){let e=r.pop();i.has(e)||(i.add(e),r.push(...n(e,t(e))))}}function fn(e){let t=sn(e),n=(e,n)=>{if(!t.get(e)[n])return;let r=e=>Object.assign(t.get(e),{extraneous:!1,[n]:!1});dn(e,e=>{r(e),e.kind===`link`&&r(e.target)},e=>[...G(e).edges.values()].filter(({type:e,to:r})=>r!==void 0&&t.get(r)[n]&&(n!==`peer`&&e===`peer`||e===`prod`)).map(({to:e})=>e))},r=e=>{let i=t.get(e);i.extraneous=!1;for(let n of on)cn(t,e,n);if(e.kind===`link`){for(let n of H)t.get(e.target)[n]=i[n];return r(e.target)}for(let{type:r,to:a}of e.edges.values()){if(a===void 0)continue;t.get(a).extraneous=!1;let e=ln(i,r);for(let t of[`peer`,`devOptional`,`dev`,`optional`])e[t]&&n(a,t)}return e};return dn(e.get(``),r,(e,t)=>[...t.edges.values()].map(({to:e})=>e).filter(e=>e!==void 0)),t}function pn(e,t,n){for(let r of e.values()){let e=t.get(r);if(e.extraneous)return new s(`nothing installed leads to it, so ${n} takes it as extraneous, and prunes it`,r.where);if(r.kind===`link`)continue;let i={...e,devOptional:e.devOptional&&!e.dev&&!e.optional},a=H.find(e=>r.flags[e]!==i[e]);if(a!==void 0)return new s(`expected ${i[a]?`true`:`none`}, as ${n} sets it from what depends on it`,d(r.where,a))}}var mn=[e=>un(e,!1),e=>un(e,!0),fn];function hn(e){let[t,n,r]=e.split(`.`).map(Number);return t>11||t===11&&n>=18?mn[0]:mn[t===11&&(n>6||n===6&&r>=3)?1:2]}function gn(e,t,n=t===void 0?`npm`:`npm ${t}`){let r=pn(e,(t===void 0?mn[0]:hn(t))(e),n);if(r!==void 0&&(t!==void 0||mn.slice(1).every(t=>pn(e,t(e),`npm`)!==void 0)))throw r}var _n=64;function vn(e,t){if(typeof e!=`object`||!e)return e;if(t>_n)throw new s(`nested more than ${_n} deep, as npm writes nothing`);if(Array.isArray(e))return e.map(e=>vn(e,t+1));let n=Object.create(null);for(let[r,i]of Object.entries(e))n[r]=vn(i,t+1);return n}function yn(e,t){let n=e.split(`
2
+ `),r=t.split(`
3
+ `),i=0;for(;n[i]===r[i];)i++;if(i===r.length-1&&i===n.length)return f(`expected a line end after the last "}"`,i-1);let a=i<n.length?u(n[i]):`the end of the file`;return f(`expected ${i<r.length?u(r[i]):`the end of the file`}, as npm writes it, found ${a}`,i)}function bn(e){m(e,`npm`);let[t,n]=h(e,`npm`),r=l(()=>JSON.parse(e),e=>c(`not JSON: ${e.message}`)),i=vn(r,0),a=`${JSON.stringify(r,null,n)}
4
+ `.replaceAll(`
5
+ `,t);if(a!==e)throw yn(e,a);return i}var xn=/^[\dA-Fa-f]{40,64}$/u;function Sn(e){let t=e.resolution?.tarball;return t?.startsWith(`file:`)?Ee(t.slice(5),`..`):K(e)}var q=e=>u(e.location);function Cn(e,{fetchSpec:t,kind:n},r){let i=G(e);if(!(n===void 0||n===`range`&&t===`*`))return n===`tag`?e.kind===`link`||!/^https?:/u.test(e.resolution?.tarball??``)?`is a tag, which npm holds met by a tarball from a URL alone, and ${q(e)} is none`:void 0:r.satisfies(i.version??``,t,!0)?void 0:`is not satisfied by ${q(e)}, ${i.version??`of no version`}`}function wn(e,t,n){let{resolution:r,version:i}=e;if(e.kind===`link`||r?.type!==`git`)return`asks for a git repository, and ${q(e)} is from none`;let a=gt(`${r.repo}#${r.commit}`),o=xn.test(t.committish??``);if(!(t.hosted===void 0?a.hosted===void 0&&a.fetchSpec===t.fetchSpec:a.hosted!==void 0&&nt(t.hosted,o)===nt(a.hosted,o)))return`asks for another repository than ${q(e)} is from${o?`, or another commit`:``}`;if(!(t.range===null||n===void 0||n.satisfies(i??``,t.range,!0)))return`asks for a version of the repository ${q(e)} is not, ${i??`of no version`}`}function Tn(e,t,n){switch(t.type){case`registry`:return Cn(e,t,n);case`alias`:return Cn(e,t.sub,n);case`directory`:return e.kind===`link`&&K(e.target)===t.path?void 0:`asks for a link to ${u(t.path)}, and ${q(e)} is ${e.kind===`link`?`one to ${u(K(e.target))}`:`no link`}`;case`file`:case`remote`:{let n=t.type===`file`?`file:${t.path}`:t.url;return e.kind!==`link`&&e.resolution?.tarball===n?void 0:`asks for the tarball ${u(n)}, and ${q(e)} is from another`}default:return wn(e,t,n)}}function En(e,t){let{name:n}=G(e);if(t.type===`alias`&&n!==t.sub.name)return`asks for ${u(t.sub.name)}, and ${q(e)} is ${u(n)}, which npm does not check`;let{committish:r}=t;if(t.type===`git`&&xn.test(r??``)&&r.toLowerCase()!==e.resolution.commit)return`asks for another commit than ${q(e)} is of, which npm does not check of a repository on no host it knows`}function Dn(e,t,n){let{from:r,to:i,spec:a}=e;if(e.type.startsWith(`peer`)&&i.parent===r&&r.parent!==void 0)return`${u(a)} is met in the node_modules of the package that asks for it, which npm holds a peer not to be`;if(i.folder!==e.name)return`is met by ${q(i)}, which npm takes for it, though the names are in other cases`;let o=a=>{let o=ht(e.name,a,Sn(r),t);return Tn(i,o,t)??(n?En(i,o):void 0)},s=o(a);if(!(s===void 0||e.accept!==void 0&&o(e.accept)===void 0))return`${u(a)} ${s}, so npm would install another`}function On(e,t){return l(()=>Dn(e,t,!1)===void 0,e=>{if(e instanceof s)return!1;throw e})}function kn(e,t){let n=nn(e);if(e.type===`peerOptional`)return;if(e.to===void 0)throw new s(`${u(e.spec)} is met by nothing where npm looks for ${u(e.name)}, so npm would install it`,n);let r=l(()=>Dn(e,t,!0),e=>{throw e instanceof s&&e.where===void 0?new s(e.message,n):e});if(r!==void 0)throw new s(r,n)}function An(e,t){let n=new Set([e.get(``)]);for(let e of n){let r=new Set(e.kind===`package`?e.bundleDependencies:[]);for(let i of e.edges.values()){r.has(i.name)||kn(i,t);let e=i.to===void 0?void 0:G(i.to);e!==void 0&&!e.location.startsWith(`../`)&&n.add(e)}}}var jn=[`version`,`resolved`,`integrity`,`bundled`,...H,`requires`,`dependencies`,`from`],Mn=e=>e.location===``?`the project`:u(e.location);function Nn(e){let[t,n,r]=e.split(`.`).map(Number);return t===9||t===10&&(n<9||n===9&&r<=2)||t===11&&n<2}function Pn(e,t){let n=[],r;for(let i of e.edgesIn){let e=i.from.location.split(`node_modules`),a=[e.length,e.at(-1)],o=r===void 0?-1:a[0]-r[0]||a[1].localeCompare(r[1],`en`);o>0||!On(i,t)||(o<0?[n,r]=[[i],a]:n.push(i))}return n}function Fn(e,t){let n=Oe(e,t);return`file:${n===`.`?``:n}`}function In(e,t){let n=K(t.from),r=ht(e.folder,t.spec,n,void 0),i=`${e.folder}@${t.spec}`;return r.type===`file`?{type:`file`,save:Fn(n,r.path),raw:i}:r.type===`remote`?{type:`remote`,save:r.url,raw:i}:{type:r.type,raw:i}}function Ln(e,t,n){if(e.kind===`link`)return{version:`file:${n(e.target.location)}`};let{resolution:r}=e,i=r?.type===`git`?`${r.repo}#${r.commit}`:r?.tarball,a;r?.type===`git`?a=`git`:i!==void 0&&(a=i.startsWith(`file:`)?`file`:`remote`);let o=t===void 0?{type:a,save:i,raw:i}:In(e,t);return o.type===`file`||o.type===`remote`?{version:o.save}:o.type===`git`||a===`git`?{version:i,from:o.raw}:{version:e.name===e.folder?e.version:`npm:${e.name}@${e.version}`,resolved:a===`remote`?i:void 0}}var Rn=e=>[...new Map(e.map(e=>[JSON.stringify(e),e])).values()];function zn(e,t,n,r){if(e===t)return;let i=t===void 0?`none`:typeof t==`string`?u(t):String(t);throw new s(`expected ${i}, found ${S(e)}, as npm writes it of ${Mn(r)}`,n)}var Bn=(e,t,n,r,i)=>zn(e[t],n,d(r,t),i);function Vn(e,t,n,r){let{path:i}=l(()=>ht(e.name,e.spec,t,void 0),e=>{throw e instanceof s&&e.where===void 0?new s(e.message,r):e});return n(Fn(t,i))}function Hn(e,t,n){if(e.edges.size===0)return;let r=Object.create(null);for(let i of e.edges.values())i.type.startsWith(`peer`)||(r[i.name]=i.spec.startsWith(`file:`)?Vn(i,K(e),t,d(n,i.name)):i.spec);return r}function Un(e,t,n,r){let i=Hn(t,n,r);if(i===void 0)return zn(e,void 0,r,t);let a=T(e,r);for(let[e,n]of Object.entries(a)){if(!Object.hasOwn(i,e))throw new s(`${Mn(t)} asks for no such package, or for a peer, which npm leaves out`,d(r,e));if(n!==i[e])throw new s(`expected ${u(i[e])}, as ${Mn(t)} asks for it, found ${S(n)}, which npm writes there of an override alone, not read here`,d(r,e))}let o=Object.keys(i).find(e=>!Object.hasOwn(a,e));if(o!==void 0)throw new s(`expected ${u(o)}, which ${Mn(t)} asks for`,r)}function Wn(e,t,n,r,i){let a=new Set([...t.children.values()].filter(e=>!r.includes(G(e).location)));if(a.size===0)return zn(e,void 0,n,t);let o=[...r,t.location],c=e===void 0?Object.create(null):T(e,n);for(let[e,r]of Object.entries(c)){let c=t.children.get(e.toLowerCase()),l=`${t.location===``?``:`${t.location}/`}node_modules/${e}`;if(c===void 0||c.folder!==e)throw new s(`${u(l)} is not in packages`,d(n,e));if(!a.has(c))throw new s(`${u(l)} links to ${u(K(G(c)))}, which this is under already, and npm leaves it out`,d(n,e));qn(r,c,d(n,e),o,i)}let l=[...a].find(e=>!Object.hasOwn(c,e.folder));if(l!==void 0)throw new s(`expected ${u(l.folder)}, as npm writes ${u(l.location)} of packages`,n)}function Gn(e,t,n,r,i){if(t!==void 0&&e===void 0){if(i.resolved!==void 0)throw new s(`expected ${u(t)}: npm leaves it out of every entry or of none, and ${i.resolved} has it`,n);i.omitted??=n;return}if(zn(e,t,n,r),e!==void 0){if(i.omitted!==void 0)throw new s(`expected none: npm leaves it out of every entry or of none, and ${i.omitted} has none`,n);i.resolved??=n}}function Kn(e,t){let{semver:n,escape:r,own:i,root:a}=t;if(!i.has(e)){let t=e.kind===`link`?[]:Pn(e,n),o=Rn(t.length===0?[Ln(e,void 0,r)]:t.map(t=>Ln(e,t,r)));i.set(e,{heads:o,bundled:de(e,a)||void 0})}return i.get(e)}function qn(e,t,n,r,i){T(e,n,jn);let{heads:a,bundled:o}=Kn(t,i),s=a.find(({version:t,from:n})=>t===e.version&&n===e.from)??a[0];Bn(e,`version`,s.version,n,t),Bn(e,`from`,s.from,n,t),Gn(e.resolved,s.resolved,d(n,`resolved`),t,i),Bn(e,`bundled`,o,n,t),Bn(e,`integrity`,t.resolution?.integrity,n,t);for(let r of H)Bn(e,r,t.flags?.[r]||void 0,n,t);let c=G(t);Un(e.requires,c,i.escape,d(n,`requires`)),Wn(e.dependencies,c,d(n,`dependencies`),r,i)}function Jn(e,t,n,r,i={}){let a=e=>e.includes(`#`)?(i.hash=!0,r?e.replaceAll(`#`,`%23`):e):e,o=t.get(``);Wn(e,o,`dependencies`,[],{semver:n,escape:a,own:new Map,root:o,omitted:void 0,resolved:void 0})}var Yn=`9.0.0`;function Xn(e,t,n,r){if(r!==void 0)return Jn(e,t,n,Nn(r));let i={hash:!1};try{Jn(e,t,n,!1,i)}catch(r){if(!(r instanceof s)||!i.hash)throw r;try{Jn(e,t,n,!0)}catch{throw r}gn(t,Yn,`an npm that writes a "#" as "%23"`)}}var Zn=[`checkVersions`,`semver`,`legacyPeerDeps`,`npm`],Qn=[`satisfies`,`valid`,`validRange`],$n=[`name`,`version`,`lockfileVersion`,`requires`,`packages`,...H];function er(e){let{semver:t,legacyPeerDeps:n=!1,npm:r}=oe(e,Zn),i=se(e,Qn);if(typeof n!=`boolean`)throw TypeError(`legacyPeerDeps: expected a boolean`);if(r!==void 0&&!(/^\d+\.\d+\.\d+$/u.test(r)&&Number(r.split(`.`)[0])>=9))throw TypeError(`npm: expected a version of npm 9 or later, such as 11.12.1`);if(r===`11.6.1`||r===`11.6.2`)throw TypeError(`npm: ${r} works the flags out in a way not read here`);return{semver:i?t:void 0,legacyPeerDeps:n,npm:r}}function tr(e){let t=T(e,void 0).lockfileVersion;if(t!==2&&t!==3)throw new s(`unsupported version: expected 2 or 3, found ${S(t)}`,`lockfileVersion`);if(T(e,void 0,t===2?[...$n,`dependencies`]:$n),e.requires!==!0)throw w(`true`,e.requires,`requires`);return t}function nr(e,t){let n=j(e.name,`name`);if(t.name!==void 0&&t.name!==n)throw new s(`expected the project's, ${u(t.name)}`,`name`);if(e.version!==t.version)throw new s(t.version===void 0?`a version, where the project has none`:`expected the project's, ${u(t.version)}`,`version`);let r=H.find(n=>F(e[n],n)!==t.flags[n]);if(r!==void 0)throw new s(`expected ${t.flags[r]?`true`:`none`}, as the project's in packages`,r);return{name:n,version:t.version}}var rr=e=>e.kind===`link`?`link:${K(e.target)}`:e.location;function ir(e){let t=Object.create(null);for(let n of e.edges.values())t[n.name]={type:n.type,spec:n.spec,accept:n.accept,target:n.to===void 0?void 0:rr(n.to)};return t}function ar(e){let{name:t,version:n,os:r,cpu:i,libc:a,license:o,funding:s,deprecated:c,hasInstallScript:l,flags:u}=e;return{name:t,version:n,edges:ir(e),bundleDependencies:e.bundleDependencies??[],engines:e.engines??Object.create(null),os:r,cpu:i,libc:a,bin:e.bin??Object.create(null),license:o,funding:s,deprecated:c,hasInstallScript:l,...u,devOptional:u.devOptional||u.dev||u.optional}}function or(e,t={}){if(typeof e!=`string`)throw TypeError(`expected a string`);let{semver:n,legacyPeerDeps:r,npm:i}=er(t),a=bn(e),o=tr(a),s=$t(a.packages),c=s.get(``),l=en(s);an(s,l,r),An(s,n),gn(s,i),pe(s),o===2&&Xn(a.dependencies,s,n,i);let u=nr(a,c),d=new Set(l.values()),f=Object.create(null),p=Object.create(null),m=Object.create(null);for(let e of new Set([c,...s.values()]))e.kind===`link`?m[e.location]=K(e.target):e.kind===`package`?p[e.location]={...ar(e),resolution:e.resolution,inBundle:e.inBundle}:f[K(e)]={...ar(e),workspace:d.has(e),workspaces:e.workspaces??[]};return{lockfileVersion:o,...u,importers:f,packages:p,links:m}}var J=class extends o{},sr=e=>RegExp(`(?:[^ ?:,[\\]{}#&*!|>'"%@\`-]|[-?:](?=[^${e}]))(?:[^:${e}]|:(?=[^${e}])| +(?=[^#:${e}]|:[^${e}]))*`,`uy`),cr={block:sr(` `),flow:sr(` ,[\\]{}`)},lr=/'((?:[^']|'')*)'/uy,ur=/"((?:[^"\\]|\\.)*)"/uy,dr={__proto__:null,0:`\0`,a:`\x07`,b:`\b`,t:` `,n:`
6
+ `,v:`\v`,f:`\f`,r:`\r`,e:`\x1B`," ":` `,'"':`"`,"/":`/`,"\\":`\\`,N:`…`,_:`\xA0`,L:`\u2028`,P:`\u2029`},fr=/\\(?:x([\dA-Fa-f]{2})|u([\dA-Fa-f]{4})|U([\dA-Fa-f]{8})|(.))/gu;function pr(e,t){return e.replace(fr,(e,n,r,i,a)=>{if(a!==void 0){if(!(a in dr))throw new J(`unknown escape \\${a}`,t.line);return dr[a]}let o=Number.parseInt(n??r??i,16);if(o>1114111||o>=55296&&o<=57343)throw new J(`${e} is not a Unicode scalar value`,t.line);return String.fromCodePoint(o)})}var mr={__proto__:null,true:!0,false:!1,null:null},hr=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[Ee][+-]?\d+)?$/u,gr=/^(?:~|null|true|false|\.nan|[+-]?(?:\.inf|0[box][\d_a-f]+|(?:\d[\d_]*(?:\.[\d_]*)?|\.[\d_]+)(?:e[+-]?\d+)?))$/iu,_r=/^\d{4}-(?:\d\d-\d\d|\d\d?-\d\d?(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)?(?: *(?:Z|[+-]\d\d?(?::\d\d)?))?)$/u;function vr(e,t){if(e in mr)return mr[e];if(hr.test(e)&&e!==`-0`){let n=Number(e);if(Math.abs(n)>2**53-1)throw new J(`number out of range ${a(e)}`,t.line);return n}if(gr.test(e)||_r.test(e))throw new J(`ambiguous scalar ${a(e)}, quote it`,t.line);return e}var yr=e=>e.pos<e.text.length?a(e.text.slice(e.pos)):`the end of the line`,br=(e,t)=>pr(e,{line:t});function xr(e,t){let n=g(e,lr);return n===null?(n=g(e,ur),n===null?(n=g(e,cr[t]),n===null?void 0:vr(n[0],e)):pr(n[1],e)):n[1].replaceAll(`''`,`'`)}function Sr(e,t){let n=xr(e,t);if(n===void 0)throw new J(`expected a scalar, found ${yr(e)}`,e.line);return n}function Cr(e,t,n,r){if(typeof t!=`string`)throw new J(`keys must be strings`,r);if(t===`<<`)throw new J(`merge keys are not supported`,r);if(t in e)throw new J(`duplicate key ${a(t)}`,r);e[t]=n}var wr=/ */uy,Tr=/, */uy,Er=/: +/uy,Dr=/:(?: +(?:#.*)?|$)/uy,Or=/(?: +#.*| *)$/uy,kr=64;function Ar(e,t){let n=t===`]`?[]:Object.create(null);if(e.workflow&&++e.depth>kr)throw new J(`nested too deep`,e.line);if(e.pos++,g(e,wr),e.text[e.pos]!==t)do{if(e.workflow&&e.text[e.pos]===t)break;if(e.workflow)Pr(e,n,t);else{let r=jr(e);if(t===`]`)n.push(r);else{if(g(e,Er)===null)throw new J(`expected ": " after the key, found ${yr(e)}`,e.line);Cr(n,r,jr(e),e.line)}}g(e,wr)}while(g(e,Tr)!==null);if(e.text[e.pos]!==t)throw new J(`expected "," or "${t}", found ${yr(e)}`,e.line);return e.pos++,e.workflow&&e.depth--,n}function jr(e){let t=e.text[e.pos];return e.workflow&&(t===`[`||t===`{`)?Ar(e,t===`[`?`]`:`}`):Sr(e,`flow`)}var Mr=/ *:(?=[ ,\]}]|$)/uy,Nr=/ *:/uy;function Pr(e,t,n){let r=e.text[e.pos]===`"`||e.text[e.pos]===`'`,i=jr(e),a=g(e,r?Nr:Mr)!==null;if(n===`]`&&!a){t.push(i);return}g(e,wr);let o=a&&e.text[e.pos]!==`,`&&e.text[e.pos]!==n?jr(e):null;if(n===`}`){Cr(t,i,o,e.line);return}let s=Object.create(null);Cr(s,i,o,e.line),t.push(s)}function Fr(e,t,n=!1){let r={text:e,pos:0,line:t,workflow:n,depth:0},i=e.startsWith(`{`)?Ar(r,`}`):e.startsWith(`[`)?Ar(r,`]`):Sr(r,`block`);if(g(r,Or)===null)throw new J(`unexpected ${yr(r)} after the value`,t);return i}function Ir(e,t){let n={text:e,pos:0,line:t},r=xr(n,`block`),i=n.pos;if(r===void 0||g(n,Dr)===null)return null;if(i>1024)throw new J(`a key longer than 1024 characters is written after "? "`,t);return{key:r,rest:e.slice(n.pos)}}var Lr=2**20,Rr=128;function zr(e){if(e.text.includes(` `))throw new J(`U+0009 is not allowed outside a block scalar`,e.number)}function Br(e,t){if(!e.startsWith(`&`))return{anchor:null,rest:e};let n=/^&([^ ,[\]{}]+)(?: +|$)/u.exec(e);if(n===null)throw new J(`expected an anchor's name, found ${a(e)}`,t);let r=e.slice(n[0].length);if(r.startsWith(`*`))throw new J(`an alias with an anchor is not supported`,t);return{anchor:n[1],rest:r}}function Vr(e,t,n){if(/^\*[^ ,[\]{}]+ *:(?: |$)/u.test(t))throw new J(`an alias as a key is not supported`,n);let r=/^\*([^ ,[\]{}]+)(?: +#.*| *)$/u.exec(t);if(r===null)throw new J(`unexpected ${a(t)} after an alias`,n);if(!e.anchors.has(r[1]))throw new J(`unknown alias ${a(`*${r[1]}`)}`,n);return e.aliased=!0,e.anchors.get(r[1])}function Hr(e,t=1){let n=e[0];for(let r=t;r<e.length;r++)if(n===`"`&&e[r]===`\\`)r++;else if(e[r]===n){if(n===`'`&&e[r+1]===`'`)r++;else return r}return-1}function Ur(e,t){let n=/ *$/u.exec(e).index,r=/\\*$/u.exec(e.slice(0,n))[0].length;return t&&r%2==1?n===e.length?{text:e.slice(0,-1),escaped:!0}:{text:e.slice(0,n+1),escaped:!1}:{text:e.slice(0,n),escaped:!1}}function Wr(e,t,n){let r=0,i=!1,a=``;for(let[o,s]of e.entries()){let c=o===e.length-1,l=o===0?s:s.replace(/^ +/u,``);if(o>0&&!c&&l===``){r++;continue}if(i&&r>0)throw new J(`an empty line after an escaped line break is not supported`,n);o>0&&(a+=r>0?`
7
+ `.repeat(r):i?``:` `);let u=c?{text:l,escaped:!1}:Ur(l,t);a+=u.text,r=0,i=u.escaped}return a}function Gr(e,t,n,r){let i=t[0]===`"`,o=[t.slice(1)],s=[n.number];for(let c=e.line;;c=e.advance()){if(c===void 0||e.isMarker(c))throw new J(`a quoted scalar that does not close`,n.number);zr(c),s.push(c.number);let l=Hr(`${t[0]}${c.text}`);if(l===-1){o.push(c.text);continue}if(o.push(c.text.slice(0,l-1)),!/^(?: +#.*| *)$/u.test(c.text.slice(l)))throw new J(`unexpected ${a(c.text.slice(l))} after the value`,c.number);if(e.advance(),i)for(let[e,t]of o.entries())r(t,s[e]);let u=Wr(o,i,n.number);return i?r(u,n.number):u.replaceAll(`''`,`'`)}}function Kr(e,t,n){if(/(?:^| )#/u.test(t))return t;let r=0,i=t.replace(/ +$/u,``);for(let t=e.line;t!==void 0;t=e.advance()){if(t.text===``){r++;continue}if(t.indent<=n||t.text.startsWith(`#`)||e.isMarker(t))break;if(zr(t),i+=`${r>0?`
8
+ `.repeat(r):` `}${t.text.replace(/ +$/u,``)}`,r=0,/ #/u.test(t.text)){e.advance();break}}return i}function qr(e,t,n){let r=n===`plain`;for(let i=0;i<e.length;i++){let a=e[i];if(a!==` `){if((a===`"`||a===`'`)&&n!==`plain`){let t=Hr(e.slice(i));if(t===-1)return{open:-1,kept:e,last:n,comment:!1};i+=t,n=`quoted`}else{if(a===`#`&&(i===0||e[i-1]===` `))return{open:t,kept:e.slice(0,i),last:n,comment:!0};if(a===`[`||a===`{`)t++,n=`open`;else if(a===`]`||a===`}`){if(n=`close`,--t===0)return{open:t,kept:e.slice(0,i+1),after:e.slice(i+1),last:n,comment:!1}}else if(a===`,`||a===`:`&&/^(?:[ ,[\]{}]|$)/u.test(e[i+1]??``)){if(a===`:`&&r)return{open:t,kept:e,last:n,comment:!1,keyed:!0};n=`indicator`}else n=`plain`}r&&=n===`plain`}}return{open:t,kept:e,last:n,comment:!1}}function Jr(e,t,n,r){let i=0,o=!1,s=null,c=!1,l=qr(t,0,null),u=null,d=``;for(let t=n;;){if(l.open===-1)throw new J(`a quoted scalar in a flow collection does not close on its line`,t.number);let f=l.kept.replace(/ +$/u,``);if(f!==``){let e=c&&!/^(?:[,\]}]|:(?:[ ,[\]{}]|$))/u.test(f);if(e&&o)throw new J(`a plain scalar in a flow collection goes on past a comment`,t.number);if(l.keyed||f.startsWith(`:`)&&!e&&(s===`plain`||s===`quoted`))throw new J(`a key over more than one line is not supported`,t.number);if(e&&u!==null&&zr(u),e&&t.indent<=r)throw new J(`bad indentation of a plain scalar in a flow collection`,t.number);d!==``&&(d+=e&&i>1?`
9
+ `.repeat(i-1):` `),d+=f,i=0,s=l.last,c=s===`plain`,o=!1,u=null}if(o||=c&&l.comment,l.after!==void 0){if(!/^(?: +#.*| *)$/u.test(l.after))throw new J(`unexpected ${a(l.after)} after the value`,t.number);return t!==n&&e.advance(),d}if(t=t===n?e.line:e.advance(),t===void 0||e.isMarker(t))throw new J(`a flow collection that does not close`,n.number);let p=/^[\t ]*$/u.test(t.text);!p&&!t.text.startsWith(`#`)?zr(t):p&&c&&!o&&t.text.includes(` `)&&(u??=t),i++,l=qr(p?``:t.text,l.open,c&&!o?`plain`:null)}}function Yr(e){let t=new Map,n=(e,r)=>{if(typeof e!=`object`||!e)return{size:1,height:0};if(r>Rr)throw new J(`aliases nest the document past ${Rr} levels`);let i=t.get(e);if(i===void 0){i={size:1,height:0};for(let t of Object.values(e)){let e=n(t,r+1);if(i.size+=e.size,i.height=Math.max(i.height,e.height+1),i.size>Lr)throw new J(`aliases expand the document past ${Lr} nodes`)}t.set(e,i)}if(r+i.height>Rr)throw new J(`aliases nest the document past ${Rr} levels`);return i};n(e,0)}var Xr=64,Zr=RegExp(`(?! )${p.source}`,`u`);function Qr(e){if(typeof e!=`object`||!e)throw TypeError(`expected an options object`);let t=Object.keys(e).find(e=>e!==`workflow`&&e!==`lines`);if(t!==void 0)throw TypeError(`unknown option ${t}`);let{workflow:n=!1,lines:r}=e;if(typeof n!=`boolean`)throw TypeError(`expected workflow to be a boolean`);if(r!==void 0&&!(r instanceof WeakMap))throw TypeError(`expected lines to be a WeakMap`);return{workflow:n,lines:r}}var $r=e=>e.indent===0&&/^(?:---|\.\.\.)(?: |$)/u.test(e.text);function ei(e,t={}){if(typeof e!=`string`)throw TypeError(`expected a string`);let n={text:e,pos:0,number:-1,line:void 0,...Qr(t),anchors:null,aliased:!1};n.workflow&&Object.assign(n,{advance:()=>Y(n),isMarker:$r}),Y(n);let r=[];ti(n);do r.push(ni(n));while(ti(n));return r}function ti(e){return X(e)!==void 0||e.line===void 0?!1:(Y(e),!0)}function ni(e){let t=X(e);if(t===void 0)throw new J(`empty document`,e.line?.number);if(t.indent!==0)throw new J(`the document does not start at column 0`,t.number);e.workflow&&Object.assign(e,{anchors:new Map,aliased:!1});let n=ii(e,0,0);if(e.aliased&&Yr(n),X(e)!==void 0)throw new J(`unexpected content after the document`,e.line.number);if(typeof n!=`object`||!n)throw new J(`the document is a lone scalar, not a mapping or a sequence`,t.number);return n}function Y(e){let{text:t,pos:n}=e;if(e.line=void 0,n>=t.length)return;let r=t.indexOf(`
10
+ `,n);r===-1&&(r=t.length),e.pos=r+1;let a=++e.number;if(t[r-1]===`\r`&&r--,r-n>y)throw new J(`line longer than ${y} characters`,a);let o=n;for(;t[o]===` `;)o++;let s=t.slice(o,r),c=(e.workflow?Zr:p).exec(s)?.[0];if(c!==void 0)throw new J(`${i(c)} is not allowed`,a);return e.line={indent:o-n,text:s,number:a},e.line}function X(e){let t=e.line;for(;t!==void 0&&(t.text===``||t.text[0]===`#`||e.workflow&&/^[\t ]*$/u.test(t.text));)t=Y(e);if(t!==void 0&&e.workflow&&zr(t),t?.indent!==0||!/^(?:---|\.\.\.(?: |$)|%)/u.test(t.text))return t;if(!/^--- *$/u.test(t.text))throw new J(t.text.startsWith(`---`)?`content on the document marker line`:`document end markers and directives are not supported`,t.number)}var Z=e=>/^-(?: |$)/u.test(e.text),ri=e=>/^[|>]/u.test(e);function ii(e,t,n){let r=X(e);if(n>Xr)throw new J(`nested too deep`,r.number);if(Z(r))return si(e,t,n);let i=r.text.startsWith(`? `)?void 0:gi(e,r);return i===null?(Y(e),e.workflow?pi(e,r.text,r.indent-1,n,r):Fr(r.text,r.number)):oi(e,t,n,i)}function ai(e,t,n,r){let i;for(i=X(e);i?.indent===t;i=X(e)){if(r?.(i))return;n(i)}if(i?.indent>t)throw new J(`bad indentation`,i.number)}function oi(e,t,n,r){let i=Object.create(null),o=e.lines&&new Map;e.lines?.set(i,o);let s=r;return ai(e,t,r=>{if(!r.text.startsWith(`? `)){let c=s??gi(e,r);if(s=void 0,c===null)throw new J(`expected a mapping key, found ${a(r.text)}`,r.number);Y(e),c.anchor&&e.anchors.set(c.anchor,c.key),Cr(i,c.key,ci(e,c.rest,t,n,r),r.number),o?.set(c.key,r.number);return}Y(e);let c=Fr(r.text.slice(2),r.number),l=X(e);if(l?.indent!==t||!/^:(?: |$)/u.test(l.text))throw new J(`expected ": " below the explicit key`,(l??r).number);Cr(i,c,li(e,l,t,n),r.number),o?.set(c,r.number)}),i}function si(e,t,n,r=!1){let i=[],o=e.lines&&[];return e.lines?.set(i,o),ai(e,t,r=>{if(!Z(r))throw new J(`expected "- ", found ${a(r.text)}`,r.number);o?.push(r.number),i.push(li(e,r,t,n))},r?e=>!Z(e):void 0),i}function ci(e,t,n,r,i){if(e.workflow)return pi(e,t,n,r,i);if(ri(t))return ui(e,t,n,i);if(t!==``)return Fr(t,i.number);let a=X(e);if(a?.indent===n&&Z(a)&&!Z(i))throw new J(`a sequence under a key must be indented`,a.number);if(a===void 0||a.indent<=n)throw new J(`missing value`,i.number);return ii(e,a.indent,r+1)}function li(e,t,n,r){let i=/^[-:] *(?:#.*)?/u.exec(t.text)[0].length;if(e.workflow)return hi(e,t,n,r,i);let a=t.text.slice(i);return a===``||ri(a)?(Y(e),ci(e,a,n,r,t)):(e.line={...t,indent:t.indent+i,text:a},ii(e,t.indent+i,r+1))}function ui(e,t,n,r){let{folded:i,digit:a,chomp:o}=di(e,t,r),s=n+Number(a),c=a!==``,l=0,u=``,d=null;for(let t=e.line;t!==void 0&&(t.text===``||t.indent>n);t=Y(e)){if(c||(s=Math.max(s,t.indent)),c||=t.text!==``,t.text!==``&&t.indent<s)throw new J(`bad indentation in the block scalar`,t.number);let e=`${` `.repeat(Math.max(t.indent-s,0))}${t.text}`;if(e!==``){let t=/^[\t ]/u.test(e);u+=i?fi(l,d,t):`
11
+ `.repeat(l),u+=e,d=t}l=e===``?l+1:1}return o===`+`?u+`
12
+ `.repeat(l):o===`-`?u:u&&`${u}
13
+ `}function di(e,t,n){let r=e.workflow?/^([|>])(?:([1-9])([+-]?)|([+-])([1-9]?))?(?: +#.*| *)$/u.exec(t):/^\|([1-9]?)([+-]?)$/u.exec(t);if(r===null)throw new J(`unsupported block scalar ${a(t)}`,n.number);return e.workflow?{folded:r[1]===`>`,digit:r[2]??r[5]??``,chomp:r[3]||r[4]||``}:{folded:!1,digit:r[1],chomp:r[2]}}var fi=(e,t,n)=>t===null||t||n?`
14
+ `.repeat(e):e===1?` `:`
15
+ `.repeat(e-1);function pi(e,t,n,r,i){let{anchor:a,rest:o}=Br(t,i.number),s=mi(e,o.startsWith(`#`)?``:o,n,r,i);return a!==null&&e.anchors.set(a,s),s}function mi(e,t,n,r,i){if(t.startsWith(`*`))return Vr(e,t,i.number);if(ri(t))return ui(e,t,n,i);if(t.startsWith(`[`)||t.startsWith(`{`))return Fr(Jr(e,t,i,n),i.number,!0);let a=t.startsWith(`'`)||t.startsWith(`"`);if(a&&Hr(t)===-1)return Gr(e,t,i,br);if(t!==``)return Fr(a?t:Kr(e,t,n),i.number,!0);let o=X(e);return o?.indent===n&&Z(o)&&!Z(i)?si(e,n,r+1,!0):o===void 0||o.indent<=n?null:!Z(o)&&!o.text.startsWith(`? `)&&gi(e,o)===null?(Y(e),pi(e,o.text,n,r+1,o)):ii(e,o.indent,r+1)}function hi(e,t,n,r,i){let a=t.text.slice(i),{anchor:o,rest:s}=Br(a,t.number),c=t.indent+i;if(s!==``&&!s.startsWith(`#`)&&(Z({text:s})||s.startsWith(`? `))){if(o!==null)throw new J(`an anchor before a block on its own line is not supported`,t.number);return e.line={...t,indent:c,text:s},ii(e,c,r+1)}if(s!==``&&!s.startsWith(`#`)&&Ir(s,t.number)!==null)return e.line={...t,indent:c,text:a},ii(e,c,r+1);Y(e);let l=mi(e,s.startsWith(`#`)?``:s,n,r,t);return o!==null&&e.anchors.set(o,l),l}function gi(e,t){if(!e.workflow||!t.text.startsWith(`&`))return Ir(t.text,t.number);let{anchor:n,rest:r}=Br(t.text,t.number),i=Ir(r,t.number);return i&&{...i,anchor:n}}var Q=[`dependencies`,`devDependencies`,`optionalDependencies`];function _i(e,t,n){let[r,i]=[`dependencies`,`optionalDependencies`].map(r=>n(e[r],d(t,r))),a=Object.keys(i).find(e=>e in r);if(a!==void 0)throw new s(`listed under dependencies too`,d(d(t,`optionalDependencies`),a));return{dependencies:r,optionalDependencies:i}}function vi(e,t){let n=new Set,r=e=>{for(let t of Object.values(e))t.startsWith(`link:`)||n.add(t)};for(let t of e)r(t);for(let e of n)r(t[e].dependencies),r(t[e].optionalDependencies);return Object.keys(t).find(e=>!n.has(e))}function yi(e,t,{required:n=[`dependencies`],dev:r=[`devDependencies`],optional:i=[`optionalDependencies`]}={}){let a=(n,r)=>{let i=new Set,a=t=>{for(let n of Object.values(t))n.startsWith(`link:`)||i.add(e[n])};for(let e of Object.values(t))for(let t of n)a(e[t]);for(let e of i)for(let t of r)a(e[t]);return i},o=a([...n,...i],[`dependencies`,`optionalDependencies`]),s=a([...n,...r],[`dependencies`]),c=a(n,[`dependencies`]);return e=>({dev:!o.has(e),optional:!s.has(e),devOptional:!c.has(e)})}var bi=`(patch_hash=`;function xi(e){let t={start:e.length,peers:e.length};if(!e.endsWith(`)`))return t;let n=1;for(let t=e.length-2;t>=0;t--)if(e[t]===`(`)n--;else if(e[t]===`)`)n++;else if(n===0){if(!e.startsWith(bi,t+1))return{start:t+1,peers:t+1};let n=e.indexOf(`(`,t+2);return{start:t+1,peers:n===-1?e.length:n}}return t}function Si(e){if(typeof e!=`string`)throw TypeError(`expected a string`);return e.slice(0,xi(e).start)}function Ci(e,t,n){let r=[],[i,a]=[0,0];for(let o=0;o<e.length;o++){if(i===0&&(e[o]!==`(`||e[o+1]===`)`||e.startsWith(bi,o)))throw new s(`${u(t)} does not end in peers in parentheses`,n);e[o]===`(`&&i++===0?a=o+1:e[o]===`)`&&--i===0&&r.push(e.slice(a,o))}return r}function wi(e,t){let{start:n,peers:r}=xi(e),i;if(n<r){let a=e.slice(n,r);if(i=/^\(patch_hash=([\da-z]+)\)$/u.exec(a)?.[1],i===void 0)throw new s(`${u(a)} is not a patch hash`,t)}return{base:e.slice(0,n),patchHash:i,peers:Ci(e.slice(r),e,t)}}var Ti=e=>r(e,{padding:!1}),Ei=(e,t,n)=>l(()=>e===e.toLowerCase()&&n(e).length===t,()=>!1);function Di(e,t){let n=e.indexOf(`@`,1);if(n===-1||n===e.length-1)throw new s(`${u(e)} is not a key of the form name@version`,t);if(Si(e)!==e)throw new s(`${u(e)} carries a peer or patch suffix, which only a snapshot key does`,t);return{name:I(e.slice(0,n),t),ref:e.slice(n+1)}}var Oi=(e,t)=>/^[^:(]*@/u.test(e)?e:`${t}@${e}`;function ki(e,t){let n=j(e,t);if(n.startsWith(`file:`))L(n.slice(5),t);else if(!Ve(n))throw new s(`${u(n)} is not an http(s) URL or a file: path`,t);return n}var Ai=(e,t)=>e===``?`.`:L(e,t),ji=(e,t)=>A(e,`path`,t,(e,t)=>(Te(j(e,t).replace(/^\//u,``),t),e));function Mi(e,t){T(e,t,[`integrity`,`tarball`,`path`,`gitHosted`]);let{integrity:n,tarball:r}=e;if(n===void 0&&r===void 0)throw new s(`expected an integrity or a tarball`,t);return{type:`tarball`,integrity:A(e,`integrity`,t,ze),tarball:A(e,`tarball`,t,ki),path:ji(e,t),gitHosted:F(e.gitHosted,d(t,`gitHosted`))}}function Ni(e,t){T(e,t,[`type`,`repo`,`commit`,`path`]);let n=j(e.commit,d(t,`commit`));if(!ke(n))throw new s(`${u(n)} is not a full commit hash`,d(t,`commit`));return{type:`git`,repo:Ie(e.repo,d(t,`repo`)),commit:n,path:ji(e,t)}}function Pi(e,t){return T(e,t,[`type`,`directory`]),{type:`directory`,directory:Ai(e.directory,d(t,`directory`))}}var Fi=new Map([[void 0,Mi],[`git`,Ni],[`directory`,Pi]]);function Ii(e,t){let n=T(e,t),r=Fi.get(n.type);if(r===void 0)throw new s(`unsupported resolution type, ${S(n.type)}`,d(t,`type`));return r(n,t)}var Li=[`resolution`,`version`,`name`,`engines`,`cpu`,`os`,`libc`,`deprecated`,`hasBin`,`bundledDependencies`,`peerDependencies`,`peerDependenciesMeta`],Ri=[`dependencies`,`optionalDependencies`,`optional`,`transitivePeerDependencies`],zi=new Set([`bitbucket`,`catalog`,`custom`,`file`,`git`,`github`,`gitlab`,`http`,`https`,`jsr`,`link`,`npm`,`ssh`,`workspace`]);function Bi(e,t,n,r,i){let{type:a,tarball:o}=r,c=o?.startsWith(`file:`);if(be(t)){if(a!==`tarball`||r.integrity===void 0||c||r.gitHosted||r.path!==void 0)throw new s(`expected a registry tarball with an integrity, for the version ${u(t)}`,d(i,`resolution`));if(n.version!==void 0&&n.version!==t)throw new s(`expected the version in the key, ${u(t)}`,d(i,`version`));return o!==void 0&&Ue(o,e,t,d(d(i,`resolution`),`tarball`)),t}let l=/^([A-Za-z][\w+.-]*):/u.exec(t)?.[1];if(l===void 0)throw new s(`${u(t)} is neither a version nor a source`,i);if(l===`runtime`||!zi.has(l)&&be(t.slice(l.length+1)))throw new s(`${u(t)} is from a runtime or a named registry, which is not supported`,i);if(!(l===`file`?t===(a===`directory`?`file:${n.resolution.directory}`:o):a===`git`||a===`tarball`&&o!==void 0&&!c))throw new s(`${u(t)} is not where the resolution says the package comes from`,d(i,`resolution`));if(a===`directory`){if(n.version!==void 0)throw new s(`a directory has no version in the lockfile`,d(i,`version`));return}if(n.version===void 0)throw new s(`expected a version, for a package not from the registry`,i);return xe(n.version,d(i,`version`))}var Vi=(e,t)=>M(e,t,I);function Hi(e,t,n){T(t,n,Li);let{name:r,ref:i}=Di(e,n);if(t.name!==void 0&&t.name!==r)throw new s(`expected the name in the key, ${u(r)}`,d(n,`name`));let a=Ii(t.resolution,d(n,`resolution`)),o=t.bundledDependencies;return{name:r,version:Bi(r,i,t,a,n),resolution:a,engines:P(k(t.engines),d(n,`engines`)),os:A(t,`os`,n,M),cpu:A(t,`cpu`,n,M),libc:A(t,`libc`,n,M),deprecated:A(t,`deprecated`,n,j),hasBin:F(t.hasBin,d(n,`hasBin`)),bundledDependencies:o===void 0||o===!0?o:Vi(o,d(n,`bundledDependencies`)),peerDependencies:P(k(t.peerDependencies),d(n,`peerDependencies`),I),peerDependenciesMeta:Wi(t.peerDependenciesMeta,d(n,`peerDependenciesMeta`))}}var Ui=(e,t)=>(n,r)=>N(k(n),r,(n,r,i)=>(T(n,r,e),I(i,r),t(n,r))),Wi=Ui([`optional`],(e,t)=>({optional:F(e.optional,d(t,`optional`))}));function Gi(e,t,n,r,i){if(e.startsWith(`link:`))return`link:${Ee(n,Ai(e.slice(5),i))}`;let a=Oi(e,t);if(!(a in r))throw new s(`${u(e)} leads to ${u(a)}, which is not in snapshots`,i);return a}var Ki=(e,t,n)=>N(k(e),t,(e,t,r)=>{let i=j(e,t);if(i===`link:<root>`||i.startsWith(`link:<root>/`))throw new s(`${u(i)} leads into the package that asks for it, which is not supported`,t);return Gi(i,I(r,t),`.`,n,t)});function qi(e,t,n){return T(e,t,Ri),{..._i(e,t,(e,t)=>Ki(e,t,n)),optional:F(e.optional,d(t,`optional`)),transitivePeerDependencies:A(e,`transitivePeerDependencies`,t,Vi)??[]}}var Ji=e=>Ei(e,16,Ti)||Ei(e,16,n);function Yi(e){let t=e.indexOf(`@`,1);return t===-1?``:e.slice(0,t)}function Xi(e){let t=l(()=>wi(e),()=>{});if(t===void 0)return;let n=t.patchHash===void 0?t.base:`${t.base}(patch_hash=${t.patchHash})`;if(t.peers.length===1&&Ji(t.peers[0]))return{unpeered:n,peers:void 0};let r=new Map(t.peers.map(e=>[Yi(e),e]));return r.size===t.peers.length?{unpeered:n,peers:r}:void 0}var Zi=32;function Qi(e,t,n,r=0){if(e===t)return!0;let[i,a]=[Xi(e),Xi(t)];if(r>Zi||i===void 0||a===void 0||i.unpeered!==a.unpeered)return!1;if(i.peers===void 0||a.peers===void 0)return!0;let{dependencies:o,optionalDependencies:s}=n[t];return[...i.peers].every(([e,t])=>{if(!a.peers.has(e))return!1;let i=o[e]??s[e];return i===void 0?t===a.peers.get(e):!i.startsWith(`link:`)&&Qi(t,i,n,r+1)})}function $i(e,t,n,r,i,a){if(e.length===0||e.length===1&&Ji(e[0]))return;let o=new Set,c=new Set;for(let[e,r]of Object.entries({...t.dependencies,...t.optionalDependencies})){if(r.startsWith(`link:`)){c.add(e);continue}o.add(r);let t=n.get(Si(r));t!==void 0&&(t.version===void 0?c.add(t.name):o.add(`${t.name}@${t.version}`))}let l=t.transitivePeerDependencies;for(let n of e){let e=Yi(n);if(e===``)throw new s(`${u(n)} is not a peer, as pnpm writes one in a key`,a);let d=!n.includes(`(`);if(o.has(n)||d&&c.has(e))continue;let f=d&&l.includes(e)&&!be(n.slice(e.length+1));if(!(l.length>0&&(r().has(n)||f))){if(d)throw ea(n,a);i.push({group:n,snapshot:t,where:a})}}}var ea=(e,t)=>new s(`the peer ${u(e)} is not one of its dependencies, nor a peer of theirs it resolves`,t);function ta(e,t){let n;for(let{group:r,snapshot:i,where:a}of e){let e=Object.values({...i.dependencies,...i.optionalDependencies}).filter(e=>!e.startsWith(`link:`)),o=Xi(r)?.unpeered;if(i.transitivePeerDependencies.includes(Yi(r))&&o!==void 0&&(n??=Map.groupBy(Object.keys(t),e=>Xi(e)?.unpeered),e.push(...n.get(o)??[])),!e.some(e=>Qi(r,e,t)))throw ea(r,a)}}function na(e,t,n){if(e.version===void 0&&[...t.keys()].some(t=>t.startsWith(`${e.name}@`)))throw new s(`a package of no version in the lockfile, which a patch of a version of ${u(e.name)} may be of`,n);let r=`${e.name}@${e.version}`;return e.version!==void 0&&t.has(r)?r:t.has(e.name)?e.name:void 0}function ra(e,t,n){let r=new Map,i=new Map,a=d(t,`packages`);for(let[t,n,o]of E(k(e.packages),a)){let e=Hi(t,n,o);r.set(t,e),n.version!==void 0&&t===`${e.name}@${e.version}`&&i.set(t,d(o,`version`))}let o=d(t,`snapshots`),c=T(k(e.snapshots),o),l,f=()=>l??=new Set([...Object.keys(c),...r.keys(),...[...r.values()].map(e=>`${e.name}@${e.version}`)]),p=new Set,m=new Set,h=[],g=N(c,o,(e,t,a)=>{let{base:o,patchHash:l,peers:d}=wi(a,t),g=r.get(o);if(g===void 0)throw new s(`${u(o)} is not in packages`,t);let _=na(g,n,t);_!==void 0&&m.add(_);let v=_===void 0?void 0:n.get(_).hash;if(v!==l){let e=_===void 0?`none, as patchedDependencies patches no such package`:`${u(v)}, of patchedDependencies[${u(_)}]`;throw new s(`expected the patch hash ${e}, found ${l===void 0?`none`:u(l)}`,t)}p.add(o),a.includes(`:`)&&i.delete(o);let y=qi(e,t,c);return $i(d,y,r,f,h,t),{...g,patchHash:l,...y}});ta(h,g);for(let e of r.keys())if(!p.has(e))throw new s(`no snapshot is of this package`,d(a,e));let _=[...n.keys()].find(e=>!m.has(e));if(_!==void 0)throw new s(`patches no package in the lockfile, which pnpm refuses to install with`,d(d(t,`patchedDependencies`),_));for(let e of i.values())throw new s(`a registry package has its version in its key, except where a snapshot of it has a source in its peers`,e);return{packages:g,snapshots:c}}var ia=[...Q,`dependenciesMeta`,`publishDirectory`,`linkDirectory`],aa=[`configDependencies`,`packageManagerDependencies`];function oa(e,t,n,r,i){let a=Object.create(null),o={specifiers:a},c=Object.create(null);for(let l of t)o[l]=N(k(e[l]),d(r,l),(e,t,r)=>{if(I(r,t),T(e,t,[`specifier`,`version`]),r in a)throw new s(`listed under ${c[r]} too`,t);a[r]=D(e.specifier,d(t,`specifier`)),c[r]=l;let o=d(t,`version`);return Gi(j(e.version,o),r,n,i,o)});return o}var sa=Ui([`injected`,`node`],(e,t)=>({injected:A(e,`injected`,t,O)??!1,node:A(e,`node`,t,j)}));function ca(e,t,n,r){if(T(e,n,ia),e.linkDirectory!==void 0&&e.linkDirectory!==!1)throw new s(`expected false, the only value pnpm writes`,d(n,`linkDirectory`));return{...oa(e,Q,t,n,r),dependenciesMeta:sa(e.dependenciesMeta,d(n,`dependenciesMeta`)),publishDirectory:A(e,`publishDirectory`,n,L),linkDirectory:e.linkDirectory!==!1}}function la(e,t,n,r){let i=N(e,t,(e,t,i)=>{if(L(i,t),!r)return ca(e,i,t,n);if(i!==`.`)throw new s(`the env document has no importer but "."`,t);return T(e,t,aa),oa(e,aa,i,t,n)});if(r&&!(`.`in i))throw new s(`expected the "." importer`,t);return i}var ua=[`lockfileVersion`,`settings`,`catalogs`,`overrides`,`patchedDependencies`,`packageExtensionsChecksum`,`pnpmfileChecksum`,`ignoredOptionalDependencies`,`time`,`importers`,`packages`,`snapshots`],da=[`lockfileVersion`,`importers`,`packages`,`snapshots`],fa={__proto__:null,autoInstallPeers:O,dedupePeers:O,excludeLinksFromLockfile:O,injectWorkspacePackages:O,peersSuffixMaxLength:ie},pa=(e,t)=>N(T(k(e),t,Object.keys(fa)),t,(e,t,n)=>fa[n](e,t)),ma=(e,t)=>N(k(e),t,(e,t,n)=>(j(n,t),Ui([`specifier`,`version`],(e,t)=>({specifier:D(e.specifier,d(t,`specifier`)),version:j(e.version,d(t,`version`))}))(e,t)));function ha(e,t){if(e.indexOf(`@`,1)===-1)return I(e,t);if(!be(Di(e,t).ref))throw new s(`${u(e)} is not a name and a version, or a name alone, which is not supported`,t)}var ga=(e,t)=>N(k(e),t,(e,t,r)=>{let i=typeof e!=`string`;i&&T(e,t,[`hash`,`path`]);let a=i?d(t,`hash`):t,o=j(i?e.hash:e,a);if(!Ei(o,32,n)&&!Ei(o,16,Ti))throw new s(`${u(o)} is not a patch hash`,a);return ha(r,t),{hash:o,path:i?L(e.path,d(t,`path`)):void 0}});function _a(e,t){let r=j(e,t);if(Ei(r,16,n)||Ei(r,16,Ti))return r;if(!r.startsWith(`sha256-`))throw new s(`${u(r)} is not a checksum`,t);return ze(r,t)}var va=/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.\d+)?Z$/u,ya=(e,t,n)=>N(k(e),t,(e,t,r)=>{if(!(r in n))throw new s(`${u(r)} is not in packages`,t);let i=j(e,t),a=va.test(i)?Date.parse(i):NaN;if(Number.isNaN(a)||new Date(a).toISOString().slice(0,19)!==i.slice(0,19))throw new s(`${u(i)} is not a UTC timestamp`,t);return i});function ba(e,t,n,r){let i=vi(Object.values(e).flatMap(e=>r.map(t=>e[t])),t);if(i!==void 0)throw new s(`no importer depends on it, directly or not`,d(d(n,`snapshots`),i))}function xa(e,t,n){let r=yi(t,e,n?{required:aa,dev:[],optional:[]}:void 0);for(let e of Object.values(t)){let{dev:t,devOptional:n}=r(e);Object.assign(e,{dev:t,devOptional:n})}}function Sa(e,t,n){let r=t===``?void 0:t,i=T(e,r).lockfileVersion;if(i!==`9.0`)throw new s(`unsupported version: expected "9.0", found ${S(i)}`,d(t,`lockfileVersion`));T(e,r,n?da:ua);let a=ga(e.patchedDependencies,d(t,`patchedDependencies`)),{packages:o,snapshots:c}=ra(e,t,new Map(Object.entries(a))),l=la(e.importers,d(t,`importers`),c,n);return ba(l,o,t,n?aa:Q),xa(l,o,n),n?{lockfileVersion:i,importers:l,packages:o}:{lockfileVersion:i,settings:pa(e.settings,d(t,`settings`)),catalogs:ma(e.catalogs,d(t,`catalogs`)),overrides:P(k(e.overrides),d(t,`overrides`),j),patchedDependencies:a,packageExtensionsChecksum:A(e,`packageExtensionsChecksum`,t,_a),pnpmfileChecksum:A(e,`pnpmfileChecksum`,t,_a),ignoredOptionalDependencies:A(e,`ignoredOptionalDependencies`,t,M)??[],time:ya(e.time,d(t,`time`),k(e.packages)),importers:l,packages:o}}function Ca(e){if(typeof e!=`string`)throw TypeError(`expected a string`);let t=/^---\r?\n/u.exec(e)?.[0];if(t===void 0){let t=ei(e);if(t.length!==1)throw new s(`expected one document, found ${t.length}`);return{lockfile:Sa(t[0],``,!1),env:void 0}}let n=/\n---\r?\n/gu;n.lastIndex=t.length;let r=n.exec(e);if(r===null)throw new s(`expected the env document the first "---" starts to end at a line of "---"`);let i=/^(?: *\r?\n)* *$/u.test(e.slice(n.lastIndex)),a=ei(i?e.slice(0,r.index+1):e);if(a.length!==(i?1:2))throw new s(`expected the env document${i?``:` and the lockfile`} between lines of "---" alone, found ${a.length} documents`);return{lockfile:i?void 0:Sa(a[1],``,!1),env:Sa(a[0],`env`,!0)}}var wa=[`name`,`version`,`uid`,`resolved`,`integrity`,`dependencies`,`optionalDependencies`];function Ta(e,t){let n=e.indexOf(`@`,1);if(n===-1)throw new s(`${u(e)} is not a pattern of the form name@range`,t);return{name:I(e.slice(0,n),t),range:e.slice(n+1)}}function Ea(e){if(!e.startsWith(`npm:`))return;let t=e.slice(4),n=t.indexOf(`@`,1);return n===-1?{name:t,range:``}:{name:t.slice(0,n),range:t.slice(n+1)}}var Da=new Set([`github.com`,`gitlab.com`,`bitbucket.com`,`bitbucket.org`]);function Oa(e){if(/^(?:git:|git\+.+:|ssh:|https?:.+\.git(?:$|#.))/u.test(e))return!0;let t=URL.parse(e);return t!==null&&Da.has(t.hostname)&&`${t.pathname}${t.search}`.split(`/`).filter(Boolean).length===2}var ka=/^[^:@%/\s.-][^:@%/\s]*\/[^:@\s/%][^:@\s/%#]*(?:#.*)?$/u;function Aa(e){return Oa(e)?`git`:/^https?:\/\//u.test(e)||!e.includes(`@`)&&/\.(?:tgz|tar\.gz)$/u.test(e)?`tarball`:e.startsWith(`github:`)||ka.test(e)?`github`:/^(?:file:|\.{1,2}\/|\/)/u.test(e)?`file`:/^(link|gitlab|gist|bitbucket):/u.exec(e)?.[1]??`registry`}var ja={github:{host:`github.com`,archive:e=>[`https://codeload.github.com/${e}/tar.gz/`,``]},gitlab:{host:`gitlab.com`,archive:e=>[`https://gitlab.com/${e}/repository/archive.tar.gz?ref=`,``]},bitbucket:{host:`bitbucket.org`,archive:e=>[`https://bitbucket.org/${e}/get/`,`.tar.gz`]}};function Ma(e){let t=e.split(`@`),n=(t.length>2?`${t[1]}@${t[2]}`:e).replace(/#.*/u,``).replace(/^.*:/u,``).replace(/.git$/u,``).split(`/`);return n.length<2?void 0:n.slice(-2).join(`/`)}function Na(e){let t=e.replace(/^(?:file|link):/u,``);return t.startsWith(`/`)?`/${t.split(`/`).filter(e=>e!==``&&e!==`.`).join(`/`)}`:De(`.`,t)}function Pa(e,t,n){let r=xe(e,t);if(n!==void 0&&n.valid(r)===null)throw new s(`${u(r)} is not a version semver reads`,t);return r}function Fa(t,r,i,a,o){if(t.startsWith(`file:`))L(t.slice(t.startsWith(`file:./`)?7:5),a);else if(!Ve(t))throw new s(`${u(t)} is not an http(s) URL, a file: path or a git URL`,a);if(r!==void 0&&!Ae(r))throw new s(`${u(r)} is not the hex sha1 of a tarball`,a);let c=i===void 0?void 0:Be(i,o).get(`sha1`);if(r!==void 0&&c!==void 0&&c.slice(5)!==e(n(r)))throw new s(`${u(c)} is not the sha1 after the "#" of resolved`,o);return{type:`tarball`,tarball:t,sha1:r,integrity:i}}function Ia(e,t){let n=d(t,`resolved`),r=d(t,`integrity`);if(e.resolved===void 0){if(e.integrity!==void 0)throw new s(`an integrity, with nothing resolved`,r);return}let[i,a,...o]=j(e.resolved,n).split(`#`);if(o.length>0)throw new s(`more than one "#", of which yarn reads the first alone`,n);if(!Oa(i))return Fa(i,a,e.integrity,n,r);if(e.integrity!==void 0)throw new s(`an integrity, which yarn does not check for a git repository`,r);if(a===void 0||!ke(a))throw new s(`expected a full commit hash after the "#" of ${u(i)}`,n);return{type:`git`,repo:Ie(i,n),commit:a}}function La(e){if(e!==void 0)return e.type===`git`?`${e.repo}#${e.commit}`:e.tarball.replace(/^file:\.\//u,`file:`)}var Ra=e=>e===void 0?`nothing, as for a directory`:e.type===`git`?`a git repository`:`a file: tarball`;function za(e,t,n){let[r]=e,i=e.find(e=>e.name!==r.name);if(i!==void 0)throw new s(`${u(r.key)} and ${u(i.key)} give it two names, of which yarn installs it under one alone`,n);if(t.name!==void 0){let e=D(t.name,d(n,`name`)),i=e===r.name?`the name its patterns give, which yarn does not write`:`yarn installs this as ${u(e)}, and leaves ${u(r.name)} out, which its patterns ask for`;throw new s(i,d(n,`name`))}let a=e.filter(e=>e.source===`registry`).map(({key:e,name:t,alias:r})=>[e,r===void 0?t:I(r.name,n)]),o=a.find(([,e])=>e!==a[0][1]);if(o!==void 0)throw new s(`${u(a[0][0])} and ${u(o[0])} ask for two packages, ${u(a[0][1])} and ${u(o[1])}`,n);return a[0]?.[1]}function Ba({range:e,source:t},n){let r=e.split(`#`)[0];if(t===`file`||t===`link`)return n===void 0;if(t===`tarball`)return n?.tarball===r;if(t===`git`)return n?.repo===r;if(t===`gist`)return n?.repo===`https://gist.github.com/${r.slice(5)}.git`;let{host:i,archive:a}=ja[t],o=Ma(e);if(o===void 0||n===void 0)return!1;if(n.type===`git`)return n.repo===`git+ssh://git@${i}/${o}.git`;let[s,c]=a(o),{tarball:l}=n;return l.startsWith(s)&&l.endsWith(c)&&ke(l.slice(s.length,l.length-c.length))}function Va(e,t){let[n,...r]=e.filter(e=>e.source===`file`||e.source===`link`),i=r.find(e=>n.source===`link`||e.source===`link`||Na(e.range)!==Na(n.range));if(i!==void 0)throw new s(`${u(n.key)} and ${u(i.key)} share an entry, where yarn writes one for each`,t)}function Ha(e,t,{asks:n,version:r},i){let a=e.filter(e=>e.source!==`registry`),o=a.find(e=>!Ba(e,t));if(o!==void 0)throw new s(`${u(o.key)} resolves to another source than it names`,d(i,`resolved`));Va(e,i);let c=e.find(e=>e.source===`registry`);if((a.length===0||a.some(e=>e.source===`tarball`))&&t?.type===`tarball`&&t.sha1===void 0&&t.integrity===void 0)throw new s(`a tarball with no hash, neither a sha1 after "#" nor an integrity, where yarn writes the sha1`,d(i,`resolved`));if(c!==void 0){if(a.length>0)return{registry:c.key,sources:a.map(e=>e.key)};if(t===void 0&&e.length===1)return{registry:c.key,sources:[]};if(t?.type!==`tarball`||t.tarball.startsWith(`file:`))throw new s(`${u(c.key)} asks for the registry, and resolves to ${Ra(t)}`,i);Ue(t.tarball,n,r,d(i,`resolved`))}}function Ua(e,t,n){let r=Object.create(null);for(let[i,a,o]of E(k(e),t)){let e=`${I(i,o)}@${D(a,o)}`;r[i]=e,n.push({targets:r,name:i,range:a,pattern:e,where:o})}return r}function Wa({keys:e,fields:t},n,r){T(t,n,wa);let i=e.map(e=>{let{name:t,range:n}=Ta(e,d(``,e));return{key:e,name:t,range:n,source:Aa(n),alias:Ea(n)}}),a=za(i,t,n),o=Pa(t.version,d(n,`version`),r),c=Ia(t,n),l=Ha(i,c,{asks:a,version:o},n),u=[],{dependencies:f,optionalDependencies:p}=_i(t,n,(e,t)=>Ua(e,t,u)),m=A(t,`uid`,n,D);if(m===o)throw new s(`the version, which yarn does not write as a uid`,d(n,`uid`));return{pkg:{patterns:e,name:i[0].name,version:o,uid:m,resolution:c,dependencies:f,optionalDependencies:p},patterns:i,handed:l,requests:u}}var Ga=/^(?![vV=]?\d|[xX*](?:\.|$))[A-Za-z][\w.-]*$/u;function Ka(e,t){return t===void 0?!/[:/@#]/u.test(e)&&!Ga.test(e):t.validRange(e)!==null}function qa(e,t,n,r,i){let a=e=>e.source===`registry`&&Ka(e.range,r),o=t.find(a)??n.patterns.find(a);if(o!==void 0)throw new s(`is ${e.name} ${e.version}, as ${u(n.key)} is, and yarn gives ${u(o.key)} whichever it resolves first`,i)}var Ja=({integrity:e})=>e===void 0?new Map:Be(e),Ya=e=>JSON.stringify(Object.entries(e).sort(([e],[t])=>e<t?-1:1));function Xa(e,t,n,r){for(let i of[`dependencies`,`optionalDependencies`])if(Ya(e[i])!==Ya(t[i]))throw new s(`other ${i} ${n}`,d(r,i))}function Za(e,t,n){let r=`than ${u(t.patterns[0])}, of the same ${e.resolution.type===`git`?`commit`:`tarball`}`;if(e.version!==t.version)throw new s(`another version ${r}`,d(n,`version`));Xa(e,t,r,n);let[i,a]=[e.resolution,t.resolution];if(i.sha1!==void 0&&a.sha1!==void 0&&i.sha1!==a.sha1)throw new s(`another sha1 ${r}`,d(n,`resolved`));let o=Ja(a);for(let[e,t]of Ja(i))if(o.has(e)&&o.get(e)!==t)throw new s(`another ${e} integrity ${r}`,d(n,`integrity`))}function Qa(e,t){let n=Object.create(null),r=[],i=[],a=[],o=new Map,c=new Map,l=new Map;for(let f of e){let[e]=f.keys,p=d(``,e),m=Wa(f,p,t),{pkg:h}=m;for(let e of f.keys)n[e]=h;r.push(...m.patterns),i.push(...m.requests),m.handed!==void 0&&a.push({pkg:h,...m.handed});let g=m.patterns.find(e=>e.source===`file`),_=f.fields.resolved??(g===void 0?void 0:`
16
+ ${Na(g.range)}`),v=_===void 0?void 0:`${h.name}
17
+ ${_}`;if(o.has(v))throw new s(`resolves as ${u(o.get(v))} does, which yarn writes as one entry`,p);v!==void 0&&o.set(v,e);let y=La(h.resolution);if(y!==void 0){let e=c.get(y)??c.set(y,[]).get(y);e.length>0&&Za(h,e[0],p),e.push(h)}if(m.handed?.sources.length===0)continue;let b=`${h.name}
18
+ ${h.version}`,x=l.get(b);x===void 0?l.set(b,{key:e,patterns:m.patterns}):qa(h,m.patterns,x,t,p)}for(let e of a)e.other=c.get(La(e.pkg.resolution))?.find(t=>t!==e.pkg);return{packages:n,patterns:r,requests:i,mixed:a}}var $=`manifests`;function $a(e,t,n){let r=/^(?:file|link):/u.exec(e)?.[0];if(r===void 0&&!e.startsWith(`/`))return e;let i=e.slice(r?.length??0);if(i.startsWith(`/`)||/^[A-Za-z]:/u.test(i))throw new s(`${u(e)} is an absolute path`,n);let a=L(De(t,i),n);return`${r}${a!==`.`&&/^\.(?:\/|$)/u.test(i)&&!/^\.{0,2}\//u.test(a)?`./`:``}${a}`}var eo=(e,t,n)=>n===void 0?e.version===t||void 0:n.satisfies(e.version,t,{loose:!0});function to({name:e,range:t,pattern:n,where:r},i,a){let o=i.get(e);if(o!==void 0&&eo(o,t,a)===!0)throw new s(`${u(n)} is satisfied by the workspace ${u(o.dir)}, which yarn links instead`,r)}function no({name:e,range:t,pattern:n,where:r},i,a){let o=i?.get(e);if(o===void 0)throw new s(`${u(n)} is not a pattern of the lockfile${i===void 0?`, nor a workspace's, as only the manifests may say`:``}`,r);if(eo(o,t,a)===!1)throw new s(`${u(n)} is not a pattern of the lockfile, nor satisfied by the workspace ${u(o.dir)}, ${o.version}`,r);return`link:${o.dir}`}function ro(e,t,n,r){for(let i of e)i.pattern in t||(i.targets[i.name]=no(i,n,r))}function io(e,{packages:t,workspaces:n,semver:r}){return e.pattern in t?(to(e,n,r),e.pattern):no(e,n,r)}var ao=[`optionalDependencies`,`dependencies`,`devDependencies`];function oo(e,t,n,r){let i=new Map,a=new Map;for(let t of ao)for(let[r,o,s]of E(k(e[t]),d(n,t))){if(r===`//`)continue;let e=D(o,s);i.has(r)||i.set(r,{kind:t,value:e,here:s}),!a.has(r)&&e!==``&&e!==`*`&&a.set(r,e)}let o=Object.create(null);for(let e of Q)o[e]=Object.create(null);for(let[e,{kind:n,value:s,here:c}]of i){let i=$a(a.get(e)??s,t,c);o[n][e]=io({name:e,range:i,pattern:`${I(e,c)}@${i}`,where:c},r)}return o}function so(e,t,n){let r=[];for(let[i,a,o]of E(k(e),t)){if(i===`//`)continue;if(/\/$|\/\/|\*$/u.test(i))throw new s(`${u(i)} is a path yarn ignores`,o);let e=i.match(/(?:@[^/]+\/)?[^/]+/gu)??[i],t=zt(e.length===1?`**/${i}`:i,o),c=I(e.at(-1),o),l=e.slice(0,-1).find(e=>e!==`**`&&!ge(e.replaceAll(/[*?]/gu,`x`)));if(l!==void 0)throw new s(`${u(l)} is not a package name, or a glob of one`,o);let d=D(a,o);if(Aa(d)===`registry`&&!Ka(d,n))throw new s(`${u(d)} is a range yarn ignores in a resolution: neither a semver range nor a source`,o);r.push({path:i,tests:t,name:c,range:d,pattern:`${c}@${d}`,where:o})}return r}function co(e,t,n){let r=Object.values(e).flatMap(e=>Q.map(t=>e[t])),i=vi([n.map(e=>e.pattern).filter(e=>e in t),...r],t);if(i!==void 0)throw new s(`nothing asks for it: no manifest, no package and no resolution`,d(``,i))}function lo(e,t){let n=e.workspaces;if(n===void 0)return[];let r=d(t,`workspaces`),i=n;Array.isArray(n)||(T(n,r,[`packages`,`nohoist`]),A(n,`nohoist`,r,M),i=n.packages===void 0?[]:n.packages,r=d(r,`packages`));let a=M(i,r);if(a.length>0&&e.private!==!0)throw new s(`expected true, as yarn has workspaces in a private project alone`,d(t,`private`));return a.map((e,t)=>zt(e.replace(/^(?:\.\/)+/u,``).replace(/(?<!\/)\/+$/u,``),`${r}[${t}]`))}var uo={__proto__:null,depdenencies:`dependencies`,dependancies:`dependencies`,dependecies:`dependencies`,depends:`dependencies`,"dev-dependencies":`devDependencies`,devDependences:`devDependencies`,devDepenencies:`devDependencies`,devEependencies:`devDependencies`,devdependencies:`devDependencies`},fo=/^[\s\dA-Za-z.+=-]{1,256}$/u;function po(e,t,n){let r=j(e,t);if(!fo.test(r))throw new s(`${u(r)} is not a version`,t);if(n===void 0)return r;let i=n.clean(r,{loose:!0});if(i===null)throw new s(`${u(r)} is not a version semver reads`,t);return i}function mo(e,t,n,r,i){for(let e of Object.keys(uo))if(Object.hasOwn(t,e))throw new s(`a field yarn does not read, for ${u(uo[e])}`,d(n,e));if(L(e,n)===`.`)return;if(r.length===0)throw new s(`expected workspaces, as there are manifests of workspaces`,d(d($,`.`),`workspaces`));if(e.split(`/`).includes(`node_modules`)||!r.some(t=>Ut(t,e)))throw new s("not a workspace the root's `workspaces` finds",n);if(t.resolutions!==void 0)throw new s(`a workspace's, which yarn does not read`,d(n,`resolutions`));let a=d(n,`name`),o=I(D(t.name,a),a);if(t.version===void 0)throw new s(`expected a version, without which yarn ignores the workspace`,d(n,`version`));return{name:o,dir:e,version:po(t.version,d(n,`version`),i)}}function ho(e,t,n,r){T(e,$);let i=d($,`.`),a=e[`.`];if(a===void 0)throw new s(`expected the manifest beside the lockfile, "."`,$);let o=lo(T(a,i),i),c=new Map;for(let[t,n,i]of E(e,$)){let e=mo(t,T(n,i),i,o,r);if(e!==void 0){if(c.has(e.name))throw new s(`the name of the workspace ${u(c.get(e.name).dir)} too`,d(i,`name`));c.set(e.name,e)}}for(let e of n)e.pattern in t&&to(e,c,r);ro(n,t,c,r);let l={packages:t,workspaces:c,semver:r},f=N(e,$,(e,t,n)=>oo(e,n,t,l)),p=so(a.resolutions,d(i,`resolutions`),r);for(let e of p){if(!(e.pattern in t)&&!c.has(e.name))throw new s(`${u(e.pattern)} is not a pattern of the lockfile, where yarn records every resolution's`,e.where);e.target=io(e,l)}return co(f,t,p),{importers:f,workspaces:c,rules:p,aggregated:Array.isArray(a.workspaces?.packages??a.workspaces)}}var go=`workspace-aggregator-00000000-0000-0000-0000-000000000000`;function _o(e,{importers:t,workspaces:n,rules:r,aggregated:i},a){let o=r.map(e=>e.tests),c=(e,t)=>t.split(`/`).reduce((e,t)=>e.map((e,n)=>Vt(o[n],e,t)),e),l=n=>n.startsWith(`link:`)?t[n.slice(5)]:e[n],f=(e,n,r,i)=>{let a=e.patterns===void 0?d($,Object.keys(t).find(n=>t[n]===e)):d(``,e.patterns[0]);return new s(`${u(e[n][r])} ${i}`,d(d(a,n),r))},p=new Map,m=[],h=new Set,g=new Map,_=(e,t,n,r)=>{let i=e[t][n],a=r===void 0||r.pattern===i,o=a?g.get(i):h.has(i)?r:void 0;if(o!==void 0)throw f(e,t,n,`is asked for both where the resolution ${u(o.path)} applies and where none does, and yarn writes one entry for both`);a?h.add(i):g.set(i,r)},v=new Set,y=(e,t)=>{if(v.has(e))return;let n=p.get(e)??new Set,r=t.join();n.has(r)||(p.set(e,n.add(r)),m.push([e,t]))},b=t[`.`],x=o.map(e=>Bt(e,1)),ee=c(x,go),te=new Map,S=[],ne=(t,n)=>e[t.target]===n||a.get(n)?.sources[0]===t.target,C=(t,s,d,p)=>{let m=t[s][d],h=c(p,d),g=e[m],v=a.get(g),x=v===void 0?``:`the resolution ${u(v.rule.path)} resolves to`,C=t===b&&(!i||n.has(d)),w=t===b&&!C?c(ee,d):h,T=r.find((e,t)=>e.name===d&&Ht(o[t],w[t]));if(C){if(v!==void 0)throw f(t,s,d,`is given what ${x}, which yarn applies to no dependency of the root's own`);if(T!==void 0&&!ne(T,g))throw f(t,s,d,`is not given ${u(T.pattern)} as the resolution ${u(T.path)} says, which yarn ignores for the root's own dependencies`);return _(t,s,d,void 0),y(l(m),h)}if(T!==void 0&&!ne(T,g))throw f(t,s,d,`is not given ${u(T.pattern)}, which the resolution ${u(T.path)} resolves it to`);if(v?.sources.includes(m))throw f(t,s,d,`asks for what ${x}, as a dependency of its own`);if(v!==void 0&&!v.sources.includes(T?.target))throw f(t,s,d,`is given what ${x}, which yarn does not apply to it here`);_(t,s,d,T),t===b&&T!==void 0&&te.set(m,T),T===void 0?y(l(m),h):T.target.startsWith(`link:`)&&S.push([t[s],d,T.target])},w=()=>{for(;m.length>0;){let[e,t]=m.pop();for(let n of Q)for(let r of Object.keys(k(e[n])))C(e,n,r,t)}};for(let t of r)t.pattern in e&&(h.add(t.pattern),y(e[t.pattern],c(x,t.name)));w(),v=new Set(p.keys());for(let e of Q)for(let t of Object.keys(b[e]))C(b,e,t,x);for(let[e,{dir:r}]of n)y(t[r],c(ee,e));w();for(let[e,t,n]of S)e[t]=n;return{plain:h,own:te}}function vo(e,t,n,r,i){for(let{key:a,range:o,source:c,alias:l}of t){let t=n?.own.get(a);if(c!==`registry`||t===void 0&&n?.plain.has(a)===!1)continue;let f=l?.range??o,{version:p}=e[a];if(f===``||r.satisfies(p,f)||r.validRange(f)===null)continue;let m=i?`and no resolution gives it`:`which only a resolution may excuse, as the manifests would say`;throw t!==void 0&&(m=`which the root asks for before the resolution ${u(t.path)} applies, so yarn takes it as outdated`),new s(`${p} does not satisfy ${u(f)}, ${m}`,d(``,a))}}function yo(e,t,n){let r=t?.workspaces.get(e.name);if(r===void 0)return;let i=t.rules.find(e=>e.target===`link:${r.dir}`);if(i===void 0)return;let a=`than the workspace ${u(r.dir)}, which the resolution ${u(i.path)} gives it`;if(e.version!==r.version)throw new s(`another version ${a}, ${r.version}`,d(n,`version`));return Xa(e,t.importers[r.dir],a,n),i}function bo({packages:e,patterns:t,mixed:n},r,i){let a=new Map;for(let{pkg:e,registry:t,sources:i,other:o}of n){let n=d(``,e.patterns[0]);if(i.length===0){let i=yo(e,r,n);if(i===void 0)throw new s(`${u(t)} asks for the registry, and resolves to nothing, ${r===void 0?`which only a resolution to a workspace may, as the manifests would say`:`as for a directory`}`,n);a.set(e,{sources:[i.target],rule:i});continue}if(r===void 0)throw new s(`${u(t)} asks for the registry, and is given what ${u(i[0])} names, which only a resolution may, as the manifests would say`,n);let c=i.find(e=>!r.rules.some(t=>t.pattern===e));if(c!==void 0)throw new s(`${u(t)} asks for the registry, and is given what ${u(c)} names, which no resolution does`,n);let l=r.rules.find(e=>i.includes(e.pattern));if(o!==void 0)throw new s(`asks for what the resolution ${u(l.path)} resolves to, as a dependency of its own`,d(``,o.patterns[0]));a.set(e,{sources:i,rule:l})}let o=r!==void 0&&r.rules.length>0?_o(e,r,a):void 0;i!==void 0&&vo(e,t,o,i,r!==void 0);for(let[t,{sources:n}]of a)n[0].startsWith(`link:`)&&delete e[t.patterns[0]]}var xo=[`# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.`,`# yarn lockfile v1`],So=/^# yarn lockfile v(\d+)$/u,Co=/[:\s\\",[\]]/u,wo=e=>e.startsWith(`true`)||e.startsWith(`false`)||Co.test(e)||!/^[A-Za-z]/u.test(e),To=/[A-Za-z][^\s:\\",[\]]*/uy;function Eo(e,t,n){let[r,a]=ee(e,t,n);if(r.includes(`\\"`))throw f(`${u(r)} is a string yarn reads to another quote`,n);let o=p.exec(r)?.[0];if(o!==void 0)throw f(`an escape for ${i(o)}, which is not allowed`,n);if(!wo(r))throw f(`${u(r)} is quoted, where yarn writes it bare`,n);return[r,a]}function Do(e,t,n){if(e[t]===`"`)return Eo(e,t,n);To.lastIndex=t;let r=To.exec(e)?.[0];if(r===void 0)throw f(`expected a string, found ${_(e,t)}`,n);if(wo(r))throw f(`${u(r)} is bare, where yarn quotes it`,n);return[r,t+r.length]}function Oo(e,t,n){let[r,i]=Do(e,t,n);if(r===``)throw f(`an empty key, which yarn does not read`,n);return[r,i]}function ko(e,t,n){let[r,i]=Do(e,t,n);if(r.startsWith(`null`)&&e[t]!==`"`)throw f(`${u(r)} is bare, and read as null by some readers`,n);return Ao(e,i,n),r}function Ao(e,t,n){if(t!==e.length)throw f(`expected the end of the line, found ${u(e.slice(t))}`,n)}function jo(e,t){if(e.line!==t)throw f(`expected yarn's header, ${u(t)}`,e.number);x(e)}function Mo(e){jo(e,xo[0]);let t=So.exec(e.line??``)?.[1];if(t!==void 0&&t!==`1`)throw f(`unsupported version: expected "1", found ${u(t)}`,e.number);for(jo(e,xo[1]);e.line?.startsWith(`#`);x(e)){if(/^yarn lockfile v\d+$/u.test(e.line.slice(1).trim()))throw f(`a second lockfile version`,e.number);if(e.line===`#`)throw f(`a comment of "#" alone, which @yarnpkg/parsers does not read`,e.number)}}function No(e,t,n,r,i){let a=Object.create(null);for(let n=e.line;n?.startsWith(` `)&&v(n)>t-2;n=e.line){if(v(n)!==t)throw f(`expected ${t} spaces of indentation, found ${v(n)}`,e.number);let[r,o]=Oo(n,t,e.number);i(a,r,o,n,e.number)}if(Object.keys(a).length===0)throw f(n,r);return a}var Po=(e,t,n)=>No(e,4,`expected what ${u(t)} holds below it`,n,(n,r,i,a,o)=>{if(a[i]!==` `)throw f(`expected a space and a range after ${u(r)}`,o);let s=ko(a,i+1,o);if(r in n)throw f(`${u(r)} is in ${u(t)} twice`,o);n[r]=s,x(e)}),Fo=(e,t)=>No(e,2,`expected the fields of the entry below it`,t,(t,n,r,i,a)=>{if(n in t)throw f(`the field ${u(n)} twice`,a);if(i[r]===`:`){Ao(i,r+1,a),x(e),t[n]=Po(e,n,a);return}if(i[r]!==` `)throw f(`expected a space and a value, or ":", after ${u(n)}`,a);t[n]=ko(i,r+1,a),x(e)});function Io(e,t){let{line:n,number:r}=e,i=[];for(let e=0;;){let[a,o]=Oo(n,e,r);if(t.has(a))throw f(`${u(a)} is a key ${t.get(a)===r?`twice`:`at line ${t.get(a)+1} too`}`,r);if(t.set(a,r),i.push(a),n[o]===`:`){Ao(n,o+1,r);break}if(!n.startsWith(`, `,o))throw f(`expected ", " and a pattern, or ":", after ${u(a)}`,r);e=o+2}return x(e),{keys:i,fields:Fo(e,r)}}function Lo(e){m(e,`yarn`);let t=b(e,p);x(t),Mo(t);let n=[],r=new Map,i;for(let e=t.line;e!==void 0;e=t.line){if(e===``){n.length>0&&(i??=t.number),x(t);continue}if(e.startsWith(` `))throw i===void 0?f(`expected an entry, at column 0`,t.number):f(`a blank line within an entry`,i);if(e.startsWith(`#`))throw f(`a comment, which yarn writes in the header alone`,t.number);i=void 0,n.push(Io(t,r))}return n}var Ro=[`manifests`,`checkVersions`,`semver`],zo=[`clean`,`satisfies`,`valid`,`validRange`];function Bo(e,t){let n=t===void 0?()=>({dev:void 0,optional:void 0,devOptional:void 0}):yi(e,t);for(let t of new Set(Object.values(e)))Object.assign(t,n(t))}function Vo(e,t={}){if(typeof e!=`string`)throw TypeError(`expected a string`);let{manifests:n,semver:r}=oe(t,Ro);se(t,zo);let i=Qa(Lo(e),r),{packages:a,requests:o}=i;n===void 0&&ro(o,a);let s=n===void 0?void 0:ho(n,a,o,r);return bo(i,s,r),Bo(a,s?.importers),{packages:a,importers:s?.importers}}var Ho=(e,t)=>Object.fromEntries(Object.entries(e).map(([e,n])=>[e,t(n)])),Uo=(...e)=>e.flatMap(e=>Object.values(e));function Wo(e,t,{manifest:n}={}){if(e===`npm`){let e=e=>Object.values(e.edges).map(e=>e.target).filter(e=>e!==void 0),{importers:n,packages:r}=or(t,{checkVersions:!1});return{importers:Ho(n,t=>({version:t.version,dependencies:e(t)})),packages:Ho(r,t=>({name:t.name,version:t.version,dependencies:e(t)}))}}if(e===`pnpm`){let{lockfile:e}=Ca(t);return{importers:Ho(e?.importers??{},e=>({dependencies:Uo(e.dependencies,e.devDependencies,e.optionalDependencies)})),packages:Ho(e?.packages??{},e=>({name:e.name,version:e.version,dependencies:Uo(e.dependencies,e.optionalDependencies)}))}}if(e!==`yarn`)throw TypeError(`readLockfile: ${e} lockfiles are not read`);if(/^__metadata:/mu.test(t))throw Error(`a yarn.lock of Yarn 2 or later, which is not read`);let r=Go(n),{importers:i,packages:a}=Vo(t,{checkVersions:!1,...r&&{manifests:{".":r}}}),o=new Map;for(let[e,t]of Object.entries(a))o.has(t)||o.set(t,e);let s=e=>e.startsWith(`link:`)?e:o.get(a[e]);return{importers:Ho(i??{},e=>({version:r.version,dependencies:Uo(e.dependencies,e.devDependencies,e.optionalDependencies).map(s)})),packages:Object.fromEntries([...o].map(([e,t])=>[t,{name:/@npm:((?:@[^/@]+\/)?[^/@]+)/u.exec(e.patterns[0]??``)?.[1]??e.name,version:e.version,dependencies:Uo(e.dependencies,e.optionalDependencies).map(s)}]))}}function Go(e){if(typeof e!=`string`)return null;try{let t=JSON.parse(e);return t&&typeof t==`object`&&!Array.isArray(t)&&t.workspaces===void 0?t:null}catch{return null}}export{Wo as readLockfile};
@@ -0,0 +1 @@
1
+ function e(e,t,a){let o=new Map;for(let t of e.onlyBase)o.set(t.pkg,{base:t.bytes,other:null});for(let t of e.onlyOther)o.set(t.pkg,{base:null,other:t.bytes});for(let t of e.changed)o.set(t.pkg,{base:t.baseBytes,other:t.otherBytes});for(let t of e.unchanged??[])o.set(t.pkg,{base:t.bytes,other:t.bytes});let s=(e,t)=>[...e.get(t)??[]].toSorted(n),c=new Set([...e.onlyBase,...e.onlyOther,...e.changed].map(e=>e.pkg));for(let e of new Set([...t.keys(),...a.keys()]))r(s(t,e),s(a,e))||c.add(e);let l=[],u=[],d=[];for(let e of c){let n=o.get(e)??{base:null,other:null},c=s(a,e),f=s(t,e),p=n.base!==null||f.length>0,m=n.other!==null||c.length>0;p&&!m?d.push({pkg:e,bytes:n.base,versions:f}):m&&!p?l.push({pkg:e,bytes:n.other,versions:c}):u.push({pkg:e,baseBytes:n.base,otherBytes:n.other,delta:n.base!==null&&n.other!==null?n.other-n.base:null,baseVersions:f,otherVersions:c,direction:f.length>0&&c.length>0&&!r(f,c)?i(f,c):null})}let f=(e,t)=>e.pkg.localeCompare(t.pkg);return{removed:d.toSorted(f),added:l.toSorted(f),changed:u.toSorted(f)}}function t(e){let t=String(e).trim().split(`+`,1)[0],n=t.indexOf(`-`);return n===-1?{core:t,pre:``}:{core:t.slice(0,n),pre:t.slice(n+1)}}function n(e,n){if(e===n)return 0;let r=t(e),i=t(n),a=r.core.split(`.`),o=i.core.split(`.`);for(let t=0;t<Math.max(a.length,o.length);t++){let r=Number(a[t]??0),i=Number(o[t]??0);if(Number.isNaN(r)||Number.isNaN(i))return e<n?-1:1;if(r!==i)return r<i?-1:1}if(r.pre===i.pre)return 0;if(!r.pre)return 1;if(!i.pre)return-1;let s=r.pre.split(`.`),c=i.pre.split(`.`);for(let e=0;e<Math.max(s.length,c.length);e++){let t=s[e],n=c[e];if(t===void 0)return-1;if(n===void 0)return 1;if(t===n)continue;let r=/^\d+$/u.test(t),i=/^\d+$/u.test(n);return r&&i?Number(t)<Number(n)?-1:1:r===i?t<n?-1:1:r?-1:1}return 0}function r(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function i(e,t){let r=e.filter(e=>!t.includes(e)).toSorted(n),i=t.filter(t=>!e.includes(t)).toSorted(n),a=e.filter(e=>t.includes(e)).toSorted(n),[o,s]=r.length>0&&i.length>0?[r,i]:r.length>0?[r,a]:[a,i];if(o.length===0||s.length===0)return`changed`;let c=(e,t)=>n(e.at(-1),t[0])<0;return c(o,s)?`up`:c(s,o)?`down`:`changed`}function a(e,t){let a=[],o=[],s=[],c=new Set([...e.keys(),...t.keys()]);for(let l of c){let c=e.get(l),u=t.get(l);if(c&&u){let e=[...c].toSorted(n),t=[...u].toSorted(n);if(r(e,t))continue;a.push({pkg:l,baseVersions:e,otherVersions:t,direction:i(e,t)})}else c?s.push({pkg:l,versions:[...c].toSorted(n)}):o.push({pkg:l,versions:[...u].toSorted(n)})}let l=(e,t)=>e.pkg.localeCompare(t.pkg);return a.sort(l),o.sort(l),s.sort(l),{updated:a,added:o,removed:s,totals:{baseDeps:e.size,otherDeps:t.size}}}export{e as a,n as b,a as c};
@@ -0,0 +1 @@
1
+ import{b as e}from"./chunk-NRPC74AM.js";import{a as t,d as n,f as r,h as i}from"./chunk-7C7DWL7I.js";import{d as a}from"./chunk-PNHBZGDD.js";import{a as o,b as s}from"./chunk-2K6UN3PC.js";import{c}from"./chunk-HT2SSA3V.js";import{C as l,D as u,G as d,J as f,K as p,L as m,O as h,q as g}from"./chunk-SXV2T5C4.js";import{a as _}from"./chunk-TUII34K2.js";function v(e,t){let n=s([{groups:[e],tree:t.tree,treeDependencies:t.treeDependencies}]);for(let r of e)l(r,t),r.isApp??=g(r,r.source??t.source),r._depsDirectory=n}function y(e,t){return!(e.isApp??g(e,e._source??e.source))&&o(e.file,e._depsDirectory??t??s([{groups:[[e]]}]))}function ee(e,n,r){let i=t(n);return i===`ignored`&&y(e,r)?void 0:i}function b(e,n,a,o){let s=n.id??String(n._id),c=n._reportName??``;y(n,o)&&(a===`ignored`||a===`untriaged`)?(t(e.get(s))!==`ignored`&&r(e,s,{triage:void 0}),i(e,s,c,a===`ignored`,!0)):(r(e,s,{triage:a===`untriaged`?void 0:a}),a!==`ignored`&&a!==`untriaged`&&i(e,s,c,!1))}function x(e,a){let o=new Set;for(let t of e.values()){let e=t?.ignoredReports;if(!e?.length)continue;let r=new Set(e).size!==e.length;for(let i of e)(r||!n(t,i))&&o.add(i)}if(o.size===0)return!1;let c=!1;for(let l of a){let a=(l.groups??[]).flat();if(!a.some(e=>o.has(e._reportName??l.name??l.fileName??``)))continue;let u=s([l]),d=e=>({...e,_source:e._source??e.source??l.source}),f=new Set(a.filter(e=>y(d(e),u)).map(e=>e.id??String(e._id)));for(let o of a){let a=o.id??String(o._id),s=o._reportName??l.name??l.fileName??``,p=e.get(a);p?.ignoredReports?.includes(s)&&(n(p,s)||y(d(o),u)||(t(p)||(c=r(e,a,{triage:`ignored`})||c),f.has(a)||(c=i(e,a,s,!1)||c)))}for(let t of a){if(!y(d(t),u))continue;let n=t.id??String(t._id),r=t._reportName??l.name??l.fileName??``;e.get(n)?.ignoredReports?.includes(r)&&(c=i(e,n,r,!0,!0)||c)}}return c}async function S(e,t){let r=new Set(Object.values(e??{}).flatMap(e=>Array.isArray(e?.ignoredReports)?e.ignoredReports.filter(t=>typeof t==`string`&&!n(e,t)):[])),i=[];for(let e of r){let n;try{let r=await t(e);if(typeof r!=`string`)continue;n=await h(r)}catch{continue}n&&i.push({...n.data,name:e,groups:[n.findings]})}return i}async function C(e,t){if(e!=null&&(typeof e!=`object`||Array.isArray(e)))return{entries:e,changed:!1};let n=new Map(Object.entries(e??{})),r=x(n,await S(e,t));return{entries:Object.fromEntries(n),changed:r}}var w=`links`;function T(e){if(typeof e==`string`)return e.length>0?e:null;if(!e||typeof e!=`object`||Array.isArray(e))return null;let{id:t}=e;return typeof t==`string`&&t.length>0?t:null}function E(e){if(typeof e==`string`&&!/^\s*\[/u.test(e))return null;let t;try{t=JSON.parse(e)}catch{return null}if(!Array.isArray(t)||t.length===0)return null;let n=[],r=0;for(let e of t){if(!Array.isArray(e))return null;let t=new Set;for(let n of e){let e=T(n);if(e===null)return null;c(e)?t.add(e):r++}t.size>1&&n.push([...t])}return{groups:n,skipped:r}}function D(e){let t=new Set;for(let n of e)for(let e of n)t.add(e);return t.size}function te(e,t){for(let n of e)for(let e of n){let r=t.get(e);r||t.set(e,r=new Set);for(let t of n)t!==e&&r.add(t)}return t}var O=1,k=16,A=12,j=1+k+A+16,M=1+k+A;async function N(e,t){let n=await crypto.subtle.importKey(`raw`,_(e),`PBKDF2`,!1,[`deriveKey`]);return crypto.subtle.deriveKey({name:`PBKDF2`,hash:`SHA-256`,salt:t,iterations:3e6},n,{name:`AES-GCM`,length:256},!1,[`encrypt`,`decrypt`])}function P(e){return!(e instanceof Uint8Array)||e.length<j?!1:e[0]===O}async function F(e,t){if(!(e instanceof Uint8Array))throw TypeError(`encryptWithPassword: plaintext Uint8Array required`);if(typeof t!=`string`||!t)throw TypeError(`encryptWithPassword: password required`);let n=new Uint8Array(M+e.length+16);n[0]=O,crypto.getRandomValues(n.subarray(1,1+k)),crypto.getRandomValues(n.subarray(1+k,M));let r=n.subarray(1,1+k),i=n.subarray(1+k,M),a=await N(t,r),o=new Uint8Array(await crypto.subtle.encrypt({name:`AES-GCM`,iv:i,additionalData:n.subarray(0,M)},a,e));return n.set(o,M),n}async function ne(e,t){if(typeof t!=`string`||!t)throw TypeError(`tryDecryptWithPassword: password required`);if(!(e instanceof Uint8Array)||e.length<j||e[0]!==O)return{ok:!1,reason:`malformed`};let n=e.subarray(1,1+k),r=e.subarray(1+k,M),i=e.subarray(M),a=await N(t,n),o;try{o=new Uint8Array(await crypto.subtle.decrypt({name:`AES-GCM`,iv:r,additionalData:e.subarray(0,M)},a,i))}catch{return{ok:!1,reason:`wrong-password`}}return{ok:!0,plaintext:o}}async function I(e,t,n){if(!n||typeof n.malformedMsg!=`string`||typeof n.wrongPasswordMsg!=`string`)throw TypeError(`decryptWithPasswordOrThrow: { malformedMsg, wrongPasswordMsg } strings required`);let r=await ne(e,t);if(r.ok)return r.plaintext;throw r.reason===`wrong-password`?Error(n.wrongPasswordMsg):Error(n.malformedMsg)}var L=P,R=F;function z(e,t){return I(e,t,{malformedMsg:`malformed encrypted bundle`,wrongPasswordMsg:`wrong password or corrupt bundle`})}var B=1,V=1024,H=1024,U=200,W=104857600,G=Math.ceil(W*4/3)+16,K=512,q=64;function J(e){if(!e||typeof e!=`object`)return`payload is not an object`;if(e.version!==B)return`unsupported export version: ${e.version}`;if(!e.workspace||typeof e.workspace!=`object`)return`workspace metadata missing`;if(typeof e.workspace.id!=`string`)return`workspace.id must be a string`;if(typeof e.workspace.name!=`string`)return`workspace.name must be a string`;if(typeof e.workspace.privateKey!=`string`)return`workspace.privateKey must be a string`;if(e.workspace.createdAt!==void 0&&!Number.isFinite(e.workspace.createdAt))return`workspace.createdAt must be a finite number or omitted`;if(!Array.isArray(e.reports))return`reports field must be an array`;if(e.reports.length>H)return`reports count (${e.reports.length}) exceeds cap (${H})`;if(e.bundles!==void 0){if(!Array.isArray(e.bundles))return`bundles field must be an array when present`;if(e.bundles.length>V)return`bundles count (${e.bundles.length}) exceeds cap (${V})`;for(let t of e.bundles){if(typeof t!=`string`)return`bundles entries must be strings`;if(t.length>U)return`bundle integrity exceeds per-entry length cap (${U})`}}if(e.bundleBlobs!==void 0){if(!Array.isArray(e.bundleBlobs))return`bundleBlobs field must be an array when present`;if(e.bundleBlobs.length>q)return`bundleBlobs count (${e.bundleBlobs.length}) exceeds cap (${q})`;for(let t of e.bundleBlobs){if(!t||typeof t!=`object`||Array.isArray(t))return`bundleBlobs entries must be objects`;if(typeof t.integrity!=`string`||t.integrity.length===0)return`bundleBlobs.integrity must be a non-empty string`;if(t.integrity.length>U)return`bundleBlobs.integrity exceeds per-entry length cap (${U})`;if(typeof t.name!=`string`||t.name.length===0)return`bundleBlobs.name must be a non-empty string`;if(t.name.length>K)return`bundleBlobs.name exceeds per-entry length cap (${K})`;if(t.name.includes(`\0`))return`bundleBlobs.name cannot contain NUL`;if(typeof t.data!=`string`)return`bundleBlobs.data must be a base64 string`;if(t.data.length>G)return`bundleBlobs.data exceeds per-blob size cap (${W} bytes raw)`}}return null}async function Y(e){return new Uint8Array(await e.arrayBuffer())}async function X(e,t){if(L(e)){if(typeof t!=`string`||!t)throw TypeError(`parseWorkspaceBundleBytes: password required for encrypted bundle`);let n=await z(e,t);try{return Z(await a(n))}catch(e){throw Error(`wrong password or corrupt bundle`,{cause:e})}}let n;try{n=await a(e)}catch(e){throw Error(`gzip decompression failed: ${e.message}`,{cause:e})}return Z(n)}function Z(e){let t;try{t=JSON.parse(e)}catch(e){throw Error(`payload is not JSON: ${e.message}`,{cause:e})}let n=J(t);if(n===null)return t;let r=n.includes(`exceeds cap`);throw Error(r?n:`not a deepview workspace export: ${n}`)}function Q(e,t){let n=e.trimStart().startsWith(`[`)?E(e):null;if(n)return{data:{source:`links`,findings:[],links:n.groups},format:`links`,reason:null};let r=m(e);if(r.data!=null||p(e,t)!==`codex`)return r;try{return{data:{type:`security`,source:`codex-security`,findings:d(e).flatMap(e=>e.data.findings)},format:`codex`,reason:null}}catch(e){return{data:null,format:null,reason:e instanceof Error?e.message:`Invalid Codex CSV`}}}function re(e,t){let n=Q(e,t);return n.data==null?Promise.resolve(null):h(JSON.stringify(n.data))}function ie(e){let t=new Set;for(let n of e){if(!n||typeof n!=`object`)continue;let e=n;typeof e.file==`string`&&e.file&&t.add(e.file);for(let n of Array.isArray(e.evidence)?e.evidence:[])typeof n?.file==`string`&&n.file&&t.add(n.file)}return t}function $(e){let t=(f(e)??[]).flat().filter(e=>typeof e==`object`&&!!e),n=s([{groups:[t],tree:e?.tree}]);return{directory:n,own:t.filter(e=>!o(e.file,n))}}function ae(e){let t=new Map;for(let n of $(e).own){let e=u(n);e&&t.set(e.toLowerCase(),e)}return t.size===1?[...t.values()][0]:null}function oe(t){let{directory:n,own:r}=$(t);return e([...ie(r)].filter(e=>!o(e,n)))}var se=[`inprogress`,`fixed`,`invalid`,`deleted`,`ignored`];function ce(e){return typeof e==`string`&&se.includes(e)}function le(e){if(e===null)return null;if(typeof e!=`object`||Array.isArray(e))return`invalid`;let t=e,n={},r=t.color;if(r!=null){if(typeof r!=`string`||r.length>50)return`invalid`;r!==``&&(n.color=r)}let i=t.triage;if(i!=null){if(!ce(i))return`invalid`;n.triage=i}for(let e of[`comment`,`fix`]){let r=t[e];if(r!=null){if(typeof r!=`string`||r.length>1e4)return`invalid`;r!==``&&(n[e]=r)}}let a=t.flagged;if(a!=null){if(typeof a!=`boolean`)return`invalid`;n.flagged=a}return n}export{v as a,y as b,ee as c,b as d,x as e,S as f,C as g,w as h,E as i,D as j,te as k,F as l,I as m,L as n,R as o,H as p,Y as q,X as r,Z as s,Q as t,re as u,ae as v,oe as w,le as x};
@@ -0,0 +1 @@
1
+ function e(e,t){return!e||t===e||t.startsWith(`${e}/`)}function t(t,n){if(e(t.oldPath,n)){let e=n.slice(t.oldPath.length).replace(/^\//u,``);return{directory:[t.newPath,e].filter(Boolean).join(`/`),filePrefix:``}}if(!e(n,t.oldPath))return null;let r=t.oldPath.slice(n.length).replace(/^\//u,``);return t.newPath===r?{directory:``,filePrefix:r}:t.newPath.endsWith(`/${r}`)?{directory:t.newPath.slice(0,-r.length-1),filePrefix:r}:null}function n(n,r,i,a=``){let o=null,s=-1;for(let c of i){if(c.oldRepo.toLowerCase()!==n.toLowerCase())continue;let i=t(c,r);!i||!e(i.filePrefix,a)||c.oldPath.length<=s||(o={repoId:c.repoId,directory:i.directory},s=c.oldPath.length)}return o}function r(e){let t;for(let n of e){let e=n.split(`/`);if(e.some(e=>!e||e===`.`||e===`..`)||n.includes(`\\`))return``;if(e.pop(),t===void 0)t=e;else{let n=0;for(;n<t.length&&n<e.length&&t[n]===e[n];)n++;t.length=n}if(t.length===0)return``}return t?.join(`/`)??``}export{n as a,r as b};
@@ -0,0 +1 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(e){throw t=0,e}},s=(e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(let c of r(i))!a.call(e,c)&&c!==o&&t(e,c,{get:()=>i[c],enumerable:!(s=n(i,c))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));export{o as a,s as b,l as c};
@@ -0,0 +1 @@
1
+ import{Ka as e}from"./chunk-6LNQTKAV.js";import{l as t,o as n,u as r}from"./chunk-7VAWINQF.js";import{a as i}from"./chunk-WCPJDAYA.js";import{b as a}from"./chunk-IYPY47MC.js";import{D as o,J as s,L as c,q as l}from"./chunk-SXV2T5C4.js";function u(e){let{data:t}=c(e);return t&&d(t)>0?t:null}function d(e){return(s(e)??[]).filter(t=>(Array.isArray(t)?t:[t]).some(t=>t&&typeof t==`object`&&l(t,t.source??e.source))).length}function f(e,t){let n=[],r=new Map;for(let{name:t,content:i,fallbackRepo:a}of e){if(typeof i!=`string`)continue;let e=u(i);if(!e)continue;let c=s(e),l=o(e)??o({repo:{github:a}}),f=new Set(l?[l]:[]);if(!l)for(let e of c.flat()){if(/(?:^|\/)(?:node_modules|dependencies)\//u.test(e?.file??``))continue;let t=o(e);t&&f.add(t)}for(let e of f)r.set(e,{id:e,label:e});n.push({id:t,filename:t,repoIds:[...f],analyzer:e.source,appFindings:d(e)})}let i=new Set(n.map(e=>e.id));return{merge:{bundles:[],results:[]},link:{reports:n,repositories:[...r.values()],workspaces:t.map(e=>({id:e.id,label:e.name,reports:e.reports.filter(e=>i.has(e))})).filter(e=>e.reports.length>0)}}}function p(e,t){let n=(e.reports??[]).filter(e=>e.visible&&e.repoId!=null).flatMap(e=>{let t=u(e.content??``);return t?[{id:e.id,filename:e.filename,repoIds:[e.repoId],repo:e.repoFullName,directory:e.repoDirectory,analyzer:e.analyzer,appFindings:d(t)}]:[]}),r=new Map((e.repos??[]).map(e=>[e.repoId,{id:e.repoId,label:e.fullName}]));for(let e of n)r.has(e.repoIds[0])||r.set(e.repoIds[0],{id:e.repoIds[0],label:e.repo??String(e.repoIds[0])});let a=t.results??[],o=new Set(a.map(e=>e.bundleId));return{merge:{bundles:(t.bundles??[]).filter(e=>o.has(e.id)).map(e=>({...e,size:i(e.byteSize)})),results:a},link:{repositories:[...r.values()].filter(e=>n.some(t=>t.repoIds.includes(e.id))),reports:n}}}var m=new Map([[`openai/gpt-6-astra`,`GPT-6 Astra`],[`openai/gpt-6-astra-pro`,`GPT-6 Astra Pro`],[`openai/gpt-5.6-sol`,`GPT-5.6 Sol`],[`openai/gpt-5.6-terra`,`GPT-5.6 Terra`],[`openai/gpt-5.6-luna`,`GPT-5.6 Luna`],[`anthropic/claude-fable-5.1`,`Claude Fable 5.1`],[`anthropic/claude-opus-5`,`Claude Opus 5`],[`anthropic/claude-sonnet-5`,`Claude Sonnet 5`],[`moonshotai/kimi-k3`,`Kimi K3`],[`z-ai/glm-5.3`,`GLM 5.3`],[`qwen/qwen3.8-max`,`Qwen3.8 Max`],[`deepseek/deepseek-v4.1-flash`,`DeepSeek V4.1 Flash`],[`deepseek/deepseek-v4-pro`,`DeepSeek V4 Pro`]]),h=new Map([[`openai`,`OpenAI`],[`anthropic`,`Anthropic`],[`moonshotai`,`Moonshot AI`],[`google`,`Google`],[`nvidia`,`NVIDIA`],[`qwen`,`Qwen`],[`deepseek`,`DeepSeek`],[`x-ai`,`xAI`],[`z-ai`,`Z.ai`],[`mistralai`,`Mistral AI`],[`meta`,`Meta`],[`unbiased`,`Unbiased`]]),g=new Map([[`meta-llama`,`meta`]]),_=new Map([[`gpt`,`GPT`],[`gptoss`,`GPT OSS`],[`oss`,`OSS`],[`o`,`O`],[`ai`,`AI`],[`api`,`API`],[`4o`,`4o`],[`k3`,`K3`],[`k4`,`K4`],[`qwen`,`Qwen`],[`kimi`,`Kimi`],[`mimo`,`MiMo`],[`gemini`,`Gemini`],[`claude`,`Claude`],[`fable`,`Fable`],[`opus`,`Opus`],[`sonnet`,`Sonnet`],[`astra`,`Astra`],[`terra`,`Terra`],[`luna`,`Luna`],[`codex`,`Codex`],[`deepseek`,`DeepSeek`],[`nemotron`,`Nemotron`],[`gemma`,`Gemma`]]);function v(e){let t=e.replace(/:free$/u,``).replaceAll(`_`,`-`).split(`-`).filter(Boolean),n=[];for(let e=0;e<t.length;e++){let r=t[e],i=t[e+1];if(/^\d+$/u.test(r)&&/^\d+$/u.test(i??``)){n.push(`${r}.${i}`),e++;continue}let a=_.get(r.toLowerCase());n.push(a??(/^(?:[a-z]+\d+|\d+[a-z]+)$/iu.test(r)?r.toUpperCase():r[0]?.toUpperCase()+r.slice(1)))}return n.join(` `).replace(/^GPT (\d)/u,`GPT-$1`)}function y(e){return m.get(e)??v(e.includes(`/`)?e.slice(e.indexOf(`/`)+1):e)}function b(e){let t=e.includes(`/`)?e.split(`/`)[0].replace(/^~/u,``):`other`,n=g.get(t)??t;return{key:n,name:h.get(n)??(n===`other`?`Other`:v(n))}}function x(e){return e===`xhigh`?`Extra high`:e?e[0].toUpperCase()+e.slice(1):`Unavailable`}function S(e){return e.efforts.includes(`max`)?`max`:e.efforts.at(-1)??null}async function C(e,t=fetch){let n=await t(`/api/admin/scan/models`,{credentials:`same-origin`,headers:{accept:`application/json`},signal:e});if(!n.ok)throw Error(`HTTP ${n.status}`);return w(await n.json())}function w(e){if(!Array.isArray(e?.models))throw Error(`No model catalogue returned`);let t=e.models.filter(e=>typeof e?.id==`string`&&e.id.length>0).map(e=>({id:e.id,efforts:Array.isArray(e.efforts)?[...new Set(e.efforts.filter(e=>typeof e==`string`&&e.length>0))]:[]}));if(t.length===0)throw Error(`No models available`);return{models:t,defaultModel:t.find(t=>t.id===e.defaultModel)?.id??t[0].id}}function T(e,t=[]){let n=new Map,r=e.flatMap(e=>{let r=t.filter(t=>t.bundles?.includes(e.integrity));return(r.length>0?r.map(e=>({id:e.id,label:e.name})):[{id:`unattached`,label:`Unattached`}]).map(t=>(n.set(t.id,t),{id:e.integrity,integrity:e.integrity,filename:e.name,repoId:t.id,repo:t.label,files:null,reasons:[],size:`—`}))});return{repositories:[...n.values()],bundles:r,reports:[],scans:[]}}function E(o,s){if(s.error)throw Error(s.error);let c=n(s),l=s.kind===`stasis`?s.bundle?.formats:null,u=r(s),d=[...t(s)].filter(([,e])=>e!=null).map(([e,t])=>({path:e,format:l?.get(e)??null,bytes:t,lines:u.get(e)??0,size:i(t),module:a(e,{packageDir:c?.get(e)})})),f=[{id:`all`,label:`All`,filePaths:null},...[...e(s,d.map(e=>e.path))].map(([e,t])=>({id:`reason:${e}`,label:e,filePaths:[...t]}))];return{...o,files:d,reasons:f,size:i(s.size)}}export{T as a,E as b,f as c,p as d,y as e,b as f,x as g,S as h,C as i,w as j};
@@ -0,0 +1 @@
1
+ import{a as e,c as t}from"./chunk-TUII34K2.js";async function n(e){let t=new Blob([e]).stream().pipeThrough(new CompressionStream(`gzip`));return new Uint8Array(await new Response(t).arrayBuffer())}async function r(e,{maxBytes:t}={}){let n=new Blob([e]).stream().pipeThrough(new DecompressionStream(`gzip`));if(t==null)return new Uint8Array(await new Response(n).arrayBuffer());let r=n.getReader(),i=[],a=0;for(;;){let{value:e,done:n}=await r.read();if(n)break;if(a+=e.length,a>t){try{await r.cancel()}catch{}throw RangeError(`gunzipBytes: decompressed size exceeds ${t}-byte cap`)}i.push(e)}let o=new Uint8Array(a),s=0;for(let e of i)o.set(e,s),s+=e.length;return o}async function i(t){return await n(e(t))}async function a(e){return t(await r(e))}export{n as a,r as b,i as c,a as d};
@@ -0,0 +1,17 @@
1
+ import{a as e,b as t,c as n}from"./chunk-C4Z6ZBXV.js";import{f as r,h as i}from"./chunk-2XUEZHIP.js";var a=`!important`,o=t(class extends n{constructor(t){if(super(t),t.type!==e.ATTRIBUTE||t.name!==`style`||t.strings?.length>2||t.strings?.some(e=>e!==``))throw Error("`styleMap` must be the whole of a `style` attribute.");this.shown=new Set}render(){return r}update(e,[t]){let{style:n}=e.element;for(let e of this.shown)t[e]??(this.shown.delete(e),e.includes(`-`)?n.removeProperty(e):n[e]=null);for(let[e,r]of Object.entries(t)){if(r==null)continue;this.shown.add(e);let t=typeof r==`string`&&r.endsWith(a);e.includes(`-`)||t?n.setProperty(e,t?r.slice(0,-a.length):r,t?`important`:``):n[e]=r}return r}}),{I:s}=i,c=e=>e,l=e=>e.strings===void 0,u=()=>document.createComment(``),d=(e,t,n)=>{let r=e._$AA.parentNode,i=t===void 0?e._$AB:t._$AA;if(n===void 0)n=new s(r.insertBefore(u(),i),r.insertBefore(u(),i),e,e.options);else{let t=n._$AB.nextSibling,a=n._$AM,o=a!==e;if(o){let t;n._$AQ?.(e),n._$AM=e,n._$AP!==void 0&&(t=e._$AU)!==a._$AU&&n._$AP(t)}if(t!==i||o){let e=n._$AA;for(;e!==t;){let t=c(e).nextSibling;c(r).insertBefore(e,i),e=t}}}return n},f=(e,t,n=e)=>(e._$AI(t,n),e),p={},m=(e,t=p)=>e._$AH=t,h=e=>e._$AH,g=e=>{e._$AR(),e._$AA.remove()},_=(e,t,n)=>{let r=new Map;for(let i=t;i<=n;i++)r.set(e[i],i);return r},v=t(class extends n{constructor(t){if(super(t),t.type!==e.CHILD)throw Error(`repeat() can only be used in text expressions`)}dt(e,t,n){let r;n===void 0?n=t:t!==void 0&&(r=t);let i=[],a=[],o=0;for(let t of e)i[o]=r?r(t,o):o,a[o]=n(t,o),o++;return{values:a,keys:i}}render(e,t,n){return this.dt(e,t,n).values}update(e,[t,n,i]){let a=h(e),{values:o,keys:s}=this.dt(t,n,i);if(!Array.isArray(a))return this.ut=s,o;let c=this.ut??=[],l=[],u,p,v=0,y=a.length-1,b=0,x=o.length-1;for(;v<=y&&b<=x;)if(a[v]===null)v++;else if(a[y]===null)y--;else if(c[v]===s[b])l[b]=f(a[v],o[b]),v++,b++;else if(c[y]===s[x])l[x]=f(a[y],o[x]),y--,x--;else if(c[v]===s[x])l[x]=f(a[v],o[x]),d(e,l[x+1],a[v]),v++,x--;else if(c[y]===s[b])l[b]=f(a[y],o[b]),d(e,a[v],a[y]),y--,b++;else if(u===void 0&&(u=_(s,b,x),p=_(c,v,y)),u.has(c[v])){if(u.has(c[y])){let t=p.get(s[b]),n=t===void 0?null:a[t];if(n===null){let t=d(e,a[v]);f(t,o[b]),l[b]=t}else l[b]=f(n,o[b]),d(e,a[v],n),a[t]=null;b++}else g(a[y]),y--}else g(a[v]),v++;for(;b<=x;){let t=d(e,l[x+1]);f(t,o[b]),l[b++]=t}for(;v<=y;){let e=a[v++];e!==null&&g(e)}return this.ut=s,m(e,l),r}});export{o as a,l as b,m as c,v as d};
2
+ /*! Bundled license information:
3
+
4
+ lit-html/directive-helpers.js:
5
+ (**
6
+ * @license
7
+ * Copyright 2020 Google LLC
8
+ * SPDX-License-Identifier: BSD-3-Clause
9
+ *)
10
+
11
+ lit-html/directives/repeat.js:
12
+ (**
13
+ * @license
14
+ * Copyright 2017 Google LLC
15
+ * SPDX-License-Identifier: BSD-3-Clause
16
+ *)
17
+ */
@@ -0,0 +1 @@
1
+ var{Buffer:e}=globalThis,t=e&&!e.TYPED_ARRAY_SUPPORT,n=new Uint8Array(Uint16Array.of(258).buffer)[0]===2,r=e=>e&&(t||`${e}`.includes(`[native code]`));!t&&r(()=>{})&&(r=()=>!1);function i(e,t,n,r){let i=``,a=t;for(let t=n-3;a<t;a+=4){let t=e[a],n=e[a+1],o=e[a+2],s=e[a+3];i+=r[t],i+=r[n],i+=r[o],i+=r[s]}for(;a<n;)i+=r[e[a++]];return i}function a(e,t){let n=e.length;for(let r=0;r<n;r++)t[r]=e.charCodeAt(r);return t}var o=null,s=!1,c=!1,l=new TextEncoder,u=new TextDecoder(`utf-8`,{ignoreBOM:!0}),d=new TextDecoder(`latin1`,{ignoreBOM:!0});function f(e,t,n,r){if(n-t>3e4){let a=[];for(let o=t;o<n;){let t=o+500,s=t>n?n:t;a.push(i(e,o,s,r)),o=s}let o=a.join(``);return a.length=0,o}return i(e,t,n,r)}var p=globalThis.Buffer;function m(e){if(!(e&&e instanceof Uint8Array))throw TypeError(`Expected an Uint8Array`)}var h=`Input is not a string`,g=`Input is not well-formed Unicode`;function _(e,t){switch(t){case`uint8`:if(e.constructor!==Uint8Array)throw Error(`Unexpected`);return e;case`arraybuffer`:if(e.byteLength!==e.buffer.byteLength)throw Error(`Unexpected`);return e.buffer;case`buffer`:return e.length<=64?p.from(e):p.from(e.buffer,e.byteOffset,e.byteLength)}throw TypeError(`Unexpected format`)}function v(e,t){switch(t){case`uint8`:return e.length<=64||e.byteOffset!==0||e.byteLength!==e.buffer.byteLength?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength);case`arraybuffer`:return e.buffer.byteLength===e.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);case`buffer`:if(e.constructor!==p)throw Error(`Unexpected`);return e}throw TypeError(`Unexpected format`)}export{n as a,a as b,o as c,s as d,c as e,l as f,u as g,d as h,f as i,m as j,h as k,g as l,_ as m,v as n};
@@ -0,0 +1 @@
1
+ function e(e=null){let t=[`anthropic/claude-opus-5.5`,`anthropic/claude-fable-5.1`,`anthropic/claude-sonnet-5.5`,`anthropic/claude-haiku-5.5`,`openai/gpt-6-astra`,`openai/gpt-6-astra-pro`,`openai/gpt-6.1-sol`,`openai/gpt-6.1-sol-pro`,`openai/gpt-6-luna`,`openai/gpt-6-luna-pro`,`moonshotai/kimi-k3`,`google/gemini-4-argon`,`google/gemma-4-31b-it`,`x-ai/grok-4.7`,`z-ai/glm-5.3`,`qwen/qwen3.8-max`,`deepseek/deepseek-v4.1-flash`,`deepseek/deepseek-v4-pro`,`mistralai/mistral-large-4-0`],n=e===`moonshot`?`moonshotai`:e,r=t.filter(t=>![`anthropic`,`openai`,`moonshot`].includes(e??``)||t.startsWith(`${n}/`)).map(e=>({id:e,efforts:[`low`,`medium`,`high`,`xhigh`,`max`]}));return{models:r,defaultModel:r[0].id}}export{e as a};
@@ -0,0 +1 @@
1
+ var e={view:`.bundle-code-view`,pane:`.bundle-code-rail`,property:`--bundle-code-rail-width`,axis:`x`,grow:1,keys:{ArrowLeft:-16,ArrowRight:16},initial:()=>320,bounds:e=>({min:Math.min(180,e*.4),max:e*.6}),preferred:null},t={view:`.bundle-code-main`,pane:`.bundle-code-terminal`,property:`--bundle-code-terminal-height`,axis:`y`,grow:-1,keys:{ArrowUp:16,ArrowDown:-16},initial:e=>e*.4,bounds:e=>({min:Math.min(96,e*.4),max:e*.85}),preferred:null},n=class extends HTMLElement{static split=e;constructor(){super(),this._split=this.constructor.split,this._drag=null,this.addEventListener(`pointerdown`,e=>this._startDrag(e)),this.addEventListener(`pointermove`,e=>{this._drag?.id===e.pointerId&&(this._split.preferred=this._apply(this._drag.size+this._split.grow*(this._client(e)-this._drag.at)))});for(let e of[`pointerup`,`pointercancel`,`lostpointercapture`])this.addEventListener(e,e=>{this._drag?.id===e.pointerId&&this._endDrag()});this.addEventListener(`keydown`,e=>this._onKeyDown(e)),this.addEventListener(`dblclick`,()=>{this._split.preferred=null,this._apply(this._preferred())})}connectedCallback(){this._view=this.closest(this._split.view),this._view&&(this._observer=new ResizeObserver(()=>this._apply(this._preferred())),this._observer.observe(this._view),this._apply(this._preferred()))}disconnectedCallback(){this._observer?.disconnect(),this._endDrag(),this._view=null}_client(e){return this._split.axis===`x`?e.clientX:e.clientY}_measure(e){let t=e.getBoundingClientRect();return this._split.axis===`x`?t.width:t.height}_preferred(){return this._split.preferred??this._split.initial(this._view?this._measure(this._view):0)}_bounds(){return this._split.bounds(this._measure(this._view))}_apply(e){if(!this._view)return e;let{min:t,max:n}=this._bounds();if(n===0)return e;let r=Math.max(t,Math.min(n,e));return this._view.style.setProperty(this._split.property,`${r}px`),this.setAttribute(`aria-valuemin`,String(Math.round(t))),this.setAttribute(`aria-valuemax`,String(Math.round(n))),this.setAttribute(`aria-valuenow`,String(Math.round(r))),this.setAttribute(`aria-valuetext`,`${Math.round(r)} pixels`),r}_paneSize(){return this._measure(this._view.querySelector(this._split.pane))}_startDrag(e){e.button!==0||!e.isPrimary||this._drag||!this._view||(e.preventDefault(),this._drag={id:e.pointerId,at:this._client(e),size:this._paneSize(),view:this.closest(`.bundle-code-view`)},this.setPointerCapture(e.pointerId),this.classList.add(`dragging`),this._drag.view?.classList.add(`splitting`))}_endDrag(){if(!this._drag)return;let{id:e,view:t}=this._drag;this._drag=null,this.classList.remove(`dragging`),t?.classList.remove(`splitting`),this.hasPointerCapture(e)&&this.releasePointerCapture(e)}_onKeyDown(e){if(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey||!this._view)return;let{min:t,max:n}=this._bounds(),r=this._split.keys[e.key],i=r===void 0?{Home:t,End:n}[e.key]:this._paneSize()+r;i!==void 0&&(e.preventDefault(),e.stopPropagation(),this._split.preferred=this._apply(i))}};customElements.define(`bundle-code-splitter`,n),customElements.define(`bundle-code-terminal-splitter`,class extends n{static split=t});
@@ -0,0 +1,2 @@
1
+ var e=`.detail-action{width:22px;height:22px;display:grid;place-items:center;padding:0;background:transparent;border:0;border-radius:var(--ui-radius, 4px);color:var(--muted);font:500 16px/1 ui-monospace,monospace;cursor:default;&:hover{color:var(--accent);background:var(--surface-active)}&:focus-visible{outline:2px solid var(--accent);outline-offset:1px}}
2
+ `;export{e as a};
@@ -0,0 +1,80 @@
1
+ var e=new TextEncoder;function t(t){if(typeof t!=`string`)throw TypeError(`encodeUtf8 expects a string, got ${typeof t}`);if(!t.isWellFormed())throw TypeError(`encodeUtf8: input contains lone surrogates`);return e.encode(t)}async function n(e){let n=typeof e==`string`?t(e):e,r=new Uint8Array(await crypto.subtle.digest(`SHA-512`,n));return`sha512-${btoa(String.fromCodePoint(...r))}`}async function r(e){let n=t(JSON.stringify(e)),r=await crypto.subtle.digest(`SHA-256`,n),i=new Uint8Array(r,0,16);i[6]=i[6]&15|64,i[8]=i[8]&63|128;let a=Array.from(i,e=>e.toString(16).padStart(2,`0`)).join(``);return`${a.slice(0,8)}-${a.slice(8,12)}-${a.slice(12,16)}-${a.slice(16,20)}-${a.slice(20,32)}`}async function i(e){if(typeof crypto?.subtle?.digest!=`function`)return null;let t=a(e);try{return await r(t)}catch{return null}}function a(e){if(e._idBasis)return e._idBasis;let{severity:t,description:n}=e;return e.fileHash?{severity:t,description:n,fileHash:e.fileHash}:e.location?{severity:t,description:n,location:e.location}:{severity:t,description:n,file:e.file,line:e.line}}var o=new Map([[`CRITICAL`,`critical`],[`HIGH`,`high`],[`MEDIUM`,`medium`],[`LOW`,`low`],[`INFO`,`informational`],[`INFORMATIONAL`,`informational`],[`INFORMATIVE`,`informative`]]);function s(e){return typeof e==`string`&&e.trim().toLowerCase()===`informative`?`informational`:e}function c(e,t=e.severity){let n=s(e.severity);return n!==e.severity&&(!e.id&&!e._idBasis&&(e._idBasis=a({...e,severity:t})),e.severity=n),e.correctedSeverity!==void 0&&(e.correctedSeverity=s(e.correctedSeverity)),e}var l={critical:`Critical`,high:`High`,medium:`Medium`,low:`Low`,high_bug:`High bug`,bug:`Bug`,informational:`Informational`},u={inprogress:`In progress`,fixed:`Fixed`,invalid:`Invalid`,deleted:`Deleted`,ignored:`Ignored`},d={red:`Red`,blue:`Blue`,green:`Green`,gray:`Gray`,none:`Unmarked`},f={"claude-security":`Claude Security`,"codex-security":`Codex Security`,deepsec:`DeepSec`,piolium:`Piolium`,"markdown-generic":`Markdown (generic)`};function p(e){return l[s(e)]??String(e??``)}var m=/^( *)(`{3,}|~{3,})(.*)$/u,h=/^ {0,3}(?:#{1,6}(?:[ \t]|$)|>|([-*_])(?:[ \t]*\1){2,}[ \t]*$)/u,g=/^ {0,3}([-*_])(?:[ \t]*\1){2,}[ \t]*$/u,_=/^ {0,3}(?:=+|-+)[ \t]*$/u,v=/^( *)(?:[-*+]|\d{1,9}[.)]) +(?=\S)/u,ee=/^ *(?:[-*+]|\d{1,9}[.)])[ \t]*$/u,y=/^\s*$/u,te=[[/^<(script|pre|textarea|style)(?:\s|>|$)/iu,/<\/(?:script|pre|textarea|style)>/iu,e=>`</${e[1].toLowerCase()}>`],[/^<!--/u,/-->/u,`-->`],[/^<\?/u,/\?>/u,`?>`],[/^<![A-Za-z]/u,/>/u,`<!-- -->`],[/^<!\[CDATA\[/u,/\]\]>/u,`]]>`],[/^<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|search|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/iu,y,null]],ne=/^(?:<[A-Za-z][\dA-Za-z-]*(?:\s+[:A-Z_a-z][\w.:-]*(?:\s*=\s*(?:[^\s"'<=>`]+|'[^']*'|"[^"]*"))?)*\s*\/?>|<\/[A-Za-z][\dA-Za-z-]*\s*>)\s*$/u;function b(e,t,n=t){let r=/^ */u.exec(e)[0].length;if(r>3)return null;if(t&&n&&_.test(e))return!0;let i=m.exec(e);if(i&&!(i[2][0]==="`"&&i[3].includes("`")))return{fence:i[2]};let a=e.slice(r);for(let[e,t,n]of te){let r=e.exec(a);if(r)return{html:t,close:typeof n==`function`?n(r):n}}if(!t&&ne.test(a))return{html:y,close:null};let o=g.test(e)?null:v.exec(e);if(o&&!(t&&n&&/^ *(?:\d*[02-9]|\d+\d)[.)]/u.test(o[0]))){let e=/ +$/u.exec(o[0])[0].length;return{item:e>4?o[0].length-e+1:o[0].length}}let s=g.test(e)||t&&n?null:ee.exec(e);return s?{item:s[0].trimEnd().length+1}:h.test(e)||null}function x(e){return ie(e).ranges}function re(e,t){let n=e.replace(/^(?: {0,3}> ?)+/u,``),r=b(n,t);for(;r?.item;)n=n.slice(r.item),r=b(n,!1);return n.trim()!==``&&!r&&/^ */u.exec(n)[0].length<4}function ie(e){let t=[],n=-1,r=``,i=null,a=0,o=[],s=!1,c=!1,l=!1,u=0;for(let d of e.split(`
2
+ `)){let e=u;u+=d.length+1;let f=/^ */u.exec(d)[0].length;if(n!==-1||i){let o=a>0&&d.trim()!==``&&f<a,s=!o&&(i?i.ends.test(d):f<=a+3&&ae(r,d));if((o||s)&&(n!==-1&&t.push([n,o?e-1:e+d.length]),n=-1,i=null),!o)continue}if(!d.trim()){l&&o.pop(),l=!1,s=!1;continue}let p=o.length;for(;p>0&&f<o[p-1];)p--;let m=p>0?o[p-1]:0,h=d.slice(m),g=b(h,s,p===o.length&&!c);if(s&&!g)continue;for(o.length=p;g?.item;)m+=g.item,h=h.slice(g.item),o.push(m),g=b(h,!1);l=h.trim()===``,g?.fence?[n,r,a]=[e,g.fence,m]:g?.html&&([i,a]=[g.html.test(h)?null:{ends:g.html,close:g.close},m]);let _=s&&c;c=/^ {0,3}>/u.test(h),s=c?re(h,_):!g&&!l&&/^ */u.exec(h)[0].length<4}n!==-1&&t.push([n,e.length]);let d=n===-1?i?.close:r;return{ranges:t,closer:d?` `.repeat(a)+d:null}}function ae(e,t){let n=m.exec(t);return n!==null&&n[2][0]===e[0]&&n[2].length>=e.length&&!n[3].trim()}function S(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;e[i][1]<=t?n=i+1:r=i}return n<e.length&&t>=e[n][0]}function C(e){return String(e??``).replaceAll(/\r\n?/gu,`
3
+ `)}var oe=/^## +(.*)$/gmu,se=/^### +(.*)$/gmu,w=/^#### +(.*)$/gmu,ce=/^##### +(.*)$/gmu,le=/^(.+):(\d+(?:-\d+)?)$/u;function T(e){return/^[0-9a-f]{7,64}$/iu.test(e)}function ue(e,t){let n=x(e);return[...e.matchAll(t)].filter(e=>!S(n,e.index))}function de(e,t){let n=ue(e,t);return[e.slice(0,n[0]?.index),...n.map((t,r)=>e.slice(t.index+t[0].length,n[r+1]?.index))]}function E(e,t){let n=ue(e,t);return{head:e.slice(0,n[0]?.index),subs:n.map((t,r)=>({heading:t[1],body:e.slice(t.index+t[0].length+1,n[r+1]?.index)}))}}function D(e,t){return E(e,t).subs}function O(e){let t=e.indexOf(`
4
+ `);return t===-1?{title:e.trim(),body:``}:{title:e.slice(0,t).trim(),body:e.slice(t+1)}}function fe(e){let t=e.split(`
5
+ `).map(e=>e.trim()).filter(e=>e.startsWith(`|`)&&!(/^[\s:|-]+$/u.test(e)&&e.includes(`-`))).map(e=>e.replace(/^\|/u,``).replace(/\|$/u,``).split(`|`).map(e=>e.trim()));if(t.length<2)return[];let n=t[0].map(e=>e.toLowerCase());return t.slice(1).filter(e=>e.length!==n.length||e.some((e,t)=>e.toLowerCase()!==n[t])).map(e=>Object.fromEntries(n.flatMap((t,n)=>t?[[t,e[n]??``]]:[])))}function pe(e){let t=Object.create(null),n=Object.create(null),r=[],i=null,a=``,o=[],s=``,c=(e,r,i)=>{!e||e in t||(t[e]=i.trim(),n[e]=r)},l=()=>{i&&c(i,a,o.join(`
6
+ `)),i=null,a=``,o=[]},u=e=>{(i?o:r).push(e)};for(let t of e.split(`
7
+ `)){let e=/^ {0,3}(```|~~~)/u.exec(t),n=e!==null&&(!s||e[1]===s);if(n&&(s=s?``:e[1]),n||s){u(t);continue}if(!t.trim()){i?l():r.push(t);continue}let d=/^\s*(?:[-*] +)?\*\*([^:*]+):\*\*\s*(.*)$/u.exec(t);if(d){l();let e=d[1].trim(),t=d[2],n;for(;(n=/\s+[\u00B7\u2022]\s+\*\*([^:*]+):\*\*\s*/u.exec(t))!==null;)c(e.toLowerCase(),e,t.slice(0,n.index)),e=n[1].trim(),t=t.slice(n.index+n[0].length);i=e.toLowerCase(),a=e,o=[t];continue}if(/^\s*(?:#{1,6} |\||[-=*_]{3,}\s*$)/u.test(t)){l();continue}u(t)}return l(),{fields:t,labels:n,prose:r.join(`
8
+ `).trim()}}function me(e){let t=(e||``).trim(),n=``,r=k(t);r&&(t=r.label.trim(),n=r.url.trim());let i=/#L(\d+)/u.exec(n)?.[1]??``,a=[...t.matchAll(/`([^`]+)`/gu)].map(e=>e[1].trim()).find(e=>!e.includes(`(`)&&(e.includes(`/`)||/\.\w/u.test(e)))??(t.replaceAll("`",``).trim().split(/[\s,]+/u).find(Boolean)||``),o=/^(.*?)#L(\d+)(?:-L?\d+)?$/u.exec(a);o&&(a=o[1],i||=o[2]);let s=le.exec(a);return s?(i||=s[2],{file:s[1],line:i,locationLink:n}):{file:a,line:i||`?`,locationLink:n}}function he(e){return e.replaceAll(`**`,``)}function k(e){let t=String(e??``),n=ge(t,_e(t)),r=ve(t),i=t.indexOf(`]`);for(let e=t.indexOf(`[`);e!==-1;e=t.indexOf(`[`,e+1)){for(;i!==-1&&i<=e;)i=t.indexOf(`]`,i+1);for(let a of[i,n.get(e)??-1]){if(a===-1||a===e+1||t[a+1]!==`(`)continue;let n=ye(t,a+1,r);if(n!==null)return{label:t.slice(e+1,a),url:n,index:e}}}return null}function ge(e,t){let n=new Map,r=[];for(let i=0;i<e.length;i++){let a=e[i];Ce(e,i)?i++:a==="`"?i=t.get(i)??i:a===`[`?r.push(i):a===`]`&&r.length>0&&n.set(r.pop(),i)}return n}function _e(e){let t=[];for(let n=e.indexOf("`");n!==-1;n=e.indexOf("`",n)){let r=1;for(;e[n+r]==="`";)r++;t.push([n,r]),n+=r}let n=new Map,r=new Map;for(let e=t.length-1;e>=0;e--){let[i,a]=t[e],o=r.get(a);o!==void 0&&n.set(i,o+a-1),r.set(a,i)}return n}function ve(e){let t=e.length,n=new Int32Array(t+1).fill(-1),r=new Int32Array(t+1).fill(-1),i=new Int32Array(t+1).fill(-1),a=new Int32Array(t+1).fill(-1);for(let o=t-1;o>=0;o--)n[o]=e[o]===`)`?o:n[o+1],r[o]=/\s/u.test(e[o])?o:r[o+1],i[o]=e[o]===`>`?o:i[o+1],a[o]=e[o]===`
9
+ `?o:a[o+1];let o=new Map,s=[];for(let n=0;n<t;n++){let t=e[n];Ce(e,n)?n++:r[n]===n?s.length=0:t===`(`?s.push(n):t===`)`&&s.length>0&&o.set(s.pop(),n)}return{balanced:o,nextClose:n,nextSpace:r,nextAngle:i,nextLine:a}}function ye(e,t,n){let r=be(e,t,n);if(r)return r;let i=n.balanced.get(t);if(i!==void 0)return i>t+1?e.slice(t+1,i):null;let a=n.nextClose[t+1],o=n.nextSpace[t+1];return a===-1||a===t+1||o!==-1&&o<a?null:e.slice(t+1,a)}function be(e,t,n){if(e[t+1]!==`<`)return``;let r=n.nextAngle[t+2],i=n.nextLine[t+2];return r===-1||i!==-1&&i<r||e[r+1]!==`)`?``:e.slice(t+2,r)}var xe=/\\([!-/:-@[-`{-~])/gu,Se=/[!-/:-@[-`{-~]/u;function Ce(e,t){return e[t]===`\\`&&Se.test(e[t+1]??``)}function we(e){return typeof e==`string`?e.replace(xe,`$1`):e}function Te(e){let t=/^\[(.+)\]$/u.exec(e.trim());return t?t[1].trim():e.trim()}function A(e){let t=(e||``).trim();return/^[-\u2013\u2014]+$/u.test(t)?``:t}var Ee={critical:6,high:5,medium:4,low:3,high_bug:2,bug:1,informational:0},j=[`critical`,`high`,`medium`,`low`,`high_bug`,`bug`,`informational`];function De(e){return e=s(e),e!=null&&e in Ee?e:null}function Oe(e){return De(e?.correctedSeverity)??s(e?.severity)}function ke(e){let t=De(e?.correctedSeverity);return t!=null&&t!==s(e?.severity)}function Ae(e,t){return t===`original`?s(e?.severity):Oe(e)}function je(e){let t=e?._correctedByReport;return t&&new Set(Object.values(t).map(e=>s(e?.severity))).size>1?t:null}var Me=[`revalidation`,`refuted`,`unreachable`,`confirmed`,`partial`,`unknown`],Ne=new Set(Me);function M(e){return Ne.has(e?.revalidate)?e.revalidate:``}function Pe(e,t=e?.source){return Object.hasOwn(f,t)||M(e)===`revalidation`}function Fe(e,t=e?._source??e?.source){let n=typeof t==`string`&&t!==``&&t!==`deepview`,r=n?t:e?.analyzer??e?.type??e?._analyzer;return e?.security===!0||(r===`security`||r===`dependencies`)&&e?.security!==!1||n&&[`critical`,`high`,`medium`,`low`].includes(e?.severity)}function Ie(e){return e&&e.replace(/^[^/]+\//u,``).replace(/^claude-/u,``).replaceAll(`-`,` `)}function Le(e,t=!0){let n=t&&M(e)===`revalidation`?`revalidate`:``;return[e?.type,n,Ie(e?.model),e?.effort,e?.exportsMode].filter(Boolean).join(` · `)}function N(e,t){if(!e)return e;let n=e;t?.exportsMode===`isolate`&&(n=n.replace(/^\((?:[^()]|\([^()]*\))*\): \[export:\s*\w+\] /u,``),n=n.replace(/^\[export:\s*\w+\] /u,``));let r=[t?.exportName,t?.methodName].filter(Boolean).map(e=>e.replaceAll(/[.*+?^${}()|[\]\\]/gu,`\\$&`));for(let e of r)n=n.replaceAll(RegExp(`\\[export:\\s*${e}\\]\\s*`,`gu`),``);for(let e of r)n=n.replace(RegExp(`^\\(\`?${e}\`?\\): `,`u`),``);return n}function Re(e){let t=e?.exportName,n=e?.methodName;return t&&n&&t!==n?`${t}.${n}`:t||n||``}function P(e){return e?e.split(`
10
+ `).find(e=>e.trim())?.trim()??``:``}function ze(e){return typeof e?.title==`string`?e.title.trim():``}function F(e){return ze(e)||P(N(e?.description,e))}function Be(e){let t=N(e?.description,e)||``,n=ze(e);if(n){let e=t.trim(),r=O(e);return{title:n,body:r.title===n?r.body.replace(/^\s+/u,``):e}}let r=t.indexOf(`
11
+ `);if(r<0||x(t.slice(0,r))[0]?.[0]===0)return{title:``,body:t};let i=t.slice(r+1).replace(/^\s+/u,``);return i?{title:t.slice(0,r).trim(),body:i}:{title:``,body:t}}function Ve(e){let t=ze(e);if(!t)return N(e?.description,e)||``;let{body:n}=Be(e);return n?`${t}
12
+
13
+ ${n}`:t}var He=/^\*\*([^*\n]+):\*\*[ \t]*/u;function Ue(e){let t=[];for(let n of de(e||``,/\n{2,}/gu)){if(!n.trim())continue;let e=He.exec(n);if(e){t.push({label:e[1].trim(),body:n.slice(e[0].length).trim()});continue}let r=t.at(-1);r&&r.label===null?r.body+=`
14
+
15
+ ${n}`:t.push({label:null,body:n})}return t}function I(e){return Number.isFinite(parseInt(e?.line,10))?`${e.file}:${e.line}`:e?.file??``}function We(e){let t=e=>typeof e==`string`?e:``;return`${t(e?.observation)}
16
+ ${t(e?.text)}`.trim()}function L(e){if(typeof e!=`string`||e.length===0)return!1;try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function Ge(e){return String(e??``).replaceAll(/\s*\n\s*/gu,` `).replaceAll(`|`,`\\|`).trim()}function R(e){let t=String(e??``);if(t===``)return``;let n=Math.max(0,...[...t.matchAll(/`+/gu)].map(e=>e[0].length)),r="`".repeat(n+1),i=t.startsWith("`")||t.endsWith("`")?` `:``;return`${r}${i}${t}${i}${r}`}function Ke(e){return String(e??``).replaceAll(/[[\]]/gu,`\\$&`)}function z(e,t){return`[${e}](${/[\s()<>]/u.test(t)?`<${t.replaceAll(`>`,`%3E`)}>`:t})`}function qe(e){return L(e)?`<${e}>`:String(e??``)}function Je(e,t){let n=String(e??``).toLowerCase().replaceAll(/[^\p{L}\p{N}\p{M}\s_-]/gu,``).replaceAll(/\s/gu,`-`),r=n;for(let e=1;t.has(r);e++)r=`${n}-${e}`;return t.add(r),r}function B(e,t){return`${`#`.repeat(Math.min(6,Math.max(1,e)))} ${t}`}function Ye(e,t,n=[]){return[e,e.map((e,t)=>n[t]===`right`?`---:`:`---`),...t].map(e=>`| ${e.join(` | `)} |`).join(`
17
+ `)}function Xe(e){let t=e instanceof Date?e:new Date(e);if(Number.isNaN(t.getTime()))return``;let n=e=>String(e).padStart(2,`0`);return`${t.getUTCFullYear()}-${n(t.getUTCMonth()+1)}-${n(t.getUTCDate())} ${n(t.getUTCHours())}:${n(t.getUTCMinutes())} UTC`}function V(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function Ze(e){return e.filter(e=>typeof e==`string`&&e.trim()).map(e=>e.replace(/\s+$/u,``)).join(`
18
+
19
+ `)}var Qe=/^( {0,3})(\\*#)/u;function H(e){let t=C(e).trim();if(!t)return``;let n=$e(t,e=>e.replace(Qe,`$1\\$2`)),{closer:r}=ie(n);return r===null?n:`${n}
20
+ ${r}`}function $e(e,t){let n=x(e),r=0;return e.split(`
21
+ `).map(e=>{let i=r;return r+=e.length+1,S(n,i)?e:t(e)}).join(`
22
+ `)}function U(e){return $e(String(e??``),e=>e.replace(/^( {0,3})\\(\\*#)/u,`$1$2`))}function et(e,t){let n=` `.repeat(e.length);return t.split(`
23
+ `).map(e=>e?n+e:``).join(`
24
+ `)}var tt=[`type`,`model`,`think`,`effort`,`exportsMode`];function nt(e,t){if(!t.source)for(let n of tt)e[n]==null&&t[n]!=null&&(e[n]=t[n])}var rt=/^(?:https?:\/\/)?(?:www\.)?github\.com\/([^/?#]+)\/([^/?#]+?)(?:\.git)?(?:[/?#].*)?$/iu,it=/^[\w.-]+\/[\w.-]+$/u;function at(e){return it.test(e)}function ot(e){let t=e?.repo?.github;if(typeof t!=`string`)return null;let n=t.trim().replace(/\/+$/u,``);if(!n)return null;let r=rt.exec(n),i=(r?`${r[1]}/${r[2]}`:n).replace(/\.git$/u,``);return at(i)?i:null}function st(e){let t=(typeof e?.directory==`string`?e.directory.trim():``).replace(/^(?:\.\/)+/u,``).replaceAll(/^\/+|\/+$/gu,``).replaceAll(/\/{2,}/gu,`/`);return!t||t===`.`||/[?#]/u.test(t)||t.split(`/`).includes(`..`)?``:t}var ct=[`finding_url`,`repository`,`title`,`description`,`severity`,`configured_scan_id`,`relevant_paths`];function lt(e){let t=[],n=[],r=``,i=!1;for(let a=0;a<e.length;a++){let o=e[a];i?o===`"`?e[a+1]===`"`?(r+=`"`,a++):i=!1:r+=o:o===`"`?i=!0:o===`,`?(n.push(r),r=``):o===`
25
+ `||o===`\r`?(n.push(r),t.push(n),n=[],r=``,o===`\r`&&e[a+1]===`
26
+ `&&a++):r+=o}for((r!==``||n.length>0)&&(n.push(r),t.push(n));t.length>0&&t.at(-1).length===1&&t.at(-1)[0]===``;)t.pop();return t}function ut(e,t){return t.map(t=>{let n=Object.create(null);return e.forEach((e,r)=>{n[e]=t[r]??``}),n})}function dt(e){let t=lt(e);if(t.length<2)throw Error(`Codex CSV: empty or missing header row`);let[n,...r]=t;for(let e of ct)if(!n.includes(e))throw Error(`Codex CSV: missing required column "${e}"`);let i=Map.groupBy(ut(n,r).filter(e=>e.configured_scan_id),e=>e.configured_scan_id);if(i.size===0)throw Error(`Codex CSV: no rows with a configured_scan_id`);let a=[];for(let[e,t]of i){let n=new Set(t.map(e=>e.repository).filter(Boolean));if(n.size>1)throw Error(`Codex CSV: scan ${e} contains multiple repositories: ${[...n].join(`, `)}`);let r=`${[...n][0]||`unknown-repo`}:${e.replace(/^[^:]+:/u,``)}`;a.push({displayName:r,data:{type:`security`,source:`codex-security`,findings:t.map(ft)}})}return a}function ft(e){let t=e.relevant_paths.split(` | `).map(e=>e.trim()).find(Boolean)||`unknown`,n=[e.title,e.description].filter(Boolean).join(`
27
+
28
+ `),r={id:e.finding_url,file:t,line:`?`,severity:(e.severity||`medium`).toLowerCase(),description:n,repo:{github:e.repository}};return e.commit_hash&&(r.commitHash=e.commit_hash),e.detected_at&&(r.detectedAt=e.detected_at),e.committed_at&&(r.committedAt=e.committed_at),c(r)}function pt(){let e=[],t=new Map,n=n=>{if(!t.has(n)){let r={security:!1};r.parent=r,t.set(n,r),typeof n==`string`&&e.push(n)}return t.get(n)},r=e=>{let t=e;for(;t.parent!==t;)t=t.parent;for(;e.parent!==e;){let n=e.parent;e.parent=t,e=n}return t};return{nodeFor:n,root:r,join:(e,t)=>{e=r(e),t=r(t),e!==t&&(t.parent=e,e.security||=t.security)},ids:e}}function mt(e,{source:t,linkedIds:n=()=>[],knownRows:r=()=>[]}={}){let{nodeFor:i,root:a,join:o,ids:s}=pt(),c=[],l=(e,n=!1)=>{let r;for(let s of e){if(!s||typeof s!=`object`)continue;let e=i(s.id||s);a(e).security||=n?s.isSecurity===!0:Fe(s,s._source??s.source??t),r?o(r,e):r=e,n||c.push([s,e])}};for(let t of e)l(t);let u=new Set;for(let e=0;e<s.length;e++){let t=s[e],a=i(t);for(let e of n(t))o(a,i(e));for(let e of r([t]))u.has(e)||(u.add(e),l(e.members,!0))}let d=!1;for(let[e,t]of c){let n=a(t).security;e.isSecurity!==n&&(e.isSecurity=n,d=!0)}return d}var ht=/^## ([A-Z][A-Z_]*)\s*\(\d+\)\s*\n/mu,gt=new Map([...o,[`HIGH_BUG`,`high_bug`],[`BUG`,`bug`]]),_t=e=>String(e??``).toLowerCase().replaceAll(/[^a-z]+/gu,``),vt=new Map([[`high`,8],[`medium`,6],[`low`,4]]);function yt(e){if(e!==void 0)return vt.get(_t(e))??vt.get(`medium`)}var bt=new Map([[`confirmed`,`confirmed`],[`falsepositive`,`refuted`],[`uncertain`,`unknown`]]);function xt(e){let t=C(e).trim().split(ht);if(t.length===1)return null;let n=[];for(let e=1;e<t.length;e+=2){let r=gt.get(t[e].toUpperCase())??`medium`;for(let i of de(t[e+1],/^### /gmu).slice(1)){let e=St(i,r);if(!e)continue;let t=i.indexOf(`
29
+ ### `);t!==-1&&(e._idBasis=a(St(i.slice(0,t+1),r))),n.push(e)}}return n.length===0?null:{type:`security`,source:`deepsec`,findings:n}}function St(e,t){let{title:n,body:r}=O(e);if(!n)return null;let i=r.replace(/\n---\s*$/u,``).trim(),a=Object.fromEntries([...i.matchAll(/^- \*\*([^:*]+):\*\*\s*(.+)$/gmu)].map(e=>[e[1].trim().toLowerCase(),e[2].trim()])),o=/^\*\*Recommendation:\*\*\s*/mu.exec(i),s=o?i.slice(0,o.index):i,l=o?i.slice(o.index+o[0].length).trim():``,u=[n,s.split(`
30
+ `).filter(e=>!/^\s*- \*\*/u.test(e)).join(`
31
+ `).replaceAll(`**`,``).trim()].filter(Boolean).join(`
32
+
33
+ `),d={file:(a.file||`unknown`).replace(/^`(.*)`$/u,`$1`),line:(a.lines||``).split(`,`).map(e=>e.trim()).find(Boolean)||`?`,severity:t,description:u};l&&(d.recommendation=l.replaceAll(`**`,``));let f=yt(a.confidence);f!==void 0&&(d.confidence=f);let p=bt.get(_t(a.revalidation));return p&&(d.revalidate=p,d.revalidateSource=`deepsec`,a.reasoning&&(d.revalidateVerdict=a.reasoning.replaceAll(`**`,``))),a.slug&&(d.slug=a.slug),c(d,t===`informative`?`medium`:t)}var W=120;function Ct(e){let t=F(e)||I(e)||`Untitled finding`;return t.length>W?`${t.slice(0,W-1).trimEnd()}\u2026`:t}function wt(e){let t=String(e??``).trim();return L(t)?qe(t):at(t)?z(t,`https://github.com/${t}`):t}function Tt(e,t,n){return t?f[t]??String(t):Le(e,n)}var Et=[[`Impact`,`impact`,!1],[`Reproduction`,`reproduction`,!1],[`Recommendation`,`recommendation`,!1],[`Confidence reasoning`,`confidenceReason`,!1],[`Revalidation verdict`,`revalidateVerdict`,!0],[`Revalidation recommendation`,`revalidateRecommendation`,!0]],Dt=[[`Status`,`status`],[`Branch`,`branch`],[`Date created`,`dateCreated`],[`Detected at`,`detectedAt`],[`Committed at`,`committedAt`],[`PoC status`,`pocStatus`],[`Variant of`,`parent`],[`Slug`,`slug`],[`Priority`,`priority`]],Ot=[[`Detailed report`,`reportPath`],[`Commit audited`,`auditedCommit`],[`ID`,`id`]];function G(e){return typeof e==`number`?Number.isFinite(e)?String(e):``:typeof e==`string`?e.replaceAll(/\s*\n\s*/gu,` `).trim():``}function kt(e){return typeof e==`string`?e.trim():``}function At(e,t){let n=t.severityMode===`original`,r=p(Ae(e,t.severityMode));ke(e)&&(r+=n?` \u2014 corrected to ${p(Oe(e))}`:` \u2014 corrected from ${p(e.severity)}`);let i=je(e);if(i){let e=Object.entries(i).map(([e,t])=>`${e||`this report`}: ${p(t?.severity)}`);r+=` (varies across reports \u2014 ${e.join(`; `)})`}return e.critical===!0&&(r+=` · flagged critical by the analyzer`),r}function jt(e,t){let n=I(e);if(!n)return``;let r=t.hooks.location(e),i=L(r)?z(R(n),r):R(n),a=Re(e);return a?`${i} \xB7 ${R(a)}`:i}function Mt(e){if(!e)return``;let t=[],n=u[e.triage]??(e.ignored?u.ignored:``);return n&&t.push(n),e.color&&t.push(`${d[e.color]??e.color} mark`),e.flagged===!0&&t.push(`Flagged`),t.join(` · `)}function Nt(e,t){let n=G(e.commitHash);if(!n)return``;let r=t.hooks.commit(e);return L(r)?z(R(n.slice(0,7)),r):R(n)}function Pt(e,t,n){let r=[],i=(e,t)=>{t&&r.push(`- **${e}:** ${t}`)};i(`Location`,jt(e,t)),i(`Severity`,At(e,t)),e.confidence!==void 0&&e.confidence!==null&&i(`Confidence`,`${e.confidence}/10`),t.showAnalyzer&&i(`Analyzer`,t.analyzerOf(e)),i(`Category`,G(e.category));let a=t.revalidation?M(e):``;a&&i(`Revalidation`,a===`revalidation`?`the revalidation pass itself`:a);let o=G(e.revalidateSource);a&&i(`Revalidated by`,f[o]??o),i(`Triage`,Mt(n)),n?.fix&&i(`Fix`,qe(String(n.fix).trim())),t.showReport&&i(`Report`,R(t.hooks.report(e)??``));let s=G(e.repo?.github);s&&s!==t.repo&&i(`Repository`,wt(s)),i(`Introduced in`,Nt(e,t));let c=G(e.discoveredIn);c&&c!==String(e.file??``).trim()&&i(`Found while analyzing`,R(c));let l=e.package?.npm,u=G(l?.name);u&&i(`Package`,R(G(l.version)?`${u}@${G(l.version)}`:u));for(let[t,n]of Dt)i(t,G(e[n]));for(let[t,n]of Ot)i(t,R(G(e[n])));return r.join(`
34
+ `)}function K(e,t,n){let r=H(n);return r?`${B(e,t)}
35
+
36
+ ${r}`:B(e,t)}function Ft(e,t){return(Array.isArray(e.evidence)?e.evidence:[]).map((n,r)=>{let i=`${r+1}. `,a=I(n),o=t.hooks.evidence(n,e,r),s=``;a?s=L(o)?z(R(a),o):R(a):L(o)&&(s=qe(o));let c=H(We(n)),l=i+(s||`(no reference)`);return c?`${l}
37
+
38
+ ${et(i,c)}`:l}).join(`
39
+
40
+ `)}function It(e,t,n){let r=Be(e),i=C(r.body),a=F(e),o=a.length>W,s=!o&&!r.title&&i.trim()===a,c=o&&P(i)!==a?`${a}
41
+
42
+ ${i}`:i,l=Ue(s?``:c),u=l.findIndex(e=>e.label!==null),d=u===-1?l:l.slice(0,u),f=u===-1?[]:l.slice(u),p=d.map(e=>H(e.body)),m=Ft(e,t);m&&p.push(`${B(n,`Evidence`)}
43
+
44
+ ${m}`);for(let e of f)p.push(e.label===null?H(e.body):K(n,e.label,e.body));return p}function Lt(e,t,n){let r=t.hooks.annotation(e),i=[Pt(e,t,r),...It(e,t,n)];for(let[r,a,o]of Et){if(o&&!t.revalidation)continue;let s=e[a],c=typeof s==`string`?N(s,e):``;c.trim()&&i.push(K(n,r,c))}ke(e)&&kt(e.correctedSeverityReason)&&i.push(K(n,`Severity correction`,e.correctedSeverityReason));let a=kt(r?.comment);return a&&i.push(K(n,`Comment`,a)),i}function Rt(e,t,{headingText:n,depth:r}){let i=[B(r,n)];if(e.length===1)return Ze([...i,...Lt(e[0],t,r+1)]);let a=[...new Set(e.map(e=>t.hooks.report(e)).filter(Boolean))],o=a.length>1?` \u2014 reported in ${a.map(e=>R(e)).join(`, `)}`:``;i.push(`${V(e.length,`case`)} of this finding${o}.`);let s=F(e[0]);return e.forEach((n,a)=>{let o=I(n);i.push(B(r+1,`Case ${a+1} of ${e.length}${o?` \u2014 ${R(o)}`:``}`));let c=F(n);c&&c!==s&&i.push(H(c)),i.push(...Lt(n,t,r+2))}),Ze(i)}var zt=new Map(Object.entries(l).map(([e,t])=>[t.toLowerCase(),e])),Bt=new Map(Object.entries(f).map(([e,t])=>[t.toLowerCase(),e]));function q(e){let t=/(`+)(.+?)\1(?!`)/u.exec(String(e??``));if(!t)return null;let n=t[2];if(n.length>2&&n.startsWith(` `)&&n.endsWith(` `)){let e=n.slice(1,-1);if(e.startsWith("`")||e.endsWith("`"))return e}return n}function J(e){let t=k(String(e??``));return t?.index===0?{label:t.label,url:t.url}:null}function Vt(e){let t=/^<(https?:[^>\s]*)>$/u.exec(e.trim());return t?t[1]:null}function Ht(e){let t=le.exec(e);return t?{file:t[1],line:t[2]}:{file:e,line:`?`}}function Ut(e){let t=e.indexOf(`.`);return t>0?{exportName:e.slice(0,t),methodName:e.slice(t+1)}:{exportName:e}}function Wt(e){let t=String(e??``).trim();return zt.get(t.toLowerCase())??t}function Gt(e){let t={},n=e.trim(),r=/ \u00B7 (`+)(.+?)\1$/u.exec(n);r&&(Object.assign(t,Ut(q(r[0]))),n=n.slice(0,r.index));let i=J(n),a=q(i?i.label:n);return a!==null&&Object.assign(t,Ht(a)),i&&L(i.url)&&(t.location=i.url),t}var Kt=` · flagged critical by the analyzer`,qt=` (varies across reports — `;function Jt(e){let t={},n=e.trim();n.endsWith(Kt)&&(t.critical=!0,n=n.slice(0,-Kt.length));let r=n.indexOf(qt);r!==-1&&(n=n.slice(0,r));let i=/^(.*?) \u2014 corrected (from|to) (.*)$/u.exec(n);return i?[t.severity,t.correctedSeverity]=(i[2]===`from`?[i[3],i[1]]:[i[1],i[3]]).map(Wt):t.severity=Wt(n),t}var Yt=new Set([`max`,`xhigh`,`high`,`medium`,`low`,`minimal`]),Xt=new Set([`list`,`isolate`]);function Zt(e){return/\d/u.test(e)||/^(?:opus|sonnet|haiku|gpt|gemini|fable|mythos|llama|mistral)\b/iu.test(e)}function Qt(e){let t=e.trim(),n=Bt.get(t.toLowerCase());if(n)return{source:n};let r={},i=[];for(let e of t.split(` · `).map(e=>e.trim()).filter(Boolean))e===`revalidate`&&!r.revalidate?r.revalidate=`revalidation`:Xt.has(e)&&!r.exportsMode?r.exportsMode=e:Yt.has(e)&&!r.effort?r.effort=e:i.push(e);return i.length>1?[r.type,r.model]=i:i.length===1&&(r[Zt(i[0])?`model`:`type`]=i[0]),{run:r}}function $t(e){let t=e.trim(),n=J(t);return n?n.label.trim():Vt(t)??t}function en(e){let t=J(e.trim());if(t){let e=t.url.split(`/`).at(-1)??``;return T(e)?e:q(t.label)??e}return q(e)??e.trim()}function tn(e){let t=q(e)??e.trim(),n=t.lastIndexOf(`@`);return{npm:n>0?{name:t.slice(0,n),version:t.slice(n+1)}:{name:t}}}function nn(e){let t=e.trim().toLowerCase();return t===`the revalidation pass itself`?`revalidation`:Me.includes(t)?t:void 0}var rn=new Map([...[[`Category`,`category`],...Dt].map(([e,t])=>[e.toLowerCase(),(e,n)=>{e[t]=n}]),...[...Ot,[`Found while analyzing`,`discoveredIn`]].map(([e,t])=>[e.toLowerCase(),(e,n)=>{e[t]=q(n)??n}]),[`location`,(e,t)=>Object.assign(e,Gt(t))],[`severity`,(e,t)=>Object.assign(e,Jt(t))],[`confidence`,(e,t)=>{let n=/^(\d+(?:\.\d+)?)\/10$/u.exec(t);n&&(e.confidence=Number(n[1]))}],[`revalidation`,(e,t)=>{let n=nn(t);n&&(e.revalidate=n)}],[`revalidated by`,(e,t)=>{let n=t.trim();n&&(e.revalidateSource=Bt.get(n.toLowerCase())??n)}],[`repository`,(e,t)=>{e.repo={github:$t(t)}}],[`introduced in`,(e,t)=>{e.commitHash=en(t)}],[`package`,(e,t)=>{e.package=tn(t)}],[`priority`,(e,t)=>{e.priority=/^-?\d+(?:\.\d+)?$/u.test(t)?Number(t):t}]]);function an(e,t,n){let r=rn.get(t.trim().toLowerCase());r&&r(e,n.trim())}var on=/^- \*\*([^*\n]+?):\*\* ?(.*)$/u;function sn(e){let t=e.split(`
45
+ `),n=0,r=()=>{for(;n<t.length&&!t[n].trim();)n++},i=()=>{let e=[];for(let r;(r=on.exec(t[n]??``))!==null;n++)e.push([r[1].trim(),r[2].trim()]);return e};r();let a=i();if(a.length>0)return{title:``,facts:a,rest:t.slice(n).join(`
46
+ `)};let o=[];for(;n<t.length&&t[n].trim();)o.push(t[n++]);return r(),a=i(),a.length===0?{title:``,facts:a,rest:e}:{title:U(o.join(`
47
+ `).trim()),facts:a,rest:t.slice(n).join(`
48
+ `)}}var cn=/^(\d+)\. (.*)$/u;function ln(e){let t=[],n=x(e),r=0;for(let i of e.split(`
49
+ `)){let e=S(n,r)?null:cn.exec(i);r+=i.length+1,e?t.push({ref:e[2].trim(),indent:e[1].length+2,note:[]}):t.length>0&&t.at(-1).note.push(i)}return t.map(e=>un(e))}function un({ref:e,indent:t,note:n}){let r={},i=J(e),a=Vt(e),o=a===null?q(i?i.label:e):null;o!==null&&Object.assign(r,Ht(o));let s=i?i.url:a;L(s)&&(r.url=s);let c=U(n.map(e=>e.slice(Math.min(t,/^ */u.exec(e)[0].length))).join(`
50
+ `).trim());return c&&(r.text=c),r}var dn=new Map(Et.map(([e,t])=>[e.toLowerCase(),t])),fn=[...dn.keys()];function pn(e){let t=e.length,n=1/0;for(let r=e.length-1;r>=0;r--){let i=fn.indexOf(e[r].label.toLowerCase());if(i===-1||i>=n)break;n=i,t=r}return{paragraphs:e.slice(0,t),fields:e.slice(t).map(e=>[dn.get(e.label.toLowerCase()),e.body])}}function mn(e,t,n){let r=[],i=P(t),a=e.endsWith(`…`)?e.slice(0,-1).trimEnd():``;!e||i===e||a&&i.startsWith(a)?r.push(t):r.push(e,t);for(let{label:e,body:t}of n)r.push(t?`**${e}:** ${t}`:`**${e}:**`);return r.filter(Boolean).join(`
51
+
52
+ `)}var hn=/^<!--\s*DeepView findings export\b[^>]*-->/u,gn=/^Case \d+ of \d+(?:\s|$)/u,_n=/^- \*\*([^*\n]+?):\*\* ?(.*)$/gmu,vn=new Set([`evidence`,`severity correction`,`comment`]);function yn(e){let t=C(e).trim();if(!hn.test(t))return null;let{head:n,subs:r}=E(t,oe),i=[];for(let{heading:e,body:t}of r){if(e.trim().toLowerCase()===`summary`)continue;let n=bn(e);for(let e of D(t,se))i.push(Sn(e,n))}return Tn(xn(n),i)}function bn(e){let t=/^(.*?)\s*\(\d+\)\s*$/u.exec(e.trim());return Wt(t?t[1]:e)}function xn(e){let t=new Map;for(let n of e.matchAll(_n)){let e=n[1].trim().toLowerCase();t.has(e)||t.set(e,n[2].trim())}return{sources:(t.get(`source`)??``).split(`,`).map(e=>Qt(e).source).filter(Boolean),analyzers:(t.get(`analyzer`)??t.get(`analyzers`)??``).split(`;`).map(e=>e.trim()).filter(Boolean),repo:t.has(`repository`)?$t(t.get(`repository`)):``}}function Sn({heading:e,body:t},n){let r=e.trim().replace(/^\d+\.\s+/u,``),i=D(t,w).filter(e=>gn.test(e.heading.trim()));return i.length===0?[Cn(t,w,r,n)]:i.map(e=>Cn(e.body,ce,r,n))}function Cn(e,t,n,r){let{title:i,facts:a,rest:o}=sn(e),{head:s,subs:l}=E(o,t),u=l.map(e=>({label:e.heading.trim(),body:e.body.trim()})),d={file:`unknown`,line:`?`},f=null;for(let[e,t]of a)e.trim().toLowerCase()===`analyzer`?f=Qt(t):an(d,e,t);d.severity||=r||`medium`;let p=i||n,m=p!==`Untitled finding`&&p!==I(d),{paragraphs:h,fields:g}=pn(u.filter(e=>!vn.has(e.label.toLowerCase())).map(e=>({label:e.label,body:U(e.body)})));d.description=mn(m?p:``,U(s.trim()),h);let _=u.filter(e=>e.label.toLowerCase()===`evidence`).flatMap(e=>ln(e.body));_.length>0&&(d.evidence=_);for(let[e,t]of g)d[e]=t;let v=u.find(e=>e.label.toLowerCase()===`severity correction`);return v?.body&&(d.correctedSeverityReason=U(v.body)),{finding:c(d),analyzer:f}}function wn(e,t){let n={source:null,run:{}};if(t.some(e=>e.analyzer!==null)){let e=new Set(t.map(e=>e.analyzer?.source??null));e.size===1&&!e.has(null)&&([n.source]=e);for(let e of t)e.analyzer?.run?Object.assign(e.finding,e.analyzer.run):e.analyzer?.source&&!n.source&&(e.finding.source=e.analyzer.source);return n}let r=e.analyzers.length===1?Qt(e.analyzers[0]):null;return r?.source?n.source=r.source:r?.run?n.run=r.run:e.analyzers.length===0&&e.sources.length===1&&([n.source]=e.sources),n}function Tn(e,t){let n=t.flat(),{source:r,run:i}=wn(e,n),a={},o=new Set(n.map(e=>e.finding.type).filter(Boolean)),s=i.type??(o.size===1?[...o][0]:null)??(r?`security`:null);s&&(a.type=s),r&&(a.source=r);for(let e of[`model`,`effort`,`exportsMode`])i[e]&&(a[e]=i[e]);e.repo&&(a.repo={github:e.repo});let c=t.map(e=>e.map(e=>e.finding));return c.every(e=>e.length===1)?a.findings=c.flat():a.groups=c,a}var En=`markdown-generic`,Dn=[`#`,`id`,`product`,`priority`,`vulnerability`],On=[`title`,`description`,`root cause`,`code references`,`attack scenario`,`steps to reproduce`,`impact`,`patch`],kn=/^(?:#{3,6}[ \t]+)?(?:\*\*)?(Title|Description|Root Cause|Code references|Attack Scenario|Steps to Reproduce(?:[ \t]+.*?)?|Impact|Patch):?(?:\*\*)?(?:[ \t]+#+)?[ \t]*$/gimu,An={P0:`critical`,P1:`high`,P2:`medium`,P3:`low`,P4:`informational`},Y=e=>e.trim().slice(1,-1).split(`|`).map(e=>e.trim());function X(e,t){if(!e)throw Error(`Markdown (generic): unsupported ${t}`)}function jn(e){return[...new Set(e.split(`
53
+ `).map(e=>e.trim()).filter(Boolean))].map(e=>{X(/^https?:\/\/[^\s()[\]{}"'<>`\\]+$/iu.test(e)&&!/[.,;!?]$/u.test(e),`link syntax; use bare URLs on separate lines`);let t;try{t=new URL(e)}catch{X(!1,`URL`)}let[n,r,i,a,...o]=t.pathname.slice(1).split(`/`);X([`github.com`,`www.github.com`].includes(t.hostname)&&!t.username&&!t.password&&!t.port&&[n,r].every(e=>e&&/^[\w-][\w.-]*$/u.test(e)),`repository URL`),X(o.every(Boolean),`repository path; empty components`);let s=`${n}/${r.replace(/\.git$/iu,``)}`.toLowerCase(),c=/^#L(\d+)(?:-L?(\d+))?$/u.exec(t.hash),l=i===`blob`?o.slice(0,-1):i===`tree`?o:[];try{l=l.map(decodeURIComponent)}catch{X(!1,`repository directory encoding`)}return X(l.every(e=>e===e.trim()&&!/[\\/:?#\p{Cc}]/u.test(e)),`repository directory`),{repo:s,ref:a,directory:l,...i===`blob`&&o.length&&{evidence:{file:o.join(`/`),line:c?c.slice(1).filter(Boolean).join(`-`):`?`,url:e}}}})}function Mn(e,t,n,r){let i=jn(n),a=i[0]?.repo;X(a&&i.every(e=>e.repo===a),`repository set for finding ${e.id}; expected exactly one repository`),X(!e.group.github||e.group.github===a,`repository set for product ${e.product}; expected exactly one repository`);let o=r.get(a);X(o===void 0||o===e.prefix,`repository ID prefixes for ${a}; expected ${o}, got ${e.prefix} (${e.id})`),r.set(a,e.prefix),e.group.github=a,e.group.directories.push(...i.map(e=>e.directory));let s=i.flatMap(e=>e.evidence??[]);if(s.length){Object.assign(t,{file:s[0].file,line:s[0].line,location:s[0].url,evidence:s});let e=i.find(e=>e.evidence).ref;T(e)&&(t.commitHash=e)}}function Nn(e){let t=e[0];for(let n of e.slice(1)){let e=0;for(;e<t.length&&t[e]===n[e];)e++;t=t.slice(0,e)}return t.join(`/`)}function Pn(e){let t=C(e).trim(),n=[...t.matchAll(/^## +(.*)$/gmu)];if(!n.some(e=>/^\d+\.\s+\S+/u.test(e[1]))&&(n.length||t.startsWith(`# `)))return null;let r=[...t.matchAll(/^\|[^\n]*\|$/gmu)].find(([e])=>Y(e).map(e=>e.toLowerCase()).join()===Dn.join());if(!r)return null;let i=t.slice(0,r.index).trim();X(!i||/^# [^\n]+$/u.test(i),`summary preamble`),X(r.index<(n[0]?.index??t.length),`summary position`);let a=t.slice(r.index,n[0]?.index).trim().split(`
54
+ `),o=new Set(Y(a[0]).map(e=>e.toLowerCase()));X(a[1]&&Y(a[1]).length===5&&Y(a[1]).every(e=>/^:?-{3,}:?$/u.test(e)),`summary separator`);let s=new Map,c=new Map,l=new Map;for(let e of a.slice(2).filter(e=>e.trim())){X(/^\|.*\|$/u.test(e)&&Y(e).length===5,`summary row`);let[t,n,r,i]=Y(e),a=/^(.+-)\d+$/u.exec(n)?.[1];X(/^\d+$/u.test(t)&&a&&r&&Object.hasOwn(An,i)&&!l.has(n),`summary values for ${n}`);let o=s.get(r)??{directories:[],rows:[]},c={raw:e,id:n,prefix:a,product:r,priority:i,group:o};l.set(n,c),o.rows.push(c),s.set(r,o)}X(l.size,`empty summary`);for(let[e,r]of n.entries()){let i=/^\d+\.\s+(\S+)\s*$/u.exec(r[1])?.[1],a=l.get(i);X(a&&!a.finding,`finding section ${r[1]}`);let s=t.slice(r.index,n[e+1]?.index),u=s.slice(r[0].length+1),d=new Map,f=[...u.matchAll(kn)];for(let[e,t]of f.entries()){let n=t[1],r=n.toLowerCase().replace(/^steps to reproduce\b.*$/u,`steps to reproduce`);X(!d.has(r),`duplicate section ${n}`),d.set(r,{heading:n,body:u.slice(t.index+t[0].length,f[e+1]?.index).trim()})}X(On.every(e=>d.has(e)),`missing required headers for ${i}`),X(!u.slice(0,f[0].index).trim(),`text before field headers for ${i}`);let p=d.get(`title`)?.body;X(p,`missing Title for ${i}`);let m={sourceId:i,_idBasis:{source:En,row:a.raw.trim(),section:s.trim()},product:a.product,priority:a.priority,severity:An[a.priority],file:`unknown`,line:`?`};o.has(`vulnerability`)&&(m.security=!0);let h=[p];for(let[e,t]of d)e===`title`||e===`code references`||(e===`steps to reproduce`?m.reproduction=t.body:e===`patch`?m.recommendation=t.body:h.push(e===`description`?t.body:`**${t.heading}:**
55
+ ${t.body}`));m.description=h.join(`
56
+
57
+ `),Mn(a,m,d.get(`code references`).body,c),a.finding=m}return X([...l.values()].every(e=>e.finding),`missing finding sections`),[...s].map(([e,t])=>({displayName:e,data:{type:`security`,source:En,product:e,repo:{github:t.github,directory:Nn(t.directories)},findings:t.rows.map(({finding:e})=>({...e,repo:{github:t.github}}))}}))}function Fn(e){let t=Pn(e);return t===null?null:t.length===1?t[0].data:{type:`security`,source:En,findings:t.flatMap(({data:e})=>e.findings)}}var In=new Set([`critical`,`high`,`medium`,`low`,`high_bug`,`bug`,`informational`]);function Ln(e){let t=Rn(e);if(!t)return null;let{severity:n,description:r,location:i,file:a,line:o}=t;return i?{severity:n,description:r,location:i}:{severity:n,description:r,file:a,line:o}}function Rn(e){let t=e.indexOf(`
58
+ `),n=(t===-1?e:e.slice(0,t)).trim();if(!n)return null;let{sectionsText:r,metaText:i}=zn(t===-1?``:e.slice(t+1)),a=Bn(r),o=Vn(i),{file:s,line:c,locationLink:l}=Hn(a.location||``),u=(o.severity||``).toLowerCase();return{severity:In.has(u)?u:`medium`,description:Un(n,a),location:l,file:s||`unknown`,line:c}}function zn(e){let t=/^---\s*$/mu,n=t.exec(e);if(!n)return{sectionsText:e,metaText:``};let r=e.slice(0,n.index).trim(),i=e.slice(n.index+n[0].length).replace(/^\n/u,``),a=t.exec(i);return{sectionsText:r,metaText:a?i.slice(0,a.index):i}}function Bn(e){let t={},n=e.split(/^## /mu);for(let e=1;e<n.length;e++){let r=n[e],i=r.indexOf(`
59
+ `),a=(i===-1?r:r.slice(0,i)).trim().toLowerCase(),o=(i===-1?``:r.slice(i+1)).trim();a&&(t[a]=o)}return t}function Vn(e){let t={};for(let n of e.matchAll(/\*\*([^:]+):\*\*\s*(.+)/gu))t[n[1].trim().toLowerCase()]=n[2].trim();return t}function Hn(e){let t=``,n=`?`,r=``,i=e.match(/\[([^\]]+)\]\(([^)]+)\)/u);if(i){t=i[1].trim(),r=i[2];let e=i[2].match(/#L(\d+)/u);e&&(n=e[1])}else t=e.trim(),r=e.trim();let a=t.match(/^(.+):(\d+)$/u);return a&&(t=a[1],n===`?`&&(n=a[2])),{file:t,line:n,locationLink:r}}function Un(e,t){let n=[e];return t.details&&n.push(t.details),t.impact&&n.push(`Impact: ${t.impact}`),t[`reproduction steps`]&&n.push(`Reproduction: ${t[`reproduction steps`]}`),Wn(n.join(`
60
+
61
+ `))}function Wn(e){return e.replaceAll(`**`,``)}var Gn=new Set([...j,`informative`]);function Kn(e){let t=C(e).trim();if(!t.startsWith(`# `))return null;let n=de(t,/^# /gmu).slice(1).filter(e=>e.trim().length>0).map(e=>qn(e)).filter(Boolean);return n.length===0?null:{type:`security`,source:`claude-security`,findings:n}}function qn(e){let{title:t,body:n}=O(e);if(!t)return null;let{sectionsText:r,metaText:i}=Jn(n),a=Yn(r),o=Object.fromEntries([...i.matchAll(/\*\*([^:]+):\*\*\s*(.+)/gu)].map(e=>[e[1].trim().toLowerCase(),e[2].trim()])),s=nr(a.evidence||``),{file:l,line:u,locationLink:d}=Xn(a.location||s[0]?.ref||``),f=(o.severity||``).toLowerCase(),p=Gn.has(f)?f:`medium`,m=ir(t,a,s.length>0),h={file:l||`unknown`,line:u,severity:p,description:m};d&&(h.location=d),s.length>0&&(h.evidence=s.map(rr)),a[`reproduction steps`]&&(h.reproduction=Zn(a[`reproduction steps`])),a[`recommended fix`]&&(h.recommendation=a[`recommended fix`]),o.repository&&(h.repo={github:o.repository}),o.branch&&(h.branch=o.branch),o[`date created`]&&(h.dateCreated=o[`date created`]),o.status&&(h.status=o.status),o.category&&(h.category=o.category);let g=e.indexOf(`
62
+ # `),_=Ln(g===-1?e:e.slice(0,g+1));return _&&(h._idBasis=_),c(h)}function Jn(e){let t=/^---\s*$/mu,n=t.exec(e);if(!n)return{sectionsText:e,metaText:``};let r=e.slice(0,n.index).trim(),i=e.slice(n.index+n[0].length).replace(/^\n/u,``),a=t.exec(i);return{sectionsText:r,metaText:a?i.slice(0,a.index):i}}function Yn(e){let t=e.split(/^## /mu).slice(1).map(e=>O(e));return Object.fromEntries(t.filter(e=>e.title).map(e=>[e.title.toLowerCase(),e.body.trim()]))}function Xn(e){let t=``,n=`?`,r=``,i=k(e);if(i){t=i.label.trim(),r=i.url.trim();let e=r.match(/#L(\d+)(?:-L?(\d+))?/u);e&&(n=e[2]?`${e[1]}-${e[2]}`:e[1])}else t=e.trim(),r=e.trim();t=we(t.replaceAll("`",``)).trim();let a=t.match(/^(.+):(\d+)(?:\s*[-\u2013\u2014]\s*L?(\d+))?$/u);return a&&(t=a[1],n===`?`&&(n=a[3]?`${a[2]}-${a[3]}`:a[2])),{file:t,line:n,locationLink:r,linked:i!==null}}function Zn(e){let t=e.split(`
63
+ `),n=t.findIndex(e=>e.trim());if(n===-1||!v.test(t[n])||t.some((e,t)=>t!==n&&v.test(e)))return e;let r=t[n].replace(/^ */u,``),i=r.replace(v,``);if(!i.trim())return e;let a=er(i)??er(r);if(a===null&&(v.test(i)||$n.test(r)))return e;let o=a===null?[i]:a.length===1?[a[0].step]:a.map(({number:e,step:t})=>`${e}. ${t}`);return t.splice(n,1,...o),t.join(`
64
+ `)}var Qn=/(?:^|[ \t])(\d{1,9})\)(?=[ \t]|$)/gu,$n=/^\d{1,9}\)(?=[ \t]|$)/u;function er(e){let t=[...e.matchAll(Qn)];if(t.length===0||t[0].index!==0)return null;let n=[];for(let[r,i]of t.entries()){let a=Number(i[1]);if(r>0&&a<=n[r-1].number)return null;let o=e.slice(i.index+i[0].length,t[r+1]?.index).trim();if(!o)return null;n.push({number:a,step:o})}return n}var tr=/^[ \t]*(?:\d+[.)]|[-*+])\s+/u;function nr(e){let t=[];for(let n of e.split(`
65
+ `))tr.test(n)?t.push({ref:n.replace(tr,``).trim(),note:[]}):t.length>0&&n.trim()&&t.at(-1).note.push(n.trim());if(t.length===0){let n=e.split(`
66
+ `).map(e=>e.trim()).filter(Boolean),r=n.findIndex(e=>k(e)!==null);if(r===-1&&n.length!==1)return[];let i=r===-1?0:r;t.push({ref:n[i],note:n.filter((e,t)=>t!==i)})}return t.filter(e=>e.ref)}function rr({ref:e,note:t}){let{file:n,line:r,locationLink:i,linked:a}=Xn(e),o={file:n||`unknown`,line:r};i&&a&&(o.url=i);let s=t.join(`
67
+ `);return s&&(o.text=s),o}function ir(e,t,n){let r=[e];return t.details&&r.push(t.details),t.evidence&&!n&&r.push(`**Evidence:**
68
+ ${t.evidence}`),t.impact&&r.push(`**Impact:** ${t.impact}`),r.join(`
69
+
70
+ `)}function ar(e){let t=(e||``).trim(),n=``,r=/\[([^\]]+)\]\(([^)]+)\)/u.exec(t);r&&(t=r[1].trim(),n=r[2].trim());let i=``,a=/#L(\d+)/u.exec(n);a&&(i=a[1]);let o=[...t.matchAll(/`([^`]+)`/gu)].map(e=>e[1].trim()).find(e=>!e.includes(`(`)&&(e.includes(`/`)||/\.\w/u.test(e)))??(t.replaceAll("`",``).trim().split(/[\s,]+/u).find(Boolean)||``),s=/^(.*?)#L(\d+)(?:-L?\d+)?$/u.exec(o);s&&(o=s[1],i||=s[2]);let c=/^(.+):(\d+(?:-\d+)?)$/u.exec(o);return c?(i||=c[2],{file:c[1],line:i,locationLink:n}):{file:o,line:i||`?`,locationLink:n}}function or({severity:e,description:t,ref:n,lineBullet:r=``,id:i=``}){let a=ar(n),o=a.file||`unknown`,s=a.line===`?`&&r?r:a.line,c=a.locationLink||(o===`unknown`&&i?`piolium:${i}`:``);return c?{severity:e,description:t,location:c}:{severity:e,description:t,file:o,line:s}}function Z(e){let t=((e||``).trim().split(/\s+/u)[0]||``).replaceAll(/[`*]+/gu,``);return o.get(t.toUpperCase())??``}function sr(...e){return{severity:e.find(Boolean)||`medium`,identitySeverity:e.find(e=>e&&e!==`informative`)||`medium`}}function cr(e){let t=/^([CHML])-?\d+$/iu.exec((e||``).trim());return t?{C:`critical`,H:`high`,M:`medium`,L:`low`}[t[1].toUpperCase()]:``}function lr(e){return Z(/^(critical|high|medium|low|informational|informative|info)(?:[ -](?:severity|risk))?(?:[ -]findings?)?(?:\s*\(\d+\))?$/iu.exec((e||``).trim())?.[1])}function ur(e){return Z(/^(critical|high|medium|low|informational|informative|info)\b/iu.exec((e||``).trim())?.[1])}function dr(e){return/^variants?\s*(?:\(\d+\))?\s*:?$/iu.test((e||``).trim())}function fr(e){let t=/^([CHML]-?\d{1,4}|(?:p|q|b|r|m|l|x|diff)\d{0,4}-\d{2,4})(?:-([A-Za-z0-9][\w-]*))?$/iu.exec(e||``);return t?{id:t[1].toUpperCase(),slug:t[2]||``}:null}function pr(e){return(e||``).replaceAll(`-`,` `)}function mr(e){let t=(e||``).trim(),n=/^\[([^\]]+)\]\([^)]*\)$/u.exec(t);return Te(n?n[1]:t).toUpperCase()}function hr(e){let t=/^\[([^\]]+)\]\(([^)]+)\)\s*[:\u2014\u2013-]*\s*(.*)$/u.exec(e);return t?{text:t[3]?`${t[1].trim()} ${t[3].trim()}`:t[1].trim(),link:t[2].trim()}:null}function gr(e){let t=e.search(/\s/u),n=fr((t===-1?e:e.slice(0,t)).replace(/[:.,\u2014\u2013-]+$/u,``));if(!n)return null;let r=(t===-1?``:e.slice(t+1)).replace(/^[:\u2014\u2013-]+\s*/u,``).trim();return{id:n.id,slug:n.slug,rest:r}}function _r(e){let{text:t,link:n}=hr(e)??{text:e,link:``},r=/^\[([^\]]+)\] *(.*)$/u.exec(t);if(r){let e=fr(r[1].trim());return e?{id:e.id,title:r[2].trim()||pr(e.slug)||e.id,link:n}:{id:r[1].trim().toUpperCase(),title:r[2].trim(),link:n}}let i=gr(t);return i?{id:i.id,title:i.rest||pr(i.slug)||i.id,link:n}:{id:``,title:t.trim(),link:n}}function vr(e){let t={},n=t=>{let n=t.exec(e||``)?.[1];return n===void 0?``:(/`([^`]+)`/u.exec(n)?.[1]??n.split(/\s+/u)[0]??``).trim()},r=n(/^\s*(?:[-*] +)?\*\*Target:?\*\*\s*(.*)$/imu);at(r)&&(t.repo=r);let i=n(/^\s*(?:[-*] +)?\*\*Commit[^:*]*:?\*\*\s*(.*)$/imu);return T(i)&&(t.commitHash=i),t}var yr=[`key code reference`,`key code`,`code reference`,`location`,`affected file`,`file`,`path`];function br(e){return{id:mr(e.id||``),title:A(e.title),severity:A(e.severity),pocStatus:A(e[`poc status`]||e.poc),status:A(e.status),parent:mr(A(e.parent||``)),location:A(e.location)}}function xr(e,t=``){let{severity:n,identitySeverity:r}=sr(Z(e.severity),t,cr(e.id)),i=Sr({ref:e.location||``,id:e.id,severity:n,identitySeverity:r,description:he(e.title||e.id)});for(let t of[`pocStatus`,`status`,`parent`])e[t]&&(i[t]=e[t]);return c(i)}function Sr({ref:e,lineBullet:t=``,id:n,severity:r,identitySeverity:i,description:a}){let{file:o,line:s,locationLink:c}=me(e),l={file:o||`unknown`,line:s===`?`&&t?t:s,severity:r,description:a};return c?l.location=c:l.file===`unknown`&&n&&(l.location=`piolium:${n}`),l._idBasis=or({severity:i,description:a,ref:e,lineBullet:t,id:n}),l}function Cr(e,t,n){let r=[];for(let i of e.split(`
71
+ `)){let e=/^\s{0,3}(?:[-*+]|\d{1,3}[.)])\s+(.+)$/u.exec(i);if(!e)continue;let a=e[1].trim();if(/^\*\*[^:*]+:\*\*/u.test(a))continue;let o=hr(a),s=o?.link??``;if(o)a=o.text;else{let e=/^\*\*([^*]+)\*\*\s*[:\u2014\u2013-]*\s*(.*)$/u.exec(a);e&&(a=e[2]?`${e[1].trim()} ${e[2].trim()}`:e[1].trim())}if(/^(?:none\b|no |n\/a\b)/iu.test(a))continue;let l=gr(a),u=l?.id??``,d=a;if(l){let e=pr(l.slug);d=e&&l.rest?`${e}
72
+
73
+ ${l.rest}`:l.rest||e||l.id}let f=n.get(u),{severity:p,identitySeverity:m}=sr(Z(f?.severity),t,cr(u)),h={file:`unknown`,line:`?`,severity:p,description:he(d)};u?h.location=`piolium:${u}`:s&&(h.location=s),s.endsWith(`report.md`)&&(h.reportPath=s);for(let e of[`pocStatus`,`status`,`parent`])f?.[e]&&(h[e]=f[e]);r.push({id:u,finding:c(h,m)})}return r}function wr(e,t,n,r=``){let i=[];for(let a of fe(e)){let e=br(a);!e.id&&!e.title||(!e.parent&&n&&(e.parent=n),e.id&&!t.has(e.id)&&t.set(e.id,e),i.push({id:e.id,finding:xr(e,r)}))}if(i.length>0)return i;let a=Cr(e,r,t);for(let e of a)n&&!e.finding.parent&&(e.finding.parent=n);return a}var Tr=new Set([`technical findings detail`,`technical findings`,`detailed findings`,`findings detail`,`findings`]),Er=/^(?:summary of findings\b|deferred|methodolog|executive|conclusion|attack surface|coverage|discoveries|scope\b|table of contents|contents\b|appendix|recommendation|remediation)/u;function Dr(e){let{id:t}=_r(e);return!!(t&&fr(t))}function Or(e){let t=D(e,se);return(t.length>0?t:D(e,w)).some(({heading:e})=>Dr(e))}function kr(e){let t=C(e).trim();if(!/^# +Security Audit Report\b/mu.test(t)&&!/^## +Technical Findings Detail\s*$/imu.test(t)&&!/^## +Findings by Severity\b/imu.test(t))return null;let{head:n,subs:r}=E(t,oe),i=Ir(r),a=new Map(fe(i[`summary of findings`]||``).map(br).filter(e=>e.id).map(e=>[e.id,e])),o=vr(n),s=[],c=new Set,l=[],u=({id:e,finding:t})=>{s.push(t),e&&c.add(e)},d=e=>{for(let t of e)u(t)};for(let[e,t]of Object.entries(i)){let n=lr(e);n||Tr.has(e)||e.startsWith(`findings by severity`)?d(Pr(t,n,a,l)):!Er.test(e)&&Or(t)&&d(Pr(t,ur(e),a,l))}for(let e of l)(!e.id||!c.has(e.id))&&u(e);for(let e of a.values())c.has(e.id)||u({id:e.id,finding:xr(e)});if(s.length===0)return null;for(let e of s)o.repo&&(e.repo={github:o.repo}),o.commitHash&&!e.auditedCommit&&(e.auditedCommit=o.commitHash);return{type:`security`,source:`piolium`,findings:s}}function Ar(e,t,n,r){let i=[],a=``;for(let{heading:o,body:s}of e){let e=lr(o);if(e)i.push(...Pr(s,e,t,n)),a=``;else if(dr(o))i.push(...Mr(s,t,a,n,r));else{let e=jr(o,s,t,n,r);i.push(...e),a=e[0]?.id||a}}return i}function jr(e,t,n,r,i){let{head:a,subs:o}=E(t,w),s=Fr(e,a,n,i),c=s!==null&&!s.id&&o.some(e=>!dr(e.heading)&&Dr(e.heading)),l=s&&!c?[s]:[];return l.push(...Nr(o,n,r,i,s?.id||``)),l}function Mr(e,t,n,r,i){let{head:a,subs:o}=E(e,w);return r.push(...wr(a,t,n,i)),Nr(o,t,r,i,``)}function Nr(e,t,n,r,i){let a=[],o=``;for(let{heading:s,body:c}of e){if(dr(s)){n.push(...wr(c,t,i??o,r));continue}let e=Fr(s,c,t,r);e&&(a.push(e),o=e.id||o)}return a}function Pr(e,t,n,r){let i=D(e,se);if(i.length>0)return Ar(i,n,r,t);let a=Nr(D(e,w),n,r,t,null);if(a.length>0)return a;let o=fe(e).map(br).filter(e=>e.id||e.title);for(let e of o)!e.severity&&t&&(e.severity=t),e.id&&!n.has(e.id)?n.set(e.id,e):e.id||r.push({id:``,finding:xr(e,t)});return o.length===0&&r.push(...Cr(e,t,n)),[]}function Fr(e,t,n,r=``){let i=e.trim();if(!i)return null;let{id:a,title:o,link:s}=_r(i),l=n.get(a);if(!a&&o){let e=o.toLowerCase();l=[...n.values()].find(t=>t.title.toLowerCase()===e),a=l?.id??``}let{fields:u,labels:d,prose:f}=pe(t),{severity:p,identitySeverity:m}=sr(Z(u.severity),Z(l?.severity),r,cr(a)),h=/\d+/u.exec(u.line||u.lines||``)?.[0]??``,g=/\*\*Variant of:?\*\*\s*\[?([^\]\s)]+)/iu.exec(t),_=f.split(`
74
+ `).filter(e=>!/^\s*<a\s[^>]*>\s*<\/a>\s*$/iu.test(e)&&!/\*\*Variant of:?\*\*/iu.test(e)).join(`
75
+ `).trim(),v=Sr({ref:yr.map(e=>u[e]).find(Boolean)??``,lineBullet:h,id:a,severity:p,identitySeverity:m,description:Rr(o||a,u,d,_)}),ee=u[`poc status`]||u.poc||l?.pocStatus;ee&&(v.pocStatus=ee);let y=u[`detailed report`]||(s.endsWith(`report.md`)?s:``);y&&(v.reportPath=y),l?.status&&(v.status=l.status);let te=l?.parent||(g?mr(g[1]):``);return te&&(v.parent=te),{id:a,finding:c(v)}}function Ir(e){let t=Object.create(null);for(let{heading:n,body:r}of e){let e=n.trim().toLowerCase();e&&(t[e]=e in t?`${t[e]}
76
+ ${r}`:r)}return t}var Lr=new Set([...yr,`severity`,`summary`,`files`,`poc`,`poc status`,`line`,`lines`,`detailed report`,`proof of concept`,`evidence`,`variant of`,`pattern`,`status`,`id`,`title`]);function Rr(e,t,n,r){let i=[e];t.summary&&i.push(t.summary),r&&i.push(r);for(let[e,r]of Object.entries(t))!r||Lr.has(e)||i.push(`**${n[e]||e}:** ${r}`);return i.filter(Boolean).join(`
77
+
78
+ `)}var zr=`<!-- DeepView findings export -->`,Br={annotation:()=>null,location:e=>typeof e?.location==`string`?e.location:null,evidence:e=>typeof e?.url==`string`?e.url:null,commit:()=>null,report:()=>null};function Vr(e,t){let n=e=>typeof e?.source==`string`&&e.source?e.source:null;if(e.length===1)return t=>n(t)??e[0].source??null;let r=new Map(e.map(e=>[e.name,e.source??null]));return e=>n(e)??r.get(t.report(e))??null}function Hr(e,t,n){let r=e.view?.revalidation!==!1,i=(Array.isArray(e.reports)?e.reports:[]).filter(e=>e&&typeof e==`object`),a=Vr(i,t),o=e=>Tt(e,a(e),r),s=new Set(n.map(o)),c=new Set(n.map(e=>t.report(e)).filter(Boolean));return{hooks:t,analyzerOf:o,severityMode:e.view?.severityMode===`original`?`original`:`corrected`,revalidation:r,showAnalyzer:s.size>1,showReport:c.size>1||i.length>1,repo:typeof e.repo==`string`&&e.repo?e.repo:null}}function Ur(e){if(!e)return``;let t=[e.bucket?`${e.bucket} findings`:`Live findings`];return e.severityMode===`original`?t.push(`original analyzer severities`):e.severityMode===`corrected`&&t.push(`corrected severities`),e.revalidation===!1?t.push(`code view — the revalidation pass is not applied`):e.revalidation===!0&&(e.revalidationDetail===!0?t.push(`detailed app view — the revalidation pass is applied, with the rows it re-rated`):e.revalidationDetail===!1?t.push(`app view — the revalidation pass is applied, standing in for the rows it re-rated`):t.push(`app view — the revalidation pass is applied`)),t.join(` · `)}function Wr(e){if(!e)return``;let t=Number(e.included)||0,n=Number(e.total)||0;return n===0?`no findings`:t>=n?`all ${V(n,`finding`)}`:`${t} of ${V(n,`finding`)} (${n-t} filtered out)`}function Gr(e,t,n){let r=[],i=(e,t)=>{t&&r.push(`- **${e}:** ${t}`)},a=Array.isArray(e.reports)?e.reports:[],o=[...new Set(a.map(e=>f[e?.source]??``).filter(Boolean))];i(`Source`,o.join(`, `));let s=a.map(e=>e?.name).filter(Boolean);i(s.length===1?`Report`:`Reports`,s.map(e=>R(e)).join(`, `)),i(`Workspace`,typeof e.workspace==`string`?e.workspace.trim():``),t.repo&&i(`Repository`,wt(t.repo));let c=[...new Set(n.map(t.analyzerOf).filter(Boolean))],l=c.length===o.length&&c.every(e=>o.includes(e));return c.length>0&&!l&&i(c.length===1?`Analyzer`:`Analyzers`,c.join(`; `)),e.generatedAt&&i(`Exported`,Xe(e.generatedAt)),i(`View`,Ur(e.view)),Array.isArray(e.filters)&&i(`Filters`,e.filters.length>0?e.filters.map(e=>`${e.label}: ${e.value}`).join(` · `):`none`),i(`Included`,Wr(e.counts)),r.join(`
79
+ `)}function Kr(e,t){let n=Map.groupBy(e,e=>Ae(e[0],t.severityMode)??`informational`),r=[...j,...[...n.keys()].filter(e=>!j.includes(e))],i=new Set,a=[];for(let e of r)for(let t of n.get(e)??[]){let n=a.length+1,r=Ct(t[0]),o=`${n}. ${r}`;a.push({group:t,number:n,severity:e,title:r,headingText:o,slug:Je(o,i)})}return a}function qr(e){let t=new Map;for(let n of e)t.set(n.severity,(t.get(n.severity)??0)+1);return t}var Jr=[[`flagged`,e=>e.flagged===!0],[`colour-marked`,e=>e.color],[`commented`,e=>e.comment],[`with a fix link`,e=>e.fix]];function Yr(e,t){let n=e.flatMap(({group:e})=>e.map(e=>t.hooks.annotation(e))).filter(Boolean),r=Jr.map(([e,t])=>[n.filter(t).length,e]).filter(([e])=>e>0).map(([e,t])=>`${e} ${t}`);return r.length>0?`Annotations: ${r.join(`, `)}.`:``}function Xr(e){let t=e.some(({group:e})=>e.some(e=>e.confidence!==void 0&&e.confidence!==null)),n=[`#`,`Severity`,`Finding`,`Location`];return t&&n.push(`Confidence`),Ye(n,e.map(e=>{let n=e.group[0],r=e.group.length>1?` (${V(e.group.length,`case`)})`:``,i=I(n),a=[String(e.number),p(e.severity),z(Ge(Ke(e.title)),`#${e.slug}`)+r,i?Ge(R(i)):``];return t&&a.push(n.confidence===void 0||n.confidence===null?``:`${n.confidence}/10`),a}),[`right`])}function Zr(e,t){let n=[B(2,`Summary`)];if(e.length===0)return[...n,`No findings are included.`];let r=[...qr(e)].map(([e,t])=>[p(e),String(t)]);r.push([`**Total**`,`**${e.length}**`]),n.push(Ye([`Severity`,`Findings`],r,[`left`,`right`]));let i=Yr(e,t);return i&&n.push(i),n.push(Xr(e)),n}function Qr(e,t){let n=qr(e),r=[],i=null;for(let a of e)a.severity!==i&&(i=a.severity,r.push(B(2,`${p(i)} (${n.get(i)})`))),r.push(Rt(a.group,t,{headingText:a.headingText,depth:3}));return r}function $r(e={},t={}){let n=Object.fromEntries(Object.entries(Br).map(([e,n])=>[e,typeof t?.[e]==`function`?t[e]:n])),r=(Array.isArray(e.groups)?e.groups:[]).map(e=>Array.isArray(e)?e:[e]).map(e=>e.filter(e=>e&&typeof e==`object`)).filter(e=>e.length>0),i=r.flat(),a=Hr(e,n,i),o=Kr(r,a);return`${Ze([zr,B(1,typeof e.title==`string`&&e.title.trim()?e.title.trim():`Findings`),Gr(e,a,i),...Zr(o,a),...Qr(o,a)])}
80
+ `}var ei=[[`deepview-md`,yn],[`markdown-generic`,Fn],[`deepsec`,xt],[`piolium`,kr],[`claude-security`,Kn]];function Q(e){return Array.isArray(e?.findings)?e.findings:Array.isArray(e?.groups)?e.groups:null}function ti(e,t){return typeof t==`string`&&/\.csv$/iu.test(t)?`codex`:$(e).format}function $(e){let t;try{let t=JSON.parse(e);if(Q(t)){for(let e of ri(Q(t)))c(e);return{data:t,format:`json`,reason:null}}return{data:null,format:null,reason:`JSON, but not a report: no findings array`}}catch(e){t=e}for(let[t,n]of ei)try{let r=n(e);if(r)return{data:r,format:t,reason:null}}catch(e){if(t!==`markdown-generic`)throw e;return{data:null,format:t,reason:e.message}}return{data:null,format:null,reason:`Not JSON, and not a recognized markdown format. (JSON error: ${t.message})`}}function ni(e){let{data:t}=$(e);return t?{count:Q(t).length,source:t.source,recognized:!0}:{count:0,recognized:!1}}function ri(e){return e.flat().filter(e=>e&&typeof e==`object`)}async function ii(e){for(let t of e)c(t);let t=e.filter(e=>!e.id);if(t.length===0)return;let n=await Promise.all(t.map(i));t.forEach((e,t)=>{n[t]&&(e.id=n[t])})}async function ai(e){let{data:t,format:n}=$(e);if(!t)return null;let r=ri(Q(t));return await ii(r),{format:n,data:t,findings:r}}export{n as a,x as b,S as c,we as d,l as e,u as f,d as g,f as h,Ee as i,j,Oe as k,ke as l,Ae as m,je as n,Me as o,M as p,Pe as q,Ie as r,Le as s,N as t,Re as u,F as v,Be as w,Ve as x,Ue as y,I as z,We as A,L as B,nt as C,ot as D,st as E,Pn as F,dt as G,mt as H,$r as I,Q as J,ti as K,$ as L,ni as M,ii as N,ai as O};
@@ -0,0 +1,2 @@
1
+ import{e,f as t,g as n,k as r}from"./chunk-4HI2MSAV.js";import{j as i}from"./chunk-7VAWINQF.js";function a(e,t){return e?e.base===``?`${e.other}${t}`:t.startsWith(e.base)?t.slice(e.base.length):null:t}var o=(e,t)=>`${`../`.repeat(e.base.split(`/`).length-1)}${t}`;function s({root:e,paths:t},n,r){if(!e||n===`.`)return n;for(let e of r){let r=t.get(`${n}/${e}`);if(r?.endsWith(`/${e}`))return r.slice(0,-e.length-1)}let i=a(e,`${n}/`);return i===null?o(e,n):i.slice(0,-1)||`.`}function c(e,t){if(!e)return{prefix:t,from:null,to:null};let n=t.startsWith(e.other)?t:``;return{prefix:n,from:`./${e.base}${n.slice(e.other.length)}`,to:`./${n||e.other}`}}function l(...e){let t=new Set;for(let n of e){let e=i(n);for(let[r,i]of Object.entries(n?.bundle?.reason??{}))Array.isArray(i)&&i.some(t=>e.has(t))&&t.add(r)}let n=t=>e.some(e=>{if(e?.kind!==`stasis`)return!1;let n=i(e),r=e?.bundle?.reason?.[t];return new Set(Array.isArray(r)?r.filter(e=>n.has(e)):[]).size<n.size});return[...t].some(n)?[...t].toSorted().map(e=>({id:`reason:${e}`,label:e})):[]}function u(e,t=``){let n=i(e);if(!t||e?.kind!==`stasis`)return n;let r=e?.bundle?.reason?.[t.replace(/^reason:/u,``)],a=new Set(Array.isArray(r)?r:[]);return new Map([...n].filter(([e])=>a.has(e)))}function d(e,t,n,r){return JSON.stringify([e,t,n,r])}function f(e,t=``){let n=new Map;if(e?.kind!==`stasis`||!e.bundle)return n;let r=t?i(e):null,a=t?u(e,t):null;for(let[t,i]of e.bundle.imports)for(let[e,o]of i)for(let[i,s]of o){let o=typeof s==`string`?[[null,s]]:s;for(let[s,c]of o){if(a&&!a.has(e)&&(r.has(e)||!a.has(c)))continue;let o=d(e,i,t,s);n.set(o,{key:o,parent:e,specifier:i,conditions:t,platform:s,target:c})}}return n}var p=(e,{lo:t,start:n},r)=>e[n+(r-t)/2];function m(e,t,{low:n,high:r},i,a){return e===-t||e-1<n||e!==t&&e+1<=r&&p(i,a,e-1)<p(i,a,e+1)?e+1:e-1}function h(e,t,n,{first:r,n:i,m:a,d:o,...s}){e.a.fill(1,0,r).fill(1,i),e.b.fill(1,0,r).fill(1,a);let c=i,l=a;for(let r=o;r>0;r--){let i=c-l,a=m(i,r,s,t,n[r]),o=p(t,n[r],a);for(let t=a>i?o:o+1;t<c;t++)e.a[t]=e.b[t-i]=1;c=o,l=c-a}for(let t=r;t<c;t++)e.a[t]=e.b[t]=1}function g(e,t,n){let r=0,i=t.length,a=e.length,o=2*(a+i);for(;r<a&&r<i&&e[r]===t[r];)r++;for(;a>r&&i>r&&e[a-1]===t[i-1];)a--,i--;let s={high:a-r,low:r-i},c=[r],l=[{lo:1,start:0}];for(let u=0;u<=s.high-s.low;u++){let d=l[u],f=Math.min(u,s.high),g=Math.max(-u,s.low+(s.low+u&1));l.push({lo:g,start:c.length});for(let _=g;_<=f;_+=2){let f=m(_,u,s,c,d),g=p(c,d,f),v=f>_?g:g+1,y=v;for(;v<a&&v-_<i&&e[v]===t[v-_];)v++;if(o+=2+v-y,c.push(v),v>=a&&v-_>=i)return h(n,c,l,{first:r,n:a,m:i,d:u,...s}),o}}throw Error(`no edit script between two lines`)}var _=/[\p{L}\p{N}_$]+|\s+|[^\p{L}\p{N}_$\s]/gu,v=2e3,y=800,b=.6;function x(e,t){if(e.length>v)return null;let n=e.match(_)??[];return n.length>y?null:{line:e,tokens:n,words:n.map(e=>(t.has(e)||t.set(e,t.size),t.get(e)))}}function S({tokens:e,line:t},n){let r=[];for(let i=0,a=0;a<e.length;i+=e[a++].length){if(n[a])continue;let o=r.at(-1);o&&/^\s*$/u.test(t.slice(o[1],i))?o[1]=i+e[a].length:r.push([i,i+e[a].length])}return r}var C=(e,t)=>e.reduce((e,[t,n])=>e+n-t,0)/Math.max(1,t.length);function w(e,t){let n={a:e.words.map(()=>0),b:t.words.map(()=>0)},r=g(e.words,t.words,n),i={a:S(e,n.a),b:S(t,n.b)};return{ranges:i,share:n.a.includes(1)?Math.min(C(i.a,e.line),C(i.b,t.line)):1,steps:r}}function T(e,t){if(e===t)return{a:[],b:[]};let n=new Map,r=x(e,n),i=x(t,n);if(r===null||i===null)return null;let{ranges:a,share:o}=w(r,i);return o<=b?a:null}var E=200,D=5e6,O=6,k=60,A=3;function j(e){let t=new Map;for(let n of e?.tokens??[])t.set(n,(t.get(n)??0)+1);return t}function M(e,t){let n=new Map,r=[e,t].map(e=>e.map(e=>x(e,n))),i=r.map(e=>e.map(j)),a=0,o=(e,t,n)=>{let r=0;for(let[i,o]of e)if(a+=A,(r+=i.length*Math.max(0,o-(t.get(i)??0)))>b*n.length)return 1/0;return r/Math.max(1,n.length)},s=(n,a)=>r[0][n]===null||r[1][a]===null?1/0:Math.min(o(i[0][n],i[1][a],e[n]),o(i[1][a],i[0][n],t[a])),c=(e,t)=>{if(a+=k,s(e,t)===1/0)return 1/0;let{share:n,steps:i}=w(r[0][e],r[1][t]);return a+=i,n<=b?n:1/0},l=new Float64Array(e.length*t.length).fill(NaN);return{share:(n,r)=>{let i=n*t.length+r;return Number.isNaN(l[i])&&(l[i]=e[n]===t[r]?0:c(n,r)),l[i]},floor:s,spent:()=>a}}function N(e,t,{share:n,spent:r}){let i=Array.from({length:e+1},()=>new Float64Array(t+1)),a=(e,t)=>n(e,t)===1/0?-1/0:1e3-n(e,t)+i[e][t];for(let n=0;n<e;n++)for(let e=0;e<t;e++)if(i[n+1][e+1]=Math.max(i[n][e+1],i[n+1][e],a(n,e)),r()>D)return null;let o=[];for(let n=e,r=t;n>0&&r>0;)i[n][r]===i[n][r-1]?r--:i[n][r]===i[n-1][r]?n--:o.push([--n,--r]);return o.toReversed()}function P(e,t,{share:n,floor:r}){let i=[];for(let a=0,o=0;a<e&&o<t;a++){let e=null,s=1/0,c=Array.from({length:Math.min(t,o+O)-o},(e,t)=>[o+t,r(a,o+t)]);for(let[t,r]of c.toSorted((e,t)=>e[1]-t[1]||e[0]-t[0])){if(r>s)break;(n(a,t)<s||n(a,t)===s&&t<e)&&([e,s]=[t,n(a,t)])}e!==null&&(i.push([a,e]),o=e+1)}return i}function F(e,t){if(e.length>E||t.length>E)return[];let n=M(e,t);return N(e.length,t.length,n)??P(e.length,t.length,n)}var I=(e,n,r)=>t(e,n,{...r,discard:!1});function L(e){if(e===null)return``;let t=e.type===`symlink`?e.target:e.data;if(typeof t==`string`)return t.includes(`\0`)?void 0:t;if(!t.includes(0))try{return r(t)}catch{return}}var R=new Set([`none`,`all`,`change`,`trailing`]);function z({horizon:e=1/0,whitespace:t=`none`,ignoreCase:n=!1}={}){if(e!==1/0&&!(Number.isSafeInteger(e)&&e>=0))throw RangeError(`horizon must be a whole number or Infinity, not ${e}`);if(!R.has(t))throw RangeError(`whitespace must be 'none', 'all', 'change' or 'trailing', not ${t}`);if(typeof n!=`boolean`)throw TypeError(`ignoreCase must be a boolean, not ${typeof n}`);return{horizon:e,whitespace:t,ignoreCase:n}}var B=e=>e.reduce((e,{a0:t,a1:n,b0:r,b1:i})=>e+n-t+i-r,0),V=e=>e===``?[]:e.split(/(?<=\n)/u),H=e=>({...e,ignoreCase:!1,whitespace:`none`}),U=e=>(e.whitespace??`none`)!==`none`||!!e.ignoreCase;function W(t,r,i,a,o){let s=V(t),c=V(r),l=(e,t,n,r)=>({a0:e,a1:t,b0:n,b1:r,remove:s.slice(e,t),insert:c.slice(n,r)}),u=o.flatMap(({a0:e,a1:t,b0:n,b1:r})=>e===t||n===r?[l(e,t,n,r)]:I(s.slice(e,t).join(``),c.slice(n,r).join(``),i).map(t=>l(e+t.a0,e+t.a1,n+t.b0,n+t.b1))),d=B(u)<B(a)&&(a=>{try{return n(t,r,a,{format:`normal`,ignoreCase:i.ignoreCase,whitespace:i.whitespace}),!0}catch(t){if(t instanceof e)return!1;throw t}})(u)?u:a;return B(d)<B(o)?d:o}function G(e,t,n){let r=I(e,t,n);return U(n)?W(e,t,n,r,I(e,t,H(n))):r}function K(e,t,n){let r=L(e),i=L(t);if(r===void 0||i===void 0)return{binary:!0,blocks:[],insertions:null,deletions:null};let a=r===i?[]:G(r,i,n),o=(e,t)=>a.reduce((n,r)=>n+r[t]-r[e],0);return{binary:!1,blocks:a,insertions:o(`b0`,`b1`),deletions:o(`a0`,`a1`)}}function q(t,r,i,a){let{whitespace:o,ignoreCase:s}=z(a);try{return n(t,r,i,{format:`normal`,whitespace:o,ignoreCase:s}),!0}catch(t){if(t instanceof e)return!1;throw t}}var J=/[ \t\n\v\f\r]/u,Y=e=>{let t=e.split(`
2
+ `);return t.at(-1)===``&&t.pop(),t};function X(e,t){for(let n=0,r=0;;n++,r++){let i=``,a=``;for(;n<e.length&&J.test(e[n]);)i+=e[n++];for(;r<t.length&&J.test(t[r]);)a+=t[r++];if(i!==a&&new Set(i+a).size>1)return!0;if(n>=e.length||r>=t.length)return!1}}function Z(e,t,n){try{if(!q(e,t,n,{whitespace:`all`}))return!0}catch{return!0}let r=Y(e),i=Y(t),a=0,o=0;for(let e=0;e<=n.length;e++){let t=e<n.length?n[e].a0:r.length;for(;a<t;a++,o++)if(r[a]!==i[o]&&X(r[a],i[o]))return!0;e<n.length&&({a1:a,b1:o}=n[e])}return!1}function Q(e,t,{extension:n=!0}={}){let r=e.split(`/`),i=t.split(`/`),a=0;for(;a<r.length-1&&a<i.length-1&&r[a]===i[a];)a++;let o=0;for(;o<r.length-a-1&&o<i.length-a-1&&r.at(-1-o)===i.at(-1-o);)o++;let s={head:a?`${r.slice(0,a).join(`/`)}/`:``,from:r.slice(a,r.length-o).join(`/`),to:i.slice(a,i.length-o).join(`/`),tail:o?`/${r.slice(-o).join(`/`)}`:``},c=s.from.lastIndexOf(`.`);return n&&!s.from.includes(`/`)&&!s.to.includes(`/`)&&c>0&&s.to.lastIndexOf(`.`)===c&&s.from.slice(0,c)===s.to.slice(0,c)?{...s,head:s.head+s.from.slice(0,c),from:s.from.slice(c),to:s.to.slice(c)}:s}export{T as a,F as b,L as c,z as d,K as e,Z as f,Q as g,a as h,o as i,s as j,c as k,l,u as m,d as n,f as o};
@@ -0,0 +1 @@
1
+ var e=new TextEncoder,t=new TextDecoder(`utf-8`,{fatal:!0,ignoreBOM:!0});function n(t){if(typeof t!=`string`)throw TypeError(`encodeUtf8 expects a string, got ${typeof t}`);if(!t.isWellFormed())throw TypeError(`encodeUtf8: input contains lone surrogates`);return e.encode(t)}var r=2;function i(t){if(typeof t!=`string`)throw TypeError(`utf8ByteLength expects a string, got ${typeof t}`);if(/[\u0100-\uFFFF]/.test(t))return e.encode(t).byteLength;let n=/[\u0080-\u00FF]/gu,i=t.length;for(;n.test(t);){let e=n.lastIndex-1;for(let n=0;e<t.length&&n<r;e++)t.codePointAt(e)>127?(i++,n=0):n++;n.lastIndex=e}return i}function a(e){if(!ArrayBuffer.isView(e)&&!(e instanceof ArrayBuffer))throw TypeError(`decodeUtf8 expects a BufferSource, got ${e===null?`null`:typeof e}`);return t.decode(e)}export{n as a,i as b,a as c};