@visulima/vis 1.0.0-alpha.9 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1844 -3
- package/LICENSE.md +13515 -10
- package/README.md +215 -39
- package/bin/resolve-binary.mjs +85 -0
- package/bin/vis.mjs +76 -0
- package/dashboard/dist/index.html +152 -0
- package/dist/bin.d.ts +1 -0
- package/dist/bin.js +1 -2
- package/dist/binx.js +3 -0
- package/dist/config/index.d.ts +3276 -0
- package/dist/config/index.js +1 -0
- package/dist/generate/index.d.ts +1 -1
- package/dist/generate/index.js +1 -1
- package/dist/packem_chunks/CONFIG_FILES.js +8 -0
- package/dist/packem_chunks/DEFAULT_CLEAN_KEEP.js +1 -0
- package/dist/packem_chunks/agent-instructions.js +11 -0
- package/dist/packem_chunks/bloom-status.js +2 -0
- package/dist/packem_chunks/bloom-sync.js +2 -0
- package/dist/packem_chunks/cache-attestation.js +1 -0
- package/dist/packem_chunks/catalog-detector.js +1 -0
- package/dist/packem_chunks/catalog.js +114 -0
- package/dist/packem_chunks/cli-exec.js +1 -0
- package/dist/packem_chunks/cli-main.js +268 -0
- package/dist/packem_chunks/defineReleasePlugin.js +3 -0
- package/dist/packem_chunks/detect.js +3 -0
- package/dist/packem_chunks/detect2.js +8 -0
- package/dist/packem_chunks/devtools.js +4 -0
- package/dist/packem_chunks/discord.js +4 -0
- package/dist/packem_chunks/dispatch.js +4 -0
- package/dist/packem_chunks/doctor-probe.js +2 -0
- package/dist/packem_chunks/dynamic-import.js +1 -0
- package/dist/packem_chunks/extra-files.js +3 -0
- package/dist/packem_chunks/fix.js +11 -0
- package/dist/packem_chunks/git.js +3 -0
- package/dist/packem_chunks/group-tags.js +1 -0
- package/dist/packem_chunks/handler.js +1 -1
- package/dist/packem_chunks/handler10.js +5 -1
- package/dist/packem_chunks/handler11.js +1 -1
- package/dist/packem_chunks/handler12.js +26 -152
- package/dist/packem_chunks/handler13.js +5 -1
- package/dist/packem_chunks/handler14.js +1 -3
- package/dist/packem_chunks/handler15.js +1 -1
- package/dist/packem_chunks/handler16.js +1 -2
- package/dist/packem_chunks/handler17.js +1 -7
- package/dist/packem_chunks/handler18.js +1 -1
- package/dist/packem_chunks/handler19.js +5 -19
- package/dist/packem_chunks/handler2.js +1 -1
- package/dist/packem_chunks/handler20.js +2 -428
- package/dist/packem_chunks/handler21.js +2 -22
- package/dist/packem_chunks/handler22.js +14 -3
- package/dist/packem_chunks/handler23.js +1 -5
- package/dist/packem_chunks/handler24.js +1 -1
- package/dist/packem_chunks/handler25.js +1 -20
- package/dist/packem_chunks/handler26.js +5 -1
- package/dist/packem_chunks/handler27.js +1 -1
- package/dist/packem_chunks/handler28.js +3 -1
- package/dist/packem_chunks/handler29.js +1 -2
- package/dist/packem_chunks/handler3.js +4 -2
- package/dist/packem_chunks/handler30.js +1 -22
- package/dist/packem_chunks/handler31.js +2 -1
- package/dist/packem_chunks/handler32.js +2 -1
- package/dist/packem_chunks/handler33.js +2 -37
- package/dist/packem_chunks/handler34.js +3 -3
- package/dist/packem_chunks/handler35.js +6 -23
- package/dist/packem_chunks/handler36.js +1 -5
- package/dist/packem_chunks/handler37.js +36 -21
- package/dist/packem_chunks/handler38.js +8 -1
- package/dist/packem_chunks/handler39.js +9 -2
- package/dist/packem_chunks/handler4.js +4 -5
- package/dist/packem_chunks/handler40.js +75 -1
- package/dist/packem_chunks/handler41.js +5 -5
- package/dist/packem_chunks/handler42.js +4 -1
- package/dist/packem_chunks/handler43.js +3 -24
- package/dist/packem_chunks/handler44.js +2 -3
- package/dist/packem_chunks/handler45.js +1 -1
- package/dist/packem_chunks/handler46.js +1 -0
- package/dist/packem_chunks/handler47.js +1 -0
- package/dist/packem_chunks/handler48.js +3 -0
- package/dist/packem_chunks/handler49.js +1 -0
- package/dist/packem_chunks/handler5.js +6 -4
- package/dist/packem_chunks/handler50.js +7 -0
- package/dist/packem_chunks/handler51.js +33 -0
- package/dist/packem_chunks/handler52.js +3 -0
- package/dist/packem_chunks/handler53.js +8 -0
- package/dist/packem_chunks/handler54.js +4 -0
- package/dist/packem_chunks/handler55.js +1 -0
- package/dist/packem_chunks/handler56.js +12 -0
- package/dist/packem_chunks/handler57.js +11 -0
- package/dist/packem_chunks/handler58.js +5 -0
- package/dist/packem_chunks/handler59.js +11 -0
- package/dist/packem_chunks/handler6.js +8 -2
- package/dist/packem_chunks/handler60.js +3 -0
- package/dist/packem_chunks/handler61.js +22 -0
- package/dist/packem_chunks/handler62.js +61 -0
- package/dist/packem_chunks/handler63.js +3 -0
- package/dist/packem_chunks/handler64.js +6 -0
- package/dist/packem_chunks/handler65.js +9 -0
- package/dist/packem_chunks/handler66.js +2 -0
- package/dist/packem_chunks/handler67.js +24 -0
- package/dist/packem_chunks/handler68.js +25 -0
- package/dist/packem_chunks/handler69.js +153 -0
- package/dist/packem_chunks/handler7.js +1 -24
- package/dist/packem_chunks/handler70.js +10 -0
- package/dist/packem_chunks/handler71.js +23 -0
- package/dist/packem_chunks/handler72.js +322 -0
- package/dist/packem_chunks/handler73.js +708 -0
- package/dist/packem_chunks/handler74.js +48 -0
- package/dist/packem_chunks/handler75.js +27 -0
- package/dist/packem_chunks/handler76.js +3 -0
- package/dist/packem_chunks/handler77.js +190 -0
- package/dist/packem_chunks/handler78.js +38 -0
- package/dist/packem_chunks/handler8.js +1 -6
- package/dist/packem_chunks/handler9.js +1 -8
- package/dist/packem_chunks/heal-accept.js +10 -0
- package/dist/packem_chunks/heal.js +14 -0
- package/dist/packem_chunks/help-command.js +31 -0
- package/dist/packem_chunks/index.js +1 -7
- package/dist/packem_chunks/index2.js +802 -0
- package/dist/packem_chunks/index3.js +7 -0
- package/dist/packem_chunks/index4.js +135 -0
- package/dist/packem_chunks/index5.js +74 -0
- package/dist/packem_chunks/interface.js +2 -0
- package/dist/packem_chunks/keys-refresh.js +4 -0
- package/dist/packem_chunks/lean.js +4 -0
- package/dist/packem_chunks/list.js +3 -0
- package/dist/packem_chunks/loader.js +4 -1
- package/dist/packem_chunks/loader2.js +1 -0
- package/dist/packem_chunks/orchestrator.js +42 -0
- package/dist/packem_chunks/pre-mode.js +2 -0
- package/dist/packem_chunks/print-config.js +2 -0
- package/dist/packem_chunks/prompts.js +7 -0
- package/dist/packem_chunks/prune.js +3 -0
- package/dist/packem_chunks/publish-guards.js +1 -0
- package/dist/packem_chunks/registry.js +48 -0
- package/dist/packem_chunks/resolveFormatter.js +9 -0
- package/dist/packem_chunks/run.js +1 -0
- package/dist/packem_chunks/security.js +1 -0
- package/dist/packem_chunks/shell-runner.js +1 -0
- package/dist/packem_chunks/slack.js +2 -0
- package/dist/packem_chunks/snapshot.js +2 -0
- package/dist/packem_chunks/stage-publisher.js +1 -0
- package/dist/packem_chunks/staged-registry.js +2 -0
- package/dist/packem_chunks/state.js +3 -0
- package/dist/packem_chunks/status.js +2 -0
- package/dist/packem_chunks/success-walk.js +8 -0
- package/dist/packem_chunks/sync.js +2 -0
- package/dist/packem_chunks/sync2.js +2 -0
- package/dist/packem_chunks/tar.js +3 -0
- package/dist/packem_chunks/tripwire.js +2 -0
- package/dist/packem_chunks/ts-loader.js +22 -0
- package/dist/packem_chunks/verify-lockfile.js +2 -0
- package/dist/packem_chunks/version-resolver.js +2 -0
- package/dist/packem_chunks/webhook.js +1 -0
- package/dist/packem_chunks/workflow-templates.js +167 -0
- package/dist/packem_chunks/workspace.js +2 -0
- package/dist/packem_shared/AfterAllProjectsVersioned-CAKI2nWf.js +1 -0
- package/dist/packem_shared/MultiSpinner-B9U0-aE3-B-gIXhFk.js +3 -0
- package/dist/packem_shared/ReleaseClient-BY4OZNCK.js +1 -0
- package/dist/packem_shared/Table-CcVkyULl-DLWu6XHL.js +34 -0
- package/dist/packem_shared/VisReleaseError-DMGRBTNO.js +1 -0
- package/dist/packem_shared/_commonjsHelpers-B5Y90VFO.js +1 -0
- package/dist/packem_shared/advisories-B76fBVL-.js +1 -0
- package/dist/packem_shared/affected-shas-CCxG4tvm.js +1 -0
- package/dist/packem_shared/ai-analysis-BpVdn20h.js +68 -0
- package/dist/packem_shared/ai-fix-CeGzAT9m.js +43 -0
- package/dist/packem_shared/anolilab-text-CAM_E6uK.js +13 -0
- package/dist/packem_shared/api.d-BPftyU9r.d.ts +27 -0
- package/dist/packem_shared/augment-DaSS2Lgs.js +4 -0
- package/dist/packem_shared/bin-BlGVEhl8.js +1 -0
- package/dist/packem_shared/build-scripts-q__dKE2y.js +1 -0
- package/dist/packem_shared/command-runtime-3FTGuUsK.js +1 -0
- package/dist/packem_shared/compile-cache-B_Vf_WxT.js +3 -0
- package/dist/packem_shared/createAdapter-bU4DIP3F.js +1 -0
- package/dist/packem_shared/createVersionActions-BK43SNDH.js +1 -0
- package/dist/packem_shared/cyclonedx-CmrYQ0vx.js +4 -0
- package/dist/packem_shared/defineFormatter-D5dCp6Kv.js +1 -0
- package/dist/packem_shared/definePlugin-DoUcoYSy.js +1 -0
- package/dist/packem_shared/dependency-scan-DpOFiZuI.js +1 -0
- package/dist/packem_shared/docker-BYqiD711.js +59 -0
- package/dist/packem_shared/env-DdQRnEIy.js +27 -0
- package/dist/packem_shared/failure-log-CKMhqLWr.js +2 -0
- package/dist/packem_shared/giget-DVTFJlbR.js +2 -0
- package/dist/packem_shared/glob-fqg4KepW-1S3z30c8.js +1 -0
- package/dist/packem_shared/index-B0EsgdzO.js +1 -0
- package/dist/packem_shared/index-CE6MsgcV.js +22 -0
- package/dist/packem_shared/index-Cg0IHaFI.js +1 -0
- package/dist/packem_shared/index-Cg71MisW.js +1 -0
- package/dist/packem_shared/index-DjTWo3sH.js +1 -0
- package/dist/packem_shared/index-jJNulo5i.js +28 -0
- package/dist/packem_shared/index.server-J83sowC4.js +2 -0
- package/dist/packem_shared/interface.d-B7VK2rcH.d.ts +148 -0
- package/dist/packem_shared/interface.d-Cezzifoh.d.ts +106 -0
- package/dist/packem_shared/license-t5KnNX6v.js +1 -0
- package/dist/packem_shared/lifecycle-aDTZ8dW1.js +2 -0
- package/dist/packem_shared/lockfile-C1qCKGH6.js +1 -0
- package/dist/packem_shared/main-B3juSU5z.js +1 -0
- package/dist/packem_shared/manifests-DSBr3-dw.js +1 -0
- package/dist/packem_shared/min-release-age-C71MO72F.js +34 -0
- package/dist/packem_shared/missing-package-json-CTF71tE5.js +1 -0
- package/dist/packem_shared/native-config-sync-D-z2Uwqu.js +21 -0
- package/dist/packem_shared/osv-bloom-DMhXP184.js +2 -0
- package/dist/packem_shared/otelPlugin-DmKDBaPo.js +1 -0
- package/dist/packem_shared/packument-aGzYwXKn.js +1 -0
- package/dist/packem_shared/peer-warnings-BXAzXqY3.js +1 -0
- package/dist/packem_shared/plugins.d-ND23R9I3.d.ts +4 -0
- package/dist/packem_shared/pm-runner-CQcraCcu.js +1 -0
- package/dist/packem_shared/prompt-DjXHVgYU.js +1 -0
- package/dist/packem_shared/provenance-S7y0BRAt.js +1 -0
- package/dist/packem_shared/public-api-WqUCiyIe.js +131 -0
- package/dist/packem_shared/readJsonSync-DuMMeB3s-ihoybKvs.js +1 -0
- package/dist/packem_shared/registry-keys-CRnXATt2.js +1 -0
- package/dist/packem_shared/resolve-explicit-CJGazevw.js +5 -0
- package/dist/packem_shared/resolve-runtime-QRaQucfL.js +1 -0
- package/dist/packem_shared/run-file-DD7Ne23Z.js +1 -0
- package/dist/packem_shared/runtime-check-qnrPTlma.js +1 -0
- package/dist/packem_shared/runtime-process-Dmz0vCJy-DUwTvH1J.js +1 -0
- package/dist/packem_shared/s1ngularity-BLj4Jy8z.js +1 -0
- package/dist/packem_shared/scan-progress-BDcl7Kty.js +2 -0
- package/dist/packem_shared/selectors-D4iCvITE.js +3 -0
- package/dist/packem_shared/signatures-DoNG2hEr.js +2 -0
- package/dist/packem_shared/slug-DoueYuLo.js +1 -0
- package/dist/packem_shared/spinner-DuJJvFTl.js +1 -0
- package/dist/packem_shared/sticky-comment-D6_7-w8T.js +1 -0
- package/dist/packem_shared/subtree-C7bZuiSQ.js +2 -0
- package/dist/packem_shared/symbols-DPTlrJ3B.js +1 -0
- package/dist/packem_shared/tabs-CgxCvjCY.js +1 -0
- package/dist/packem_shared/target-merge-Dg25Izl5.js +11 -0
- package/dist/packem_shared/target-options-CR0OuYJr.js +1 -0
- package/dist/packem_shared/toolchain-Zb3VzZb4.js +5 -0
- package/dist/packem_shared/typosquats-C12CP_2G.js +1 -0
- package/dist/packem_shared/use-measured-height-CjS7Tks7.js +1 -0
- package/dist/packem_shared/utils-CRueU43T.js +1 -0
- package/dist/packem_shared/verify-DStfg3nb.js +1 -0
- package/dist/packem_shared/vis-update-app-BlocL713.js +1 -0
- package/dist/packem_shared/watch-BXNI7dC6.js +1 -0
- package/dist/packem_shared/watch-loop-BZudYfcl.js +11 -0
- package/dist/release/core/changelog/index.d.ts +5 -0
- package/dist/release/core/changelog/index.js +1 -0
- package/dist/release/core/package-managers/index.d.ts +6 -0
- package/dist/release/core/package-managers/index.js +1 -0
- package/dist/release/core/version-actions/index.d.ts +14 -0
- package/dist/release/core/version-actions/index.js +1 -0
- package/dist/release/index.d.ts +233 -0
- package/dist/release/index.js +1 -0
- package/dist/release/plugin-sdk.d.ts +128 -0
- package/dist/release/plugin-sdk.js +1 -0
- package/dist/release/presets.d.ts +225 -0
- package/dist/release/presets.js +1 -0
- package/dist/release/types.d.ts +1493 -0
- package/dist/release/types.js +1 -0
- package/dist/runtime/preload.d.ts +1 -0
- package/dist/runtime/preload.js +1 -0
- package/index.d.ts +450 -0
- package/index.js +80 -57
- package/package.json +87 -44
- package/schemas/project.schema.json +872 -225
- package/schemas/vis-config.schema.json +6309 -264
- package/schemas/vis-release-config.schema.json +1423 -0
- package/skills/vis/SKILL.md +96 -0
- package/templates/buildkite-ci/.buildkite/pipeline.yml.tera +85 -0
- package/templates/buildkite-ci/template.yml +20 -0
- package/dist/config.d.ts +0 -1087
- package/dist/config.js +0 -1
- package/dist/packem_shared/VisUpdateApp-BBx3idMI.js +0 -1
- package/dist/packem_shared/ai-analysis-DDqXRFxY.js +0 -67
- package/dist/packem_shared/bin-BaZZ32BK.js +0 -93
- package/dist/packem_shared/cache-directory-DL8hfXeG.js +0 -1
- package/dist/packem_shared/catalog-CuSpuB_R.js +0 -12
- package/dist/packem_shared/dependency-scan-BoLG2Fez.js +0 -1
- package/dist/packem_shared/docker-BcfqH4Av.js +0 -2
- package/dist/packem_shared/flakiness-DSIHZGBT.js +0 -1
- package/dist/packem_shared/otelPlugin-DxyvBcXO.js +0 -1
- package/dist/packem_shared/runtime-check-CGHal8SO.js +0 -1
- package/dist/packem_shared/selectors-CfH9ZY08.js +0 -3
- package/dist/packem_shared/symbols-CIMw60-G.js +0 -1
- package/dist/packem_shared/toolchain-C3ZG0o_X.js +0 -5
- package/dist/packem_shared/typosquats-Bpq4zcWL.js +0 -1
- package/dist/packem_shared/utils-DrNg0XTR.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as O}from"node:module";import{DEFAULT_CHANGES_DIR as G}from"./DEFAULT_CLEAN_KEEP.js";import{p as $,r as Q,a as X,b as Y}from"./registry.js";import{getCurrentSha as z,getShortSha as K}from"./git.js";import{N as Z}from"./detect.js";const J=O(import.meta.url),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,U=s=>{if(typeof u<"u"&&u.versions&&u.versions.node){const[e,r]=u.versions.node.split(".").map(Number);if(e>22||e===22&&r>=3||e===20&&r>=16)return u.getBuiltinModule(s)}return J(s)},{readFile:W,writeFile:N}=U("node:fs/promises"),ee=(s,e)=>s.replaceAll("{tag}",e.tag).replaceAll("{sha}",e.sha).replaceAll("{shortSha}",e.shortSha).replaceAll("{branch}",e.branch??"").replaceAll("{pr}",e.pr??"").replaceAll("{timestamp}",e.timestamp),ce=async s=>{const{context:e,dryRun:r=!1,registry:g,tag:n}=s,{createShellRunner:c}=await import("./shell-runner.js"),o=s.runner??c(),l=await z({cwd:e.cwd,runner:o}),i=await K({cwd:e.cwd,runner:o});if(!l||!i)throw new Error("Could not resolve git HEAD. Snapshot requires a git workspace.");const w=e.config.snapshot?.versionTemplate??"0.0.0-{tag}-{shortSha}",A=new Date().toISOString().replaceAll(/[:.]/g,"").slice(0,14),m=e.config.snapshot?.tags??[],p=await o.run("git",["rev-parse","--abbrev-ref","HEAD"],{cwd:e.cwd,silent:!0}).then(t=>t.exitCode===0?t.stdout.trim():void 0).catch(()=>{}),S=process.env.VIS_PR_NUMBER??process.env.PR_NUMBER,R=[n];for(const t of m){let a;switch(t){case"branch":{a=p&&p!=="HEAD"?p:void 0;break}case"pr":{a=S?`pr-${S}`:void 0;break}case"sha":{a=l;break}case"short-sha":{a=i;break}default:a=void 0}a&&a!==n&&!R.includes(a)&&R.push(a)}let f=e.packages;if(s.filter){const{default:t}=await import("./index.js"),a=s.filter.split(",").map(h=>h.trim()).filter(Boolean);f=f.filter(h=>a.some(y=>h.name===y||t(y,h.name)))}f=f.filter(t=>!t.private);const d=ee(w,{branch:p&&p!=="HEAD"?p:void 0,pr:S,sha:l,shortSha:i,tag:n,timestamp:A}),P=new Map;for(const t of f)P.set(t.name,{...t.manifest,version:d});const F=$(await e.pm.readCatalogYaml(e.cwd)),H=new Z(o),b=[],v=[],k=[],j=e.config.changesDir??G,{acquireLock:T,releaseLock:q}=await import("./state.js");let C=!1;if(!r)try{await T(e.cwd,j),C=!0}catch(t){return k.push({name:"_lock",reason:t.message}),{failed:k,published:b,skipped:v,snapshotVersion:d,tag:n}}try{for(const t of f){const a=ae(t,P),h=Q(a,F),y=X(h,e.config.publish?.cleanPackageJson);if(r){b.push({name:t.name,version:d});continue}let D;try{D=await W(t.manifestPath,"utf8"),await N(t.manifestPath,`${JSON.stringify(y,null,4)}
|
|
2
|
+
`);const{mkdtempSync:E}=await import("node:fs"),{tmpdir:x}=await import("node:os"),{join:B}=await import("node:path"),M=E(B(x(),"vis-snapshot-")),V=await e.pm.pack({cwd:t.dir,destination:M});let _;for(const I of R){const L=await H.publish({access:"public",extraArgs:["--no-git-checks"],registry:g,tag:I,tarball:V.tarball});_??=L}_?.published?b.push({name:t.name,version:d}):_?.alreadyPublished?v.push({name:t.name,reason:"already-published"}):v.push({name:t.name,reason:_?.output??"unknown"})}catch(E){k.push({name:t.name,reason:E.message})}finally{if(D!==void 0)try{await N(t.manifestPath,D)}catch{}}}}finally{C&&await q(e.cwd,j)}return{failed:k,published:b,skipped:v,snapshotVersion:d,tag:n}},te=["dependencies","devDependencies","peerDependencies","optionalDependencies"],ae=(s,e)=>{const r=e.get(s.name)??s.manifest,g={...r};for(const n of te){const c=r[n];if(!c||typeof c!="object")continue;const o={...c};for(const[l,i]of Object.entries(c)){const w=e.get(l);if(w&&i.startsWith("workspace:")){const A=i.slice(10),m=Y(A==="*"?"*":i,w.version);o[l]=m.startsWith("workspace:")?m.slice(10):m}}g[n]=o}return g};export{ce as runSnapshot};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as n}from"node:module";import{VisReleaseError as d}from"../packem_shared/VisReleaseError-DMGRBTNO.js";const a=n(import.meta.url),o=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,c=e=>{if(typeof o<"u"&&o.versions&&o.versions.node){const[t,s]=o.versions.node.split(".").map(Number);if(t>22||t===22&&s>=3||t===20&&s>=16)return o.getBuiltinModule(e)}return a(e)},{setTimeout:u}=c("node:timers/promises"),f=async e=>{const t=Date.now(),s=r=>{const i=r.trim();if(!i)return!1;try{return typeof JSON.parse(i).id=="string"}catch{return!1}};for(;Date.now()-t<e.timeoutMs;){const r=await e.runner.run("npm",["stage","view",e.stageId,"--json"],{cwd:e.cwd,silent:!0});if(!(r.exitCode===0&&s(r.stdout))){const i=await e.runner.run("npm",["view",`${e.packageName}@${e.version}`,"dist.tarball","--silent"],{cwd:e.cwd,silent:!0});return i.exitCode===0&&i.stdout.trim()?"approved":"rejected"}e.onProgress?.(Date.now()-t),await u(e.pollIntervalMs)}return"timeout"},m=(e,t=process.env)=>{const s=e==="restricted",r=!!t.ACTIONS_ID_TOKEN_REQUEST_URL&&!t.NPM_TOKEN;if(s&&r)throw new d({code:"CONFIG_INVALID",hint:"Either set publish.stage: false, or fall back to NPM_TOKEN authentication (export NPM_TOKEN; trusted publishing on restricted packages is tracked for a future release).",message:"publish.stage with OIDC trusted publishing is not supported for restricted-access packages in v1."})};export{m as refuseRestrictedOidc,f as waitForStageDecision};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as S}from"node:module";import{VisReleaseError as l}from"../packem_shared/VisReleaseError-DMGRBTNO.js";const w=S(import.meta.url),o=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,p=e=>{if(typeof o<"u"&&o.versions&&o.versions.node){const[n,r]=o.versions.node.split(".").map(Number);if(n>22||n===22&&r>=3||n===20&&r>=16)return o.getBuiltinModule(e)}return w(e)},{readFile:h,unlink:v,mkdir:_,writeFile:N}=p("node:fs/promises"),{dirname:k,join:O}=p("node:path"),y=(e,n)=>O(e,n,"staged.json"),R=()=>({pending:[],recentlyNotified:[],recentlyWalked:[],updatedAt:new Date().toISOString(),version:1}),c=100,T=720*60*60*1e3,u=(e,n=Date.now())=>{if(!e||e.length===0)return[];const r=n-T,t=e.filter(i=>{const a=Date.parse(i.at);return Number.isFinite(a)&&a>=r});return t.length<=c?t:[...t].sort((i,a)=>Date.parse(a.at)-Date.parse(i.at)).slice(0,c)},P=async(e,n)=>{const r=y(e,n);let t;try{t=await h(r,"utf8")}catch(a){if(a.code==="ENOENT")return R();throw new l({cause:a,code:"STATE_FILE_CORRUPT",message:`Failed to read staged registry at ${r}: ${a.message}`})}let i;try{i=JSON.parse(t)}catch(a){throw new l({cause:a,code:"STATE_FILE_CORRUPT",message:`Staged registry at ${r} is not valid JSON: ${a.message}. Remove the file or fix it manually.`})}if(i.version!==1)throw new l({code:"STATE_FILE_CORRUPT",message:`Staged registry at ${r} reports unknown version ${i.version}. Upgrade vis or remove the file.`});if(!Array.isArray(i.pending))throw new l({code:"STATE_FILE_CORRUPT",message:`Staged registry at ${r} is missing the "pending" array.`});return i},F=async(e,n,r)=>{const t=y(e,n);let i;try{const d=await h(t,"utf8");i=JSON.parse(d)}catch{i=void 0}const a=u(r.recentlyNotified),s=u(r.recentlyWalked),g={...r,recentlyNotified:a,recentlyWalked:s};if(g.pending.length===0&&a.length===0&&s.length===0){if(i===void 0)return{changed:!1,path:t,removed:!1};try{await v(t)}catch(d){if(d.code!=="ENOENT")throw d}return{changed:!0,path:t,removed:!0}}if(i&&E(i,g))return{changed:!1,path:t,removed:!1};await _(k(t),{recursive:!0});const m=`${JSON.stringify({...g,updatedAt:new Date().toISOString()},null,2)}
|
|
2
|
+
`;return await N(t,m),{changed:!0,path:t,removed:!1}},W=(e,n,r=new Date().toISOString())=>{if(n.length===0)return e;const t=e.recentlyNotified??[],i=new Set(t.map(s=>s.key)),a=n.filter(s=>!i.has(s)).map(s=>({at:r,key:s}));return a.length===0?e:{...e,recentlyNotified:[...t,...a],updatedAt:r}},$=(e,n,r=new Date().toISOString())=>{if(n.length===0)return e;const t=e.recentlyWalked??[],i=new Set(t.map(s=>s.key)),a=n.filter(s=>!i.has(s)).map(s=>({at:r,key:s}));return a.length===0?e:{...e,recentlyWalked:[...t,...a],updatedAt:r}},j=(e,n)=>{if(n.length===0)return e;const r=new Map(e.pending.map(t=>[t.id,t]));for(const t of n)r.set(t.id,t);return{...e,pending:[...r.values()],updatedAt:new Date().toISOString()}},C=(e,n)=>{if(n.length===0||e.pending.length===0)return e;const r=new Set(n),t=e.pending.filter(i=>!r.has(i.id));return t.length===e.pending.length?e:{...e,pending:t,updatedAt:new Date().toISOString()}},b=(e,n)=>{if(e.pending.length===0||n.length===0)return[];const r=new Set(n);return e.pending.filter(t=>r.has(t.name))},f=(e,n)=>{const r=e??[],t=n??[];if(r.length!==t.length)return!1;if(r.length===0)return!0;const i=new Map(r.map(a=>[a.key,a]));for(const a of t)if(i.get(a.key)?.at!==a.at)return!1;return!0},E=(e,n)=>A(e.pending,n.pending)&&f(e.recentlyNotified,n.recentlyNotified)&&f(e.recentlyWalked,n.recentlyWalked),A=(e,n)=>{if(e.length!==n.length)return!1;if(e.length===0)return!0;const r=new Map(e.map(t=>[t.id,t]));for(const t of n){const i=r.get(t.id);if(!i||i.name!==t.name||i.version!==t.version||i.reason!==t.reason||(i.tag??"latest")!==(t.tag??"latest"))return!1}return!0};export{b as findConflictingPendingStages,A as pendingSetsEqual,u as pruneOldEntries,P as readStagedRegistry,W as recordRecentlyNotified,$ as recordRecentlyWalked,E as registryContentsEqual,C as removePendingStages,y as stagedRegistryPath,j as upsertPendingStages,F as writeStagedRegistry};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{createRequire as S}from"node:module";import{VisReleaseError as i}from"../packem_shared/VisReleaseError-DMGRBTNO.js";const E=S(import.meta.url),c=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,u=e=>{if(typeof c<"u"&&c.versions&&c.versions.node){const[t,a]=c.versions.node.split(".").map(Number);if(t>22||t===22&&a>=3||t===20&&a>=16)return c.getBuiltinModule(e)}return E(e)},{constants:d}=u("node:fs"),{mkdir:p,readFile:m,unlink:f,open:R,writeFile:O}=u("node:fs/promises"),{platform:$,hostname:w}=u("node:os"),{dirname:y,join:_}=u("node:path"),k=".state.json",v="publish-lock.json",l=(e,t,a=!1)=>_(e,t,a?v:k),P=async(e,t,a=!1)=>{try{const s=await m(l(e,t,a),"utf8"),o=JSON.parse(s);if(o.version!==1)throw new i({code:"STATE_FILE_CORRUPT",message:`Unknown state file version: ${o.version}. Delete ${l(e,t,a)} to start fresh.`});return o}catch(s){if(s.code==="ENOENT")return;throw s instanceof i?s:new i({cause:s,code:"STATE_FILE_CORRUPT",message:`Failed to read state file: ${s.message}`})}},b=async(e,t,a,s=!1)=>{const o=l(e,t,s);await p(y(o),{recursive:!0}),await O(o,`${JSON.stringify(a,null,2)}
|
|
2
|
+
`)},C=async(e,t,a=!1)=>{try{await f(l(e,t,a))}catch(s){if(s.code!=="ENOENT")throw new i({cause:s,code:"STATE_FILE_CORRUPT",message:`Could not clear state file at ${l(e,t,a)}: ${s.message}. Remove it manually before the next run.`})}},I=(e,t)=>({applied:[],channel:e,notified:[],plan:[...t],published:[],pushed:!1,startedAt:new Date().toISOString(),tagged:[],version:1,walked:[]}),j=(e,t)=>{const a=new Set(t.published);return e.filter(s=>!a.has(`${s.name}@${s.newVersion}`))},F=3600*1e3,T=(e,t)=>_(e,t,".lock"),A=e=>{try{return process.kill(e,0),!0}catch{return!1}},q=async(e,t)=>{const a=T(e,t);await p(y(a),{recursive:!0});const s={acquiredAt:new Date().toISOString(),hostname:w(),pid:process.pid,platform:$()},o=`${JSON.stringify(s,null,2)}
|
|
3
|
+
`,h=async()=>{try{const r=await R(a,d.O_WRONLY|d.O_CREAT|d.O_EXCL,384);try{await r.writeFile(o)}finally{await r.close()}return!0}catch(r){if(r.code==="EEXIST")return!1;throw r}};if(await h())return a;let n;try{n=JSON.parse(await m(a,"utf8"))}catch{}if(n){const r=Date.now()-new Date(n.acquiredAt).getTime();if((!n.hostname||n.hostname===w())&&A(n.pid)&&r<F){const g=n.hostname?`${n.hostname}:${n.pid}`:`PID ${n.pid}`;throw new i({code:"STATE_FILE_CORRUPT",message:`Release lock held by ${g} (acquired ${Math.round(r/1e3)}s ago). Wait for the other run, or remove ${a} if you're sure it's stale.`})}}try{await f(a)}catch{}if(await h())return a;throw new i({code:"STATE_FILE_CORRUPT",message:`Could not acquire release lock at ${a} after clearing a stale entry. Another process took it. Retry in a few seconds.`})},D=async(e,t)=>{try{await f(T(e,t))}catch{}};export{q as acquireLock,C as clearState,j as filterPlanByState,T as lockFilePath,I as newState,P as readState,D as releaseLock,l as stateFilePath,b as writeState};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{s as d,E as i,I as y}from"../packem_shared/index.server-J83sowC4.js";import{p as a}from"./cli-main.js";import{r as l,g as h}from"../packem_shared/advisories-B76fBVL-.js";const p=r=>{if(r===0)return"0 B";const n=["B","KB","MB","GB"],t=Math.min(Math.floor(Math.log(r)/Math.log(1024)),n.length-1),o=r/1024**t;return`${o.toFixed(o<10&&t>0?1:0)} ${n[t]}`},v=r=>{if(!r)return"never";const n=Date.parse(r);if(Number.isNaN(n))return r;const t=Date.now()-n;if(t<0)return r;const o=Math.floor(t/6e4);if(o<1)return"just now";if(o<60)return`${o}m ago`;const s=Math.floor(o/60);return s<24?`${s}h ago`:`${Math.floor(s/24)}d ago`},g=async({logger:r,options:n,workspaceRoot:t})=>{if(!t)throw new Error("Could not determine workspace root. Run this command inside a workspace.");const o=n.db??l(t),s=await h(t,o);if(n.format==="json"){process.stdout.write(`${JSON.stringify({dbPath:o,ecosystems:s.ecosystems.map(e=>({advisoryCount:e.advisoryCount,lastSyncIso:e.lastSyncIso,manifestEtag:e.manifestEtag??null,name:e.name})),exists:s.exists,schemaVersion:s.schemaVersion,sizeBytes:s.sizeBytes},void 0,2)}
|
|
2
|
+
`);return}if(a.info(`DB: ${o}`),!s.exists){a.warn(`No advisory DB yet. Run ${d("vis advisories sync")} to populate.`);return}if(a.info(`Schema: v${s.schemaVersion} Size: ${p(s.sizeBytes)}`),s.ecosystems.length===0){a.warn("DB exists but contains no ecosystems. Run `vis advisories sync`.");return}a.info(""),a.info("Ecosystem Advisories Last sync ETag"),a.info(i("────────── ────────── ───────────────── ──────"));for(const e of s.ecosystems){const c=e.name.padEnd(10),f=e.advisoryCount.toLocaleString().padStart(10),m=`${e.lastSyncIso||"never"} (${v(e.lastSyncIso)})`.padEnd(19),u=e.manifestEtag??i("—");a.info(`${y(c)} ${f} ${m} ${u}`)}},S=g;export{S as advisoriesStatusExecute};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const p="<!-- vis-release-success -->",k=["released"],v=`${p}
|
|
2
|
+
:tada: This issue has been resolved in version {version} :tada:
|
|
3
|
+
|
|
4
|
+
The release is available on [GitHub release]({url}).
|
|
5
|
+
|
|
6
|
+
Your **[vis](https://github.com/visulima/visulima)** release pipeline shipped this. :rocket:`,C=(s,e)=>{const t=new Set,n=/(?:^|[\s(,;:!?])#(\d+)/g;let r;for(;(r=n.exec(s))!==null;){const a=Number.parseInt(r[1],10);Number.isFinite(a)&&a>0&&t.add(a)}const o=/\bgh-(\d+)/gi;for(;(r=o.exec(s))!==null;){const a=Number.parseInt(r[1],10);Number.isFinite(a)&&a>0&&t.add(a)}const u=/https?:\/\/([^\s/]+)\/([^\s)]*?)\/(?:pull|issues|merge_requests)\/(\d+)/gi;for(;(r=u.exec(s))!==null;){const a=Number.parseInt(r[3],10);if(Number.isFinite(a)&&a>0){if(e){const l=(r[2]??"").replaceAll(/^\/+|\/+$/g,"").replace(/\/-$/,""),m=e.replaceAll(/^\/+|\/+$/g,"");if(l.toLowerCase()!==m.toLowerCase())continue}t.add(a)}}return[...t].sort((a,l)=>a-l)},$=(s,e)=>{let t=s;if(e.url)t=t.replaceAll("{url}",e.url);else{const n=`${e.name}@${e.version}`;t=t.replaceAll(/\[[^\]]*\]\(\{url\}\)/g,n),t=t.replaceAll("{url}",n)}return t.replaceAll("{version}",e.version).replaceAll("{name}",e.name).replaceAll("{tag}",e.tag)},L=s=>{const e=s.config.successWalk??{};return{commentBody:e.commentBody??v,enabled:e.enabled!==!1,labels:e.labels??k,skipPrerelease:e.skipPrerelease!==!1}},N=async(s,e,t,n)=>{const r=new Set,o=new Map,u=new Date().toISOString().slice(0,10);for(const a of e.published){const l=s.plan.releases.find(c=>c.name===a.name);if(!l)continue;let m;try{m=await t({changeFiles:l.changeFiles,date:u,release:l,target:"github-release"})}catch{continue}const d=[m,...l.changeFiles.map(c=>c.body)].join(`
|
|
7
|
+
`);for(const c of C(d,n))o.has(c)||o.set(c,l),r.add(c)}return{firstReleaseByRef:o,refs:[...r].sort((a,l)=>a-l)}},R=(s,e)=>s?e.published.find(t=>t.name===s.name)?.url??"":"",F=s=>{let e=0;const t=[],n=()=>{if(e>=s)return;const r=t.shift();r&&(e+=1,r())};return r=>new Promise((o,u)=>{const a=()=>{e-=1,n()},l=()=>{r().then(o,u).finally(a)};t.push(l),n()})},W=s=>new Promise(e=>{setTimeout(e,s)}),_=s=>{if(!s||typeof s!="object")return!1;const e=s;return typeof e.status=="number"&&e.status===429||typeof e.statusCode=="number"&&e.statusCode===429?!0:typeof e.message=="string"?/\b429\b|rate[- ]?limit/i.test(e.message):!1},E=(s,e)=>{if(!s||typeof s!="object")return e;const t=s;if(typeof t.retryAfter=="number"&&Number.isFinite(t.retryAfter)&&t.retryAfter>=0)return Math.round(t.retryAfter*1e3);if(typeof t.message=="string"){const n=/Retry-After:\s*(\d+)/i.exec(t.message);if(n){const r=Number.parseInt(n[1],10);if(Number.isFinite(r)&&r>=0)return r*1e3}}return e},g=async(s,e=5e3)=>{try{return await s()}catch(t){if(!_(t))throw t;const n=E(t,e);return await W(n),s()}},x=async(s,e,t,n)=>{const r={commented:[],labeled:[],warnings:[]};if(s.config.successWalk===void 0)return r;const o=L(s);if(!o.enabled)return r;const u=!!s.channel?.prerelease||e.published.some(i=>i.version.includes("-"));if(o.skipPrerelease&&u||!n.repo)return r;const{firstReleaseByRef:a,refs:l}=await N(s,e,n.formatter,n.repo);if(l.length===0)return r;const m=s.channel?.tag??"",d=F(4),c=l.map(i=>d(async()=>{const f=a.get(i),y=f?.newVersion??e.published[0]?.version??"",w=f?.name??e.published[0]?.name??"",A=R(f,e),b=$(o.commentBody,{name:w,tag:m,url:A,version:y}),S=b.includes(p)?b:`${p}
|
|
8
|
+
${b}`;try{if(await g(()=>n.client.upsertStickyComment(t,{body:S,cwd:s.cwd,issueNumber:i,marker:p,repo:n.repo})))r.commented.push(i);else{r.warnings.push(`successWalk: upsertStickyComment returned undefined for #${i}; skipping label step.`);return}}catch(h){r.warnings.push(`successWalk: failed to comment on #${i}: ${h.message}`);return}if(o.labels.length!==0)try{await g(()=>n.client.addLabels(t,{cwd:s.cwd,issueNumber:i,labels:o.labels,repo:n.repo}))?r.labeled.push(i):r.warnings.push(`successWalk: addLabels returned false for #${i}; the labels may not have been applied.`)}catch(h){r.warnings.push(`successWalk: failed to label #${i}: ${h.message}`)}}));return await Promise.all(c),r.commented.sort((i,f)=>i-f),r.labeled.sort((i,f)=>i-f),r};export{v as DEFAULT_SUCCESS_WALK_COMMENT,k as DEFAULT_SUCCESS_WALK_LABELS,p as SUCCESS_WALK_MARKER,C as extractReferences,F as pLimit,x as walkSuccessfulRelease,g as withRateLimitRetry};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{E as g}from"../packem_shared/index.server-J83sowC4.js";import{p as c}from"./cli-main.js";import{s as $}from"../packem_shared/scan-progress-BDcl7Kty.js";import{s as w,D as v}from"../packem_shared/advisories-B76fBVL-.js";const S=t=>t?.security?.audit?.advisories??{},D=t=>t?t.split(",").map(r=>r.trim()).filter(r=>r.length>0):["npm"],b=async({logger:t,options:r,visConfig:h,workspaceRoot:d})=>{if(!d)throw new Error("Could not determine workspace root. Run this command inside a workspace.");const l=r.format==="json",u=S(h),m=r.source??u.source??v,p=D(r.ecosystem),y=p.map(s=>({id:s,label:`Sync ${s} advisories`})),n=$(y,{live:!l}),i=[];try{for(const s of p){n.start(s);const o=Date.now();try{const e=await w({allowedHosts:u.allowedHosts,dbPath:r.db,ecosystem:s,force:!!r.force,source:m,workspaceRoot:d});i.push({ecosystem:s,result:e}),e.upToDate?n.finish(s,"ok",`up to date · ${f(Date.now()-o)}`):n.finish(s,"ok",`${e.advisoriesIngested.toLocaleString()} advisories · ${f(e.durationMs)}`)}catch(e){const a=e instanceof Error?e.message:String(e);i.push({ecosystem:s,error:a}),n.finish(s,"error",a)}}}finally{n.stop()}if(l){const s={ecosystems:i.map(o=>({advisoriesIngested:o.result?.advisoriesIngested??0,dbPath:o.result?.dbPath??null,durationMs:o.result?.durationMs??0,ecosystem:o.ecosystem,error:o.error??null,upToDate:o.result?.upToDate??!1})),source:m};process.stdout.write(`${JSON.stringify(s,void 0,2)}
|
|
2
|
+
`)}else{const s=i.filter(a=>a.error),o=i.filter(a=>a.result),e=o[0];e?.result?.dbPath&&c.info(g(`DB: ${e.result.dbPath}`)),s.length===0?c.success(`Synced ${o.length} ecosystem${o.length===1?"":"s"}.`):c.error(`${s.length} ecosystem${s.length===1?"":"s"} failed to sync.`)}i.some(s=>s.error)&&(process.exitCode=1)},f=t=>t>=1e3?`${(t/1e3).toFixed(1)}s`:`${Math.round(t)}ms`,R=b;export{R as advisoriesSyncExecute};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{p as e}from"./cli-main.js";import{A as u}from"../packem_shared/pm-runner-CQcraCcu.js";import{O as g}from"../packem_shared/native-config-sync-D-z2Uwqu.js";import{S as l}from"../packem_shared/min-release-age-C71MO72F.js";const y=new Set(["bun","npm","pnpm","yarn"]),k=({options:r,visConfig:c,workspaceRoot:f})=>{const s=f??process.cwd(),n=u(s);if(!y.has(n.name)){e.warn(`Package manager '${n.name}' has no native security config to sync.`);return}if(!c?.security){e.warn("vis.config has no `security` block — nothing to sync.");return}const t=c.security.policies??{},a=Object.fromEntries(Object.entries(t.installScripts?.allow??{}).filter(([,o])=>o)),m=t.firstSeen?.minutes,p=t.firstSeen?.exclude??[],i=[];if(Object.keys(a).length>0&&!r.skipAllowBuilds&&i.push(...g(n.name,s,a)),r.skipMinReleaseAge||i.push(...l(n.name,s,m,p)),i.length===0){e.success("Nothing to sync — vis.config and native PM config are aligned.");return}e.info(`Syncing vis.config security settings to ${n.name} native config…
|
|
2
|
+
`);for(const o of i)e.success(` ${o}`)};export{k as default};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{createRequire as nr}from"node:module";import{l as ar}from"../packem_shared/giget-DVTFJlbR.js";const or=nr(import.meta.url),Fe=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,D=e=>{if(typeof Fe<"u"&&Fe.versions&&Fe.versions.node){const[t,i]=Fe.versions.node.split(".").map(Number);if(t>22||t===22&&i>=3||t===20&&i>=16)return Fe.getBuiltinModule(e)}return or(e)},d=D("node:fs"),lr=D("node:fs/promises"),Ls=D("node:stream"),c=D("node:path"),{posix:Re,basename:dr,join:As,win32:ur}=c,Ds=D("events"),{EventEmitter:fr}=Ds,p=D("fs"),{EventEmitter:Ci}=D("node:events"),{StringDecoder:cr}=D("node:string_decoder"),st=D("path"),{parse:mr,dirname:pr}=st,mi=D("assert"),{Buffer:ge}=D("buffer"),Vi=D("zlib"),Ki={...Vi,default:Vi},yr=D("zlib"),br=D("node:assert"),{randomBytes:xs}=D("node:crypto");var en=ar({Header:()=>ae,Pack:()=>nt,PackJob:()=>Ti,PackSync:()=>Ut,Parser:()=>xe,Pax:()=>rt,ReadEntry:()=>Hs,Unpack:()=>Ft,UnpackSync:()=>Mi,WriteEntry:()=>Gi,WriteEntrySync:()=>Gs,WriteEntryTar:()=>$s,c:()=>ps,create:()=>ps,extract:()=>ks,filesFilter:()=>Hi,list:()=>Be,r:()=>be,replace:()=>be,t:()=>Be,types:()=>zs,x:()=>ks}),gr=Object.defineProperty,Er=(e,t)=>{for(var i in t)gr(e,i,{get:t[i],enumerable:!0})},Xi=process||{stdout:null,stderr:null},wr=e=>!!e&&typeof e=="object"&&(e instanceof _e||e instanceof Ls||_r(e)||Rr(e)),_r=e=>!!e&&typeof e=="object"&&e instanceof Ci&&typeof e.pipe=="function"&&e.pipe!==Ls.Writable.prototype.pipe,Rr=e=>!!e&&typeof e=="object"&&e instanceof Ci&&typeof e.write=="function"&&typeof e.end=="function",W=Symbol("EOF"),G=Symbol("maybeEmitEnd"),X=Symbol("emittedEnd"),ot=Symbol("emittingEnd"),Me=Symbol("emittedError"),at=Symbol("closed"),qi=Symbol("read"),lt=Symbol("flush"),Qi=Symbol("flushChunk"),B=Symbol("encoding"),Se=Symbol("decoder"),R=Symbol("flowing"),Ce=Symbol("paused"),ke=Symbol("resume"),S=Symbol("buffer"),A=Symbol("pipes"),v=Symbol("bufferLength"),Ht=Symbol("bufferPush"),dt=Symbol("bufferShift"),L=Symbol("objectMode"),E=Symbol("destroyed"),Zt=Symbol("error"),Wt=Symbol("emitData"),Ji=Symbol("emitEnd"),Gt=Symbol("emitEnd2"),z=Symbol("async"),$t=Symbol("abort"),ut=Symbol("aborted"),Pe=Symbol("signal"),le=Symbol("dataListeners"),x=Symbol("discarded"),ze=e=>Promise.resolve().then(e),Sr=e=>e(),vr=e=>e==="end"||e==="finish"||e==="prefinish",Or=e=>e instanceof ArrayBuffer||!!e&&typeof e=="object"&&e.constructor&&e.constructor.name==="ArrayBuffer"&&e.byteLength>=0,Tr=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e),Ns=class{src;dest;opts;ondrain;constructor(e,t,i){this.src=e,this.dest=t,this.opts=i,this.ondrain=()=>e[ke](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(e){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},kr=class extends Ns{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,t,i){super(e,t,i),this.proxyErrors=s=>this.dest.emit("error",s),e.on("error",this.proxyErrors)}},Lr=e=>!!e.objectMode,Ar=e=>!e.objectMode&&!!e.encoding&&e.encoding!=="buffer",_e=class extends Ci{[R]=!1;[Ce]=!1;[A]=[];[S]=[];[L];[B];[z];[Se];[W]=!1;[X]=!1;[ot]=!1;[at]=!1;[Me]=null;[v]=0;[E]=!1;[Pe];[ut]=!1;[le]=0;[x]=!1;writable=!0;readable=!0;constructor(...e){let t=e[0]||{};if(super(),t.objectMode&&typeof t.encoding=="string")throw TypeError("Encoding and objectMode may not be used together");Lr(t)?(this[L]=!0,this[B]=null):Ar(t)?(this[B]=t.encoding,this[L]=!1):(this[L]=!1,this[B]=null),this[z]=!!t.async,this[Se]=this[B]?new cr(this[B]):null,t&&t.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[S]}),t&&t.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[A]});let{signal:i}=t;i&&(this[Pe]=i,i.aborted?this[$t]():i.addEventListener("abort",()=>this[$t]()))}get bufferLength(){return this[v]}get encoding(){return this[B]}set encoding(e){throw Error("Encoding must be set at instantiation time")}setEncoding(e){throw Error("Encoding must be set at instantiation time")}get objectMode(){return this[L]}set objectMode(e){throw Error("objectMode must be set at instantiation time")}get async(){return this[z]}set async(e){this[z]=this[z]||!!e}[$t](){this[ut]=!0,this.emit("abort",this[Pe]?.reason),this.destroy(this[Pe]?.reason)}get aborted(){return this[ut]}set aborted(e){}write(e,t,i){if(this[ut])return!1;if(this[W])throw Error("write after end");if(this[E])return this.emit("error",Object.assign(Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof t=="function"&&(i=t,t="utf8"),t||="utf8";let s=this[z]?ze:Sr;if(!this[L]&&!Buffer.isBuffer(e)){if(Tr(e))e=Buffer.from(e.buffer,e.byteOffset,e.byteLength);else if(Or(e))e=Buffer.from(e);else if(typeof e!="string")throw Error("Non-contiguous data written to non-objectMode stream")}return this[L]?(this[R]&&this[v]!==0&&this[lt](!0),this[R]?this.emit("data",e):this[Ht](e),this[v]!==0&&this.emit("readable"),i&&s(i),this[R]):e.length?(typeof e=="string"&&!(t===this[B]&&!this[Se]?.lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[B]&&(e=this[Se].write(e)),this[R]&&this[v]!==0&&this[lt](!0),this[R]?this.emit("data",e):this[Ht](e),this[v]!==0&&this.emit("readable"),i&&s(i),this[R]):(this[v]!==0&&this.emit("readable"),i&&s(i),this[R])}read(e){if(this[E])return null;if(this[x]=!1,this[v]===0||e===0||e&&e>this[v])return this[G](),null;this[L]&&(e=null),this[S].length>1&&!this[L]&&(this[S]=[this[B]?this[S].join(""):Buffer.concat(this[S],this[v])]);let t=this[qi](e||null,this[S][0]);return this[G](),t}[qi](e,t){if(this[L])this[dt]();else{let i=t;e===i.length||e===null?this[dt]():typeof i=="string"?(this[S][0]=i.slice(e),t=i.slice(0,e),this[v]-=e):(this[S][0]=i.subarray(e),t=i.subarray(0,e),this[v]-=e)}return this.emit("data",t),!this[S].length&&!this[W]&&this.emit("drain"),t}end(e,t,i){return typeof e=="function"&&(i=e,e=void 0),typeof t=="function"&&(i=t,t="utf8"),e!==void 0&&this.write(e,t),i&&this.once("end",i),this[W]=!0,this.writable=!1,(this[R]||!this[Ce])&&this[G](),this}[ke](){this[E]||(!this[le]&&!this[A].length&&(this[x]=!0),this[Ce]=!1,this[R]=!0,this.emit("resume"),this[S].length?this[lt]():this[W]?this[G]():this.emit("drain"))}resume(){return this[ke]()}pause(){this[R]=!1,this[Ce]=!0,this[x]=!1}get destroyed(){return this[E]}get flowing(){return this[R]}get paused(){return this[Ce]}[Ht](e){this[L]?this[v]+=1:this[v]+=e.length,this[S].push(e)}[dt](){return this[L]?--this[v]:this[v]-=this[S][0].length,this[S].shift()}[lt](e=!1){do;while(this[Qi](this[dt]())&&this[S].length);!e&&!this[S].length&&!this[W]&&this.emit("drain")}[Qi](e){return this.emit("data",e),this[R]}pipe(e,t){if(this[E])return e;this[x]=!1;let i=this[X];return t||={},e===Xi.stdout||e===Xi.stderr?t.end=!1:t.end=t.end!==!1,t.proxyErrors=!!t.proxyErrors,i?t.end&&e.end():(this[A].push(t.proxyErrors?new kr(this,e,t):new Ns(this,e,t)),this[z]?ze(()=>this[ke]()):this[ke]()),e}unpipe(e){let t=this[A].find(i=>i.dest===e);t&&(this[A].length===1?(this[R]&&this[le]===0&&(this[R]=!1),this[A]=[]):this[A].splice(this[A].indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let i=super.on(e,t);if(e==="data")this[x]=!1,this[le]++,!this[A].length&&!this[R]&&this[ke]();else if(e==="readable"&&this[v]!==0)super.emit("readable");else if(vr(e)&&this[X])super.emit(e),this.removeAllListeners(e);else if(e==="error"&&this[Me]){let s=t;this[z]?ze(()=>s.call(this,this[Me])):s.call(this,this[Me])}return i}removeListener(e,t){return this.off(e,t)}off(e,t){let i=super.off(e,t);return e==="data"&&(this[le]=this.listeners("data").length,this[le]===0&&!this[x]&&!this[A].length&&(this[R]=!1)),i}removeAllListeners(e){let t=super.removeAllListeners(e);return(e==="data"||e===void 0)&&(this[le]=0,!this[x]&&!this[A].length&&(this[R]=!1)),t}get emittedEnd(){return this[X]}[G](){!this[ot]&&!this[X]&&!this[E]&&this[S].length===0&&this[W]&&(this[ot]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[at]&&this.emit("close"),this[ot]=!1)}emit(e,...t){let i=t[0];if(e!=="error"&&e!=="close"&&e!==E&&this[E])return!1;if(e==="data")return!this[L]&&!i?!1:this[z]?(ze(()=>this[Wt](i)),!0):this[Wt](i);if(e==="end")return this[Ji]();if(e==="close"){if(this[at]=!0,!this[X]&&!this[E])return!1;let r=super.emit("close");return this.removeAllListeners("close"),r}else if(e==="error"){this[Me]=i,super.emit(Zt,i);let r=!this[Pe]||this.listeners("error").length?super.emit("error",i):!1;return this[G](),r}else if(e==="resume"){let r=super.emit("resume");return this[G](),r}else if(e==="finish"||e==="prefinish"){let r=super.emit(e);return this.removeAllListeners(e),r}let s=super.emit(e,...t);return this[G](),s}[Wt](e){for(let i of this[A])i.dest.write(e)===!1&&this.pause();let t=this[x]?!1:super.emit("data",e);return this[G](),t}[Ji](){return this[X]?!1:(this[X]=!0,this.readable=!1,this[z]?(ze(()=>this[Gt]()),!0):this[Gt]())}[Gt](){if(this[Se]){let t=this[Se].end();if(t){for(let i of this[A])i.dest.write(t);this[x]||super.emit("data",t)}}for(let t of this[A])t.end();let e=super.emit("end");return this.removeAllListeners("end"),e}async collect(){let e=Object.assign([],{dataLength:0});this[L]||(e.dataLength=0);let t=this.promise();return this.on("data",i=>{e.push(i),this[L]||(e.dataLength+=i.length)}),await t,e}async concat(){if(this[L])throw Error("cannot concat in objectMode");let e=await this.collect();return this[B]?e.join(""):Buffer.concat(e,e.dataLength)}async promise(){return new Promise((e,t)=>{this.on(E,()=>t(Error("stream destroyed"))),this.on("error",i=>t(i)),this.on("end",()=>e())})}[Symbol.asyncIterator](){this[x]=!1;let e=!1,t=async()=>(this.pause(),e=!0,{value:void 0,done:!0});return{next:()=>{if(e)return t();let i=this.read();if(i!==null)return Promise.resolve({done:!1,value:i});if(this[W])return t();let s,r,h=l=>{this.off("data",n),this.off("end",o),this.off(E,a),t(),r(l)},n=l=>{this.off("error",h),this.off("end",o),this.off(E,a),this.pause(),s({value:l,done:!!this[W]})},o=()=>{this.off("error",h),this.off("data",n),this.off(E,a),t(),s({done:!0,value:void 0})},a=()=>h(Error("stream destroyed"));return new Promise((l,f)=>{r=f,s=l,this.once(E,a),this.once("error",h),this.once("end",o),this.once("data",n)})},throw:t,return:t,[Symbol.asyncIterator](){return this},[Symbol.asyncDispose]:async()=>{}}}[Symbol.iterator](){this[x]=!1;let e=!1,t=()=>(this.pause(),this.off(Zt,t),this.off(E,t),this.off("end",t),e=!0,{done:!0,value:void 0});return this.once("end",t),this.once(Zt,t),this.once(E,t),{next:()=>{if(e)return t();let i=this.read();return i===null?t():{done:!1,value:i}},throw:t,return:t,[Symbol.iterator](){return this},[Symbol.dispose]:()=>{}}}destroy(e){if(this[E])return e?this.emit("error",e):this.emit(E),this;this[E]=!0,this[x]=!0,this[S].length=0,this[v]=0;let t=this;return typeof t.close=="function"&&!this[at]&&t.close(),e?this.emit("error",e):this.emit(E),this}static get isStream(){return wr}},Dr=p.writev,ne=Symbol("_autoClose"),P=Symbol("_close"),Ue=Symbol("_ended"),m=Symbol("_fd"),Yt=Symbol("_finished"),K=Symbol("_flags"),Vt=Symbol("_flush"),pi=Symbol("_handleChunk"),yi=Symbol("_makeBuf"),Xe=Symbol("_mode"),ft=Symbol("_needDrain"),Ne=Symbol("_onerror"),Ie=Symbol("_onopen"),Kt=Symbol("_onread"),Le=Symbol("_onwrite"),oe=Symbol("_open"),C=Symbol("_path"),te=Symbol("_pos"),U=Symbol("_queue"),Ae=Symbol("_read"),Xt=Symbol("_readSize"),V=Symbol("_reading"),je=Symbol("_remain"),qt=Symbol("_size"),Rt=Symbol("_write"),de=Symbol("_writing"),St=Symbol("_defaultFlag"),Ee=Symbol("_errored"),Pi=class extends _e{[Ee]=!1;[m];[C];[Xt];[V]=!1;[qt];[je];[ne];constructor(e,t){if(t||={},super(t),this.readable=!0,this.writable=!1,typeof e!="string")throw TypeError("path must be a string");this[Ee]=!1,this[m]=typeof t.fd=="number"?t.fd:void 0,this[C]=e,this[Xt]=t.readSize||16*1024*1024,this[V]=!1,this[qt]=typeof t.size=="number"?t.size:1/0,this[je]=this[qt],this[ne]=typeof t.autoClose=="boolean"?t.autoClose:!0,typeof this[m]=="number"?this[Ae]():this[oe]()}get fd(){return this[m]}get path(){return this[C]}write(){throw TypeError("this is a readable stream")}end(){throw TypeError("this is a readable stream")}[oe](){p.open(this[C],"r",(e,t)=>this[Ie](e,t))}[Ie](e,t){e?this[Ne](e):(this[m]=t,this.emit("open",t),this[Ae]())}[yi](){return Buffer.allocUnsafe(Math.min(this[Xt],this[je]))}[Ae](){if(!this[V]){this[V]=!0;let e=this[yi]();if(e.length===0)return process.nextTick(()=>this[Kt](null,0,e));p.read(this[m],e,0,e.length,null,(t,i,s)=>this[Kt](t,i,s))}}[Kt](e,t,i){this[V]=!1,e?this[Ne](e):this[pi](t,i)&&this[Ae]()}[P](){if(this[ne]&&typeof this[m]=="number"){let e=this[m];this[m]=void 0,p.close(e,t=>t?this.emit("error",t):this.emit("close"))}}[Ne](e){this[V]=!0,this[P](),this.emit("error",e)}[pi](e,t){let i=!1;return this[je]-=e,e>0&&(i=super.write(e<t.length?t.subarray(0,e):t)),(e===0||this[je]<=0)&&(i=!1,this[P](),super.end()),i}emit(e,...t){switch(e){case"prefinish":case"finish":return!1;case"drain":return typeof this[m]=="number"&&this[Ae](),!1;case"error":return this[Ee]?!1:(this[Ee]=!0,super.emit(e,...t));default:return super.emit(e,...t)}}},xr=class extends Pi{[oe](){let e=!0;try{this[Ie](null,p.openSync(this[C],"r")),e=!1}finally{e&&this[P]()}}[Ae](){let e=!0;try{if(!this[V]){this[V]=!0;do{let t=this[yi](),i=t.length===0?0:p.readSync(this[m],t,0,t.length,null);if(!this[pi](i,t))break}while(!0);this[V]=!1}e=!1}finally{e&&this[P]()}}[P](){if(this[ne]&&typeof this[m]=="number"){let e=this[m];this[m]=void 0,p.closeSync(e),this.emit("close")}}},Mt=class extends Ds{readable=!1;writable=!0;[Ee]=!1;[de]=!1;[Ue]=!1;[U]=[];[ft]=!1;[C];[Xe];[ne];[m];[St];[K];[Yt]=!1;[te];constructor(e,t){t||={},super(t),this[C]=e,this[m]=typeof t.fd=="number"?t.fd:void 0,this[Xe]=t.mode===void 0?438:t.mode,this[te]=typeof t.start=="number"?t.start:void 0,this[ne]=typeof t.autoClose=="boolean"?t.autoClose:!0;let i=this[te]===void 0?"w":"r+";this[St]=t.flags===void 0,this[K]=t.flags===void 0?i:t.flags,this[m]===void 0&&this[oe]()}emit(e,...t){if(e==="error"){if(this[Ee])return!1;this[Ee]=!0}return super.emit(e,...t)}get fd(){return this[m]}get path(){return this[C]}[Ne](e){this[P](),this[de]=!0,this.emit("error",e)}[oe](){p.open(this[C],this[K],this[Xe],(e,t)=>this[Ie](e,t))}[Ie](e,t){this[St]&&this[K]==="r+"&&e&&e.code==="ENOENT"?(this[K]="w",this[oe]()):e?this[Ne](e):(this[m]=t,this.emit("open",t),this[de]||this[Vt]())}end(e,t){return e&&this.write(e,t),this[Ue]=!0,!this[de]&&!this[U].length&&typeof this[m]=="number"&&this[Le](null,0),this}write(e,t){return typeof e=="string"&&(e=Buffer.from(e,t)),this[Ue]?(this.emit("error",Error("write() after end()")),!1):this[m]===void 0||this[de]||this[U].length?(this[U].push(e),this[ft]=!0,!1):(this[de]=!0,this[Rt](e),!0)}[Rt](e){p.write(this[m],e,0,e.length,this[te],(t,i)=>this[Le](t,i))}[Le](e,t){e?this[Ne](e):(this[te]!==void 0&&typeof t=="number"&&(this[te]+=t),this[U].length?this[Vt]():(this[de]=!1,this[Ue]&&!this[Yt]?(this[Yt]=!0,this[P](),this.emit("finish")):this[ft]&&(this[ft]=!1,this.emit("drain"))))}[Vt](){if(this[U].length===0)this[Ue]&&this[Le](null,0);else if(this[U].length===1)this[Rt](this[U].pop());else{let e=this[U];this[U]=[],Dr(this[m],e,this[te],(t,i)=>this[Le](t,i))}}[P](){if(this[ne]&&typeof this[m]=="number"){let e=this[m];this[m]=void 0,p.close(e,t=>t?this.emit("error",t):this.emit("close"))}}},Is=class extends Mt{[oe](){let e;if(this[St]&&this[K]==="r+")try{e=p.openSync(this[C],this[K],this[Xe])}catch(t){if(t?.code==="ENOENT")return this[K]="w",this[oe]();throw t}else e=p.openSync(this[C],this[K],this[Xe]);this[Ie](null,e)}[P](){if(this[ne]&&typeof this[m]=="number"){let e=this[m];this[m]=void 0,p.closeSync(e),this.emit("close")}}[Rt](e){let t=!0;try{this[Le](null,p.writeSync(this[m],e,0,e.length,this[te])),t=!1}finally{if(t)try{this[P]()}catch{}}}},Nr=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"],["onentry","onReadEntry"]]),Ir=e=>!!e.sync&&!!e.file,Br=e=>!e.sync&&!!e.file,Fr=e=>!!e.sync&&!e.file,Mr=e=>!e.sync&&!e.file,Cr=e=>!!e.file,Pr=e=>Nr.get(e)||e,zi=(e={})=>{if(!e)return{};let t={};for(let[i,s]of Object.entries(e)){let r=Pr(i);t[r]=s}return t.chmod===void 0&&t.noChmod===!1&&(t.chmod=!0),delete t.noChmod,t},ht=(e,t,i,s,r)=>Object.assign((h=[],n,o)=>{Array.isArray(h)&&(n=h,h={}),typeof n=="function"&&(o=n,n=void 0),n=n?Array.from(n):[];let a=zi(h);if(r?.(a,n),Ir(a)){if(typeof o=="function")throw TypeError("callback not supported for sync tar functions");return e(a,n)}else if(Br(a)){let l=t(a,n);return o?l.then(()=>o(),o):l}else if(Fr(a)){if(typeof o=="function")throw TypeError("callback not supported for sync tar functions");return i(a,n)}else if(Mr(a)){if(typeof o=="function")throw TypeError("callback only supported with file option");return s(a,n)}throw Error("impossible options??")},{syncFile:e,asyncFile:t,syncNoFile:i,asyncNoFile:s,validate:r}),zr=yr.constants||{ZLIB_VERNUM:4736},Z=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},zr)),Ur=ge.concat,es=Object.getOwnPropertyDescriptor(ge,"concat"),jr=e=>e,Qt=es?.writable===!0||es?.set!==void 0?e=>{ge.concat=e?jr:Ur}:e=>{},we=Symbol("_superWrite"),ct=class extends Error{code;errno;constructor(e,t){super("zlib: "+e.message,{cause:e}),this.code=e.code,this.errno=e.errno,this.code||="ZLIB_ERROR",this.message="zlib: "+e.message,Error.captureStackTrace(this,t??this.constructor)}get name(){return"ZlibError"}},Jt=Symbol("flushFlag"),Ui=class extends _e{#e=!1;#i=!1;#s;#h;#r;#t;#n;get sawError(){return this.#e}get handle(){return this.#t}get flushFlag(){return this.#s}constructor(e,t){if(!e||typeof e!="object")throw TypeError("invalid options for ZlibBase constructor");if(super(e),this.#s=e.flush??0,this.#h=e.finishFlush??0,this.#r=e.fullFlushFlag??0,typeof Ki[t]!="function")throw TypeError("Compression method not supported: "+t);try{this.#t=new Ki[t](e)}catch(i){throw new ct(i,this.constructor)}this.#n=i=>{this.#e||(this.#e=!0,this.close(),this.emit("error",i))},this.#t?.on("error",i=>this.#n(new ct(i))),this.once("end",()=>this.close)}close(){this.#t&&(this.#t.close(),this.#t=void 0,this.emit("close"))}reset(){if(!this.#e)return mi(this.#t,"zlib binding closed"),this.#t.reset?.()}flush(e){this.ended||(typeof e!="number"&&(e=this.#r),this.write(Object.assign(ge.alloc(0),{[Jt]:e})))}end(e,t,i){return typeof e=="function"&&(i=e,t=void 0,e=void 0),typeof t=="function"&&(i=t,t=void 0),e&&(t?this.write(e,t):this.write(e)),this.flush(this.#h),this.#i=!0,super.end(i)}get ended(){return this.#i}[we](e){return super.write(e)}write(e,t,i){if(typeof t=="function"&&(i=t,t="utf8"),typeof e=="string"&&(e=ge.from(e,t)),this.#e)return;mi(this.#t,"zlib binding closed");let s=this.#t._handle,r=s.close;s.close=()=>{};let h=this.#t.close;this.#t.close=()=>{},Qt(!0);let n;try{let a=typeof e[Jt]=="number"?e[Jt]:this.#s;n=this.#t._processChunk(e,a),Qt(!1)}catch(a){Qt(!1),this.#n(new ct(a,this.write))}finally{this.#t&&(this.#t._handle=s,s.close=r,this.#t.close=h,this.#t.removeAllListeners("error"))}this.#t&&this.#t.on("error",a=>this.#n(new ct(a,this.write)));let o;if(n)if(Array.isArray(n)&&n.length>0){let a=n[0];o=this[we](ge.from(a));for(let l=1;l<n.length;l++)o=this[we](n[l])}else o=this[we](ge.from(n));return i&&i(),o}},Bs=class extends Ui{#e;#i;constructor(e,t){e||={},e.flush=e.flush||Z.Z_NO_FLUSH,e.finishFlush=e.finishFlush||Z.Z_FINISH,e.fullFlushFlag=Z.Z_FULL_FLUSH,super(e,t),this.#e=e.level,this.#i=e.strategy}params(e,t){if(!this.sawError){if(!this.handle)throw Error("cannot switch params when binding is closed");if(!this.handle.params)throw Error("not supported in this implementation");if(this.#e!==e||this.#i!==t){this.flush(Z.Z_SYNC_FLUSH),mi(this.handle,"zlib binding closed");let i=this.handle.flush;this.handle.flush=(s,r)=>{typeof s=="function"&&(r=s,s=this.flushFlag),this.flush(s),r?.()};try{this.handle.params(e,t)}finally{this.handle.flush=i}this.handle&&(this.#e=e,this.#i=t)}}}},Hr=class extends Bs{#e;constructor(e){super(e,"Gzip"),this.#e=e&&!!e.portable}[we](e){return this.#e?(this.#e=!1,e[9]=255,super[we](e)):super[we](e)}},Zr=class extends Bs{constructor(e){super(e,"Unzip")}},Fs=class extends Ui{constructor(e,t){e||={},e.flush=e.flush||Z.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Z.BROTLI_OPERATION_FINISH,e.fullFlushFlag=Z.BROTLI_OPERATION_FLUSH,super(e,t)}},Wr=class extends Fs{constructor(e){super(e,"BrotliCompress")}},Gr=class extends Fs{constructor(e){super(e,"BrotliDecompress")}},Ms=class extends Ui{constructor(e,t){e||={},e.flush=e.flush||Z.ZSTD_e_continue,e.finishFlush=e.finishFlush||Z.ZSTD_e_end,e.fullFlushFlag=Z.ZSTD_e_flush,super(e,t)}},$r=class extends Ms{constructor(e){super(e,"ZstdCompress")}},Yr=class extends Ms{constructor(e){super(e,"ZstdDecompress")}},Vr=(e,t)=>{if(Number.isSafeInteger(e))e<0?Xr(e,t):Kr(e,t);else throw Error("cannot encode number outside of javascript safe integer range");return t},Kr=(e,t)=>{t[0]=128;for(var i=t.length;i>1;i--)t[i-1]=e&255,e=Math.floor(e/256)},Xr=(e,t)=>{t[0]=255;var i=!1;e*=-1;for(var s=t.length;s>1;s--){var r=e&255;e=Math.floor(e/256),i?t[s-1]=Cs(r):r===0?t[s-1]=0:(i=!0,t[s-1]=Ps(r))}},qr=e=>{let t=e[0],i=t===128?Jr(e.subarray(1,e.length)):t===255?Qr(e):null;if(i===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},Qr=e=>{for(var t=e.length,i=0,s=!1,r=t-1;r>-1;r--){var h=Number(e[r]),n;s?n=Cs(h):h===0?n=h:(s=!0,n=Ps(h)),n!==0&&(i-=n*256**(t-r-1))}return i},Jr=e=>{for(var t=e.length,i=0,s=t-1;s>-1;s--){var r=Number(e[s]);r!==0&&(i+=r*256**(t-s-1))}return i},Cs=e=>(255^e)&255,Ps=e=>(255^e)+1&255,zs={};Er(zs,{code:()=>ji,isCode:()=>vt,isName:()=>eh,name:()=>Ct,normalFsTypes:()=>Us});var vt=e=>Ct.has(e),eh=e=>ji.has(e),Us=new Set(["0","","1","2","3","4","5","6","7","D"]),Ct=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]),ji=new Map(Array.from(Ct).map(e=>[e[1],e[0]])),ae=class{cksumValid=!1;needPax=!1;nullBlock=!1;block;path;mode;uid;gid;size;cksum;#e="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(e,t=0,i,s){Buffer.isBuffer(e)?this.decode(e,t||0,i,s):e&&this.#i(e)}decode(e,t,i,s){if(t||=0,!e||!(e.length>=t+512))throw Error("need 512 bytes for header");let r=ue(e,t+156,1),h=Us.has(r),n=h?i:void 0,o=h?s:void 0;if(this.path=n?.path??ue(e,t,100),this.mode=n?.mode??o?.mode??ie(e,t+100,8),this.uid=n?.uid??o?.uid??ie(e,t+108,8),this.gid=n?.gid??o?.gid??ie(e,t+116,8),this.size=n?.size??o?.size??ie(e,t+124,12),this.mtime=n?.mtime??o?.mtime??ei(e,t+136,12),this.cksum=ie(e,t+148,12),o&&this.#i(o,!0),n&&this.#i(n),vt(r)&&(this.#e=r||"0"),this.#e==="0"&&this.path.slice(-1)==="/"&&(this.#e="5"),this.#e==="5"&&(this.size=0),this.linkpath=ue(e,t+157,100),e.subarray(t+257,t+265).toString()==="ustar\x0000")if(this.uname=n?.uname??o?.uname??ue(e,t+265,32),this.gname=n?.gname??o?.gname??ue(e,t+297,32),this.devmaj=n?.devmaj??o?.devmaj??ie(e,t+329,8)??0,this.devmin=n?.devmin??o?.devmin??ie(e,t+337,8)??0,e[t+475]!==0){let l=ue(e,t+345,155);this.path=l+"/"+this.path}else{let l=ue(e,t+345,130);l&&(this.path=l+"/"+this.path),this.atime=i?.atime??s?.atime??ei(e,t+476,12),this.ctime=i?.ctime??s?.ctime??ei(e,t+488,12)}let a=256;for(let l=t;l<t+148;l++)a+=e[l];for(let l=t+156;l<t+512;l++)a+=e[l];this.cksumValid=a===this.cksum,this.cksum===void 0&&a===256&&(this.nullBlock=!0)}#i(e,t=!1){Object.assign(this,Object.fromEntries(Object.entries(e).filter(([i,s])=>!(s==null||i==="path"&&t||i==="linkpath"&&t||i==="global"))))}encode(e,t=0){if(e||=this.block=Buffer.alloc(512),this.#e==="Unsupported"&&(this.#e="0"),!(e.length>=t+512))throw Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,s=th(this.path||"",i),r=s[0],h=s[1];this.needPax=!!s[2],this.needPax=fe(e,t,100,r)||this.needPax,this.needPax=se(e,t+100,8,this.mode)||this.needPax,this.needPax=se(e,t+108,8,this.uid)||this.needPax,this.needPax=se(e,t+116,8,this.gid)||this.needPax,this.needPax=se(e,t+124,12,this.size)||this.needPax,this.needPax=ti(e,t+136,12,this.mtime)||this.needPax,e[t+156]=Number(this.#e.codePointAt(0)),this.needPax=fe(e,t+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",t+257,8),this.needPax=fe(e,t+265,32,this.uname)||this.needPax,this.needPax=fe(e,t+297,32,this.gname)||this.needPax,this.needPax=se(e,t+329,8,this.devmaj)||this.needPax,this.needPax=se(e,t+337,8,this.devmin)||this.needPax,this.needPax=fe(e,t+345,i,h)||this.needPax,e[t+475]===0?(this.needPax=fe(e,t+345,130,h)||this.needPax,this.needPax=ti(e,t+476,12,this.atime)||this.needPax,this.needPax=ti(e,t+488,12,this.ctime)||this.needPax):this.needPax=fe(e,t+345,155,h)||this.needPax;let n=256;for(let o=t;o<t+148;o++)n+=e[o];for(let o=t+156;o<t+512;o++)n+=e[o];return this.cksum=n,se(e,t+148,8,this.cksum),this.cksumValid=!0,this.needPax}get type(){return this.#e==="Unsupported"?this.#e:Ct.get(this.#e)}get typeKey(){return this.#e}set type(e){let t=String(ji.get(e));if(vt(t)||t==="Unsupported")this.#e=t;else if(vt(e))this.#e=e;else throw TypeError("invalid entry type: "+e)}},th=(e,t)=>{let i=e,s="",r,h=Re.parse(e).root||".";if(Buffer.byteLength(i)<100)r=[i,s,!1];else{s=Re.dirname(i),i=Re.basename(i);do Buffer.byteLength(i)<=100&&Buffer.byteLength(s)<=t?r=[i,s,!1]:Buffer.byteLength(i)>100&&Buffer.byteLength(s)<=t?r=[i.slice(0,99),s,!0]:(i=Re.join(Re.basename(s),i),s=Re.dirname(s));while(s!==h&&r===void 0);r||=[e.slice(0,99),"",!0]}return r},ue=(e,t,i)=>e.subarray(t,t+i).toString("utf8").replace(/\0.*/,""),ei=(e,t,i)=>ih(ie(e,t,i)),ih=e=>e===void 0?void 0:new Date(e*1e3),ie=(e,t,i)=>Number(e[t])&128?qr(e.subarray(t,t+i)):rh(e,t,i),sh=e=>isNaN(e)?void 0:e,rh=(e,t,i)=>sh(parseInt(e.subarray(t,t+i).toString("utf8").replace(/\0.*$/,"").trim(),8)),hh={12:8589934591,8:2097151},se=(e,t,i,s)=>s===void 0?!1:s>hh[i]||s<0?(Vr(s,e.subarray(t,t+i)),!0):(nh(e,t,i,s),!1),nh=(e,t,i,s)=>e.write(oh(s,i),t,i,"ascii"),oh=(e,t)=>ah(Math.floor(e).toString(8),t),ah=(e,t)=>(e.length===t-1?e:Array(t-e.length-1).join("0")+e+" ")+"\0",ti=(e,t,i,s)=>s===void 0?!1:se(e,t,i,s.getTime()/1e3),lh=Array(156).join("\0"),fe=(e,t,i,s)=>s===void 0?!1:(e.write(s+lh,t,i,"utf8"),s.length!==Buffer.byteLength(s)||s.length>i),rt=class js{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(t,i=!1){this.atime=t.atime,this.charset=t.charset,this.comment=t.comment,this.ctime=t.ctime,this.dev=t.dev,this.gid=t.gid,this.global=i,this.gname=t.gname,this.ino=t.ino,this.linkpath=t.linkpath,this.mtime=t.mtime,this.nlink=t.nlink,this.path=t.path,this.size=t.size,this.uid=t.uid,this.uname=t.uname}encode(){let t=this.encodeBody();if(t==="")return Buffer.allocUnsafe(0);let i=Buffer.byteLength(t),s=512*Math.ceil(1+i/512),r=Buffer.allocUnsafe(s);for(let h=0;h<512;h++)r[h]=0;new ae({path:("PaxHeader/"+dr(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:i,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(r),r.write(t,512,i,"utf8");for(let h=i+512;h<r.length;h++)r[h]=0;return r}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(t){if(this[t]===void 0)return"";let i=this[t],s=i instanceof Date?i.getTime()/1e3:i,r=" "+(t==="dev"||t==="ino"||t==="nlink"?"SCHILY.":"")+t+"="+s+`
|
|
2
|
+
`,h=Buffer.byteLength(r),n=Math.floor(Math.log(h)/Math.log(10))+1;return h+n>=10**n&&(n+=1),n+h+r}static parse(t,i,s=!1){return new js(dh(uh(t),i),s)}},dh=(e,t)=>t?Object.assign({},t,e):e,uh=e=>e.replace(/\n$/,"").split(`
|
|
3
|
+
`).reduce(fh,Object.create(null)),fh=(e,t)=>{let i=parseInt(t,10);if(i!==Buffer.byteLength(t)+1)return e;t=t.slice((i+" ").length);let s=t.split("="),r=s.shift();if(!r)return e;let h=r.replace(/^SCHILY\.(dev|ino|nlink)/,"$1"),n=s.join("=");return e[h]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(h)?new Date(Number(n)*1e3):/^[0-9]+$/.test(n)?+n:n,e},u=(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform)==="win32"?e=>e&&e.replaceAll(/\\/g,"/"):e=>e,Hs=class extends _e{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=!1;ignore=!1;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=!1;absolute;unsupported=!1;constructor(e,t,i){switch(super({}),this.pause(),this.extended=t,this.globalExtended=i,this.header=e,this.remain=e.size??0,this.startBlockSize=512*Math.ceil(this.remain/512),this.blockRemain=this.startBlockSize,this.type=e.type,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}if(!e.path)throw Error("no path provided for tar.ReadEntry");this.path=u(e.path),this.mode=e.mode,this.mode&&(this.mode&=4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=this.remain,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath?u(e.linkpath):void 0,this.uname=e.uname,this.gname=e.gname,t&&this.#e(t),i&&this.#e(i,!0)}write(e){let t=e.length;if(t>this.blockRemain)throw Error("writing more to entry than is appropriate");let i=this.remain,s=this.blockRemain;return this.remain=Math.max(0,i-t),this.blockRemain=Math.max(0,s-t),this.ignore?!0:i>=t?super.write(e):super.write(e.subarray(0,i))}#e(e,t=!1){e.path&&=u(e.path),e.linkpath&&=u(e.linkpath),Object.assign(this,Object.fromEntries(Object.entries(e).filter(([i,s])=>!(s==null||i==="path"&&t))))}},Pt=(e,t,i,s={})=>{e.file&&(s.file=e.file),e.cwd&&(s.cwd=e.cwd),s.code=i instanceof Error&&i.code||t,s.tarCode=t,!e.strict&&s.recoverable!==!1?(i instanceof Error&&(s=Object.assign(i,s),i=i.message),e.emit("warn",t,i,s)):i instanceof Error?e.emit("error",Object.assign(i,s)):e.emit("error",Object.assign(Error(`${t}: ${i}`),s))},ch=1024*1024,bi=Buffer.from([31,139]),gi=Buffer.from([40,181,47,253]),mh=Math.max(bi.length,gi.length),N=Symbol("state"),ce=Symbol("writeEntry"),$=Symbol("readEntry"),ii=Symbol("nextEntry"),ts=Symbol("processEntry"),j=Symbol("extendedHeader"),He=Symbol("globalExtendedHeader"),q=Symbol("meta"),is=Symbol("emitMeta"),y=Symbol("buffer"),Y=Symbol("queue"),Q=Symbol("ended"),si=Symbol("emittedEnd"),me=Symbol("emit"),_=Symbol("unzip"),mt=Symbol("consumeChunk"),pt=Symbol("consumeChunkSub"),ri=Symbol("consumeBody"),ss=Symbol("consumeMeta"),rs=Symbol("consumeHeader"),Ze=Symbol("consuming"),hi=Symbol("bufferConcat"),yt=Symbol("maybeEnd"),ve=Symbol("writing"),J=Symbol("aborted"),bt=Symbol("onDone"),pe=Symbol("sawValidEntry"),gt=Symbol("sawNullBlock"),Et=Symbol("sawEOF"),hs=Symbol("closeStream"),ph=()=>!0,xe=class extends fr{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[Y]=[];[y];[$];[ce];[N]="begin";[q]="";[j];[He];[Q]=!1;[_];[J]=!1;[pe];[gt]=!1;[Et]=!1;[ve]=!1;[Ze]=!1;[si]=!1;constructor(e={}){super(),this.file=e.file||"",this.on(bt,()=>{(this[N]==="begin"||this[pe]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(bt,e.ondone):this.on(bt,()=>{this.emit("prefinish"),this.emit("finish"),this.emit("end")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||ch,this.filter=typeof e.filter=="function"?e.filter:ph;let t=e.file&&(e.file.endsWith(".tar.br")||e.file.endsWith(".tbr"));this.brotli=!(e.gzip||e.zstd)&&e.brotli!==void 0?e.brotli:t?void 0:!1;let i=e.file&&(e.file.endsWith(".tar.zst")||e.file.endsWith(".tzst"));this.zstd=!(e.gzip||e.brotli)&&e.zstd!==void 0?e.zstd:i?!0:void 0,this.on("end",()=>this[hs]()),typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onReadEntry=="function"&&this.on("entry",e.onReadEntry)}warn(e,t,i={}){Pt(this,e,t,i)}[rs](e,t){this[pe]===void 0&&(this[pe]=!1);let i;try{i=new ae(e,t,this[j],this[He])}catch(s){return this.warn("TAR_ENTRY_INVALID",s)}if(i.nullBlock)this[gt]?(this[Et]=!0,this[N]==="begin"&&(this[N]="header"),this[me]("eof")):(this[gt]=!0,this[me]("nullBlock"));else if(this[gt]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let s=i.type;if(/^(Symbolic)?Link$/.test(s)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(s)&&!/^(Global)?ExtendedHeader$/.test(s)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let r=this[ce]=new Hs(i,this[j],this[He]);this[pe]||(r.remain?r.on("end",()=>{r.invalid||(this[pe]=!0)}):this[pe]=!0),r.meta?r.size>this.maxMetaEntrySize?(r.ignore=!0,this[me]("ignoredEntry",r),this[N]="ignore",r.resume()):r.size>0&&(this[q]="",r.on("data",h=>this[q]+=h),this[N]="meta"):(this[j]=void 0,r.ignore=r.ignore||!this.filter(r.path,r),r.ignore?(this[me]("ignoredEntry",r),this[N]=r.remain?"ignore":"header",r.resume()):(r.remain?this[N]="body":(this[N]="header",r.end()),this[$]?this[Y].push(r):(this[Y].push(r),this[ii]())))}}}[hs](){queueMicrotask(()=>this.emit("close"))}[ts](e){let t=!0;if(!e)this[$]=void 0,t=!1;else if(Array.isArray(e)){let[i,...s]=e;this.emit(i,...s)}else this[$]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",()=>this[ii]()),t=!1);return t}[ii](){do;while(this[ts](this[Y].shift()));if(this[Y].length===0){let e=this[$];!e||e.flowing||e.size===e.remain?this[ve]||this.emit("drain"):e.once("drain",()=>this.emit("drain"))}}[ri](e,t){let i=this[ce];if(!i)throw Error("attempt to consume body without entry??");let s=i.blockRemain??0,r=s>=e.length&&t===0?e:e.subarray(t,t+s);return i.write(r),i.blockRemain||(this[N]="header",this[ce]=void 0,i.end()),r.length}[ss](e,t){let i=this[ce],s=this[ri](e,t);return!this[ce]&&i&&this[is](i),s}[me](e,t,i){this[Y].length===0&&!this[$]?this.emit(e,t,i):this[Y].push([e,t,i])}[is](e){switch(this[me]("meta",this[q]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[j]=rt.parse(this[q],this[j],!1);break;case"GlobalExtendedHeader":this[He]=rt.parse(this[q],this[He],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":{let t=this[j]??Object.create(null);this[j]=t,t.path=this[q].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{let t=this[j]||Object.create(null);this[j]=t,t.linkpath=this[q].replace(/\0.*/,"");break}default:throw Error("unknown meta: "+e.type)}}abort(e){this[J]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e,t,i){if(typeof t=="function"&&(i=t,t=void 0),typeof e=="string"&&(e=Buffer.from(e,typeof t=="string"?t:"utf8")),this[J])return i?.(),!1;if((this[_]===void 0||this.brotli===void 0&&this[_]===!1)&&e){if(this[y]&&(e=Buffer.concat([this[y],e]),this[y]=void 0),e.length<mh)return this[y]=e,i?.(),!0;for(let n=0;this[_]===void 0&&n<bi.length;n++)e[n]!==bi[n]&&(this[_]=!1);let r=!1;if(this[_]===!1&&this.zstd!==!1){r=!0;for(let n=0;n<gi.length;n++)if(e[n]!==gi[n]){r=!1;break}}let h=this.brotli===void 0&&!r;if(this[_]===!1&&h)if(e.length<512)if(this[Q])this.brotli=!0;else return this[y]=e,i?.(),!0;else try{new ae(e.subarray(0,512)),this.brotli=!1}catch{this.brotli=!0}if(this[_]===void 0||this[_]===!1&&(this.brotli||r)){let n=this[Q];this[Q]=!1,this[_]=this[_]===void 0?new Zr({}):r?new Yr({}):new Gr({}),this[_].on("data",a=>this[mt](a)),this[_].on("error",a=>this.abort(a)),this[_].on("end",()=>{this[Q]=!0,this[mt]()}),this[ve]=!0;let o=!!this[_][n?"end":"write"](e);return this[ve]=!1,i?.(),o}}this[ve]=!0,this[_]?this[_].write(e):this[mt](e),this[ve]=!1;let s=this[Y].length>0?!1:this[$]?this[$].flowing:!0;return!s&&this[Y].length===0&&this[$]?.once("drain",()=>this.emit("drain")),i?.(),s}[hi](e){e&&!this[J]&&(this[y]=this[y]?Buffer.concat([this[y],e]):e)}[yt](){if(this[Q]&&!this[si]&&!this[J]&&!this[Ze]){this[si]=!0;let e=this[ce];if(e&&e.blockRemain){let t=this[y]?this[y].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${t} available)`,{entry:e}),this[y]&&e.write(this[y]),e.end()}this[me](bt)}}[mt](e){if(this[Ze]&&e)this[hi](e);else if(!e&&!this[y])this[yt]();else if(e){if(this[Ze]=!0,this[y]){this[hi](e);let t=this[y];this[y]=void 0,this[pt](t)}else this[pt](e);for(;this[y]&&this[y]?.length>=512&&!this[J]&&!this[Et];){let t=this[y];this[y]=void 0,this[pt](t)}this[Ze]=!1}(!this[y]||this[Q])&&this[yt]()}[pt](e){let t=0,i=e.length;for(;t+512<=i&&!this[J]&&!this[Et];)switch(this[N]){case"begin":case"header":this[rs](e,t),t+=512;break;case"ignore":case"body":t+=this[ri](e,t);break;case"meta":t+=this[ss](e,t);break;default:throw Error("invalid state: "+this[N])}t<i&&(this[y]=this[y]?Buffer.concat([e.subarray(t),this[y]]):e.subarray(t))}end(e,t,i){return typeof e=="function"&&(i=e,t=void 0,e=void 0),typeof t=="function"&&(i=t,t=void 0),typeof e=="string"&&(e=Buffer.from(e,t)),i&&this.once("finish",i),this[J]||(this[_]?(e&&this[_].write(e),this[_].end()):(this[Q]=!0,(this.brotli===void 0||this.zstd===void 0)&&(e||=Buffer.alloc(0)),e&&this.write(e),this[yt]())),this}},qe=e=>{let t=e.length-1,i=-1;for(;t>-1&&e.charAt(t)==="/";)i=t,t--;return i===-1?e:e.slice(0,i)},yh=e=>{let t=e.onReadEntry;e.onReadEntry=t?i=>{t(i),i.resume()}:i=>i.resume()},Hi=(e,t)=>{let i=new Map(t.map(h=>[qe(h),!0])),s=e.filter,r=(h,n="")=>{let o=n||mr(h).root||".",a;if(h===o)a=!1;else{let l=i.get(h);a=l===void 0?r(pr(h),o):l}return i.set(h,a),a};e.filter=s?(h,n)=>s(h,n)&&r(qe(h)):h=>r(qe(h))},Be=ht(e=>{let t=new xe(e),i=e.file,s;try{s=d.openSync(i,"r");let r=d.fstatSync(s),h=e.maxReadSize||16*1024*1024;if(r.size<h){let n=Buffer.allocUnsafe(r.size),o=d.readSync(s,n,0,r.size,0);t.end(o===n.byteLength?n:n.subarray(0,o))}else{let n=0,o=Buffer.allocUnsafe(h);for(;n<r.size;){let a=d.readSync(s,o,0,h,n);if(a===0)break;n+=a,t.write(o.subarray(0,a))}t.end()}}finally{if(typeof s=="number")try{d.closeSync(s)}catch{}}},(e,t)=>{let i=new xe(e),s=e.maxReadSize||16*1024*1024,r=e.file;return new Promise((h,n)=>{i.on("error",n),i.on("end",h),d.stat(r,(o,a)=>{if(o)n(o);else{let l=new Pi(r,{readSize:s,size:a.size});l.on("error",n),l.pipe(i)}})})},e=>new xe(e),e=>new xe(e),(e,t)=>{t?.length&&Hi(e,t),e.noResume||yh(e)}),Zs=(e,t,i)=>(e&=4095,i&&(e=(e|384)&-19),t&&(e&256&&(e|=64),e&32&&(e|=8),e&4&&(e|=1)),e),{isAbsolute:bh,parse:ns}=ur,Zi=e=>{let t="",i=ns(e);for(;bh(e)||i.root;){let s=e.charAt(0)==="/"&&e.slice(0,4)!=="//?/"?"/":i.root;e=e.slice(s.length),t+=s,i=ns(e)}return[t,e]},zt=["|","<",">","?",":"],Wi=zt.map(e=>String.fromCodePoint(61440+Number(e.codePointAt(0)))),gh=new Map(zt.map((e,t)=>[e,Wi[t]])),Eh=new Map(Wi.map((e,t)=>[e,zt[t]])),os=e=>zt.reduce((t,i)=>t.split(i).join(gh.get(i)),e),wh=e=>Wi.reduce((t,i)=>t.split(i).join(Eh.get(i)),e),Ws=(e,t)=>t?(e=u(e).replace(/^\.(\/|$)/,""),qe(t)+"/"+e):u(e),_h=16*1024*1024,as=Symbol("process"),ls=Symbol("file"),ds=Symbol("directory"),Ei=Symbol("symlink"),us=Symbol("hardlink"),We=Symbol("header"),Ot=Symbol("read"),wi=Symbol("lstat"),Tt=Symbol("onlstat"),_i=Symbol("onread"),Ri=Symbol("onreadlink"),Si=Symbol("openfile"),vi=Symbol("onopenfile"),re=Symbol("close"),It=Symbol("mode"),Oi=Symbol("awaitDrain"),ni=Symbol("ondrain"),H=Symbol("prefix"),Gi=class extends _e{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#e=!1;constructor(e,t={}){let i=zi(t);super(),this.path=u(e),this.portable=!!i.portable,this.maxReadSize=i.maxReadSize||_h,this.linkCache=i.linkCache||new Map,this.statCache=i.statCache||new Map,this.preservePaths=!!i.preservePaths,this.cwd=u(i.cwd||process.cwd()),this.strict=!!i.strict,this.noPax=!!i.noPax,this.noMtime=!!i.noMtime,this.mtime=i.mtime,this.prefix=i.prefix?u(i.prefix):void 0,this.onWriteEntry=i.onWriteEntry,typeof i.onwarn=="function"&&this.on("warn",i.onwarn);let s=!1;if(!this.preservePaths){let[h,n]=Zi(this.path);h&&typeof n=="string"&&(this.path=n,s=h)}this.win32=!!i.win32||process.platform==="win32",this.win32&&(this.path=wh(this.path.replaceAll(/\\/g,"/")),e=e.replaceAll(/\\/g,"/")),this.absolute=u(i.absolute||st.resolve(this.cwd,e)),this.path===""&&(this.path="./"),s&&this.warn("TAR_ENTRY_INFO",`stripping ${s} from absolute path`,{entry:this,path:s+this.path});let r=this.statCache.get(this.absolute);r?this[Tt](r):this[wi]()}warn(e,t,i={}){return Pt(this,e,t,i)}emit(e,...t){return e==="error"&&(this.#e=!0),super.emit(e,...t)}[wi](){p.lstat(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[Tt](t)})}[Tt](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=Rh(e),this.emit("stat",e),this[as]()}[as](){switch(this.type){case"File":return this[ls]();case"Directory":return this[ds]();case"SymbolicLink":return this[Ei]();default:return this.end()}}[It](e){return Zs(e,this.type==="Directory",this.portable)}[H](e){return Ws(e,this.prefix)}[We](){if(!this.stat)throw Error("cannot write header before stat");this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.onWriteEntry?.(this),this.header=new ae({path:this[H](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[H](this.linkpath):this.linkpath,mode:this[It](this.stat.mode),uid:this.portable?void 0:this.stat.uid,gid:this.portable?void 0:this.stat.gid,size:this.stat.size,mtime:this.noMtime?void 0:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?void 0:this.type,uname:this.portable?void 0:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?void 0:this.stat.atime,ctime:this.portable?void 0:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new rt({atime:this.portable?void 0:this.header.atime,ctime:this.portable?void 0:this.header.ctime,gid:this.portable?void 0:this.header.gid,mtime:this.noMtime?void 0:this.mtime||this.header.mtime,path:this[H](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[H](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?void 0:this.header.uid,uname:this.portable?void 0:this.header.uname,dev:this.portable?void 0:this.stat.dev,ino:this.portable?void 0:this.stat.ino,nlink:this.portable?void 0:this.stat.nlink}).encode());let e=this.header?.block;if(!e)throw Error("failed to encode header");super.write(e)}[ds](){if(!this.stat)throw Error("cannot create directory entry without stat");this.path.slice(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[We](),this.end()}[Ei](){p.readlink(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[Ri](t)})}[Ri](e){this.linkpath=u(e),this[We](),this.end()}[us](e){if(!this.stat)throw Error("cannot create link entry without stat");this.type="Link",this.linkpath=u(st.relative(this.cwd,e)),this.stat.size=0,this[We](),this.end()}[ls](){if(!this.stat)throw Error("cannot create file entry without stat");if(this.stat.nlink>1){let e=`${this.stat.dev}:${this.stat.ino}`,t=this.linkCache.get(e);if(t?.indexOf(this.cwd)===0)return this[us](t);this.linkCache.set(e,this.absolute)}if(this[We](),this.stat.size===0)return this.end();this[Si]()}[Si](){p.open(this.absolute,"r",(e,t)=>{if(e)return this.emit("error",e);this[vi](t)})}[vi](e){if(this.fd=e,this.#e)return this[re]();if(!this.stat)throw Error("should stat before calling onopenfile");this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let t=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(t),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[Ot]()}[Ot](){let{fd:e,buf:t,offset:i,length:s,pos:r}=this;if(e===void 0||t===void 0)throw Error("cannot read file without first opening");p.read(e,t,i,s,r,(h,n)=>{if(h)return this[re](()=>this.emit("error",h));this[_i](n)})}[re](e=()=>{}){this.fd!==void 0&&p.close(this.fd,e)}[_i](e){if(e<=0&&this.remain>0){let i=Object.assign(Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[re](()=>this.emit("error",i))}if(e>this.remain){let i=Object.assign(Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[re](()=>this.emit("error",i))}if(!this.buf)throw Error("should have created buffer prior to reading");if(e===this.remain)for(let i=e;i<this.length&&e<this.blockRemain;i++)this.buf[i+this.offset]=0,e++,this.remain++;let t=this.offset===0&&e===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+e);this.write(t)?this[ni]():this[Oi](()=>this[ni]())}[Oi](e){this.once("drain",e)}write(e,t,i){if(typeof t=="function"&&(i=t,t=void 0),typeof e=="string"&&(e=Buffer.from(e,typeof t=="string"?t:"utf8")),this.blockRemain<e.length){let s=Object.assign(Error("writing more data than expected"),{path:this.absolute});return this.emit("error",s)}return this.remain-=e.length,this.blockRemain-=e.length,this.pos+=e.length,this.offset+=e.length,super.write(e,null,i)}[ni](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[re](e=>e?this.emit("error",e):this.end());if(!this.buf)throw Error("buffer lost somehow in ONDRAIN");this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[Ot]()}},Gs=class extends Gi{sync=!0;[wi](){this[Tt](p.lstatSync(this.absolute))}[Ei](){this[Ri](p.readlinkSync(this.absolute))}[Si](){this[vi](p.openSync(this.absolute,"r"))}[Ot](){let e=!0;try{let{fd:t,buf:i,offset:s,length:r,pos:h}=this;if(t===void 0||i===void 0)throw Error("fd and buf must be set in READ method");let n=p.readSync(t,i,s,r,h);this[_i](n),e=!1}finally{if(e)try{this[re](()=>{})}catch{}}}[Oi](e){e()}[re](e=()=>{}){this.fd!==void 0&&p.closeSync(this.fd),e()}},$s=class extends _e{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(e,t,i={}){return Pt(this,e,t,i)}constructor(e,t={}){let i=zi(t);super(),this.preservePaths=!!i.preservePaths,this.portable=!!i.portable,this.strict=!!i.strict,this.noPax=!!i.noPax,this.noMtime=!!i.noMtime,this.onWriteEntry=i.onWriteEntry,this.readEntry=e;let{type:s}=e;if(s==="Unsupported")throw Error("writing entry that should be ignored");this.type=s,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=i.prefix,this.path=u(e.path),this.mode=e.mode===void 0?void 0:this[It](e.mode),this.uid=this.portable?void 0:e.uid,this.gid=this.portable?void 0:e.gid,this.uname=this.portable?void 0:e.uname,this.gname=this.portable?void 0:e.gname,this.size=e.size,this.mtime=this.noMtime?void 0:i.mtime||e.mtime,this.atime=this.portable?void 0:e.atime,this.ctime=this.portable?void 0:e.ctime,this.linkpath=e.linkpath===void 0?void 0:u(e.linkpath),typeof i.onwarn=="function"&&this.on("warn",i.onwarn);let r=!1;if(!this.preservePaths){let[n,o]=Zi(this.path);n&&typeof o=="string"&&(this.path=o,r=n)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.onWriteEntry?.(this),this.header=new ae({path:this[H](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[H](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?void 0:this.uid,gid:this.portable?void 0:this.gid,size:this.size,mtime:this.noMtime?void 0:this.mtime,type:this.type,uname:this.portable?void 0:this.uname,atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime}),r&&this.warn("TAR_ENTRY_INFO",`stripping ${r} from absolute path`,{entry:this,path:r+this.path}),this.header.encode()&&!this.noPax&&super.write(new rt({atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime,gid:this.portable?void 0:this.gid,mtime:this.noMtime?void 0:this.mtime,path:this[H](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[H](this.linkpath):this.linkpath,size:this.size,uid:this.portable?void 0:this.uid,uname:this.portable?void 0:this.uname,dev:this.portable?void 0:this.readEntry.dev,ino:this.portable?void 0:this.readEntry.ino,nlink:this.portable?void 0:this.readEntry.nlink}).encode());let h=this.header?.block;if(!h)throw Error("failed to encode header");super.write(h),e.pipe(this)}[H](e){return Ws(e,this.prefix)}[It](e){return Zs(e,this.type==="Directory",this.portable)}write(e,t,i){typeof t=="function"&&(i=t,t=void 0),typeof e=="string"&&(e=Buffer.from(e,typeof t=="string"?t:"utf8"));let s=e.length;if(s>this.blockRemain)throw Error("writing more to entry than is appropriate");return this.blockRemain-=s,super.write(e,i)}end(e,t,i){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),typeof e=="function"&&(i=e,t=void 0,e=void 0),typeof t=="function"&&(i=t,t=void 0),typeof e=="string"&&(e=Buffer.from(e,t??"utf8")),i&&this.once("finish",i),e?super.end(e,i):super.end(i),this}},Rh=e=>e.isFile()?"File":e.isDirectory()?"Directory":e.isSymbolicLink()?"SymbolicLink":"Unsupported",Sh=class De{tail;head;length=0;static create(t=[]){return new De(t)}constructor(t=[]){for(let i of t)this.push(i)}*[Symbol.iterator](){for(let t=this.head;t;t=t.next)yield t.value}removeNode(t){if(t.list!==this)throw Error("removing node which does not belong to this list");let i=t.next,s=t.prev;return i&&(i.prev=s),s&&(s.next=i),t===this.head&&(this.head=i),t===this.tail&&(this.tail=s),this.length--,t.next=void 0,t.prev=void 0,t.list=void 0,i}unshiftNode(t){if(t===this.head)return;t.list&&t.list.removeNode(t);let i=this.head;t.list=this,t.next=i,i&&(i.prev=t),this.head=t,this.tail||=t,this.length++}pushNode(t){if(t===this.tail)return;t.list&&t.list.removeNode(t);let i=this.tail;t.list=this,t.prev=i,i&&(i.next=t),this.tail=t,this.head||=t,this.length++}push(...t){for(let i=0,s=t.length;i<s;i++)Oh(this,t[i]);return this.length}unshift(...t){for(var i=0,s=t.length;i<s;i++)Th(this,t[i]);return this.length}pop(){if(!this.tail)return;let t=this.tail.value,i=this.tail;return this.tail=this.tail.prev,this.tail?this.tail.next=void 0:this.head=void 0,i.list=void 0,this.length--,t}shift(){if(!this.head)return;let t=this.head.value,i=this.head;return this.head=this.head.next,this.head?this.head.prev=void 0:this.tail=void 0,i.list=void 0,this.length--,t}forEach(t,i){i||=this;for(let s=this.head,r=0;s;r++)t.call(i,s.value,r,this),s=s.next}forEachReverse(t,i){i||=this;for(let s=this.tail,r=this.length-1;s;r--)t.call(i,s.value,r,this),s=s.prev}get(t){let i=0,s=this.head;for(;s&&i<t;i++)s=s.next;if(i===t&&s)return s.value}getReverse(t){let i=0,s=this.tail;for(;s&&i<t;i++)s=s.prev;if(i===t&&s)return s.value}map(t,i){i||=this;let s=new De;for(let r=this.head;r;)s.push(t.call(i,r.value,this)),r=r.next;return s}mapReverse(t,i){i||=this;var s=new De;for(let r=this.tail;r;)s.push(t.call(i,r.value,this)),r=r.prev;return s}reduce(t,i){let s,r=this.head;if(arguments.length>1)s=i;else if(this.head)r=this.head.next,s=this.head.value;else throw TypeError("Reduce of empty list with no initial value");for(var h=0;r;h++)s=t(s,r.value,h),r=r.next;return s}reduceReverse(t,i){let s,r=this.tail;if(arguments.length>1)s=i;else if(this.tail)r=this.tail.prev,s=this.tail.value;else throw TypeError("Reduce of empty list with no initial value");for(let h=this.length-1;r;h--)s=t(s,r.value,h),r=r.prev;return s}toArray(){let t=Array(this.length);for(let i=0,s=this.head;s;i++)t[i]=s.value,s=s.next;return t}toArrayReverse(){let t=Array(this.length);for(let i=0,s=this.tail;s;i++)t[i]=s.value,s=s.prev;return t}slice(t=0,i=this.length){i<0&&(i+=this.length),t<0&&(t+=this.length);let s=new De;if(i<t||i<0)return s;t<0&&(t=0),i>this.length&&(i=this.length);let r=this.head,h=0;for(h=0;r&&h<t;h++)r=r.next;for(;r&&h<i;h++,r=r.next)s.push(r.value);return s}sliceReverse(t=0,i=this.length){i<0&&(i+=this.length),t<0&&(t+=this.length);let s=new De;if(i<t||i<0)return s;t<0&&(t=0),i>this.length&&(i=this.length);let r=this.length,h=this.tail;for(;h&&r>i;r--)h=h.prev;for(;h&&r>t;r--,h=h.prev)s.push(h.value);return s}splice(t,i=0,...s){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);let r=this.head;for(let n=0;r&&n<t;n++)r=r.next;let h=[];for(let n=0;r&&n<i;n++)h.push(r.value),r=this.removeNode(r);r?r!==this.tail&&(r=r.prev):r=this.tail;for(let n of s)r=vh(this,r,n);return h}reverse(){let t=this.head,i=this.tail;for(let s=t;s;s=s.prev){let r=s.prev;s.prev=s.next,s.next=r}return this.head=i,this.tail=t,this}};function vh(e,t,i){let s=new $i(i,t,t?t.next:e.head,e);return s.next===void 0&&(e.tail=s),s.prev===void 0&&(e.head=s),e.length++,s}function Oh(e,t){e.tail=new $i(t,e.tail,void 0,e),e.head||=e.tail,e.length++}function Th(e,t){e.head=new $i(t,void 0,e.head,e),e.tail||=e.head,e.length++}var $i=class{list;next;prev;value;constructor(e,t,i,s){this.list=s,this.value=e,t?(t.next=this,this.prev=t):this.prev=void 0,i?(i.prev=this,this.next=i):this.next=void 0}},Ti=class{path;absolute;entry;stat;readdir;pending=!1;pendingLink=!1;ignore=!1;piped=!1;constructor(e,t){this.path=e||"./",this.absolute=t}},fs=Buffer.alloc(1024),kt=Symbol("onStat"),Ge=Symbol("ended"),F=Symbol("queue"),$e=Symbol("pendingLinks"),ee=Symbol("current"),ye=Symbol("process"),Ye=Symbol("processing"),wt=Symbol("processJob"),M=Symbol("jobs"),oi=Symbol("jobDone"),Lt=Symbol("addFSEntry"),cs=Symbol("addTarEntry"),ki=Symbol("stat"),Li=Symbol("readdir"),At=Symbol("onreaddir"),Dt=Symbol("pipe"),ms=Symbol("entry"),ai=Symbol("entryOpt"),xt=Symbol("writeEntryClass"),Ys=Symbol("write"),li=Symbol("ondrain"),nt=class extends _e{sync=!1;opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[xt];onWriteEntry;[F];[$e]=new Map;[M]=0;[Ye]=!1;[Ge]=!1;constructor(e={}){if(super(),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=u(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this.onWriteEntry=e.onWriteEntry,this[xt]=Gi,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,e.gzip||e.brotli||e.zstd){if(+!!e.gzip+ +!!e.brotli+ +!!e.zstd>1)throw TypeError("gzip, brotli, zstd are mutually exclusive");if(e.gzip&&(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new Hr(e.gzip)),e.brotli&&(typeof e.brotli!="object"&&(e.brotli={}),this.zip=new Wr(e.brotli)),e.zstd&&(typeof e.zstd!="object"&&(e.zstd={}),this.zip=new $r(e.zstd)),!this.zip)throw Error("impossible");let t=this.zip;t.on("data",i=>super.write(i)),t.on("end",()=>super.end()),t.on("drain",()=>this[li]()),this.on("resume",()=>t.resume())}else this.on("drain",this[li]);this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,e.mtime&&(this.mtime=e.mtime),this.filter=typeof e.filter=="function"?e.filter:()=>!0,this[F]=new Sh,this[M]=0,this.jobs=Number(e.jobs)||4,this[Ye]=!1,this[Ge]=!1}[Ys](e){return super.write(e)}add(e){return this.write(e),this}end(e,t,i){return typeof e=="function"&&(i=e,e=void 0),typeof t=="function"&&(i=t,t=void 0),e&&this.add(e),this[Ge]=!0,this[ye](),i&&i(),this}write(e){if(this[Ge])throw Error("write after end");return typeof e=="string"?this[Lt](e):this[cs](e),this.flowing}[cs](e){let t=u(st.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let i=new Ti(e.path,t);i.entry=new $s(e,this[ai](i)),i.entry.on("end",()=>this[oi](i)),this[M]+=1,this[F].push(i)}this[ye]()}[Lt](e){let t=u(st.resolve(this.cwd,e));this[F].push(new Ti(e,t)),this[ye]()}[ki](e){e.pending=!0,this[M]+=1,p[this.follow?"stat":"lstat"](e.absolute,(t,i)=>{e.pending=!1,--this[M],t?this.emit("error",t):this[kt](e,i)})}[kt](e,t){if(this.statCache.set(e.absolute,t),e.stat=t,!this.filter(e.path,t))e.ignore=!0;else if(t.isFile()&&t.nlink>1&&!this.linkCache.get(`${t.dev}:${t.ino}`)&&!this.sync)if(e===this[ee])this[wt](e);else{let i=`${t.dev}:${t.ino}`,s=this[$e].get(i);s?s.push(e):this[$e].set(i,[e]),e.pendingLink=!0,e.pending=!0}this[ye]()}[Li](e){e.pending=!0,this[M]+=1,p.readdir(e.absolute,(t,i)=>{if(e.pending=!1,--this[M],t)return this.emit("error",t);this[At](e,i)})}[At](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[ye]()}[ye](){if(!this[Ye]){this[Ye]=!0;for(let e=this[F].head;e&&this[M]<this.jobs;e=e.next)if(this[wt](e.value),e.value.ignore){let t=e.next;this[F].removeNode(e),e.next=t}this[Ye]=!1,this[Ge]&&this[F].length===0&&this[M]===0&&(this.zip?this.zip.end(fs):(super.write(fs),super.end()))}}get[ee](){return this[F]&&this[F].head&&this[F].head.value}[oi](e){this[F].shift(),--this[M];let{stat:t}=e;if(t&&t.isFile()&&t.nlink>1){let i=`${t.dev}:${t.ino}`,s=this[$e].get(i);if(s){this[$e].delete(i);for(let r of s)r.pending=!1,this[wt](r)}}this[ye]()}[wt](e){if(e.pending&&e.pendingLink&&e===this[ee]&&(e.pending=!1,e.pendingLink=!1),!e.pending){if(e.entry){e===this[ee]&&!e.piped&&this[Dt](e);return}if(!e.stat){let t=this.statCache.get(e.absolute);t?this[kt](e,t):this[ki](e)}if(e.stat&&!e.ignore){if(!this.noDirRecurse&&e.stat.isDirectory()&&!e.readdir){let t=this.readdirCache.get(e.absolute);if(t?this[At](e,t):this[Li](e),!e.readdir)return}if(e.entry=this[ms](e),!e.entry){e.ignore=!0;return}e===this[ee]&&!e.piped&&this[Dt](e)}}}[ai](e){return{onwarn:(t,i,s)=>this.warn(t,i,s),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[ms](e){this[M]+=1;try{return new this[xt](e.path,this[ai](e)).on("end",()=>this[oi](e)).on("error",t=>this.emit("error",t))}catch(t){this.emit("error",t)}}[li](){this[ee]&&this[ee].entry&&this[ee].entry.resume()}[Dt](e){e.piped=!0,e.readdir&&e.readdir.forEach(s=>{let r=e.path,h=r==="./"?"":r.replace(/\/*$/,"/");this[Lt](h+s)});let t=e.entry,i=this.zip;if(!t)throw Error("cannot pipe without source");i?t.on("data",s=>{i.write(s)||t.pause()}):t.on("data",s=>{super.write(s)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}warn(e,t,i={}){Pt(this,e,t,i)}},Ut=class extends nt{sync=!0;constructor(e){super(e),this[xt]=Gs}pause(){}resume(){}[ki](e){let t=this.follow?"statSync":"lstatSync";this[kt](e,p[t](e.absolute))}[Li](e){this[At](e,p.readdirSync(e.absolute))}[Dt](e){let t=e.entry,i=this.zip;if(e.readdir&&e.readdir.forEach(s=>{let r=e.path,h=r==="./"?"":r.replace(/\/*$/,"/");this[Lt](h+s)}),!t)throw Error("Cannot pipe without source");i?t.on("data",s=>{i.write(s)}):t.on("data",s=>{super[Ys](s)})}},kh=(e,t)=>{let i=new Ut(e),s=new Is(e.file,{mode:e.mode||438});i.pipe(s),Vs(i,t)},Lh=(e,t)=>{let i=new nt(e),s=new Mt(e.file,{mode:e.mode||438});i.pipe(s);let r=new Promise((h,n)=>{s.on("error",n),s.on("close",h),i.on("error",n)});return Ks(i,t).catch(h=>i.emit("error",h)),r},Vs=(e,t)=>{t.forEach(i=>{i.charAt(0)==="@"?Be({file:c.resolve(e.cwd,i.slice(1)),sync:!0,noResume:!0,onReadEntry:s=>e.add(s)}):e.add(i)}),e.end()},Ks=async(e,t)=>{for(let i of t)i.charAt(0)==="@"?await Be({file:c.resolve(String(e.cwd),i.slice(1)),noResume:!0,onReadEntry:s=>{e.add(s)}}):e.add(i);e.end()},ps=ht(kh,Lh,(e,t)=>{let i=new Ut(e);return Vs(i,t),i},(e,t)=>{let i=new nt(e);return Ks(i,t).catch(s=>i.emit("error",s)),i},(e,t)=>{if(!t?.length)throw TypeError("no paths specified to add to archive")}),Xs=(process.env.__FAKE_PLATFORM__||process.platform)==="win32",{O_CREAT:qs,O_NOFOLLOW:ys,O_TRUNC:Qs,O_WRONLY:Js}=p.constants,er=Number(process.env.__FAKE_FS_O_FILENAME__)||p.constants.UV_FS_O_FILEMAP||0,Ah=Xs&&!!er,Dh=512*1024,xh=er|Qs|qs|Js,bs=!Xs&&typeof ys=="number"?ys|Qs|qs|Js:null,tr=bs===null?Ah?e=>e<Dh?xh:"w":()=>"w":()=>bs,Ai=(e,t,i)=>{try{return d.lchownSync(e,t,i)}catch(s){if(s?.code!=="ENOENT")throw s}},Bt=(e,t,i,s)=>{d.lchown(e,t,i,r=>{s(r&&r?.code!=="ENOENT"?r:null)})},Nh=(e,t,i,s,r)=>{t.isDirectory()?ir(c.resolve(e,t.name),i,s,h=>{if(h)return r(h);Bt(c.resolve(e,t.name),i,s,r)}):Bt(c.resolve(e,t.name),i,s,r)},ir=(e,t,i,s)=>{d.readdir(e,{withFileTypes:!0},(r,h)=>{if(r){if(r.code==="ENOENT")return s();if(r.code!=="ENOTDIR"&&r.code!=="ENOTSUP")return s(r)}if(r||!h.length)return Bt(e,t,i,s);let n=h.length,o=null,a=l=>{if(!o){if(l)return s(o=l);if(--n===0)return Bt(e,t,i,s)}};for(let l of h)Nh(e,l,t,i,a)})},Ih=(e,t,i,s)=>{t.isDirectory()&&sr(c.resolve(e,t.name),i,s),Ai(c.resolve(e,t.name),i,s)},sr=(e,t,i)=>{let s;try{s=d.readdirSync(e,{withFileTypes:!0})}catch(r){let h=r;if(h?.code==="ENOENT")return;if(h?.code==="ENOTDIR"||h?.code==="ENOTSUP")return Ai(e,t,i);throw h}for(let r of s)Ih(e,r,t,i);return Ai(e,t,i)},rr=class extends Error{path;code;syscall="chdir";constructor(e,t){super(`${t}: Cannot cd into '${e}'`),this.path=e,this.code=t}get name(){return"CwdError"}},jt=class extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(e,t){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link"),this.symlink=e,this.path=t}get name(){return"SymlinkError"}},Bh=(e,t)=>{d.stat(e,(i,s)=>{(i||!s.isDirectory())&&(i=new rr(e,i?.code||"ENOTDIR")),t(i)})},Fh=(e,t,i)=>{e=u(e);let s=t.umask??18,r=t.mode|448,h=(r&s)!==0,n=t.uid,o=t.gid,a=typeof n=="number"&&typeof o=="number"&&(n!==t.processUid||o!==t.processGid),l=t.preserve,f=t.unlink,b=u(t.cwd),g=(T,w)=>{T?i(T):w&&a?ir(w,n,o,k=>g(k)):h?d.chmod(e,r,i):i()};if(e===b)return Bh(e,g);if(l)return lr.mkdir(e,{mode:r,recursive:!0}).then(T=>g(null,T??void 0),g);Di(b,u(c.relative(b,e)).split("/"),r,f,b,void 0,g)},Di=(e,t,i,s,r,h,n)=>{if(t.length===0)return n(null,h);let o=t.shift(),a=u(c.resolve(e+"/"+o));d.mkdir(a,i,hr(a,t,i,s,r,h,n))},hr=(e,t,i,s,r,h,n)=>o=>{o?d.lstat(e,(a,l)=>{if(a)a.path=a.path&&u(a.path),n(a);else if(l.isDirectory())Di(e,t,i,s,r,h,n);else if(s)d.unlink(e,f=>{if(f)return n(f);d.mkdir(e,i,hr(e,t,i,s,r,h,n))});else{if(l.isSymbolicLink())return n(new jt(e,e+"/"+t.join("/")));n(o)}}):(h||=e,Di(e,t,i,s,r,h,n))},Mh=e=>{let t=!1,i;try{t=d.statSync(e).isDirectory()}catch(s){i=s?.code}finally{if(!t)throw new rr(e,i??"ENOTDIR")}},Ch=(e,t)=>{e=u(e);let i=t.umask??18,s=t.mode|448,r=(s&i)!==0,h=t.uid,n=t.gid,o=typeof h=="number"&&typeof n=="number"&&(h!==t.processUid||n!==t.processGid),a=t.preserve,l=t.unlink,f=u(t.cwd),b=w=>{w&&o&&sr(w,h,n),r&&d.chmodSync(e,s)};if(e===f)return Mh(f),b();if(a)return b(d.mkdirSync(e,{mode:s,recursive:!0})??void 0);let g=u(c.relative(f,e)).split("/"),T;for(let w=g.shift(),k=f;w&&(k+="/"+w);w=g.shift()){k=u(c.resolve(k));try{d.mkdirSync(k,s),T||=k}catch{let Yi=d.lstatSync(k);if(Yi.isDirectory())continue;if(l){d.unlinkSync(k),d.mkdirSync(k,s),T||=k;continue}else if(Yi.isSymbolicLink())return new jt(k,k+"/"+g.join("/"))}}return b(T)},di=Object.create(null),gs=1e4,Oe=new Set,Ph=e=>{Oe.has(e)?Oe.delete(e):di[e]=e.normalize("NFD").toLocaleLowerCase("en").toLocaleUpperCase("en"),Oe.add(e);let t=di[e],i=Oe.size-gs;if(i>gs/10){for(let s of Oe)if(Oe.delete(s),delete di[s],--i<=0)break}return t},zh=(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform)==="win32",Uh=e=>e.split("/").slice(0,-1).reduce((t,i)=>{let s=t.at(-1);return s!==void 0&&(i=As(s,i)),t.push(i||"/"),t},[]),jh=class{#e=new Map;#i=new Map;#s=new Set;reserve(e,t){e=zh?["win32 parallelization disabled"]:e.map(s=>qe(As(Ph(s))));let i=new Set(e.map(s=>Uh(s)).reduce((s,r)=>s.concat(r)));this.#i.set(t,{dirs:i,paths:e});for(let s of e){let r=this.#e.get(s);r?r.push(t):this.#e.set(s,[t])}for(let s of i){let r=this.#e.get(s);if(!r)this.#e.set(s,[new Set([t])]);else{let h=r.at(-1);h instanceof Set?h.add(t):r.push(new Set([t]))}}return this.#r(t)}#h(e){let t=this.#i.get(e);if(!t)throw Error("function does not have any path reservations");return{paths:t.paths.map(i=>this.#e.get(i)),dirs:[...t.dirs].map(i=>this.#e.get(i))}}check(e){let{paths:t,dirs:i}=this.#h(e);return t.every(s=>s&&s[0]===e)&&i.every(s=>s&&s[0]instanceof Set&&s[0].has(e))}#r(e){return this.#s.has(e)||!this.check(e)?!1:(this.#s.add(e),e(()=>this.#t(e)),!0)}#t(e){if(!this.#s.has(e))return!1;let t=this.#i.get(e);if(!t)throw Error("invalid reservation");let{paths:i,dirs:s}=t,r=new Set;for(let h of i){let n=this.#e.get(h);if(!n||n?.[0]!==e)continue;let o=n[1];if(!o){this.#e.delete(h);continue}if(n.shift(),typeof o=="function")r.add(o);else for(let a of o)r.add(a)}for(let h of s){let n=this.#e.get(h),o=n?.[0];if(!(!n||!(o instanceof Set)))if(o.size===1&&n.length===1){this.#e.delete(h);continue}else if(o.size===1){n.shift();let a=n[0];typeof a=="function"&&r.add(a)}else o.delete(e)}return this.#s.delete(e),r.forEach(h=>this.#r(h)),!0}},Hh=()=>process.umask(),Es=Symbol("onEntry"),xi=Symbol("checkFs"),ws=Symbol("checkFs2"),Ni=Symbol("isReusable"),I=Symbol("makeFs"),Ii=Symbol("file"),Bi=Symbol("directory"),Nt=Symbol("link"),_s=Symbol("symlink"),Rs=Symbol("hardlink"),Ke=Symbol("ensureNoSymlink"),Ss=Symbol("unsupported"),vs=Symbol("checkPath"),ui=Symbol("stripAbsolutePath"),he=Symbol("mkdir"),O=Symbol("onError"),_t=Symbol("pending"),Os=Symbol("pend"),Te=Symbol("unpend"),fi=Symbol("ended"),ci=Symbol("maybeClose"),Fi=Symbol("skip"),Qe=Symbol("doChown"),Je=Symbol("uid"),et=Symbol("gid"),tt=Symbol("checkedCwd"),it=(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform)==="win32",Zh=1024,Wh=(e,t)=>{if(!it)return d.unlink(e,t);let i=e+".DELETE."+xs(16).toString("hex");d.rename(e,i,s=>{if(s)return t(s);d.unlink(i,t)})},Gh=e=>{if(!it)return d.unlinkSync(e);let t=e+".DELETE."+xs(16).toString("hex");d.renameSync(e,t),d.unlinkSync(t)},Ts=(e,t,i)=>e!==void 0&&e===e>>>0?e:t!==void 0&&t===t>>>0?t:i,Ft=class extends xe{[fi]=!1;[tt]=!1;[_t]=0;reservations=new jh;transform;writable=!0;readable=!1;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(e={}){if(e.ondone=()=>{this[fi]=!0,this[ci]()},super(e),this.transform=e.transform,this.chmod=!!e.chmod,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=void 0,this.gid=void 0,this.setOwner=!1;this.preserveOwner=e.preserveOwner===void 0&&typeof e.uid!="number"?!!(process.getuid&&process.getuid()===0):!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():void 0,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():void 0,this.maxDepth=typeof e.maxDepth=="number"?e.maxDepth:Zh,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||it,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=u(c.resolve(e.cwd||process.cwd())),this.strip=Number(e.strip)||0,this.processUmask=this.chmod?typeof e.processUmask=="number"?e.processUmask:Hh():0,this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",t=>this[Es](t))}warn(e,t,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,t,i)}[ci](){this[fi]&&this[_t]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"))}[ui](e,t){let i=e[t],{type:s}=e;if(!i||this.preservePaths)return!0;let[r,h]=Zi(i),n=h.replaceAll(/\\/g,"/").split("/");if(n.includes("..")||it&&/^[a-z]:\.\.$/i.test(n[0]??"")){if(t==="path"||s==="Link")return this.warn("TAR_ENTRY_ERROR",`${t} contains '..'`,{entry:e,[t]:i}),!1;let o=c.posix.dirname(e.path),a=c.posix.normalize(c.posix.join(o,n.join("/")));if(a.startsWith("../")||a==="..")return this.warn("TAR_ENTRY_ERROR",`${t} escapes extraction directory`,{entry:e,[t]:i}),!1}return r&&(e[t]=String(h),this.warn("TAR_ENTRY_INFO",`stripping ${r} from absolute ${t}`,{entry:e,[t]:i})),!0}[vs](e){let t=u(e.path),i=t.split("/");if(this.strip){if(i.length<this.strip)return!1;if(e.type==="Link"){let s=u(String(e.linkpath)).split("/");if(s.length>=this.strip)e.linkpath=s.slice(this.strip).join("/");else return!1}i.splice(0,this.strip),e.path=i.join("/")}if(isFinite(this.maxDepth)&&i.length>this.maxDepth)return this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:e,path:t,depth:i.length,maxDepth:this.maxDepth}),!1;if(!this[ui](e,"path")||!this[ui](e,"linkpath"))return!1;if(e.absolute=c.isAbsolute(e.path)?u(c.resolve(e.path)):u(c.resolve(this.cwd,e.path)),!this.preservePaths&&typeof e.absolute=="string"&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:u(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:s}=c.win32.parse(String(e.absolute));e.absolute=s+os(String(e.absolute).slice(s.length));let{root:r}=c.win32.parse(e.path);e.path=r+os(e.path.slice(r.length))}return!0}[Es](e){if(!this[vs](e))return e.resume();switch(br.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode|=448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[xi](e);default:return this[Ss](e)}}[O](e,t){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:t}),this[Te](),t.resume())}[he](e,t,i){Fh(u(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:t},i)}[Qe](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[Je](e){return Ts(this.uid,e.uid,this.processUid)}[et](e){return Ts(this.gid,e.gid,this.processGid)}[Ii](e,t){let i=typeof e.mode=="number"?e.mode&4095:this.fmode,s=new Mt(String(e.absolute),{flags:tr(e.size),mode:i,autoClose:!1});s.on("error",o=>{s.fd&&d.close(s.fd,()=>{}),s.write=()=>!0,this[O](o,e),t()});let r=1,h=o=>{if(o){s.fd&&d.close(s.fd,()=>{}),this[O](o,e),t();return}--r===0&&s.fd!==void 0&&d.close(s.fd,a=>{a?this[O](a,e):this[Te](),t()})};s.on("finish",()=>{let o=String(e.absolute),a=s.fd;if(typeof a=="number"&&e.mtime&&!this.noMtime){r++;let l=e.atime||new Date,f=e.mtime;d.futimes(a,l,f,b=>b?d.utimes(o,l,f,g=>h(g&&b)):h())}if(typeof a=="number"&&this[Qe](e)){r++;let l=this[Je](e),f=this[et](e);typeof l=="number"&&typeof f=="number"&&d.fchown(a,l,f,b=>b?d.chown(o,l,f,g=>h(g&&b)):h())}h()});let n=this.transform&&this.transform(e)||e;n!==e&&(n.on("error",o=>{this[O](o,e),t()}),e.pipe(n)),n.pipe(s)}[Bi](e,t){let i=typeof e.mode=="number"?e.mode&4095:this.dmode;this[he](String(e.absolute),i,s=>{if(s){this[O](s,e),t();return}let r=1,h=()=>{--r===0&&(t(),this[Te](),e.resume())};e.mtime&&!this.noMtime&&(r++,d.utimes(String(e.absolute),e.atime||new Date,e.mtime,h)),this[Qe](e)&&(r++,d.chown(String(e.absolute),Number(this[Je](e)),Number(this[et](e)),h)),h()})}[Ss](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[_s](e,t){let i=u(c.relative(this.cwd,c.resolve(c.dirname(String(e.absolute)),String(e.linkpath)))).split("/");this[Ke](e,this.cwd,i,()=>this[Nt](e,String(e.linkpath),"symlink",t),s=>{this[O](s,e),t()})}[Rs](e,t){let i=u(c.resolve(this.cwd,String(e.linkpath))),s=u(String(e.linkpath)).split("/");this[Ke](e,this.cwd,s,()=>this[Nt](e,i,"link",t),r=>{this[O](r,e),t()})}[Ke](e,t,i,s,r){let h=i.shift();if(this.preservePaths||h===void 0)return s();let n=c.resolve(t,h);d.lstat(n,(o,a)=>{if(o)return s();if(a?.isSymbolicLink())return r(new jt(n,c.resolve(n,i.join("/"))));this[Ke](e,n,i,s,r)})}[Os](){this[_t]++}[Te](){this[_t]--,this[ci]()}[Fi](e){this[Te](),e.resume()}[Ni](e,t){return e.type==="File"&&!this.unlink&&t.isFile()&&t.nlink<=1&&!it}[xi](e){this[Os]();let t=[e.path];e.linkpath&&t.push(e.linkpath),this.reservations.reserve(t,i=>this[ws](e,i))}[ws](e,t){let i=n=>{t(n)},s=()=>{this[he](this.cwd,this.dmode,n=>{if(n){this[O](n,e),i();return}this[tt]=!0,r()})},r=()=>{if(e.absolute!==this.cwd){let n=u(c.dirname(String(e.absolute)));if(n!==this.cwd)return this[he](n,this.dmode,o=>{if(o){this[O](o,e),i();return}h()})}h()},h=()=>{d.lstat(String(e.absolute),(n,o)=>{if(o&&(this.keep||this.newer&&o.mtime>(e.mtime??o.mtime))){this[Fi](e),i();return}if(n||this[Ni](e,o))return this[I](null,e,i);if(o.isDirectory()){if(e.type==="Directory"){let a=this.chmod&&e.mode&&(o.mode&4095)!==e.mode,l=f=>this[I](f??null,e,i);return a?d.chmod(String(e.absolute),Number(e.mode),l):l()}if(e.absolute!==this.cwd)return d.rmdir(String(e.absolute),a=>this[I](a??null,e,i))}if(e.absolute===this.cwd)return this[I](null,e,i);Wh(String(e.absolute),a=>this[I](a??null,e,i))})};this[tt]?r():s()}[I](e,t,i){if(e){this[O](e,t),i();return}switch(t.type){case"File":case"OldFile":case"ContiguousFile":return this[Ii](t,i);case"Link":return this[Rs](t,i);case"SymbolicLink":return this[_s](t,i);case"Directory":case"GNUDumpDir":return this[Bi](t,i)}}[Nt](e,t,i,s){d[i](t,String(e.absolute),r=>{r?this[O](r,e):(this[Te](),e.resume()),s()})}},Ve=e=>{try{return[null,e()]}catch(t){return[t,null]}},Mi=class extends Ft{sync=!0;[I](e,t){return super[I](e,t,()=>{})}[xi](e){if(!this[tt]){let r=this[he](this.cwd,this.dmode);if(r)return this[O](r,e);this[tt]=!0}if(e.absolute!==this.cwd){let r=u(c.dirname(String(e.absolute)));if(r!==this.cwd){let h=this[he](r,this.dmode);if(h)return this[O](h,e)}}let[t,i]=Ve(()=>d.lstatSync(String(e.absolute)));if(i&&(this.keep||this.newer&&i.mtime>(e.mtime??i.mtime)))return this[Fi](e);if(t||this[Ni](e,i))return this[I](null,e);if(i.isDirectory()){if(e.type==="Directory"){let[h]=this.chmod&&e.mode&&(i.mode&4095)!==e.mode?Ve(()=>{d.chmodSync(String(e.absolute),Number(e.mode))}):[];return this[I](h,e)}let[r]=Ve(()=>d.rmdirSync(String(e.absolute)));this[I](r,e)}let[s]=e.absolute===this.cwd?[]:Ve(()=>Gh(String(e.absolute)));this[I](s,e)}[Ii](e,t){let i=typeof e.mode=="number"?e.mode&4095:this.fmode,s=n=>{let o;try{d.closeSync(r)}catch(a){o=a}(n||o)&&this[O](n||o,e),t()},r;try{r=d.openSync(String(e.absolute),tr(e.size),i)}catch(n){return s(n)}let h=this.transform&&this.transform(e)||e;h!==e&&(h.on("error",n=>this[O](n,e)),e.pipe(h)),h.on("data",n=>{try{d.writeSync(r,n,0,n.length)}catch(o){s(o)}}),h.on("end",()=>{let n=null;if(e.mtime&&!this.noMtime){let o=e.atime||new Date,a=e.mtime;try{d.futimesSync(r,o,a)}catch(l){try{d.utimesSync(String(e.absolute),o,a)}catch{n=l}}}if(this[Qe](e)){let o=this[Je](e),a=this[et](e);try{d.fchownSync(r,Number(o),Number(a))}catch(l){try{d.chownSync(String(e.absolute),Number(o),Number(a))}catch{n||=l}}}s(n)})}[Bi](e,t){let i=typeof e.mode=="number"?e.mode&4095:this.dmode,s=this[he](String(e.absolute),i);if(s){this[O](s,e),t();return}if(e.mtime&&!this.noMtime)try{d.utimesSync(String(e.absolute),e.atime||new Date,e.mtime)}catch{}if(this[Qe](e))try{d.chownSync(String(e.absolute),Number(this[Je](e)),Number(this[et](e)))}catch{}t(),e.resume()}[he](e,t){try{return Ch(u(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:t})}catch(i){return i}}[Ke](e,t,i,s,r){if(this.preservePaths||i.length===0)return s();let h=t;for(let n of i){h=c.resolve(h,n);let[o,a]=Ve(()=>d.lstatSync(h));if(o)return s();if(a.isSymbolicLink())return r(new jt(h,c.resolve(t,i.join("/"))))}s()}[Nt](e,t,i,s){let r=`${i}Sync`;try{d[r](t,String(e.absolute)),s(),e.resume()}catch(h){return this[O](h,e)}}},ks=ht(e=>{let t=new Mi(e),i=e.file,s=d.statSync(i);new xr(i,{readSize:e.maxReadSize||16*1024*1024,size:s.size}).pipe(t)},(e,t)=>{let i=new Ft(e),s=e.maxReadSize||16*1024*1024,r=e.file;return new Promise((h,n)=>{i.on("error",n),i.on("close",h),d.stat(r,(o,a)=>{if(o)n(o);else{let l=new Pi(r,{readSize:s,size:a.size});l.on("error",n),l.pipe(i)}})})},e=>new Mi(e),e=>new Ft(e),(e,t)=>{t?.length&&Hi(e,t)}),$h=(e,t)=>{let i=new Ut(e),s=!0,r,h;try{try{r=d.openSync(e.file,"r+")}catch(a){if(a?.code==="ENOENT")r=d.openSync(e.file,"w+");else throw a}let n=d.fstatSync(r),o=Buffer.alloc(512);e:for(h=0;h<n.size;h+=512){for(let f=0,b=0;f<512;f+=b){if(b=d.readSync(r,o,f,o.length-f,h+f),h===0&&o[0]===31&&o[1]===139)throw Error("cannot append to compressed archives");if(!b)break e}let a=new ae(o);if(!a.cksumValid)break;let l=512*Math.ceil((a.size||0)/512);if(h+l+512>n.size)break;h+=l,e.mtimeCache&&a.mtime&&e.mtimeCache.set(String(a.path),a.mtime)}s=!1,Yh(e,i,h,r,t)}finally{if(s)try{d.closeSync(r)}catch{}}},Yh=(e,t,i,s,r)=>{let h=new Is(e.file,{fd:s,start:i});t.pipe(h),Kh(t,r)},Vh=(e,t)=>{t=Array.from(t);let i=new nt(e),s=(r,h,n)=>{let o=(g,T)=>{g?d.close(r,w=>n(g)):n(null,T)},a=0;if(h===0)return o(null,0);let l=0,f=Buffer.alloc(512),b=(g,T)=>{if(g||T===void 0)return o(g);if(l+=T,l<512&&T)return d.read(r,f,l,f.length-l,a+l,b);if(a===0&&f[0]===31&&f[1]===139)return o(Error("cannot append to compressed archives"));if(l<512)return o(null,a);let w=new ae(f);if(!w.cksumValid)return o(null,a);let k=512*Math.ceil((w.size??0)/512);if(a+k+512>h||(a+=k+512,a>=h))return o(null,a);e.mtimeCache&&w.mtime&&e.mtimeCache.set(String(w.path),w.mtime),l=0,d.read(r,f,0,512,a,b)};d.read(r,f,0,512,a,b)};return new Promise((r,h)=>{i.on("error",h);let n="r+",o=(a,l)=>{if(a&&a.code==="ENOENT"&&n==="r+")return n="w+",d.open(e.file,n,o);if(a||!l)return h(a);d.fstat(l,(f,b)=>{if(f)return d.close(l,()=>h(f));s(l,b.size,(g,T)=>{if(g)return h(g);let w=new Mt(e.file,{fd:l,start:T});i.pipe(w),w.on("error",h),w.on("close",r),Xh(i,t)})})};d.open(e.file,n,o)})},Kh=(e,t)=>{t.forEach(i=>{i.charAt(0)==="@"?Be({file:c.resolve(e.cwd,i.slice(1)),sync:!0,noResume:!0,onReadEntry:s=>e.add(s)}):e.add(i)}),e.end()},Xh=async(e,t)=>{for(let i of t)i.charAt(0)==="@"?await Be({file:c.resolve(String(e.cwd),i.slice(1)),noResume:!0,onReadEntry:s=>e.add(s)}):e.add(i);e.end()},be=ht($h,Vh,()=>{throw TypeError("file is required")},()=>{throw TypeError("file is required")},(e,t)=>{if(!Cr(e))throw TypeError("file is required");if(e.gzip||e.brotli||e.zstd||e.file.endsWith(".br")||e.file.endsWith(".tbr"))throw TypeError("cannot append to compressed archives");if(!t?.length)throw TypeError("no paths specified to add/replace")});ht(be.syncFile,be.asyncFile,be.syncNoFile,be.asyncNoFile,(e,t=[])=>{be.validate?.(e,t),qh(e)});var qh=e=>{let t=e.filter;e.mtimeCache||=new Map,e.filter=t?(i,s)=>t(i,s)&&!((e.mtimeCache?.get(i)??s.mtime??0)>(s.mtime??0)):(i,s)=>!((e.mtimeCache?.get(i)??s.mtime??0)>(s.mtime??0))};export{en as index_min_exports};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as m}from"node:module";import{m as d,f as p,T as v}from"../packem_shared/index-CE6MsgcV.js";import{p as e}from"./cli-main.js";import{A as h}from"../packem_shared/pm-runner-CQcraCcu.js";import{a as u}from"../packem_shared/readJsonSync-DuMMeB3s-ihoybKvs.js";const g=m(import.meta.url),c=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,y=o=>{if(typeof c<"u"&&c.versions&&c.versions.node){const[t,s]=c.versions.node.split(".").map(Number);if(t>22||t===22&&s>=3||t===20&&s>=16)return c.getBuiltinModule(o)}return g(o)},{spawnSync:w}=y("node:child_process"),n="@lavamoat/preinstall-always-fail",l=o=>{const t=d(o,"package.json");if(!p(t))return"no-package-json";try{const s=u(t);if(s.devDependencies?.[n]||s.dependencies?.[n])return"installed"}catch{}return"missing"},$=o=>{const t=d(o,"package.json");if(!p(t))return!1;try{const s=u(t);let i=!1;const a=r=>!r||!(n in r)?r:(i=!0,Object.fromEntries(Object.entries(r).filter(([f])=>f!==n)));return s.devDependencies=a(s.devDependencies),s.dependencies=a(s.dependencies),i&&v(t,`${JSON.stringify(s,null,2)}
|
|
2
|
+
`),i}catch{return!1}},D=({options:o,workspaceRoot:t})=>{const s=t??process.cwd();if(o.status){switch(l(s)){case"installed":{e.success(`Preinstall tripwire is installed (${n}).`),e.info("Removing 'ignore-scripts=true' will cause future installs to fail loudly.");break}case"missing":{e.warn("Preinstall tripwire is not installed."),e.info(`Run 'vis security tripwire' to add ${n} as a devDependency.`);break}default:e.error("No package.json found at the workspace root."),process.exitCode=1}return}if(o.remove){$(s)?e.success(`Removed ${n} from package.json. Run your PM's install to clean node_modules.`):e.info(`${n} was not present in package.json.`);return}if(l(s)==="installed"){e.info(`${n} is already installed.`);return}const i=h(s),a={bun:["add","-d",n],npm:["install","--save-dev",n],pnpm:["add","-D","-w",n],yarn:["add","-D",n]}[i.name];if(!a){e.error(`Cannot install tripwire — unsupported package manager '${i.name}'.`),process.exitCode=1;return}e.info(`Installing ${n} via ${i.name}…`);const r=w(i.name,a,{cwd:s,stdio:"inherit"});if(r.error){e.error(`Failed to install tripwire: ${r.error.message}`),process.exitCode=1;return}if(r.signal!==null){e.error(`${i.name} was terminated by signal ${r.signal}`),process.exitCode=1;return}if(r.status!==0){e.error(`${i.name} exited with code ${String(r.status)}`),process.exitCode=r.status??1;return}e.success(`Installed ${n} as a devDependency.`),e.notice(""),e.notice("How the tripwire works:"),e.notice(` ${n} declares a preinstall script that always fails.`),e.notice(" When 'ignore-scripts=true' is set (.npmrc / bunfig.toml / .yarnrc.yml),"),e.notice(" the script is skipped and installs succeed normally. If someone deletes"),e.notice(" that setting, the next install fails — loudly — instead of silently"),e.notice(" running every dependency's lifecycle scripts.")};export{D as default};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import{createRequire as ge}from"node:module";import{v as z,z as ve,s as we,U as ke,L as xe,B as R,H as K,y as Cu,e as se,m as I,A as Mu,g as Bu,w as $e,h as Te,f as _,F as hu}from"../packem_shared/index-CE6MsgcV.js";import{parse as Se}from"./index5.js";import{E as Ku}from"../packem_shared/public-api-WqUCiyIe.js";import{transformTs as ne}from"#native";const ye=ge(import.meta.url),uu=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Wu=u=>{if(typeof uu<"u"&&uu.versions&&uu.versions.node){const[e,o]=uu.versions.node.split(".").map(Number);if(e>22||e===22&&o>=3||e===20&&o>=16)return uu.getBuiltinModule(u)}return ye(u)},{readFileSync:Vu,statSync:ie,writeFileSync:be,unlinkSync:Oe}=Wu("node:fs"),Pu=Wu("node:module"),{createRequire:Z}=Pu,{fileURLToPath:fu,pathToFileURL:mu}=Wu("node:url");var Ne=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,Ie=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,Pe=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,vu={Space_Separator:Ne,ID_Start:Ie,ID_Continue:Pe},T={isSpaceSeparator(u){return typeof u=="string"&&vu.Space_Separator.test(u)},isIdStartChar(u){return typeof u=="string"&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||u==="$"||u==="_"||vu.ID_Start.test(u))},isIdContinueChar(u){return typeof u=="string"&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||u>="0"&&u<="9"||u==="$"||u==="_"||u===""||u===""||vu.ID_Continue.test(u))},isDigit(u){return typeof u=="string"&&/[0-9]/.test(u)},isHexDigit(u){return typeof u=="string"&&/[0-9A-Fa-f]/.test(u)}};let ju,P,V,gu,J,U,N,Ju,au;var je=function(u,e){ju=String(u),P="start",V=[],gu=0,J=1,U=0,N=void 0,Ju=void 0,au=void 0;do N=Le(),Ue[P]();while(N.type!=="eof");return typeof e=="function"?Lu({"":au},"",e):au};function Lu(u,e,o){const t=u[e];if(t!=null&&typeof t=="object")if(Array.isArray(t))for(let r=0;r<t.length;r++){const D=String(r),i=Lu(t,D,o);i===void 0?delete t[D]:Object.defineProperty(t,D,{value:i,writable:!0,enumerable:!0,configurable:!0})}else for(const r in t){const D=Lu(t,r,o);D===void 0?delete t[r]:Object.defineProperty(t,r,{value:D,writable:!0,enumerable:!0,configurable:!0})}return o.call(u,e,t)}let h,m,cu,W,b;function Le(){for(h="default",m="",cu=!1,W=1;;){b=M();const u=De[h]();if(u)return u}}function M(){if(ju[gu])return String.fromCodePoint(ju.codePointAt(gu))}function s(){const u=M();return u===`
|
|
2
|
+
`?(J++,U=0):u?U+=u.length:U++,u&&(gu+=u.length),u}const De={default(){switch(b){case" ":case"\v":case"\f":case" ":case" ":case"\uFEFF":case`
|
|
3
|
+
`:case"\r":case"\u2028":case"\u2029":s();return;case"/":s(),h="comment";return;case void 0:return s(),k("eof")}if(T.isSpaceSeparator(b)){s();return}return De[P]()},comment(){switch(b){case"*":s(),h="multiLineComment";return;case"/":s(),h="singleLineComment";return}throw x(s())},multiLineComment(){switch(b){case"*":s(),h="multiLineCommentAsterisk";return;case void 0:throw x(s())}s()},multiLineCommentAsterisk(){switch(b){case"*":s();return;case"/":s(),h="default";return;case void 0:throw x(s())}s(),h="multiLineComment"},singleLineComment(){switch(b){case`
|
|
4
|
+
`:case"\r":case"\u2028":case"\u2029":s(),h="default";return;case void 0:return s(),k("eof")}s()},value(){switch(b){case"{":case"[":return k("punctuator",s());case"n":return s(),q("ull"),k("null",null);case"t":return s(),q("rue"),k("boolean",!0);case"f":return s(),q("alse"),k("boolean",!1);case"-":case"+":s()==="-"&&(W=-1),h="sign";return;case".":m=s(),h="decimalPointLeading";return;case"0":m=s(),h="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":m=s(),h="decimalInteger";return;case"I":return s(),q("nfinity"),k("numeric",1/0);case"N":return s(),q("aN"),k("numeric",NaN);case'"':case"'":cu=s()==='"',m="",h="string";return}throw x(s())},identifierNameStartEscape(){if(b!=="u")throw x(s());s();const u=_u();switch(u){case"$":case"_":break;default:if(!T.isIdStartChar(u))throw zu();break}m+=u,h="identifierName"},identifierName(){switch(b){case"$":case"_":case"":case"":m+=s();return;case"\\":s(),h="identifierNameEscape";return}if(T.isIdContinueChar(b)){m+=s();return}return k("identifier",m)},identifierNameEscape(){if(b!=="u")throw x(s());s();const u=_u();switch(u){case"$":case"_":case"":case"":break;default:if(!T.isIdContinueChar(u))throw zu();break}m+=u,h="identifierName"},sign(){switch(b){case".":m=s(),h="decimalPointLeading";return;case"0":m=s(),h="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":m=s(),h="decimalInteger";return;case"I":return s(),q("nfinity"),k("numeric",W*(1/0));case"N":return s(),q("aN"),k("numeric",NaN)}throw x(s())},zero(){switch(b){case".":m+=s(),h="decimalPoint";return;case"e":case"E":m+=s(),h="decimalExponent";return;case"x":case"X":m+=s(),h="hexadecimal";return}return k("numeric",W*0)},decimalInteger(){switch(b){case".":m+=s(),h="decimalPoint";return;case"e":case"E":m+=s(),h="decimalExponent";return}if(T.isDigit(b)){m+=s();return}return k("numeric",W*Number(m))},decimalPointLeading(){if(T.isDigit(b)){m+=s(),h="decimalFraction";return}throw x(s())},decimalPoint(){switch(b){case"e":case"E":m+=s(),h="decimalExponent";return}if(T.isDigit(b)){m+=s(),h="decimalFraction";return}return k("numeric",W*Number(m))},decimalFraction(){switch(b){case"e":case"E":m+=s(),h="decimalExponent";return}if(T.isDigit(b)){m+=s();return}return k("numeric",W*Number(m))},decimalExponent(){switch(b){case"+":case"-":m+=s(),h="decimalExponentSign";return}if(T.isDigit(b)){m+=s(),h="decimalExponentInteger";return}throw x(s())},decimalExponentSign(){if(T.isDigit(b)){m+=s(),h="decimalExponentInteger";return}throw x(s())},decimalExponentInteger(){if(T.isDigit(b)){m+=s();return}return k("numeric",W*Number(m))},hexadecimal(){if(T.isHexDigit(b)){m+=s(),h="hexadecimalInteger";return}throw x(s())},hexadecimalInteger(){if(T.isHexDigit(b)){m+=s();return}return k("numeric",W*Number(m))},string(){switch(b){case"\\":s(),m+=_e();return;case'"':if(cu)return s(),k("string",m);m+=s();return;case"'":if(!cu)return s(),k("string",m);m+=s();return;case`
|
|
5
|
+
`:case"\r":throw x(s());case"\u2028":case"\u2029":We(b);break;case void 0:throw x(s())}m+=s()},start(){switch(b){case"{":case"[":return k("punctuator",s())}h="value"},beforePropertyName(){switch(b){case"$":case"_":m=s(),h="identifierName";return;case"\\":s(),h="identifierNameStartEscape";return;case"}":return k("punctuator",s());case'"':case"'":cu=s()==='"',h="string";return}if(T.isIdStartChar(b)){m+=s(),h="identifierName";return}throw x(s())},afterPropertyName(){if(b===":")return k("punctuator",s());throw x(s())},beforePropertyValue(){h="value"},afterPropertyValue(){switch(b){case",":case"}":return k("punctuator",s())}throw x(s())},beforeArrayValue(){if(b==="]")return k("punctuator",s());h="value"},afterArrayValue(){switch(b){case",":case"]":return k("punctuator",s())}throw x(s())},end(){throw x(s())}};function k(u,e){return{type:u,value:e,line:J,column:U}}function q(u){for(const e of u){if(M()!==e)throw x(s());s()}}function _e(){switch(M()){case"b":return s(),"\b";case"f":return s(),"\f";case"n":return s(),`
|
|
6
|
+
`;case"r":return s(),"\r";case"t":return s()," ";case"v":return s(),"\v";case"0":if(s(),T.isDigit(M()))throw x(s());return"\0";case"x":return s(),Re();case"u":return s(),_u();case`
|
|
7
|
+
`:case"\u2028":case"\u2029":return s(),"";case"\r":return s(),M()===`
|
|
8
|
+
`&&s(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw x(s());case void 0:throw x(s())}return s()}function Re(){let u="",e=M();if(!T.isHexDigit(e)||(u+=s(),e=M(),!T.isHexDigit(e)))throw x(s());return u+=s(),String.fromCodePoint(parseInt(u,16))}function _u(){let u="",e=4;for(;e-- >0;){const o=M();if(!T.isHexDigit(o))throw x(s());u+=s()}return String.fromCodePoint(parseInt(u,16))}const Ue={start(){if(N.type==="eof")throw H();wu()},beforePropertyName(){switch(N.type){case"identifier":case"string":Ju=N.value,P="afterPropertyName";return;case"punctuator":Au();return;case"eof":throw H()}},afterPropertyName(){if(N.type==="eof")throw H();P="beforePropertyValue"},beforePropertyValue(){if(N.type==="eof")throw H();wu()},beforeArrayValue(){if(N.type==="eof")throw H();if(N.type==="punctuator"&&N.value==="]"){Au();return}wu()},afterPropertyValue(){if(N.type==="eof")throw H();switch(N.value){case",":P="beforePropertyName";return;case"}":Au()}},afterArrayValue(){if(N.type==="eof")throw H();switch(N.value){case",":P="beforeArrayValue";return;case"]":Au()}},end(){}};function wu(){let u;switch(N.type){case"punctuator":switch(N.value){case"{":u={};break;case"[":u=[];break}break;case"null":case"boolean":case"numeric":case"string":u=N.value;break}if(au===void 0)au=u;else{const e=V[V.length-1];Array.isArray(e)?e.push(u):Object.defineProperty(e,Ju,{value:u,writable:!0,enumerable:!0,configurable:!0})}if(u!==null&&typeof u=="object")V.push(u),Array.isArray(u)?P="beforeArrayValue":P="beforePropertyName";else{const e=V[V.length-1];e==null?P="end":Array.isArray(e)?P="afterArrayValue":P="afterPropertyValue"}}function Au(){V.pop();const u=V[V.length-1];u==null?P="end":Array.isArray(u)?P="afterArrayValue":P="afterPropertyValue"}function x(u){return qu(u===void 0?`JSON5: invalid end of input at ${J}:${U}`:`JSON5: invalid character '${ce(u)}' at ${J}:${U}`)}function H(){return qu(`JSON5: invalid end of input at ${J}:${U}`)}function zu(){return U-=5,qu(`JSON5: invalid identifier character at ${J}:${U}`)}function We(u){console.warn(`JSON5: '${ce(u)}' in strings is not valid ECMAScript; consider escaping`)}function ce(u){const e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[u])return e[u];if(u<" "){const o=u.charCodeAt(0).toString(16);return"\\x"+("00"+o).substring(o.length)}return u}function qu(u){const e=new SyntaxError(u);return e.lineNumber=J,e.columnNumber=U,e}var Ve=function(u,e,o){const t=[];let r="",D,i,c="",a;if(e!=null&&typeof e=="object"&&!Array.isArray(e)&&(o=e.space,a=e.quote,e=e.replacer),typeof e=="function")i=e;else if(Array.isArray(e)){D=[];for(const C of e){let y;typeof C=="string"?y=C:(typeof C=="number"||C instanceof String||C instanceof Number)&&(y=String(C)),y!==void 0&&D.indexOf(y)<0&&D.push(y)}}return o instanceof Number?o=Number(o):o instanceof String&&(o=String(o)),typeof o=="number"?o>0&&(o=Math.min(10,Math.floor(o)),c=" ".substr(0,o)):typeof o=="string"&&(c=o.substr(0,10)),l("",{"":u});function l(C,y){let A=y[C];switch(A!=null&&(typeof A.toJSON5=="function"?A=A.toJSON5(C):typeof A.toJSON=="function"&&(A=A.toJSON(C))),i&&(A=i.call(y,C,A)),A instanceof Number?A=Number(A):A instanceof String?A=String(A):A instanceof Boolean&&(A=A.valueOf()),A){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof A=="string")return f(A);if(typeof A=="number")return String(A);if(typeof A=="object")return Array.isArray(A)?O(A):E(A)}function f(C){const y={"'":.1,'"':.2},A={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let w="";for(let n=0;n<C.length;n++){const d=C[n];switch(d){case"'":case'"':y[d]++,w+=d;continue;case"\0":if(T.isDigit(C[n+1])){w+="\\x00";continue}}if(A[d]){w+=A[d];continue}if(d<" "){let g=d.charCodeAt(0).toString(16);w+="\\x"+("00"+g).substring(g.length);continue}w+=d}const F=a||Object.keys(y).reduce((n,d)=>y[n]<y[d]?n:d);return w=w.replace(new RegExp(F,"g"),A[F]),F+w+F}function E(C){if(t.indexOf(C)>=0)throw TypeError("Converting circular structure to JSON5");t.push(C);let y=r;r=r+c;let A=D||Object.keys(C),w=[];for(const n of A){const d=l(n,C);if(d!==void 0){let g=$(n)+":";c!==""&&(g+=" "),g+=d,w.push(g)}}let F;if(w.length===0)F="{}";else{let n;if(c==="")n=w.join(","),F="{"+n+"}";else{let d=`,
|
|
9
|
+
`+r;n=w.join(d),F=`{
|
|
10
|
+
`+r+n+`,
|
|
11
|
+
`+y+"}"}}return t.pop(),r=y,F}function $(C){if(C.length===0)return f(C);const y=String.fromCodePoint(C.codePointAt(0));if(!T.isIdStartChar(y))return f(C);for(let A=y.length;A<C.length;A++)if(!T.isIdContinueChar(String.fromCodePoint(C.codePointAt(A))))return f(C);return C}function O(C){if(t.indexOf(C)>=0)throw TypeError("Converting circular structure to JSON5");t.push(C);let y=r;r=r+c;let A=[];for(let F=0;F<C.length;F++){const n=l(String(F),C);A.push(n!==void 0?n:"null")}let w;if(A.length===0)w="[]";else if(c==="")w="["+A.join(",")+"]";else{let F=`,
|
|
12
|
+
`+r,n=A.join(F);w=`[
|
|
13
|
+
`+r+n+`,
|
|
14
|
+
`+y+"]"}return t.pop(),r=y,w}};const Me={parse:je,stringify:Ve};var Je=Me;function qe(u,e,o){const{beforeParse:t,buffer:r,compression:D,encoding:i="utf8",flag:c}={},a=z(u,{buffer:r,compression:D,encoding:i,flag:c}),l=typeof t=="function"?t(a):a;return Je.parse(l,e)}const He=Z(import.meta.url),eu=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Ke=u=>{if(typeof eu<"u"&&eu.versions&&eu.versions.node){const[e,o]=eu.versions.node.split(".").map(Number);if(e>22||e===22&&o>=3||e===20&&o>=16)return eu.getBuiltinModule(u)}return He(u)};Ke("node:fs/promises");const ze=Z(import.meta.url),tu=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Ge=u=>{if(typeof tu<"u"&&tu.versions&&tu.versions.node){const[e,o]=tu.versions.node.split(".").map(Number);if(e>22||e===22&&o>=3||e===20&&o>=16)return tu.getBuiltinModule(u)}return ze(u)};Ge("node:fs");function Qe(u,e=!1){const o=u.length;let t=0,r="",D=0,i=16,c=0,a=0,l=0,f=0,E=0;function $(n,d){let g=0,B=0;for(;g<n;){let p=u.charCodeAt(t);if(p>=48&&p<=57)B=B*16+p-48;else if(p>=65&&p<=70)B=B*16+p-65+10;else if(p>=97&&p<=102)B=B*16+p-97+10;else break;t++,g++}return g<n&&(B=-1),B}function O(n){t=n,r="",D=0,i=16,E=0}function C(){let n=t;if(u.charCodeAt(t)===48)t++;else for(t++;t<u.length&&G(u.charCodeAt(t));)t++;if(t<u.length&&u.charCodeAt(t)===46)if(t++,t<u.length&&G(u.charCodeAt(t)))for(t++;t<u.length&&G(u.charCodeAt(t));)t++;else return E=3,u.substring(n,t);let d=t;if(t<u.length&&(u.charCodeAt(t)===69||u.charCodeAt(t)===101))if(t++,(t<u.length&&u.charCodeAt(t)===43||u.charCodeAt(t)===45)&&t++,t<u.length&&G(u.charCodeAt(t))){for(t++;t<u.length&&G(u.charCodeAt(t));)t++;d=t}else E=3;return u.substring(n,d)}function y(){let n="",d=t;for(;;){if(t>=o){n+=u.substring(d,t),E=2;break}const g=u.charCodeAt(t);if(g===34){n+=u.substring(d,t),t++;break}if(g===92){if(n+=u.substring(d,t),t++,t>=o){E=2;break}switch(u.charCodeAt(t++)){case 34:n+='"';break;case 92:n+="\\";break;case 47:n+="/";break;case 98:n+="\b";break;case 102:n+="\f";break;case 110:n+=`
|
|
15
|
+
`;break;case 114:n+="\r";break;case 116:n+=" ";break;case 117:const B=$(4);B>=0?n+=String.fromCharCode(B):E=4;break;default:E=5}d=t;continue}if(g>=0&&g<=31)if(ru(g)){n+=u.substring(d,t),E=2;break}else E=6;t++}return n}function A(){if(r="",E=0,D=t,a=c,f=l,t>=o)return D=o,i=17;let n=u.charCodeAt(t);if(ku(n)){do t++,r+=String.fromCharCode(n),n=u.charCodeAt(t);while(ku(n));return i=15}if(ru(n))return t++,r+=String.fromCharCode(n),n===13&&u.charCodeAt(t)===10&&(t++,r+=`
|
|
16
|
+
`),c++,l=t,i=14;switch(n){case 123:return t++,i=1;case 125:return t++,i=2;case 91:return t++,i=3;case 93:return t++,i=4;case 58:return t++,i=6;case 44:return t++,i=5;case 34:return t++,r=y(),i=10;case 47:const d=t-1;if(u.charCodeAt(t+1)===47){for(t+=2;t<o&&!ru(u.charCodeAt(t));)t++;return r=u.substring(d,t),i=12}if(u.charCodeAt(t+1)===42){t+=2;const g=o-1;let B=!1;for(;t<g;){const p=u.charCodeAt(t);if(p===42&&u.charCodeAt(t+1)===47){t+=2,B=!0;break}t++,ru(p)&&(p===13&&u.charCodeAt(t)===10&&t++,c++,l=t)}return B||(t++,E=1),r=u.substring(d,t),i=13}return r+=String.fromCharCode(n),t++,i=16;case 45:if(r+=String.fromCharCode(n),t++,t===o||!G(u.charCodeAt(t)))return i=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return r+=C(),i=11;default:for(;t<o&&w(n);)t++,n=u.charCodeAt(t);if(D!==t){switch(r=u.substring(D,t),r){case"true":return i=8;case"false":return i=9;case"null":return i=7}return i=16}return r+=String.fromCharCode(n),t++,i=16}}function w(n){if(ku(n)||ru(n))return!1;switch(n){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function F(){let n;do n=A();while(n>=12&&n<=15);return n}return{setPosition:O,getPosition:()=>t,scan:e?F:A,getToken:()=>i,getTokenValue:()=>r,getTokenOffset:()=>D,getTokenLength:()=>t-D,getTokenStartLine:()=>a,getTokenStartCharacter:()=>D-f,getTokenError:()=>E}}function ku(u){return u===32||u===9}function ru(u){return u===10||u===13}function G(u){return u>=48&&u<=57}var Gu;(function(u){u[u.lineFeed=10]="lineFeed",u[u.carriageReturn=13]="carriageReturn",u[u.space=32]="space",u[u._0=48]="_0",u[u._1=49]="_1",u[u._2=50]="_2",u[u._3=51]="_3",u[u._4=52]="_4",u[u._5=53]="_5",u[u._6=54]="_6",u[u._7=55]="_7",u[u._8=56]="_8",u[u._9=57]="_9",u[u.a=97]="a",u[u.b=98]="b",u[u.c=99]="c",u[u.d=100]="d",u[u.e=101]="e",u[u.f=102]="f",u[u.g=103]="g",u[u.h=104]="h",u[u.i=105]="i",u[u.j=106]="j",u[u.k=107]="k",u[u.l=108]="l",u[u.m=109]="m",u[u.n=110]="n",u[u.o=111]="o",u[u.p=112]="p",u[u.q=113]="q",u[u.r=114]="r",u[u.s=115]="s",u[u.t=116]="t",u[u.u=117]="u",u[u.v=118]="v",u[u.w=119]="w",u[u.x=120]="x",u[u.y=121]="y",u[u.z=122]="z",u[u.A=65]="A",u[u.B=66]="B",u[u.C=67]="C",u[u.D=68]="D",u[u.E=69]="E",u[u.F=70]="F",u[u.G=71]="G",u[u.H=72]="H",u[u.I=73]="I",u[u.J=74]="J",u[u.K=75]="K",u[u.L=76]="L",u[u.M=77]="M",u[u.N=78]="N",u[u.O=79]="O",u[u.P=80]="P",u[u.Q=81]="Q",u[u.R=82]="R",u[u.S=83]="S",u[u.T=84]="T",u[u.U=85]="U",u[u.V=86]="V",u[u.W=87]="W",u[u.X=88]="X",u[u.Y=89]="Y",u[u.Z=90]="Z",u[u.asterisk=42]="asterisk",u[u.backslash=92]="backslash",u[u.closeBrace=125]="closeBrace",u[u.closeBracket=93]="closeBracket",u[u.colon=58]="colon",u[u.comma=44]="comma",u[u.dot=46]="dot",u[u.doubleQuote=34]="doubleQuote",u[u.minus=45]="minus",u[u.openBrace=123]="openBrace",u[u.openBracket=91]="openBracket",u[u.plus=43]="plus",u[u.slash=47]="slash",u[u.formFeed=12]="formFeed",u[u.tab=9]="tab"})(Gu||(Gu={}));new Array(20).fill(0).map((u,e)=>" ".repeat(e));const Q=200;new Array(Q).fill(0).map((u,e)=>`
|
|
17
|
+
`+" ".repeat(e)),new Array(Q).fill(0).map((u,e)=>"\r"+" ".repeat(e)),new Array(Q).fill(0).map((u,e)=>`\r
|
|
18
|
+
`+" ".repeat(e)),new Array(Q).fill(0).map((u,e)=>`
|
|
19
|
+
`+" ".repeat(e)),new Array(Q).fill(0).map((u,e)=>"\r"+" ".repeat(e)),new Array(Q).fill(0).map((u,e)=>`\r
|
|
20
|
+
`+" ".repeat(e));var yu;(function(u){u.DEFAULT={allowTrailingComma:!1}})(yu||(yu={}));function Ye(u,e=[],o=yu.DEFAULT){let t=null,r=[];const D=[];function i(c){Array.isArray(r)?r.push(c):t!==null&&(r[t]=c)}return Ze(u,{onObjectBegin:()=>{const c={};i(c),D.push(r),r=c,t=null},onObjectProperty:c=>{t=c},onObjectEnd:()=>{r=D.pop()},onArrayBegin:()=>{const c=[];i(c),D.push(r),r=c,t=null},onArrayEnd:()=>{r=D.pop()},onLiteralValue:i,onError:(c,a,l)=>{e.push({error:c,offset:a,length:l})}},o),r[0]}function Ze(u,e,o=yu.DEFAULT){const t=Qe(u,!1),r=[];let D=0;function i(v){return v?()=>D===0&&v(t.getTokenOffset(),t.getTokenLength(),t.getTokenStartLine(),t.getTokenStartCharacter()):()=>!0}function c(v){return v?S=>D===0&&v(S,t.getTokenOffset(),t.getTokenLength(),t.getTokenStartLine(),t.getTokenStartCharacter()):()=>!0}function a(v){return v?S=>D===0&&v(S,t.getTokenOffset(),t.getTokenLength(),t.getTokenStartLine(),t.getTokenStartCharacter(),()=>r.slice()):()=>!0}function l(v){return v?()=>{D>0?D++:v(t.getTokenOffset(),t.getTokenLength(),t.getTokenStartLine(),t.getTokenStartCharacter(),()=>r.slice())===!1&&(D=1)}:()=>!0}function f(v){return v?()=>{D>0&&D--,D===0&&v(t.getTokenOffset(),t.getTokenLength(),t.getTokenStartLine(),t.getTokenStartCharacter())}:()=>!0}const E=l(e.onObjectBegin),$=a(e.onObjectProperty),O=f(e.onObjectEnd),C=l(e.onArrayBegin),y=f(e.onArrayEnd),A=a(e.onLiteralValue),w=c(e.onSeparator),F=i(e.onComment),n=c(e.onError),d=o&&o.disallowComments,g=o&&o.allowTrailingComma;function B(){for(;;){const v=t.scan();switch(t.getTokenError()){case 4:p(14);break;case 5:p(15);break;case 3:p(13);break;case 1:d||p(11);break;case 2:p(12);break;case 6:p(16);break}switch(v){case 12:case 13:d?p(10):F();break;case 16:p(1);break;case 15:case 14:break;default:return v}}}function p(v,S=[],Hu=[]){if(n(v),S.length+Hu.length>0){let pu=t.getToken();for(;pu!==17;){if(S.indexOf(pu)!==-1){B();break}else if(Hu.indexOf(pu)!==-1)break;pu=B()}}}function L(v){const S=t.getTokenValue();return v?A(S):($(S),r.push(S)),B(),!0}function X(){switch(t.getToken()){case 11:const v=t.getTokenValue();let S=Number(v);isNaN(S)&&(p(2),S=0),A(S);break;case 7:A(null);break;case 8:A(!0);break;case 9:A(!1);break;default:return!1}return B(),!0}function Fu(){return t.getToken()!==10?(p(3,[],[2,5]),!1):(L(!1),t.getToken()===6?(w(":"),B(),Ou()||p(4,[],[2,5])):p(5,[],[2,5]),r.pop(),!0)}function Be(){E(),B();let v=!1;for(;t.getToken()!==2&&t.getToken()!==17;){if(t.getToken()===5){if(v||p(4,[],[]),w(","),B(),t.getToken()===2&&g)break}else v&&p(6,[],[]);Fu()||p(4,[],[2,5]),v=!0}return O(),t.getToken()!==2?p(7,[2],[]):B(),!0}function he(){C(),B();let v=!0,S=!1;for(;t.getToken()!==4&&t.getToken()!==17;){if(t.getToken()===5){if(S||p(4,[],[]),w(","),B(),t.getToken()===4&&g)break}else S&&p(6,[],[]);v?(r.push(0),v=!1):r[r.length-1]++,Ou()||p(4,[],[4,5]),S=!0}return y(),v||r.pop(),t.getToken()!==4?p(8,[4],[]):B(),!0}function Ou(){switch(t.getToken()){case 3:return he();case 1:return Be();case 10:return L(!0);default:return X()}}return B(),t.getToken()===17?o.allowEmptyContent?!0:(p(4,[],[]),!1):Ou()?(t.getToken()!==17&&p(9,[],[]),!0):(p(4,[],[]),!1)}var Qu;(function(u){u[u.None=0]="None",u[u.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",u[u.UnexpectedEndOfString=2]="UnexpectedEndOfString",u[u.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",u[u.InvalidUnicode=4]="InvalidUnicode",u[u.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",u[u.InvalidCharacter=6]="InvalidCharacter"})(Qu||(Qu={}));var Yu;(function(u){u[u.OpenBraceToken=1]="OpenBraceToken",u[u.CloseBraceToken=2]="CloseBraceToken",u[u.OpenBracketToken=3]="OpenBracketToken",u[u.CloseBracketToken=4]="CloseBracketToken",u[u.CommaToken=5]="CommaToken",u[u.ColonToken=6]="ColonToken",u[u.NullKeyword=7]="NullKeyword",u[u.TrueKeyword=8]="TrueKeyword",u[u.FalseKeyword=9]="FalseKeyword",u[u.StringLiteral=10]="StringLiteral",u[u.NumericLiteral=11]="NumericLiteral",u[u.LineCommentTrivia=12]="LineCommentTrivia",u[u.BlockCommentTrivia=13]="BlockCommentTrivia",u[u.LineBreakTrivia=14]="LineBreakTrivia",u[u.Trivia=15]="Trivia",u[u.Unknown=16]="Unknown",u[u.EOF=17]="EOF"})(Yu||(Yu={}));const bu=Ye;var Zu;(function(u){u[u.InvalidSymbol=1]="InvalidSymbol",u[u.InvalidNumberFormat=2]="InvalidNumberFormat",u[u.PropertyNameExpected=3]="PropertyNameExpected",u[u.ValueExpected=4]="ValueExpected",u[u.ColonExpected=5]="ColonExpected",u[u.CommaExpected=6]="CommaExpected",u[u.CloseBraceExpected=7]="CloseBraceExpected",u[u.CloseBracketExpected=8]="CloseBracketExpected",u[u.EndOfFileExpected=9]="EndOfFileExpected",u[u.InvalidCommentToken=10]="InvalidCommentToken",u[u.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",u[u.UnexpectedEndOfString=12]="UnexpectedEndOfString",u[u.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",u[u.InvalidUnicode=14]="InvalidUnicode",u[u.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",u[u.InvalidCharacter=16]="InvalidCharacter"})(Zu||(Zu={}));function Xe(u){switch(u){case 1:return"InvalidSymbol";case 2:return"InvalidNumberFormat";case 3:return"PropertyNameExpected";case 4:return"ValueExpected";case 5:return"ColonExpected";case 6:return"CommaExpected";case 7:return"CloseBraceExpected";case 8:return"CloseBracketExpected";case 9:return"EndOfFileExpected";case 10:return"InvalidCommentToken";case 11:return"UnexpectedEndOfComment";case 12:return"UnexpectedEndOfString";case 13:return"UnexpectedEndOfNumber";case 14:return"InvalidUnicode";case 15:return"InvalidEscapeCharacter";case 16:return"InvalidCharacter"}return"<unknown ParseErrorCode>"}const ut=(u,e,o,t)=>{if(u.length===0)return;const r=u[0],D=ve(e,r.offset),i=new we(`${Xe(r.error)} at offset ${r.offset}`);throw i.fileName=o,i.codeFrame=ke(e,{start:D},{tabWidth:!1,...t}),i},et=(u,e)=>{const{allowEmptyContent:o,allowTrailingComma:t=!0,beforeParse:r,buffer:D,color:i,compression:c,disallowComments:a,encoding:l="utf8",flag:f}=e??{},E=z(u,{buffer:D,compression:c,encoding:l,flag:f}),$=typeof r=="function"?r(E):E,O=[],C=bu($,O,{allowEmptyContent:o,allowTrailingComma:t,disallowComments:a});return ut(O,$,xe(u),{color:i}),C},tt=Z(import.meta.url),ou=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,rt=u=>{if(typeof ou<"u"&&ou.versions&&ou.versions.node){const[e,o]=ou.versions.node.split(".").map(Number);if(e>22||e===22&&o>=3||e===20&&o>=16)return ou.getBuiltinModule(u)}return tt(u)};rt("node:fs/promises");const ot=Z(import.meta.url),iu=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,it=u=>{if(typeof iu<"u"&&iu.versions&&iu.versions.node){const[e,o]=iu.versions.node.split(".").map(Number);if(e>22||e===22&&o>=3||e===20&&o>=16)return iu.getBuiltinModule(u)}return ot(u)};it("node:fs");const st=(u,e)=>{const o=z(u,{encoding:"utf8",...e});return Se(o)};function nt(u,e,o){const{buffer:t,compression:r,encoding:D="utf8",flag:i,...c}={},a=z(u,{buffer:t,compression:r,encoding:D,flag:i});return typeof e=="function"?Ku(a,e,c):Ku(a,c)}var su={},Xu;function Dt(){if(Xu)return su;Xu=1,Object.defineProperty(su,"__esModule",{value:!0});const u=F=>F!==null&&typeof F=="object",e=(F,n)=>Object.assign(new Error(`[${F}]: ${n}`),{code:F}),o="ERR_INVALID_PACKAGE_CONFIG",t="ERR_INVALID_PACKAGE_TARGET",r="ERR_PACKAGE_PATH_NOT_EXPORTED",D="ERR_PACKAGE_IMPORT_NOT_DEFINED",i=/^\d+$/,c=/^(\.{1,2}|node_modules)$/i,a=/\/|\\/;var l=(F=>(F.Export="exports",F.Import="imports",F))(l||{});const f=(F,n,d,g,B)=>{if(n==null)return[];if(typeof n=="string"){const[p,...L]=n.split(a);if(p===".."||L.some(X=>c.test(X)))throw e(t,`Invalid "${F}" target "${n}" defined in the package config`);return[B?n.replace(/\*/g,B):n]}if(Array.isArray(n))return n.flatMap(p=>f(F,p,d,g,B));if(u(n)){for(const p of Object.keys(n)){if(i.test(p))throw e(o,"Cannot contain numeric property keys");if(p==="default"||g.includes(p))return f(F,n[p],d,g,B)}return[]}throw e(t,`Invalid "${F}" target "${n}"`)},E="*",$=(F,n)=>{const d=F.indexOf(E),g=n.indexOf(E);return d===g?n.length>F.length:g>d};function O(F,n){if(!n.includes(E)&&F.hasOwnProperty(n))return[n];let d,g;for(const B of Object.keys(F))if(B.includes(E)){const[p,L,X]=B.split(E);if(X===void 0&&n.startsWith(p)&&n.endsWith(L)){const Fu=n.slice(p.length,-L.length||void 0);Fu&&(!d||$(d,B))&&(d=B,g=Fu)}}return[d,g]}const C=F=>Object.keys(F).reduce((n,d)=>{const g=d===""||d[0]!==".";if(n===void 0||n===g)return g;throw e(o,'"exports" cannot contain some keys starting with "." and some not')},void 0),y=/^\w+:/,A=(F,n,d)=>{if(!F)throw new Error('"exports" is required');n=n===""?".":`./${n}`,(typeof F=="string"||Array.isArray(F)||u(F)&&C(F))&&(F={".":F});const[g,B]=O(F,n),p=f(l.Export,F[g],n,d,B);if(p.length===0)throw e(r,n==="."?'No "exports" main defined':`Package subpath '${n}' is not defined by "exports"`);for(const L of p)if(!L.startsWith("./")&&!y.test(L))throw e(t,`Invalid "exports" target "${L}" defined in the package config`);return p},w=(F,n,d)=>{if(!F)throw new Error('"imports" is required');const[g,B]=O(F,n),p=f(l.Import,F[g],n,d,B);if(p.length===0)throw e(D,`Package import specifier "${n}" is not defined in package`);return p};return su.resolveExports=A,su.resolveImports=w,su}var ct=Dt();const at=Z(import.meta.url),nu=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,ae=u=>{if(typeof nu<"u"&&nu.versions&&nu.versions.node){const[e,o]=nu.versions.node.split(".").map(Number);if(e>22||e===22&&o>=3||e===20&&o>=16)return nu.getBuiltinModule(u)}return at(u)},{statSync:Eu}=ae("node:fs"),lt=ae("node:module"),le=(u=process.cwd())=>{const{findPnpApi:e}=lt;return e?e(u):void 0},Ct=u=>bu(z(u,{buffer:!1})),xu=(u,e,o,t)=>{const r=`resolveFromPackageJsonPath:${u}:${e}:${o?"yes":"no"}`;if(t?.has(r))return t.get(r);const D=Ct(u);if(!D)return;let i=e||"tsconfig.json";if(!o&&D.exports)try{const[c]=ct.resolveExports(D.exports,e,["require","types"]);i=c}catch{return!1}else!e&&D.tsconfig&&(i=D.tsconfig);return i=I(u,"..",i),t?.set(r,i),i},$u="package.json",Tu="tsconfig.json",Ft=(u,e,o)=>{let t=u;if(u===".."&&(t=I(t,Tu)),u.startsWith(".")&&(t=R(e,t)),Mu(t)){if(_(t)){if(Eu(t).isFile())return t}else if(!t.endsWith(".json")){const O=`${t}.json`;if(_(O))return O}return}const[r="",...D]=u.split("/"),i=r.startsWith("@")?`${r}/${String(D.shift())}`:r,c=D.join("/"),a=le(e);if(a){const{resolveRequest:O}=a;try{if(i===u){const C=O(I(i,$u),e);if(C){const y=xu(C,c,!1,o);if(y&&_(y))return y}}else{let C;try{C=O(u,e,{extensions:[".json"]})}catch{C=O(I(u,Tu),e)}if(C)return C}}catch{}}const l=hu(O=>{const C=I(R(O),"node_modules",i);if(_(C))return I("node_modules",i)},{cwd:e,type:"directory"});if(!l||!Eu(l).isDirectory())return;const f=I(l,$u);if(_(f)){const O=xu(f,c,!1,o);if(O===!1)return;if(O&&_(O)&&Eu(O).isFile())return O}const E=I(l,c),$=E.endsWith(".json");if(!$){const O=`${E}.json`;if(_(O))return O}if(_(E)){if(Eu(E).isDirectory()){const O=I(E,$u);if(_(O)){const y=xu(O,"",!0,o);if(y&&_(y))return y}const C=I(E,Tu);if(_(C))return C}else if($)return E}},pt=u=>{const e=R(u);let o;const t=le(e);if(t)try{o=t.resolveRequest("typescript/package.json",e)??void 0}catch{}if(o??=hu(r=>I(r,"node_modules","typescript","package.json"),{cwd:e,type:"file"}),!!o)try{const r=bu(z(o,{buffer:!1}));if(typeof r?.version=="string")return r.version}catch{}},ft=new Set(["node16","node18","node20","nodenext"]),Ce=u=>u!==void 0&&ft.has(u),At=(u,e)=>{!e.has("target")&&!Ce(u.module)&&(u.target="es3")},Et=(u,e)=>{!e.has("target")&&!Ce(u.module)&&(u.target="es5")},dt=(u,e)=>{e.has("strict")||(u.strict=!0),e.has("target")||(u.target="es2025"),e.has("module")||(u.module="es2022"),e.has("moduleResolution")||(u.moduleResolution="bundler"),e.has("rootDir")||(u.rootDir="."),e.has("types")||(u.types=[]),e.has("noUncheckedSideEffectImports")||(u.noUncheckedSideEffectImports=!0),e.has("libReplacement")||(u.libReplacement=!1),e.has("alwaysStrict")||(u.alwaysStrict=!0)},mt=[[4,At],[5,Et],[6,dt]],Bt=/^v?(\d+)/,ht=u=>{const e=Bt.exec(u);return e?Number(e[1]):void 0},gt=(u,e)=>{const o=ht(e);if(o===void 0)return;const t=new Set(Object.keys(u));for(const[r,D]of mt)r<=o&&D(u,t)},yt=u=>bu(z(u,{buffer:!1})),bt=u=>u.replaceAll("\\","/"),lu=u=>{const e=$e(u);return Te(e)?e:`./${e}`},Ru=["files","include","exclude"],ue=(u,e,o)=>{const t=I(e,o),r=Cu(u,t);return Bu(r)||"./"},Ot=(u,e,o)=>{const t=Cu(u,e);if(!t)return o;const r=o.startsWith("./")?o.slice(2):o;return`${t}/${r}`},vt=(u,e,o,t,r)=>{if(o.has(u))throw new Error(`Circularity detected while resolving configuration: ${u}`);o.add(u);const D=K(u),i=Fe(u,t,o,r);delete i.references;const{compilerOptions:c}=i;if(c){const{baseUrl:a}=c;a&&!a.startsWith(j)&&(c.baseUrl=ue(e,D,a));const{outDir:l}=c;l&&!l.startsWith(j)&&(c.outDir=ue(e,D,l))}for(const a of Ru){const l=i[a];l&&(i[a]=l.map(f=>f.startsWith(j)||Mu(f)?f:Ot(e,D,f)))}return i},Fe=(u,e,o=new Set,t=new Map)=>{let r;try{r=yt(u)??{}}catch(i){throw new Error(`Cannot resolve tsconfig at path: ${u}`,{cause:i})}if(typeof r!="object")throw new SyntaxError(`Failed to parse tsconfig at: ${u}`);const D=K(u);if(r.compilerOptions){const{compilerOptions:i}=r;i.paths&&!i.baseUrl&&(i[pe]=D)}if(r.extends){const i=Array.isArray(r.extends)?r.extends:[r.extends];delete r.extends;const c=i.toReversed();for(let a=0;a<c.length;a++){const l=c[a],f=Ft(l,D,t);if(!f)throw new se(`No such file or directory, for '${l}' found.`);const E=vt(f,D,new Set(o),e,t);E.compilerOptions?.rootDir!==void 0&&!E.compilerOptions.rootDir.startsWith(j)&&(E.compilerOptions.rootDir=I(K(f),E.compilerOptions.rootDir));const $={...E,...r,compilerOptions:{...E.compilerOptions,...r.compilerOptions}};E.watchOptions&&($.watchOptions={...E.watchOptions,...r.watchOptions}),r=$}}if(r.compilerOptions){const{compilerOptions:i}=r;for(const c of["baseUrl","rootDir"]){const a=i[c];if(a&&!a.startsWith(j)){const l=R(D,a);i[c]=lu(Cu(D,l))}}for(const c of["outDir","declarationDir"]){let a=i[c];a&&(Array.isArray(r.exclude)||(r.exclude=["outDir","declarationDir"].map(l=>{const f=i[l];if(f)return f.startsWith(j)||Mu(f)?f:I(D,f)}).filter(Boolean)),a.startsWith(j)||(a=lu(a)),i[c]=a)}}else r.compilerOptions={};if(r.include&&(r.include=r.include.map(i=>bt(i))),r.files&&(r.files=r.files.map(i=>i.startsWith(j)?i:lu(i))),r.watchOptions){const{watchOptions:i}=r;i.excludeDirectories&&(i.excludeDirectories=i.excludeDirectories.map(c=>Bu(R(D,c)))),i.excludeFiles&&(i.excludeFiles=i.excludeFiles.map(c=>Bu(R(D,c)))),i.watchFile&&(i.watchFile=i.watchFile.toLowerCase()),i.watchDirectory&&(i.watchDirectory=i.watchDirectory.toLowerCase()),i.fallbackPolling&&(i.fallbackPolling=i.fallbackPolling.toLowerCase())}if(r.compilerOptions.lib&&(r.compilerOptions.lib=r.compilerOptions.lib.map(i=>i.toLowerCase())),r.compilerOptions.module){let i=r.compilerOptions.module.toLowerCase();i==="es2015"&&(i="es6"),r.compilerOptions.module=i}if(r.compilerOptions.target){let i=r.compilerOptions.target.toLowerCase();i==="es2015"&&(i="es6"),r.compilerOptions.target=i}if(r.compilerOptions.moduleResolution){let i=r.compilerOptions.moduleResolution.toLowerCase();i==="node"&&(i="node10"),r.compilerOptions.moduleResolution=i}return r.compilerOptions.jsx&&(r.compilerOptions.jsx=r.compilerOptions.jsx.toLowerCase()),r.compilerOptions.moduleDetection&&(r.compilerOptions.moduleDetection=r.compilerOptions.moduleDetection.toLowerCase()),r.compilerOptions.importsNotUsedAsValues&&(r.compilerOptions.importsNotUsedAsValues=r.compilerOptions.importsNotUsedAsValues.toLowerCase()),r.compilerOptions.newLine&&(r.compilerOptions.newLine=r.compilerOptions.newLine.toLowerCase()),r},du=(u,e)=>{if(u.startsWith(j))return Bu(I(e,u.slice(j.length)))},wt=["outDir","declarationDir","outFile","rootDir","baseUrl","tsBuildInfoFile"],Su=u=>u==="es2022"||u==="es2023"||u==="es2024"||u==="es2025"||u==="esnext",kt=(u,e)=>{if(u.compilerOptions===void 0)return u;if(u.compilerOptions.rewriteRelativeImportExtensions&&(u.compilerOptions.allowImportingTsExtensions??=!0),u.compilerOptions.composite&&(u.compilerOptions.declaration??=!0,u.compilerOptions.incremental??=!0),u.compilerOptions.checkJs&&(u.compilerOptions.allowJs??=!0),u.compilerOptions.verbatimModuleSyntax&&(u.compilerOptions.isolatedModules??=!0,u.compilerOptions.preserveConstEnums??=!0),["5.4","5.5","5.6","5.7","5.8","5.9","true"].includes(String(e?.tscCompatible))){if(u.compilerOptions.esModuleInterop===void 0&&(u.compilerOptions.module==="node16"||u.compilerOptions.module==="node18"||u.compilerOptions.module==="node20"||u.compilerOptions.module==="nodenext"||u.compilerOptions.module==="preserve")&&(u.compilerOptions.esModuleInterop=!0),u.compilerOptions.moduleDetection===void 0&&u.compilerOptions.module&&["node16","node18","node20","nodenext"].includes(u.compilerOptions.module)&&(u.compilerOptions.moduleDetection="force"),u.compilerOptions.moduleResolution===void 0){let o="classic";if(u.compilerOptions.module!==void 0)switch(u.compilerOptions.module.toLocaleLowerCase()){case"commonjs":{o="node10";break}case"node16":case"node18":{o="node16";break}case"node20":{o="node16";break}case"nodenext":{o="nodenext";break}case"preserve":{o="bundler";break}}o!=="classic"&&(u.compilerOptions.moduleResolution=o)}if(u.compilerOptions.moduleResolution==="bundler"&&(u.compilerOptions.resolveJsonModule??=!0),u.compilerOptions.module&&["node20","nodenext"].includes(u.compilerOptions.module)&&(u.compilerOptions.resolveJsonModule??=!0),(u.compilerOptions.esModuleInterop||u.compilerOptions.module==="system"||u.compilerOptions.moduleResolution==="bundler")&&u.compilerOptions.allowSyntheticDefaultImports===void 0&&(u.compilerOptions.allowSyntheticDefaultImports=!0),["5.7","5.8","5.9","true"].includes(String(e?.tscCompatible))&&u.compilerOptions.moduleResolution){let o=!1;["bundler","node16","nodenext"].includes(u.compilerOptions.moduleResolution.toLocaleLowerCase())&&(o=!0),u.compilerOptions.resolvePackageJsonExports===void 0&&o&&(u.compilerOptions.resolvePackageJsonExports=!0),u.compilerOptions.resolvePackageJsonImports===void 0&&o&&(u.compilerOptions.resolvePackageJsonImports=!0)}if(u.compilerOptions.target===void 0){let o="es5";switch(u.compilerOptions.module){case"node16":case"node18":{o="es2022";break}case"node20":{o="es2023";break}case"nodenext":{o="esnext";break}}o!=="es5"&&(u.compilerOptions.target=o)}u.compilerOptions.useDefineForClassFields===void 0&&u.compilerOptions.target&&Su(u.compilerOptions.target)&&(u.compilerOptions.useDefineForClassFields=!0)}if(["5.6","5.7","5.8","5.9","true"].includes(String(e?.tscCompatible))&&u.compilerOptions.strict&&u.compilerOptions.strictBuiltinIteratorReturn===void 0&&(u.compilerOptions.strictBuiltinIteratorReturn=!0),["5.4","5.5","5.6","5.7","5.8","5.9","true"].includes(String(e?.tscCompatible))&&(u.compilerOptions.strict&&(u.compilerOptions.noImplicitAny=u.compilerOptions.noImplicitAny??!0,u.compilerOptions.noImplicitThis=u.compilerOptions.noImplicitThis??!0,u.compilerOptions.strictNullChecks=u.compilerOptions.strictNullChecks??!0,u.compilerOptions.strictFunctionTypes=u.compilerOptions.strictFunctionTypes??!0,u.compilerOptions.strictBindCallApply=u.compilerOptions.strictBindCallApply??!0,u.compilerOptions.strictPropertyInitialization=u.compilerOptions.strictPropertyInitialization??!0,u.compilerOptions.alwaysStrict=u.compilerOptions.alwaysStrict??!0),u.compilerOptions.useDefineForClassFields===void 0&&u.compilerOptions.target&&Su(u.compilerOptions.target)&&(u.compilerOptions.useDefineForClassFields=!0),u.compilerOptions.strict&&u.compilerOptions.useUnknownInCatchVariables===void 0&&(u.compilerOptions.useUnknownInCatchVariables=!0),u.compilerOptions.isolatedModules&&(u.compilerOptions.preserveConstEnums=u.compilerOptions.preserveConstEnums??!0)),String(e?.tscCompatible)==="6.0"){if(u.compilerOptions.moduleDetection===void 0&&u.compilerOptions.module&&["node16","node18","node20","nodenext"].includes(u.compilerOptions.module)&&(u.compilerOptions.moduleDetection="force"),u.compilerOptions.moduleResolution===void 0&&u.compilerOptions.module){const o=u.compilerOptions.module.toLocaleLowerCase();o==="node16"||o==="node18"||o==="node20"?u.compilerOptions.moduleResolution="node16":o==="nodenext"&&(u.compilerOptions.moduleResolution="nodenext")}if(u.compilerOptions.useDefineForClassFields===void 0&&u.compilerOptions.module&&["node16","node18","node20","nodenext"].includes(u.compilerOptions.module)&&u.compilerOptions.target&&!Su(u.compilerOptions.target)&&(u.compilerOptions.useDefineForClassFields=!1),u.compilerOptions.isolatedModules&&u.compilerOptions.preserveConstEnums===void 0&&(u.compilerOptions.preserveConstEnums=!0),u.compilerOptions.resolveJsonModule===void 0){const o=u.compilerOptions.module,t=u.compilerOptions.moduleResolution?.toLocaleLowerCase();!(o!==void 0&&["node20","nodenext"].includes(o)||t==="bundler")&&t&&(u.compilerOptions.resolveJsonModule=!1)}if(u.compilerOptions.moduleResolution){const o=u.compilerOptions.moduleResolution.toLocaleLowerCase();["bundler","node16","nodenext"].includes(o)||(u.compilerOptions.resolvePackageJsonExports??=!1,u.compilerOptions.resolvePackageJsonImports??=!1)}}return u.compileOnSave===!1&&delete u.compileOnSave,u},xt=(u,e)=>{const o=u?.typescriptVersion;if(!(o===!1||o===void 0))return o==="auto"?pt(e):o},j="${configDir}",pe=Symbol("implicitBaseUrl"),$t=(u,e)=>{const o=R(u),t=Fe(o,e),r=K(o),D=xt(e,r);D&&t.compilerOptions&>(t.compilerOptions,D);const{compilerOptions:i}=t;if(i){for(const a of wt){const l=i[a];if(l){const f=du(l,r);i[a]=f?lu(Cu(r,f)):l}}for(const a of["rootDirs","typeRoots"]){const l=i[a];l&&(i[a]=l.map(f=>{const E=du(f,r);return E?lu(Cu(r,E)):f}))}const{paths:c}=i;if(c){const a=Object.keys(c);for(let l=0;l<a.length;l++){const f=a[l];c[f]=c[f].map(E=>du(E,r)??E)}}}for(let c=0;c<Ru.length;c++){const a=Ru[c],l=t[a];l&&(t[a]=l.map(f=>du(f,r)??f))}return kt(t,e)},Tt=Z(import.meta.url),Du=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,St=u=>{if(typeof Du<"u"&&Du.versions&&Du.versions.node){const[e,o]=Du.versions.node.split(".").map(Number);if(e>22||e===22&&o>=3||e===20&&o>=16)return Du.getBuiltinModule(u)}return Tt(u)},{statSync:Nt}=St("node:fs"),It=new Map,Pt="tsconfig.json",jt=(u,e)=>{let o=0;try{o=Nt(u).mtimeMs}catch{}return`${u}::${String(e.tscCompatible)}::${String(e.typescriptVersion)}::${String(o)}`},Lt=(u,e={})=>{const o=e.configFileName??Pt,t=e.configFileName===void 0;let r=hu(o,{...u&&{cwd:u},type:"file"});if(!r&&t&&(r=hu("jsconfig.json",{...u&&{cwd:u},type:"file"})),!r)throw new se(t?`No such file or directory, for '${o}' or 'jsconfig.json' found.`:`No such file or directory, for '${o}' found.`);const D=e.cache&&typeof e.cache!="boolean"?e.cache:It,i=jt(r,e);if(e.cache&&D.has(i))return D.get(i);const c={config:$t(r,{tscCompatible:e.tscCompatible,typescriptVersion:e.typescriptVersion}),path:r};return e.cache&&D.set(i,c),c},_t=/\.[cm]?tsx?$/,Rt=[".yaml",".yml",".toml",".jsonc",".json5",".txt"],fe=/\.(?:ya?ml|toml|jsonc|json5|txt)$/,Ut=u=>u.endsWith(".yaml")||u.endsWith(".yml")?nt(u):u.endsWith(".toml")?st(u):u.endsWith(".jsonc")?et(u,{allowTrailingComma:!0}):u.endsWith(".json5")?qe(u):Vu(u,"utf8"),Uu=u=>u===void 0?"undefined":u===null?"null":typeof u=="number"?Number.isNaN(u)?"NaN":u===Number.POSITIVE_INFINITY?"Infinity":u===Number.NEGATIVE_INFINITY?"-Infinity":String(u):typeof u=="bigint"?`${u}n`:typeof u=="boolean"?String(u):typeof u=="string"?JSON.stringify(u):u instanceof Date?`new Date(${JSON.stringify(u.toISOString())})`:Array.isArray(u)?`[${u.map(e=>Uu(e)).join(",")}]`:typeof u=="object"?`{${Object.entries(u).map(([e,o])=>`${JSON.stringify(e)}:${Uu(o)}`).join(",")}}`:"null",Nu=new Map,Wt=(u,e)=>u.startsWith(j)?I(e,u.slice(j.length)):u,Vt=u=>{if(Nu.has(u))return Nu.get(u);let e;try{const{config:o,path:t}=Lt(u,{cache:!1}),r=K(t),D=o.compilerOptions,i=D?.paths??{};if(D!==void 0){const{baseUrl:c}=D;let a,l=!1;if(c===void 0){const f=D[pe];a=typeof f=="string"?f:r}else l=!0,a=R(r,Wt(c,r));e={hasBaseUrl:l,paths:i,pathsBase:a}}}catch{e=void 0}return Nu.set(u,e),e},Ae=(u,e)=>{const o=Vt(e);if(o===void 0)return;const{hasBaseUrl:t,pathsBase:r}=o,D=i=>Ee(i)??de(i);for(const[i,c]of Object.entries(o.paths)){const a=i.indexOf("*");if(a===-1){if(i===u)for(const E of c){const $=D(R(r,E));if($!==void 0)return $}continue}const l=i.slice(0,a),f=i.slice(a+1);if(u.startsWith(l)&&u.endsWith(f)&&u.length>=l.length+f.length){const E=u.slice(l.length,u.length-f.length);for(const $ of c){const O=$.replace("*",E),C=D(R(r,O));if(C!==void 0)return C}}}if(t){const i=D(R(r,u));if(i!==void 0)return i}};let ee=!1,Iu=0,te=!1,re=!1;const Mt=()=>{re||(re=!0,process.setSourceMapsEnabled?.(!0))},Jt=u=>{const e=u.indexOf("?");return e===-1?u:u.slice(0,e)},qt=u=>u.endsWith(".cts")?"commonjs":"module",oe=[".ts",".tsx",".mts",".cts",".js",".mjs",".cjs",".json"],Y=u=>{try{return ie(u).isFile()}catch{return!1}},Ht=u=>{try{return ie(u).isDirectory()}catch{return!1}},Kt=u=>{if(u.endsWith(".js"))return`${u.slice(0,-3)}.ts`;if(u.endsWith(".mjs"))return`${u.slice(0,-4)}.mts`;if(u.endsWith(".cjs"))return`${u.slice(0,-4)}.cts`},Ee=u=>{if(Y(u))return u;const e=Kt(u);if(e!==void 0&&Y(e))return e;for(const o of oe)if(Y(u+o))return u+o;if(Ht(u))for(const o of oe){const t=`${u}/index${o}`;if(Y(t))return t}},de=u=>{if(Y(u)&&fe.test(u))return u;for(const e of Rt)if(Y(u+e))return u+e},me=()=>{Mt();const{registerHooks:u}=Pu;return typeof u!="function"?!1:(ee||(u({load(e,o,t){const r=Jt(e);if(r.startsWith("file:")&&_t.test(r)){const D=fu(r),{code:i}=ne(D,Vu(D,"utf8"));return{format:qt(D),shortCircuit:!0,source:i}}if(r.startsWith("file:")&&fe.test(r)){const D=fu(r),i=Ut(D);return{format:"module",shortCircuit:!0,source:`export default ${Uu(i)};
|
|
21
|
+
`}}return t(e,o)},resolve(e,o,t){if((e.startsWith(".")||e.startsWith("/"))&&o.parentURL!==void 0){let r;try{r=new URL(e,o.parentURL)}catch{r=void 0}if(r?.protocol==="file:"){const D=fu(r),i=Ee(D)??de(D);if(i!==void 0)return{shortCircuit:!0,url:mu(i).href}}}if(o.parentURL!==void 0&&!e.startsWith(".")&&!e.startsWith("/")&&!e.startsWith("#")&&!e.startsWith("node:")&&!Pu.isBuiltin?.(e)){let r;try{r=K(fu(o.parentURL))}catch{r=void 0}if(r!==void 0){const D=Ae(e,r);if(D!==void 0)return{shortCircuit:!0,url:mu(D).href}}}return t(e,o)}}),ee=!0),!0)},zt=()=>me(),Gt=async u=>{if(Iu+=1,me())return await import(`${mu(u).href}?v=${String(Iu)}`);te||(te=!0,process.stderr.write(`vis: Node < 22.15 has no module.registerHooks — only the entry file is transpiled; local TypeScript imports won't load. Upgrade to Node >= 22.15 for full support.
|
|
22
|
+
`));const{code:e}=ne(u,Vu(u,"utf8")),o=I(K(u),`.vis-ts-${String(Iu)}-${String(process.pid)}.mjs`);be(o,e);try{return await import(mu(o).href)}finally{try{Oe(o)}catch{}}},er=Object.defineProperty({__proto__:null,importTs:Gt,registerTsHooks:zt,resolveTsConfigPaths:Ae},Symbol.toStringTag,{value:"Module"});export{Gt as i,st as m,zt as r,er as t,nt as u};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{D as b,p}from"./cli-main.js";import{A as w}from"../packem_shared/pm-runner-CQcraCcu.js";import{r as y,l as $,L as v}from"../packem_shared/dependency-scan-DpOFiZuI.js";import{v as C,m,f as S}from"../packem_shared/index-CE6MsgcV.js";import"../packem_shared/public-api-WqUCiyIe.js";import{e as x}from"../packem_shared/index-Cg71MisW.js";const M=e=>{const s=e.trim();return s===""?!1:/^(?:git\+|git:\/\/|git@|ssh:\/\/)/i.test(s)||/^(?:github|gitlab|bitbucket|gist):/i.test(s)||/^[\w.-]+\/[\w.-]+(?:#.+)?$/.test(s)&&!s.includes("@")?!0:/^https?:\/\//i.test(s)},L=(e,s)=>{for(const t of s)if(t===e||t.endsWith("*")&&e.startsWith(t.slice(0,-1)))return!0;return!1},D=(e,s,t={})=>{const o=y(e,s);if(!o)return[];let i;try{i=C(m(e,o.file))}catch{return[]}const n=b(i,o.type);if(n.length===0)return[];const c=t.allow??[],l=[],f=new Set;for(const r of n){const a=`${r.name}@${r.version}`;for(const d of[r.dependencies,r.optionalDependencies])if(d){for(const[u,h]of Object.entries(d))if(!L(u,c))for(const k of h){if(!M(k))continue;const g=`${a}->${u}@${k}`;f.has(g)||(f.add(g),l.push({declaredBy:a,packageName:u,source:k}))}}}return l.sort((r,a)=>r.packageName.localeCompare(a.packageName)||r.declaredBy.localeCompare(a.declaredBy))},E=new Set(["firstSeen","publisherChange"]),N=e=>e.severity==="block"&&e.acceptedRisk===void 0,R=e=>{const s=e.security?.policies?.firstSeen?.minutes,t=typeof s=="number"&&s>0,o=e.security?.policies?.publisherChange?.mode==="no-downgrade",i=e.security?.blockExoticSubdeps===!0;return t||o||i},V=async e=>{const{offline:s=!1,packageManager:t,visConfig:o,workspaceRoot:i}=e,n=Date.now();if(!R(o))return{decisions:[],durationMs:Date.now()-n,entryCount:0,exoticViolations:[],lockfileMissing:!1,status:"skipped"};const c=y(i,t);if(!c||!S(m(i,c.file)))return{decisions:[],durationMs:Date.now()-n,entryCount:0,exoticViolations:[],lockfileMissing:!0,status:"fail"};const l=$(i,t,{includeDev:!0}),f=l.length,r=await x({offline:s,packageManager:t,packages:l,workspaceRoot:i},"install",{enabledPolicies:new Set(E),visConfig:o}),a=o.security?.blockExoticSubdeps===!0?D(i,t,{allow:o.security.exoticSubdepsAllow}):[],d=r.some(u=>N(u))||a.length>0;return{decisions:r,durationMs:Date.now()-n,entryCount:f,exoticViolations:a,lockfileMissing:!1,status:d?"fail":"pass"}},B=e=>e<1e3?`${String(e)}ms`:`${(e/1e3).toFixed(1)}s`,P=e=>{if(e.status==="skipped")return["– Lockfile supply-chain verification skipped (no firstSeen / publisherChange / blockExoticSubdeps policy configured)"];if(e.lockfileMissing)return["✗ Lockfile supply-chain verification failed — no lockfile found, the resolved closure cannot be attested"];const s=`(${String(e.entryCount)} ${e.entryCount===1?"entry":"entries"}, ${B(e.durationMs)})`;if(e.status==="pass")return[`✓ Lockfile passes supply-chain policies ${s}`];const t=[`✗ Lockfile failed supply-chain policy check ${s}`];for(const o of e.decisions)o.severity==="block"&&o.acceptedRisk===void 0&&t.push(` [${o.policy}] ${o.reason}`);for(const o of e.exoticViolations)t.push(` [blockExoticSubdeps] ${o.packageName} pulled from exotic source by ${o.declaredBy}: ${o.source}`);return t},J=async({options:e,visConfig:s,workspaceRoot:t})=>{const o=t??process.cwd(),i=w(o);if(!v[i.name]){p.warn(`Package manager '${i.name}' has no lockfile vis can verify.`);return}const n=await V({offline:!!e.offline,packageManager:i.name,visConfig:s??{},workspaceRoot:o});if(e.json){process.stdout.write(`${JSON.stringify(n,void 0,2)}
|
|
2
|
+
`),n.status==="fail"&&(process.exitCode=1);return}const[c,...l]=P(n);if(n.status==="skipped"){p.info(c);return}if(n.status==="pass"){p.success(c);return}p.error(c);for(const f of l)p.error(f);process.exitCode=1};export{J as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{u as k}from"../packem_shared/index-Cg0IHaFI.js";import{c as $}from"./registry.js";import{r as w}from"./orchestrator.js";const R=e=>{let t=0;const i=[],r=()=>{if(t>=e)return;const s=i.shift();s&&(t+=1,s())};return async s=>new Promise((c,a)=>{const m=()=>{t-=1,r()},d=()=>{s().then(c,a).finally(m)};i.push(d),r()})},b=4,p=new Map,h=(e,t)=>{const i=m=>m.replaceAll(/[$()*+.?[\\\]^{|}]/g,String.raw`\$&`);let r="^",s=0;const c=/\{(name|unscopedName|version|major|minor|patch|date|channel)\}/g;let a;for(;(a=c.exec(e))!==null;){switch(r+=i(e.slice(s,a.index)),a[1]){case"name":{r+=i(t.name);break}case"unscopedName":{r+=i(t.name.replace(/^@[^/]+\//,""));break}case"version":{r+=String.raw`(\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?)`;break}default:r+="[^/]+"}s=a.index+a[0].length}return r+=`${i(e.slice(s))}$`,new RegExp(r)},y=async(e,t,i,r)=>{if(t==="disk")return{resolvedFrom:"disk",version:e.version};if(t==="registry"){const l=w(e,r.perPackageConfig??{}),n=await $(l).readPublishedVersion({pkg:e,pm:r.pm,workspaceConfig:r.workspaceConfig});return n&&k.valid(n)?{resolvedFrom:"registry",version:n}:{fallbackReason:n===void 0?`registry returned no version for ${e.name} (likely a 404 / not-yet-published); falling back to manifest version ${e.version}.`:`registry returned an invalid semver "${n}" for ${e.name}; falling back to manifest version ${e.version}.`,resolvedFrom:"disk",version:e.version}}const s=r.perPackageConfig?.releaseTagPattern??r.workspaceConfig?.releaseTagPattern??"{name}@{version}",c=s.replaceAll(/\{(name|unscopedName|version|major|minor|patch|date|channel)\}/g,(l,n)=>n==="name"?e.name:n==="unscopedName"?e.name.replace(/^@[^/]+\//,""):"*"),a=await r.runner.run("git",["tag","--list",c,"--sort=-v:refname"],{cwd:r.cwd,silent:!0});if(a.exitCode!==0)return{fallbackReason:`git tag --list ${c} failed (exit ${a.exitCode}); falling back to manifest version ${e.version}.`,resolvedFrom:"disk",version:e.version};const m=a.stdout.split(`
|
|
2
|
+
`).map(l=>l.trim()).filter(Boolean);if(m.length===0)return{fallbackReason:`no git tag matched pattern "${s}" for ${e.name}; falling back to manifest version ${e.version}. (Pass --first-release to bootstrap.)`,resolvedFrom:"disk",version:e.version};const d=h(s,e),o=[];for(const l of m){const n=d.exec(l);n?.[1]&&k.valid(n[1])&&o.push(n[1])}return o.length===0?{fallbackReason:`git tag pattern "${s}" matched tags but none yielded a valid semver for ${e.name}; falling back to manifest version ${e.version}.`,resolvedFrom:"disk",version:e.version}:(o.sort(k.rcompare),{resolvedFrom:"git-tag",version:o[0]})},C=(e,t,i)=>i?"disk":t?.currentVersionResolver??e?.currentVersionResolver??"disk",V=async(e,t,i,r,s)=>{const c=new Map,a=[],m=R(b),d=await Promise.all(e.map(async o=>m(async()=>{const l=r.get(o.name),n=C(i,l,s.firstRelease),g=s.skipRegistryLookup?"disk":n,v=`${o.name}@${g}@${o.version}`,u=p.get(v);if(u)return{mode:g,pkg:o,result:await u};const f=y(o,g,t,{...s,perPackageConfig:l,workspaceConfig:i});return p.set(v,f),f.catch(()=>{p.get(v)===f&&p.delete(v)}),{mode:g,pkg:o,result:await f}})));for(const{mode:o,pkg:l,result:n}of d)c.set(l.name,n.version),n.fallbackReason&&o!=="disk"&&a.push(`currentVersionResolver (${o}): ${n.fallbackReason}`);return{versions:c,warnings:a}};export{b as REGISTRY_LOOKUP_CONCURRENCY,h as compileReleaseTagRegex,y as resolveCurrentVersion,V as resolveCurrentVersionsForWorkspace,C as resolveModeForPackage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{redactTokens as f}from"./security.js";import{expandNotificationTemplate as h}from"./interface.js";const c=(e,t)=>{if(typeof e=="string")return h(e,t);if(Array.isArray(e))return e.map(o=>c(o,t));if(e!==null&&typeof e=="object"){const o={};for(const[n,i]of Object.entries(e))o[n]=c(i,t);return o}return e},p=e=>({channel:e.channel,completedAt:e.completedAt,monorepoName:e.monorepoName,published:e.published.map(t=>({name:t.name,tag:t.tag,url:t.url,version:t.version})),repo:e.repo,skipped:e.skipped.map(t=>({name:t.name}))}),d=(e,t)=>{if(!e)return{};const o={};for(const[n,i]of Object.entries(e))o[n]=h(i,t);return o};class u{constructor(t){this.config=t,this.id=t.id?`webhook:${t.id}`:"webhook"}config;id;async send(t){const o=this.config.method??"POST",n={"Content-Type":"application/json",...d(this.config.headers,t)},i=this.config.body===void 0?p(t):c(this.config.body,t);let s;try{s=await fetch(this.config.url,{body:JSON.stringify(i),headers:n,method:o})}catch(r){const a=r instanceof Error?r.name:"NetworkError";throw new Error(`Webhook ${this.id} fetch failed (${a})`,{cause:r})}if(!s.ok){const r=await s.text().catch(()=>""),a=r?`: ${f(r.slice(0,200))}`:"";throw new Error(`Webhook ${this.id} POST <webhook-url> returned ${s.status} ${s.statusText}${a}`)}}}export{u as WebhookNotificationChannel};
|